Timeline


and

10/24/08:

23:58 Changeset [37886] by weinig@apple.com

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

Yet another windows build fix.

  • WebCoreSupport/WebChromeClient.cpp:
23:39 Changeset [37885] by weinig@apple.com

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

Another Qt build fix.

  • WebCoreSupport/ChromeClientQt.cpp:
23:38 Changeset [37884] by weinig@apple.com

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

Another windows build fix.

  • WebCoreSupport/WebChromeClient.cpp:
23:36 Changeset [37883] by weinig@apple.com

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

Fix windows build.

  • page/Chrome.cpp:
  • page/Chrome.h:
23:31 Changeset [37882] by weinig@apple.com

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

Fix the Gtk build.

  • WebCoreSupport/ChromeClientGtk.cpp:
23:29 Changeset [37881] by weinig@apple.com

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

Fix Qt build.

  • platform/qt/FileChooserQt.cpp:
23:02 Changeset [37880] by weinig@apple.com

WebCore:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

Move file choosing into WebKit ChromeClient.

  • loader/EmptyClients.h: (WebCore::EmptyChromeClient::runOpenPanel):
  • page/Chrome.cpp: (WebCore::Chrome::runOpenPanel):
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/mac/ChromeMac.mm:
  • platform/FileChooser.h:
  • platform/mac/FileChooserMac.mm:
  • platform/qt/FileChooserQt.cpp:
  • platform/win/FileChooserWin.cpp:
  • platform/wx/TemporaryLinkStubs.cpp:
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::click):

WebKit/gtk:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

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

WebKit/mac:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel):

WebKit/qt:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

  • WebCoreSupport/ChromeClientQt.cpp: (WebCore::ChromeClientQt::runOpenPanel):
  • WebCoreSupport/ChromeClientQt.h:

WebKit/win:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

  • WebCoreSupport/WebChromeClient.cpp: (WebChromeClient::runOpenPanel):
  • WebCoreSupport/WebChromeClient.h:

WebKit/wx:

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

Reviewed by Dan Bernstein.

Fix https://bugs.webkit.org/show_bug.cgi?id=21759
Layering violation: FileChooser should not depend on Document/Frame/Page

  • WebKitSupport/ChromeClientWx.cpp: (WebCore::ChromeClientWx::runOpenPanel):
  • WebKitSupport/ChromeClientWx.h:
21:48 Changeset [37879] by eric@webkit.org

Reviewed by Sam Weinig.

Add missing results.

  • fast/js/global-constructors-expected.txt: Added.
18:34 Changeset [37878] by kevino@webkit.org

wx build fix - add newIconForFiles stub.

18:15 Changeset [37877] by kevino@webkit.org

Reviewed by Kevin Ollivier.

Use the CGFont metrics APIs for more accurate measurements, and tweak the y
value the text is drawn at (it was a couple pixels off before because wx
internally adds to the y value.

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

17:09 Changeset [37876] by eric@webkit.org

Reviewed by Darin Adler.

Get rid of a bonus ASSERT when using a null string as a regexp.
Specifically calling: RegularExpression::match() with String::empty()
will hit this ASSERT.
Chromium hits this, but I don't know of any way to make a layout test.

  • pcre/pcre_exec.cpp: (jsRegExpExecute):
16:46 Changeset [37875] by eric@webkit.org

Reviewed by Sam Weinig.

Generate missing constructors and add test to prevent missing ones in the future
https://bugs.webkit.org/show_bug.cgi?id=21846

fast/dom/wrapper-classes-expected.txt results were incorrectly platform-specific
that test used to be platform-dependent, but isn't anymore

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/wrapper-classes-expected.txt:
  • fast/js/global-constructors.html: Added.
  • fast/js/resources/global-constructors.js: Added.
  • platform/mac/fast/dom/wrapper-classes-expected.txt: Removed.
16:39 Changeset [37874] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21836
REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly

Test: http/tests/xmlhttprequest/detaching-frame.html

  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window - even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected when dispatching the same callback that results in this function being called.
16:07 Changeset [37873] by andersca@apple.com

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

Try fixing the 64-bit build.


  • DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp: (testGetProperty):
16:06 Changeset [37872] by andersca@apple.com

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

Fix Tiger build.


  • WebView/WebUIDelegate.h:
16:04 Changeset [37871] by ddkilzer@apple.com

Gtk build fix.

  • platform/gtk/TemporaryLinkStubs.cpp: (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
15:20 Changeset [37870] by mrowe@apple.com

<rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values.

Reviewed by Sam Weinig.

15:16 Changeset [37869] by andersca@apple.com

WebCore:

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

Reviewed by Sam Weinig.

<rdar://problem/5440917> Support NPN_Construct


  • WebCore.NPAPI.exp: Export _NPN_Construct.


  • bridge/NP_jsobject.cpp: (_NPN_Construct): Implement this.


  • bridge/c/c_instance.cpp: (JSC::Bindings::CInstance::supportsConstruct): (JSC::Bindings::CInstance::invokeConstruct): Have this call the appropriate NPClass method.


  • bridge/npruntime.h: Add NPN_Construct.
  • bridge/npruntime_impl.h: Add _NPN_Construct.


  • bridge/runtime.h: (JSC::Bindings::Instance::supportsConstruct): (JSC::Bindings::Instance::invokeConstruct): New methods.


  • bridge/runtime_object.cpp: (JSC::callRuntimeConstructor): Call the native instance.


(JSC::RuntimeObjectImp::getConstructData):
Implement this.


  • bridge/runtime_object.h: Add new method declarations.


  • plugins/gtk/PluginPackageGtk.cpp: (WebCore::PluginPackage::load):
  • plugins/qt/PluginPackageQt.cpp: (WebCore::PluginPackage::load):
  • plugins/win/PluginPackageWin.cpp: (WebCore::PluginPackage::load): Initialize m_pluginFuncs.construct.

WebKit/mac:

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

Reviewed by Sam Weinig.

<rdar://problem/5440917> Support NPN_Construct


Set construct.


  • Plugins/WebNetscapePluginPackage.m: (-[WebNetscapePluginPackage load]):

WebKitTools:

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

Reviewed by Sam Weinig.


<rdar://problem/5440917> Support NPN_Construct


  • DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp: (testCallback): Fix a memory leak.


(testConstruct):
New test method that treats it first argument as a constructor and invokes it with the rest of the arguments.


(pluginInvoke):
Handle testConstruct.


  • DumpRenderTree/TestNetscapePlugIn.subproj/TestObject.cpp: (testGetProperty): Add objectPointer property.


(testEnumerate):
Only enumerate the two first properties.


(testConstruct):
Add a simple construct implementation that just returns the test object.

LayoutTests:

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

Reviewed by Sam Weinig.

<rdar://problem/5440917> Support NPN_Construct


Add testcase.


  • plugins/netscape-construct-expected.txt: Added.
  • plugins/netscape-construct.html: Added.
15:16 Changeset [37868] by ap@webkit.org

Suggested and rubber-stamped by Geoff Garen.

Fix a crash when opening Font Picker.

The change also hopefully fixes this bug, which I could never reproduce:
https://bugs.webkit.org/show_bug.cgi?id=20241
<rdar://problem/6290576> Safari crashes at JSValueUnprotect() when fontpicker view close

  • API/JSContextRef.cpp: (JSContextGetGlobalObject): Use lexical global object instead of dynamic one.
15:09 Changeset [37867] by adele@apple.com

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

Build fix.

  • platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient):
  • platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles):
14:51 Changeset [37866] by ddkilzer@apple.com

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Fix GTK build break.

Reviewed by David Kilzer.

  • GNUmakefile.am: Do not include .idl files whose generated files should not be compiled.
14:46 Changeset [37865] by ddkilzer@apple.com

Wx build fix.

  • platform/wx/TemporaryLinkStubs.cpp: (WebCore::setFocusRingColorChangeFunction): Removed in r37858.
14:44 Changeset [37864] by mrowe@apple.com

<rdar://problem/6119711> Remove the dependency on Foundation's private COCOA_FORMAL_PROTOCOLS define.

Rubber-stamped by Tim Hatcher.

14:12 Changeset [37863] by adele@apple.com

WebCore:

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

Reviewed by Sam Weinig.

WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.

This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used.
This is consistent with the direction HTML5 will be going in the future.

The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view
the individual files in a tooltip for now. Improvements to this control will come later.

Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file.
These FileList Files can also be sent in an XMLHTTPRequest.

  • manual-tests/post-multi-file-upload.html: Added.
  • manual-tests/resources/multiFileResources: Added.
  • manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added.
  • manual-tests/resources/multiFileResources/testFile1.html: Added.
  • manual-tests/resources/multiFileResources/testFile2.html: Added.
  • manual-tests/resources/multiFileResources/testFile3.html: Added.
  • WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit.
  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute. (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control, but we don't want to break the behavior for existing websites that may rely on this. (WebCore::HTMLInputElement::setValue): ditto. (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead. (WebCore::HTMLInputElement::setFileListFromRenderer): Added.
  • html/HTMLInputElement.h:
  • page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control.
  • page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files.
  • platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer. (WebCore::FileChooser::FileChooser): (WebCore::FileChooser::create): (WebCore::FileChooser::clear): (WebCore::FileChooser::chooseFile): (WebCore::FileChooser::chooseFiles): (WebCore::FileChooser::chooseIcon):
  • platform/FileChooser.h: (WebCore::FileChooser::filePaths): (WebCore::FileChooser::allowsMultipleFiles):
  • platform/graphics/Icon.h:
  • platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files.
  • platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out.
  • platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto.
  • platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto.
  • platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector.
  • platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto.
  • platform/qt/FileChooserQt.cpp: (WebCore::FileChooser::openFileChooser): (WebCore::FileChooser::basenameForWidth):
  • platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth):
  • platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle): Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel both get called for the same ResourceHandle. This getting called twice has no negative effect.
  • rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer. (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added. (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser. (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files.
  • rendering/RenderFileUploadControl.h:

WebKit/mac:

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

Reviewed by Sam Weinig.

WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.

  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): (-[WebOpenPanelResultListener chooseFilenames:]):
  • WebView/WebUIDelegate.h:
14:09 Changeset [37862] by aroben@apple.com

Windows build fix

  • WebCoreSupport/WebInspectorClientCF.cpp: Define WTF_PLATFORM_CF manually. Normally this gets defined on Windows by including config.h, but Mac has no config.h for WebKit, so we can't do that here.
14:07 Changeset [37861] by cwzwarich@webkit.org

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

Reviewed by Geoff Garen.

Remove ScopeChainNode::bottom() and inline it into its only caller,
ScopeChainnode::globalObject().

  • kjs/JSGlobalObject.h: (JSC::ScopeChainNode::globalObject):
  • kjs/ScopeChain.h: (JSC::ScopeChain::bottom):
13:54 Changeset [37860] by ddkilzer@apple.com

Build fix.

Reviewed by Greg Bolsinga.

  • WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClientWx::populateSetting): Changed
InspectorClient
to InspectorClientWx::. (WebCore::InspectorClientWx::storeSetting): Ditto. (WebCore::InspectorClientWx::removeSetting): Ditto.
13:44 Changeset [37859] by cwzwarich@webkit.org

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

Reviewed by Maciej Stachowiak.

Bug 21862: Create JSFunction prototype property lazily
<https://bugs.webkit.org/show_bug.cgi?id=21862>

This is a 1.5% speedup on SunSpider and a 1.4% speedup on the V8
benchmark suite, including a 3.8% speedup on Earley-Boyer.

  • kjs/JSFunction.cpp: (JSC::JSFunction::getOwnPropertySlot):
  • kjs/nodes.cpp: (JSC::FuncDeclNode::makeFunction): (JSC::FuncExprNode::makeFunction):
13:43 Changeset [37858] by pkasting@chromium.org

2008-10-23 Peter Kasting <pkasting@google.com>

Reviewed by David Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=21844
Remove setFocusRingColorChangeFunction.

  • page/Page.cpp: (WebCore::Page::Page):
  • platform/graphics/Color.h:
  • platform/graphics/mac/ColorMac.mm: (WebCore::focusRingColor):
  • platform/graphics/qt/GraphicsContextQt.cpp:
  • platform/graphics/win/ColorSafari.cpp:
13:32 Changeset [37857] by ddkilzer@apple.com

Build fix for Qt.

Reviewed by Greg.

  • WebCore.pro: Added missing *.idl files.
13:27 Changeset [37856] by timothy@apple.com

Fix the Windows build.

13:23 Changeset [37855] by simon.fraser@apple.com

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

Reviewed by Sam Weinig

Add to the comment some new CSSRule types that are not yet tested.

  • fast/dom/wrapper-classes.html:
13:10 Changeset [37854] by ddkilzer@apple.com

JavaScriptCore:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

  • wtf/Platform.h: ENABLE_GEOLOCATION defaults to 0

WebCore:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Test: geolocation/geolocation-not-implemented.html

  • DerivedSources.make:
  • GNUmakefile.am: Added Geolocation support
  • WebCore.pro: Added Geolocation support
  • WebCore.vcproj/WebCore.vcproj: Added Geolocation support
  • WebCore.xcodeproj/project.pbxproj: Added Geolocation support
  • WebCoreSources.bkl: Added Geolocation support
  • bindings/js/JSCustomPositionCallback.cpp: Added. (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): (WebCore::JSCustomPositionCallback::handleEvent):
  • bindings/js/JSCustomPositionCallback.h: Added. (WebCore::JSCustomPositionCallback::create):
  • bindings/js/JSCustomPositionErrorCallback.cpp: Added. (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): (WebCore::JSCustomPositionErrorCallback::handleEvent):
  • bindings/js/JSCustomPositionErrorCallback.h: Added. (WebCore::JSCustomPositionErrorCallback::create):
  • bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom (WebCore::markDOMObjectWrapper):
  • bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
  • bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
  • bindings/js/JSGeolocationCustom.cpp: Added. (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition):
  • bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation (WebCore::JSNavigator::mark):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::setUsingGeolocation): (WebCore::Document::usingGeolocation):
  • loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation (WebCore::FrameLoader::canCachePage):
  • page/Geolocation.cpp: Added. (WebCore::Geolocation::GeoNotifier::GeoNotifier): (WebCore::Geolocation::GeoNotifier::timerFired): (WebCore::Geolocation::Geolocation): (WebCore::Geolocation::disconnectFrame): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition): (WebCore::Geolocation::clearWatch): (WebCore::Geolocation::stopUpdatingIfEmpty): (WebCore::Geolocation::sendErrorToOneShots): (WebCore::Geolocation::sendErrorToWatchers): (WebCore::Geolocation::sendPositionToOneShots): (WebCore::Geolocation::sendPositionToWatchers): (WebCore::Geolocation::handleError): (WebCore::Geolocation::geolocationServicePositionChanged): (WebCore::Geolocation::geolocationServiceErrorOccurred):
  • page/Geolocation.h: Added. (WebCore::Geolocation::create): (WebCore::Geolocation::~Geolocation): (WebCore::Geolocation::lastPosition): (WebCore::Geolocation::GeoNotifier::create):
  • page/Geolocation.idl: Added.
  • page/Geoposition.cpp: Added. (WebCore::Geoposition::toString):
  • page/Geoposition.h: Added. (WebCore::Geoposition::create): (WebCore::Geoposition::latitude): (WebCore::Geoposition::longitude): (WebCore::Geoposition::altitude): (WebCore::Geoposition::accuracy): (WebCore::Geoposition::altitudeAccuracy): (WebCore::Geoposition::heading): (WebCore::Geoposition::velocity): (WebCore::Geoposition::timestamp): (WebCore::Geoposition::Geoposition):
  • page/Geoposition.idl: Added.
  • page/Navigator.cpp: (WebCore::Navigator::disconnectFrame): disconnect Geolocation (WebCore::Navigator::geolocation): accessor for Geolocation
  • page/Navigator.h: (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
  • page/Navigator.idl: accessor for Geolocation
  • page/PositionCallback.h: Added. (WebCore::PositionCallback::~PositionCallback):
  • page/PositionCallback.idl: Added.
  • page/PositionError.h: Added. (WebCore::PositionError::): (WebCore::PositionError::create): (WebCore::PositionError::code): (WebCore::PositionError::message): (WebCore::PositionError::PositionError):
  • page/PositionError.idl: Added.
  • page/PositionErrorCallback.h: Added. (WebCore::PositionErrorCallback::~PositionErrorCallback):
  • page/PositionErrorCallback.idl: Added.
  • page/PositionOptions.h: Added. (WebCore::PositionOptions::create): (WebCore::PositionOptions::enableHighAccuracy): (WebCore::PositionOptions::setEnableHighAccuracy): (WebCore::PositionOptions::timeout): (WebCore::PositionOptions::setTimeout): (WebCore::PositionOptions::PositionOptions):
  • page/PositionOptions.idl: Added.
  • platform/GeolocationService.cpp: Added. (WebCore::GeolocationService::GeolocationService): (WebCore::GeolocationService::positionChanged): (WebCore::GeolocationService::errorOccurred):
  • platform/GeolocationService.h: Added. (WebCore::GeolocationServiceClient::~GeolocationServiceClient): (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): (WebCore::GeolocationService::~GeolocationService):

LayoutTests:

2008-10-24 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Tests to verify Geolocation isn't implemented (so that it didn't leak into
WebCore for platforms that do not support it).

  • geolocation: Added.
  • geolocation/geolocation-not-implemented-expected.txt: Added.
  • geolocation/geolocation-not-implemented.html: Added.
  • geolocation/geolocation-test.js: Copied from LayoutTests/media/video-test.js. (reset): (hanged): (watchPositionAndEnd): (watchPosition._positionCallback): (watchPosition): (watchPositionTestAndEnd): (watchPositionAndFail): (watchPositionAndTest._positionCallback): (watchPositionAndTest): (getCurrentPositionAndEnd): (getCurrentPosition._positionCallback): (getCurrentPosition): (getCurrentPositionTestAndEnd): (getCurrentPositionAndFail): (getCurrentPositionAndTest._positionCallback): (getCurrentPositionAndTest): (endTest): (relativeURL):
12:59 Changeset [37853] by simon.fraser@apple.com

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

Reviewed by Darin Adler

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

Add additional CSSRule types to the DOM-wrapper tests.

  • fast/dom/resources/wrapper-identity-base.js:
  • fast/dom/wrapper-identity-expected.txt:
  • platform/mac/fast/dom/objc-wrapper-identity-expected.txt:
12:32 Changeset [37852] by simon.fraser@apple.com

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

Reviewed by Darin Adler

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

Add HashTraits for AtomicString so that AtomicString can be used as
the key for a HashMap or HashSet.

  • GNUmakefile.am: add AtomicStringHash.h
  • WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h
  • WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h
  • platform/text/AtomicString.h: (WebCore::AtomicString::AtomicString): (WebCore::AtomicString::isHashTableDeletedValue):

specialize DefaultHash for AtomicString to use AtomicStringHash

  • platform/text/AtomicStringHash.h: Added.
  • platform/text/StringImpl.cpp: (WebCore::StringImpl::StringImpl):

compute the hash up-front for the empty string

  • platform/text/StringImpl.h: (WebCore::StringImpl::existingHash):

method to get the hash without a test and branch, for callers like
AtomicStringHash who can guarantee that the hash has already been computed.

12:15 Changeset [37851] by simon.fraser@apple.com

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

Reviewed by Sam Weinig

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

Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the
switch in _wrapCSSRule.

  • bindings/objc/DOMCSS.mm: (+[DOMCSSRule _wrapCSSRule:WebCore::]):
12:14 Changeset [37850] by aroben@apple.com

Windows build fix

  • plugins/PluginView.cpp:
12:10 Changeset [37849] by mitz@apple.com

WebCore:

Reviewed by Sam Weinig.

Test: fast/replaced/percent-height-in-anonymous-block-widget.html

  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::destroy): Copied code added to RenderBox::destroy() in r36513 into this function.

LayoutTests:

Reviewed by Sam Weinig.

  • fast/replaced/percent-height-in-anonymous-block-widget.html: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.checksum: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.png: Added.
  • platform/mac/fast/replaced/percent-height-in-anonymous-block-widget-expected.txt: Added.
11:49 Changeset [37848] by timothy@apple.com

Add a mechanism to store and retrieve preferences for the Web Inspector.

WebCore:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Add a mechanism to ask the InspectorClient for key/value setting pairs.
These settings can be strings, numbers, booleans or string vectors. The
settings are also bridged to and from JavaScript.

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

Reviewed by Darin Adler.

  • WebCore.base.exp: Expose the String CFStringRef constructor.
  • inspector/InspectorClient.h: (WebCore::InspectorClient::populateSetting): Added, pure virtual. (WebCore::InspectorClient::storeSetting): Ditto. (WebCore::InspectorClient::removeSetting): Ditto.
  • inspector/InspectorController.cpp: (WebCore::setting): Calls InspectorController::setting and wraps the result in script types. (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types. (WebCore::InspectorController::InspectorController): Increment a global static to track the number of live InspectorControllers. (WebCore::InspectorController::~InspectorController): Decrement the global static that tracks the number of live InspectorControllers. Delete the setting cache if there are no more live controllers. (WebCore::InspectorController::setting): Check the cache and return the setting from there, otherwise make a new Setting and ask the client to populate it. (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it. (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting to the InspectorController script class.
  • inspector/InspectorController.h: (WebCore::InspectorController::Setting::Setting): (WebCore::InspectorController::Setting::operator=): (WebCore::InspectorController::Setting::type): Return m_type. (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct. (WebCore::InspectorController::Setting::stringVector): Return m_stringVector. Assert the type is correct. (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double. Assert the type is correct. (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer. Assert the type is correct. (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean. Assert the type is correct. (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right field and the type.
  • loader/EmptyClients.h: (WebCore::EmptyInspectorClient::populateSetting): Added, empty method. (WebCore::EmptyInspectorClient::storeSetting): Ditto. (WebCore::EmptyInspectorClient::removeSetting): Ditto.

WebKit:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Implement new InspectorClient methods to work with Settings.

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

Reviewed by Darin Adler.

  • WebKit.xcodeproj/project.pbxproj: Add the new InspectorClientCF.cpp file.

WebKit/gtk:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Stub out new InspectorClient methods.

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

Reviewed by Darin Adler.

  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::populateSetting): Not implemented. (WebKit::InspectorClient::storeSetting): Ditto. (WebKit::InspectorClient::removeSetting): Ditto.
  • WebCoreSupport/InspectorClientGtk.h:

WebKit/mac:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Implement new InspectorClient methods to work with Settings.

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

Reviewed by Darin Adler.

  • WebCoreSupport/WebInspectorClient.h: Add the new methods and guard the ObjC parts of the header.

WebKit/qt:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Stub out new InspectorClient methods.

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

Reviewed by Darin Adler.

  • WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::populateSetting): Not implemented. (WebCore::InspectorClientQt::storeSetting): Ditto. (WebCore::InspectorClientQt::removeSetting): Ditto.
  • WebCoreSupport/InspectorClientQt.h:

WebKit/win:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Implement new InspectorClient methods to work with Settings.

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

Reviewed by Adam Roben.

  • WebKit.vcproj/WebKit.vcproj: Add the new InspectorClientCF.cpp file.
  • WebCoreSupport/WebInspectorClient.h: Add the new methods.

WebKit/wx:

2008-10-24 Timothy Hatcher <timothy@apple.com>

Stub out new InspectorClient methods.

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

Reviewed by Darin Adler.

  • WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClient::populateSetting): Not implemented. (WebCore::InspectorClient::storeSetting): Ditto. (WebCore::InspectorClient::removeSetting): Ditto.
  • WebKitSupport/InspectorClientWx.h:
11:19 Changeset [37847] by ddkilzer@apple.com

Bug 21850: svn-apply and svn-unapply should preserve patch line endings

<https://bugs.webkit.org/show_bug.cgi?id=21850>

Reviewed by Adam Roben.

  • Scripts/svn-apply: Save end-of-line characters when stripping them off each line of a patch so that they may be restored after processing the line.
  • Scripts/svn-unapply: Ditto.
11:10 Changeset [37846] by cwzwarich@webkit.org

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

Reviewed by Sam Weinig.

Remove some C-style casts.

  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::addViewSourceToken):
09:22 Changeset [37845] by darin@apple.com

JavaScriptCore:

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

  • API/APICast.h:
  • API/JSCallbackConstructor.h:
  • API/JSCallbackFunction.cpp:
  • API/JSCallbackFunction.h:
  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h:
  • API/JSContextRef.cpp:
  • API/JSObjectRef.cpp:
  • API/JSValueRef.cpp:
  • VM/CTI.cpp:
  • VM/CTI.h:
  • VM/CodeBlock.cpp:
  • VM/CodeBlock.h:
  • VM/CodeGenerator.cpp:
  • VM/CodeGenerator.h:
  • VM/ExceptionHelpers.cpp:
  • VM/ExceptionHelpers.h:
  • VM/JSPropertyNameIterator.cpp:
  • VM/JSPropertyNameIterator.h:
  • VM/Machine.cpp:
  • VM/Machine.h:
  • VM/Register.h:
  • kjs/ArgList.cpp:
  • kjs/ArgList.h:
  • kjs/Arguments.cpp:
  • kjs/Arguments.h:
  • kjs/ArrayConstructor.cpp:
  • kjs/ArrayPrototype.cpp:
  • kjs/BooleanConstructor.cpp:
  • kjs/BooleanConstructor.h:
  • kjs/BooleanObject.h:
  • kjs/BooleanPrototype.cpp:
  • kjs/CallData.cpp:
  • kjs/CallData.h:
  • kjs/ConstructData.cpp:
  • kjs/ConstructData.h:
  • kjs/DateConstructor.cpp:
  • kjs/DateInstance.h:
  • kjs/DatePrototype.cpp:
  • kjs/DatePrototype.h:
  • kjs/DebuggerCallFrame.cpp:
  • kjs/DebuggerCallFrame.h:
  • kjs/ErrorConstructor.cpp:
  • kjs/ErrorPrototype.cpp:
  • kjs/ExecState.cpp:
  • kjs/ExecState.h:
  • kjs/FunctionConstructor.cpp:
  • kjs/FunctionPrototype.cpp:
  • kjs/FunctionPrototype.h:
  • kjs/GetterSetter.cpp:
  • kjs/GetterSetter.h:
  • kjs/InternalFunction.h:
  • kjs/JSActivation.cpp:
  • kjs/JSActivation.h:
  • kjs/JSArray.cpp:
  • kjs/JSArray.h:
  • kjs/JSCell.cpp:
  • kjs/JSCell.h:
  • kjs/JSFunction.cpp:
  • kjs/JSFunction.h:
  • kjs/JSGlobalData.h:
  • kjs/JSGlobalObject.cpp:
  • kjs/JSGlobalObject.h:
  • kjs/JSGlobalObjectFunctions.cpp:
  • kjs/JSGlobalObjectFunctions.h:
  • kjs/JSImmediate.cpp:
  • kjs/JSImmediate.h:
  • kjs/JSNotAnObject.cpp:
  • kjs/JSNotAnObject.h:
  • kjs/JSNumberCell.cpp:
  • kjs/JSNumberCell.h:
  • kjs/JSObject.cpp:
  • kjs/JSObject.h:
  • kjs/JSStaticScopeObject.cpp:
  • kjs/JSStaticScopeObject.h:
  • kjs/JSString.cpp:
  • kjs/JSString.h:
  • kjs/JSValue.h:
  • kjs/JSVariableObject.h:
  • kjs/JSWrapperObject.h:
  • kjs/MathObject.cpp:
  • kjs/MathObject.h:
  • kjs/NativeErrorConstructor.cpp:
  • kjs/NumberConstructor.cpp:
  • kjs/NumberConstructor.h:
  • kjs/NumberObject.cpp:
  • kjs/NumberObject.h:
  • kjs/NumberPrototype.cpp:
  • kjs/ObjectConstructor.cpp:
  • kjs/ObjectPrototype.cpp:
  • kjs/ObjectPrototype.h:
  • kjs/PropertyMap.h:
  • kjs/PropertySlot.cpp:
  • kjs/PropertySlot.h:
  • kjs/RegExpConstructor.cpp:
  • kjs/RegExpConstructor.h:
  • kjs/RegExpMatchesArray.h:
  • kjs/RegExpObject.cpp:
  • kjs/RegExpObject.h:
  • kjs/RegExpPrototype.cpp:
  • kjs/Shell.cpp:
  • kjs/StringConstructor.cpp:
  • kjs/StringObject.cpp:
  • kjs/StringObject.h:
  • kjs/StringObjectThatMasqueradesAsUndefined.h:
  • kjs/StringPrototype.cpp:
  • kjs/StructureID.cpp:
  • kjs/StructureID.h:
  • kjs/collector.cpp:
  • kjs/collector.h:
  • kjs/completion.h:
  • kjs/grammar.y:
  • kjs/interpreter.cpp:
  • kjs/interpreter.h:
  • kjs/lookup.cpp:
  • kjs/lookup.h:
  • kjs/nodes.h:
  • kjs/operations.cpp:
  • kjs/operations.h:
  • kjs/protect.h:
  • profiler/ProfileGenerator.cpp:
  • profiler/Profiler.cpp:
  • profiler/Profiler.h: Use JSValue* instead of JSValuePtr.

JavaScriptGlue:

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

  • JSObject.cpp: (nativeCallFunction):
  • JSUtils.cpp: (KJSValueToJSObject): (JSObjectKJSValue): (KJSValueToCFTypeInternal): (KJSValueToCFType):
  • JSUtils.h:
  • JSValueWrapper.cpp: (JSValueWrapper::JSValueWrapper): (JSValueWrapper::GetValue): (JSValueWrapper::JSObjectCopyProperty): (JSValueWrapper::JSObjectSetProperty): (JSValueWrapper::JSObjectCallFunction):
  • JSValueWrapper.h:
  • UserObjectImp.cpp: (UserObjectImp::callAsFunction): (UserObjectImp::userObjectGetter): (UserObjectImp::getOwnPropertySlot): (UserObjectImp::put): (UserObjectImp::toPrimitive):
  • UserObjectImp.h: (UserObjectImp::createStructureID): Use JSValue* instead of JSValuePtr.

WebCore:

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

  • bindings/js/JSAttrCustom.cpp:
  • bindings/js/JSCSSRuleCustom.cpp:
  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • bindings/js/JSCSSValueCustom.cpp:
  • bindings/js/JSCanvasPixelArrayCustom.h:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  • bindings/js/JSClipboardCustom.cpp:
  • bindings/js/JSConsoleCustom.cpp:
  • bindings/js/JSCustomSQLStatementCallback.cpp:
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  • bindings/js/JSCustomSQLTransactionCallback.cpp:
  • bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
  • bindings/js/JSCustomVoidCallback.cpp:
  • bindings/js/JSCustomVoidCallback.h:
  • bindings/js/JSCustomXPathNSResolver.cpp:
  • bindings/js/JSCustomXPathNSResolver.h:
  • bindings/js/JSDOMApplicationCacheCustom.cpp:
  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSDOMWindowCustom.h:
  • bindings/js/JSDOMWindowShell.cpp:
  • bindings/js/JSDOMWindowShell.h:
  • bindings/js/JSDatabaseCustom.cpp:
  • bindings/js/JSDedicatedWorkerCustom.cpp:
  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSElementCustom.cpp:
  • bindings/js/JSEventCustom.cpp:
  • bindings/js/JSEventListener.cpp:
  • bindings/js/JSEventTarget.cpp:
  • bindings/js/JSEventTarget.h:
  • bindings/js/JSEventTargetBase.h:
  • bindings/js/JSEventTargetNodeCustom.cpp:
  • bindings/js/JSHTMLAllCollection.h:
  • bindings/js/JSHTMLAppletElementCustom.cpp:
  • bindings/js/JSHTMLCollectionCustom.cpp:
  • bindings/js/JSHTMLDocumentCustom.cpp:
  • bindings/js/JSHTMLEmbedElementCustom.cpp:
  • bindings/js/JSHTMLFormElementCustom.cpp:
  • bindings/js/JSHTMLFrameElementCustom.cpp:
  • bindings/js/JSHTMLFrameSetElementCustom.cpp:
  • bindings/js/JSHTMLIFrameElementCustom.cpp:
  • bindings/js/JSHTMLInputElementCustom.cpp:
  • bindings/js/JSHTMLObjectElementCustom.cpp:
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:
  • bindings/js/JSHTMLSelectElementCustom.cpp:
  • bindings/js/JSHTMLSelectElementCustom.h:
  • bindings/js/JSHistoryCustom.cpp:
  • bindings/js/JSImageDataCustom.cpp:
  • bindings/js/JSInspectedObjectWrapper.cpp:
  • bindings/js/JSInspectedObjectWrapper.h:
  • bindings/js/JSInspectorCallbackWrapper.cpp:
  • bindings/js/JSInspectorCallbackWrapper.h:
  • bindings/js/JSJavaScriptCallFrameCustom.cpp:
  • bindings/js/JSLocationCustom.cpp:
  • bindings/js/JSMessagePortCustom.cpp:
  • bindings/js/JSMimeTypeArrayCustom.cpp:
  • bindings/js/JSNamedNodeMapCustom.cpp:
  • bindings/js/JSNamedNodesCollection.cpp:
  • bindings/js/JSNamedNodesCollection.h:
  • bindings/js/JSNavigatorCustom.cpp:
  • bindings/js/JSNodeCustom.cpp:
  • bindings/js/JSNodeFilterCondition.cpp:
  • bindings/js/JSNodeFilterCondition.h:
  • bindings/js/JSNodeFilterCustom.cpp:
  • bindings/js/JSNodeIteratorCustom.cpp:
  • bindings/js/JSNodeListCustom.cpp:
  • bindings/js/JSPluginArrayCustom.cpp:
  • bindings/js/JSPluginCustom.cpp:
  • bindings/js/JSPluginElementFunctions.cpp:
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/JSQuarantinedObjectWrapper.cpp:
  • bindings/js/JSQuarantinedObjectWrapper.h:
  • bindings/js/JSRGBColor.cpp:
  • bindings/js/JSRGBColor.h:
  • bindings/js/JSSQLResultSetRowListCustom.cpp:
  • bindings/js/JSSQLTransactionCustom.cpp:
  • bindings/js/JSSVGElementInstanceCustom.cpp:
  • bindings/js/JSSVGLengthCustom.cpp:
  • bindings/js/JSSVGMatrixCustom.cpp:
  • bindings/js/JSSVGPathSegCustom.cpp:
  • bindings/js/JSSVGPathSegListCustom.cpp:
  • bindings/js/JSSVGPointListCustom.cpp:
  • bindings/js/JSSVGTransformListCustom.cpp:
  • bindings/js/JSStorageCustom.cpp:
  • bindings/js/JSStyleSheetCustom.cpp:
  • bindings/js/JSStyleSheetListCustom.cpp:
  • bindings/js/JSTextCustom.cpp:
  • bindings/js/JSTreeWalkerCustom.cpp:
  • bindings/js/JSXMLHttpRequestCustom.cpp:
  • bindings/js/JSXMLHttpRequestUploadCustom.cpp:
  • bindings/js/JSXSLTProcessorCustom.cpp:
  • bindings/js/ScheduledAction.cpp:
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • bindings/objc/WebScriptObject.mm:
  • bindings/objc/WebScriptObjectPrivate.h:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bridge/NP_jsobject.cpp:
  • bridge/c/c_instance.cpp:
  • bridge/c/c_instance.h:
  • bridge/c/c_runtime.cpp:
  • bridge/c/c_runtime.h:
  • bridge/c/c_utility.cpp:
  • bridge/c/c_utility.h:
  • bridge/jni/jni_instance.cpp:
  • bridge/jni/jni_instance.h:
  • bridge/jni/jni_jsobject.h:
  • bridge/jni/jni_jsobject.mm:
  • bridge/jni/jni_objc.mm:
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_runtime.h:
  • bridge/jni/jni_utility.cpp:
  • bridge/jni/jni_utility.h:
  • bridge/objc/WebScriptObject.h:
  • bridge/objc/objc_class.h:
  • bridge/objc/objc_class.mm:
  • bridge/objc/objc_instance.h:
  • bridge/objc/objc_instance.mm:
  • bridge/objc/objc_runtime.h:
  • bridge/objc/objc_runtime.mm:
  • bridge/objc/objc_utility.h:
  • bridge/objc/objc_utility.mm:
  • bridge/qt/qt_class.cpp:
  • bridge/qt/qt_class.h:
  • bridge/qt/qt_instance.cpp:
  • bridge/qt/qt_instance.h:
  • bridge/qt/qt_runtime.cpp:
  • bridge/qt/qt_runtime.h:
  • bridge/runtime.cpp:
  • bridge/runtime.h:
  • bridge/runtime_array.cpp:
  • bridge/runtime_array.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:
  • bridge/testqtbindings.cpp:
  • inspector/JavaScriptCallFrame.cpp:
  • inspector/JavaScriptCallFrame.h:
  • inspector/JavaScriptProfile.cpp:
  • inspector/JavaScriptProfile.h:
  • inspector/JavaScriptProfileNode.cpp:
  • inspector/JavaScriptProfileNode.h:
  • loader/FrameLoader.cpp:
  • loader/FrameLoader.h:
  • page/Console.cpp:
  • page/Console.h:
  • plugins/MimeTypeArray.h:
  • plugins/Plugin.h:
  • plugins/PluginArray.h:
  • plugins/PluginView.cpp:
  • xml/XMLHttpRequest.cpp: Use JSValue* instead of JSValuePtr.

WebKit/mac:

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

  • WebView/WebFrame.mm: (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
  • WebView/WebScriptDebugDelegate.mm: (-[WebScriptCallFrame _convertValueToObjcValue:]): (-[WebScriptCallFrame exception]): (-[WebScriptCallFrame evaluateWebScript:]):
  • WebView/WebView.mm: (aeDescFromJSValue): (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Use JSValue* instead of JSValuePtr.

WebKit/qt:

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

  • Api/qwebframe.cpp: (QWebFrame::evaluateJavaScript): Use JSValue* instead of JSValuePtr.

WebKit/win:

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

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::jsValueToString): (WebScriptCallFrame::stringByEvaluatingJavaScriptFromString): (WebScriptCallFrame::valueForVariable): (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
  • WebScriptCallFrame.h:
  • WebView.cpp: (WebView::stringByEvaluatingJavaScriptFromString): Use JSValue* instead of JSValuePtr.

WebKit/wx:

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

  • WebFrame.cpp: (wxWebFrame::RunScript): Use JSValue* instead of JSValuePtr.
07:43 Changeset [37844] by hausmann@webkit.org

2008-10-24 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build.

06:55 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:54 QtWebKitTodo edited by hausmann@webkit.org
(diff)
06:42 Changeset [37843] by hausmann@webkit.org

2008-10-23 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

Invalid history entries could cause a crash in QT Webkit

00:39 Changeset [37842] by ddkilzer@apple.com

Rolled out r37840 and r37841.

JavaScriptCore:

Rolled out r37840.

  • wtf/Platform.h:

WebCore:

Rolled out r37840 and r37841.

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • bindings/js/JSCustomPositionCallback.cpp: Removed.
  • bindings/js/JSCustomPositionCallback.h: Removed.
  • bindings/js/JSCustomPositionErrorCallback.cpp: Removed.
  • bindings/js/JSCustomPositionErrorCallback.h: Removed.
  • bindings/js/JSDOMBinding.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper):
  • bindings/js/JSGeolocationCustom.cpp: Removed.
  • bindings/js/JSNavigatorCustom.cpp:
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h:
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::canCachePage):
  • page/Geolocation.cpp: Removed.
  • page/Geolocation.h: Removed.
  • page/Geolocation.idl: Removed.
  • page/Geoposition.cpp: Removed.
  • page/Geoposition.h: Removed.
  • page/Geoposition.idl: Removed.
  • page/Navigator.cpp: (WebCore::Navigator::disconnectFrame):
  • page/Navigator.h:
  • page/Navigator.idl:
  • page/PositionCallback.h: Removed.
  • page/PositionCallback.idl: Removed.
  • page/PositionError.h: Removed.
  • page/PositionError.idl: Removed.
  • page/PositionErrorCallback.h: Removed.
  • page/PositionErrorCallback.idl: Removed.
  • page/PositionOptions.h: Removed.
  • page/PositionOptions.idl: Removed.
  • platform/GeolocationService.cpp: Removed.
  • platform/GeolocationService.h: Removed.

LayoutTests:

Rolled out r37840.

  • geolocation/geolocation-not-implemented-expected.txt: Removed.
  • geolocation/geolocation-not-implemented.html: Removed.
  • geolocation/geolocation-test.js: Removed.

10/23/08:

22:39 Changeset [37841] by ddkilzer@apple.com

Attempt to fix GTK build.

  • GNUmakefile.am: Added new *.idl files that were missing.
22:05 Changeset [37840] by ddkilzer@apple.com

JavaScriptCore:

2008-10-23 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

  • wtf/Platform.h: ENABLE_GEOLOCATION defaults to 0

WebCore:

2008-10-23 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Test: geolocation/geolocation-not-implemented.html

  • DerivedSources.make:
  • GNUmakefile.am: Added Geolocation support
  • WebCore.pro: Added Geolocation support
  • WebCore.vcproj/WebCore.vcproj: Added Geolocation support
  • WebCore.xcodeproj/project.pbxproj: Added Geolocation support
  • WebCoreSources.bkl: Added Geolocation support
  • bindings/js/JSCustomPositionCallback.cpp: Added. (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): (WebCore::JSCustomPositionCallback::handleEvent):
  • bindings/js/JSCustomPositionCallback.h: Added. (WebCore::JSCustomPositionCallback::create):
  • bindings/js/JSCustomPositionErrorCallback.cpp: Added. (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): (WebCore::JSCustomPositionErrorCallback::handleEvent):
  • bindings/js/JSCustomPositionErrorCallback.h: Added. (WebCore::JSCustomPositionErrorCallback::create):
  • bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom (WebCore::markDOMObjectWrapper):
  • bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom
  • bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding
  • bindings/js/JSGeolocationCustom.cpp: Added. (WebCore::JSGeolocation::getCurrentPosition): (WebCore::JSGeolocation::watchPosition):
  • bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation (WebCore::JSNavigator::mark):
  • dom/Document.cpp: (WebCore::Document::Document):
  • dom/Document.h: (WebCore::Document::setUsingGeolocation): (WebCore::Document::usingGeolocation):
  • loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation (WebCore::FrameLoader::canCachePage):
  • page/Geolocation.cpp: Added. (WebCore::Geolocation::GeoNotifier::GeoNotifier): (WebCore::Geolocation::GeoNotifier::timerFired): (WebCore::Geolocation::Geolocation): (WebCore::Geolocation::disconnectFrame): (WebCore::Geolocation::getCurrentPosition): (WebCore::Geolocation::watchPosition): (WebCore::Geolocation::clearWatch): (WebCore::Geolocation::stopUpdatingIfEmpty): (WebCore::Geolocation::sendErrorToOneShots): (WebCore::Geolocation::sendErrorToWatchers): (WebCore::Geolocation::sendPositionToOneShots): (WebCore::Geolocation::sendPositionToWatchers): (WebCore::Geolocation::handleError): (WebCore::Geolocation::geolocationServicePositionChanged): (WebCore::Geolocation::geolocationServiceErrorOccurred):
  • page/Geolocation.h: Added. (WebCore::Geolocation::create): (WebCore::Geolocation::~Geolocation): (WebCore::Geolocation::lastPosition): (WebCore::Geolocation::GeoNotifier::create):
  • page/Geolocation.idl: Added.
  • page/Geoposition.cpp: Added. (WebCore::Geoposition::toString):
  • page/Geoposition.h: Added. (WebCore::Geoposition::create): (WebCore::Geoposition::latitude): (WebCore::Geoposition::longitude): (WebCore::Geoposition::altitude): (WebCore::Geoposition::accuracy): (WebCore::Geoposition::altitudeAccuracy): (WebCore::Geoposition::heading): (WebCore::Geoposition::velocity): (WebCore::Geoposition::timestamp): (WebCore::Geoposition::Geoposition):
  • page/Geoposition.idl: Added.
  • page/Navigator.cpp: (WebCore::Navigator::disconnectFrame): disconnect Geolocation (WebCore::Navigator::geolocation): accessor for Geolocation
  • page/Navigator.h: (WebCore::Navigator::optionalGeolocation): accessor for Geolocation
  • page/Navigator.idl: accessor for Geolocation
  • page/PositionCallback.h: Added. (WebCore::PositionCallback::~PositionCallback):
  • page/PositionCallback.idl: Added.
  • page/PositionError.h: Added. (WebCore::PositionError::): (WebCore::PositionError::create): (WebCore::PositionError::code): (WebCore::PositionError::message): (WebCore::PositionError::PositionError):
  • page/PositionError.idl: Added.
  • page/PositionErrorCallback.h: Added. (WebCore::PositionErrorCallback::~PositionErrorCallback):
  • page/PositionErrorCallback.idl: Added.
  • page/PositionOptions.h: Added. (WebCore::PositionOptions::create): (WebCore::PositionOptions::enableHighAccuracy): (WebCore::PositionOptions::setEnableHighAccuracy): (WebCore::PositionOptions::timeout): (WebCore::PositionOptions::setTimeout): (WebCore::PositionOptions::PositionOptions):
  • page/PositionOptions.idl: Added.
  • platform/GeolocationService.cpp: Added. (WebCore::GeolocationService::GeolocationService): (WebCore::GeolocationService::positionChanged): (WebCore::GeolocationService::errorOccurred):
  • platform/GeolocationService.h: Added. (WebCore::GeolocationServiceClient::~GeolocationServiceClient): (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): (WebCore::GeolocationService::~GeolocationService):

LayoutTests:

2008-10-23 Greg Bolsinga <bolsinga@apple.com>

Reviewed by Sam Weinig.

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


Provide support for the Geolocation API


http://dev.w3.org/geo/api/spec-source.html

Tests to verify Geolocation isn't implemented (so that it didn't leak into
WebCore for platforms that do not support it).

  • geolocation: Added.
  • geolocation/geolocation-not-implemented-expected.txt: Added.
  • geolocation/geolocation-not-implemented.html: Added.
  • geolocation/geolocation-test.js: Added. (reset): (hanged): (watchPositionAndEnd): (watchPosition._positionCallback): (watchPosition): (watchPositionTestAndEnd): (watchPositionAndFail): (watchPositionAndTest._positionCallback): (watchPositionAndTest): (getCurrentPositionAndEnd): (getCurrentPosition._positionCallback): (getCurrentPosition): (getCurrentPositionTestAndEnd): (getCurrentPositionAndFail): (getCurrentPositionAndTest._positionCallback): (getCurrentPositionAndTest): (endTest): (relativeURL):
21:52 Changeset [37839] by alp@webkit.org

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

Fix typo in comment in previous commit. GTK -> GLIB

  • platform/gtk/guriescape.c:
21:32 Changeset [37838] by alp@webkit.org

2008-10-23 Kalle Vahlman <kalle.vahlman@movial.com>

Reviewed by Alp Toker.

https://bugs.webkit.org/show_bug.cgi?id=21824
[GTK] FileSystem abstraction uses features from Glib 2.16

Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib

  • platform/gtk/guriescape.c: (unescape_character): (_webcore_g_uri_unescape_segment): (_webcore_g_uri_unescape_string):
  • platform/gtk/guriescape.h:
20:44 Changeset [37837] by jmalonzo@webkit.org

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

Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826.

  • GNUmakefile.am:
20:23 Changeset [37836] by mrowe@apple.com

Versioning.

20:23 Changeset [37835] by mrowe@apple.com

New tag.

18:04 Changeset [37834] by darin@chromium.org

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

Reviewed by Eric Seidel.

m_frame null checked but then dereferenced
https://bugs.webkit.org/show_bug.cgi?id=21845

This error was found using a static analysis tool, and so I do not know
how to produce a null m_frame on entry to this method. Hence, I have
not included a regression test.

  • page/EventHandler.cpp: (WebCore::EventHandler::allowDHTMLDrag): Add an early return.
17:18 Changeset [37833] by kmccullough@apple.com

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

Rubber stamped by Mark Rowe.

-Skipping the profiler tests until we know why they fail on tiger:
<rdar://problem/6316530> Profiler tests fail on tiger

  • platform/mac-tiger/Skipped:
16:58 Changeset [37832] by ddkilzer@apple.com

Bug 21832: Fix scripts using 'new File::Temp' for Perl 5.10

JavaScriptCore:

Bug 21832: Fix scripts using 'new File::Temp' for Perl 5.10

<https://bugs.webkit.org/show_bug.cgi?id=21832>

Reviewed by Sam Weinig.

  • pcre/dftables: Use imported tempfile() from File::Temp instead of 'new File::Temp' to make the script work with Perl 5.10.

WebKitTools:

Bug 21832: Fix scripts using 'new File::Temp' for Perl 5.10

<https://bugs.webkit.org/show_bug.cgi?id=21832>

Reviewed by Sam Weinig.

  • Scripts/bisect-builds: Use imported tempfile() from File::Temp instead of 'new File::Temp' to make the script work with Perl 5.10.
  • Scripts/sort-Xcode-project-file: Ditto.
15:29 Changeset [37831] by barraclough@apple.com

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

Reviewed by Oliver Hunt.

Fix hideous pathological case performance when looking up repatch info, bug #21727.

When repatching JIT code to optimize we look up records providing information about
the generated code (also used to track recsources used in linking to be later released).
The lookup was being performed using a linear scan of all such records.

(1) Split up the different types of reptach information. This means we can search them

separately, and in some cases should reduce their size.

(2) In the case of property accesses, search with a binary chop over the data.
(3) In the case of calls, pass a pointer to the repatch info into the relink function.

  • VM/CTI.cpp: (JSC::CTI::CTI): (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): (JSC::CTI::privateCompile): (JSC::CTI::unlinkCall): (JSC::CTI::linkCall):
  • VM/CTI.h:
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump): (JSC::CodeBlock::~CodeBlock): (JSC::CodeBlock::unlinkCallers): (JSC::CodeBlock::derefStructureIDs):
  • VM/CodeBlock.h: (JSC::StructureStubInfo::StructureStubInfo): (JSC::CallLinkInfo::CallLinkInfo): (JSC::CallLinkInfo::setUnlinked): (JSC::CallLinkInfo::isLinked): (JSC::getStructureStubInfoReturnLocation): (JSC::binaryChop): (JSC::CodeBlock::addCaller): (JSC::CodeBlock::getStubInfo):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitResolve): (JSC::CodeGenerator::emitGetById): (JSC::CodeGenerator::emitPutById): (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitConstruct):
  • VM/Machine.cpp: (JSC::Machine::cti_vm_lazyLinkCall):
15:12 Changeset [37830] by kmccullough@apple.com

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

Forgot to remove the tests from the skipped lists, this should have been
apart of the last checkin.

  • platform/gtk/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
15:10 Changeset [37829] by kmccullough@apple.com

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21817
Bug 21817: Manual profiler tests should be made into layout tests

  • Added the expected results for the profiler tests and removed the tests from the skipped list.
  • Also removed two tests that were accidentally checked in previously.
  • Also changed the text on the tests to be more apparent how to run them manually.
  • fast/profiler/anonymous-event-handler-expected.txt: Added.
  • fast/profiler/anonymous-event-handler.html:
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Added.
  • fast/profiler/anonymous-function-called-from-different-contexts.html:
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Added.
  • fast/profiler/anonymous-function-calls-built-in-functions.html:
  • fast/profiler/anonymous-function-calls-eval-expected.txt: Added.
  • fast/profiler/anonymous-function-calls-eval.html:
  • fast/profiler/apply-expected.txt: Added.
  • fast/profiler/apply.html:
  • fast/profiler/built-in-function-calls-anonymous-expected.txt: Added.
  • fast/profiler/built-in-function-calls-anonymous.html:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Added.
  • fast/profiler/built-in-function-calls-user-defined-function.html:
  • fast/profiler/call-expected.txt: Added.
  • fast/profiler/call-nodelist-as-function-expected.txt: Added.
  • fast/profiler/call-nodelist-as-function.html:
  • fast/profiler/call.html: Added.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Added.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html:
  • fast/profiler/compare-multiple-profiles-expected.txt: Added.
  • fast/profiler/compare-multiple-profiles.html:
  • fast/profiler/constructor-expected.txt: Added.
  • fast/profiler/constructor.html:
  • fast/profiler/dead-time-expected.txt: Added.
  • fast/profiler/dead-time.html:
  • fast/profiler/deep-recursion.html: Removed.
  • fast/profiler/document-dot-write-expected.txt: Added.
  • fast/profiler/document-dot-write.html:
  • fast/profiler/event-handler-expected.txt: Added.
  • fast/profiler/event-handler.html:
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Added.
  • fast/profiler/execution-context-and-eval-on-same-line.html:
  • fast/profiler/heavy-view-expected.txt: Added.
  • fast/profiler/heavy-view.html:
  • fast/profiler/inline-event-handler-expected.txt: Added.
  • fast/profiler/inline-event-handler.html:
  • fast/profiler/many-calls-in-the-same-scope-expected.txt: Added.
  • fast/profiler/many-calls-in-the-same-scope.html: Added.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Added.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html:
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Added.
  • fast/profiler/multiple-and-different-scoped-function-calls.html:
  • fast/profiler/multiple-frames-expected.txt: Added.
  • fast/profiler/multiple-frames.html:
  • fast/profiler/multiple-windows.html: Removed.
  • fast/profiler/nested-anonymous-functon-expected.txt: Added.
  • fast/profiler/nested-anonymous-functon.html:
  • fast/profiler/nested-start-and-stop-profiler-expected.txt: Added.
  • fast/profiler/nested-start-and-stop-profiler.html:
  • fast/profiler/no-execution-context-expected.txt: Added.
  • fast/profiler/no-execution-context.html:
  • fast/profiler/one-execution-context-expected.txt: Added.
  • fast/profiler/one-execution-context.html:
  • fast/profiler/profile-calls-in-included-file-expected.txt: Added.
  • fast/profiler/profile-calls-in-included-file.html:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Added.
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html:
  • fast/profiler/profiling-from-a-nested-location-expected.txt: Added.
  • fast/profiler/profiling-from-a-nested-location.html:
  • fast/profiler/simple-event-call-expected.txt: Added.
  • fast/profiler/simple-event-call.html:
  • fast/profiler/simple-no-level-change-expected.txt: Added.
  • fast/profiler/simple-no-level-change.html:
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Added.
  • fast/profiler/start-and-stop-profiler-multiple-times.html:
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Added.
  • fast/profiler/start-and-stop-profiling-in-the-same-function.html:
  • fast/profiler/start-but-dont-stop-profiling-expected.txt: Added.
  • fast/profiler/start-but-dont-stop-profiling.html:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt: Added.
  • fast/profiler/stop-profiling-after-setTimeout.html:
  • fast/profiler/stop-then-function-call-expected.txt: Added.
  • fast/profiler/stop-then-function-call.html:
  • fast/profiler/throw-exception-from-eval-expected.txt: Added.
  • fast/profiler/throw-exception-from-eval.html:
  • fast/profiler/two-execution-contexts-expected.txt: Added.
  • fast/profiler/two-execution-contexts.html:
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Added.
  • fast/profiler/user-defined-function-calls-built-in-functions.html:
  • fast/profiler/window-dot-eval-expected.txt: Added.
  • fast/profiler/window-dot-eval.html:
14:56 Changeset [37828] by mitz@apple.com

WebCore:

Reviewed by Sam Weinig with no hesitation.

Test: fast/text/bidi-embedding-pop-and-push-same.html

  • platform/text/BidiResolver.h: (WebCore::BidiResolver::embed): Changed to only add the embedding operation to a vector of pending operations.

(WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the
code that used to be in the PDF case of embed() here, except the part
that sets the context.

(WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the
code that used to be in the non-PDF case of embed() here, except the
part the sets the context.

(WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the
explicit embedding operations in the vector by creating an updated
context and determining the old and new embedding levels. If the levels
are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always
sets the context to the new one.

(WebCore::BidiResolver::createBidiRunsForLine): Added calls to
commitExplicitEmbedding() after calling embed() and after calling
increment().

  • rendering/bidi.cpp: (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because this function increments the resolver.

(WebCore::RenderBlock::skipLeadingWhitespace): Ditto.

LayoutTests:

Reviewed by Sam Weinig with no hesitation.

  • fast/text/bidi-embedding-pop-and-push-same.html: Added.
  • platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.checksum: Added.
  • platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.png: Added.
  • platform/mac/fast/text/bidi-embedding-pop-and-push-same-expected.txt: Added.
14:35 Changeset [37827] by mrowe@apple.com

Build fix.

14:24 Changeset [37826] by jmalonzo@webkit.org

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

Gtk build fix. Not reviewed.

Add DNSCurl and DNSSoup to the Gtk build

  • GNUmakefile.am:
  • platform/gtk/TemporaryLinkStubs.cpp:
  • platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp. (WebCore::prefetchDNS):
14:17 Changeset [37825] by eric@webkit.org

Reviewed by Sam Weinig.

Un-break the Darwin build.

  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  • platform/graphics/cg/ImageCG.cpp:
14:13 Changeset [37824] by darin@chromium.org

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

Reviewed by Eric Seidel.

Fix forward decls to be struct instead of class.
https://bugs.webkit.org/show_bug.cgi?id=21838

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.h:
13:36 Changeset [37823] by weinig@apple.com

2008-10-23 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Oliver Hunt.

  • platform/network/curl/ResourceRequest.h: A better implementation of CFURLRequest, rather than void*. This gives better compatibility with the WebKit.idl interface. (WebCore::ResourceRequest::cfURLRequest):
13:28 Changeset [37822] by kmccullough@apple.com

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21817
Bug 21817: Manual profiler tests should be made into layout tests

  • Here are the changes to the tests. The most significant part is the change to profiler-test-JS-resources.js where endTest will now notify the layout test controller if it was waiting and call the print function to iterate over all of the profiles and log their structure.
  • Most of these tests changed to include the layoutTestController, use endTest() or call the print function directly if there was some reason that they could not use endTest().
  • fast/profiler/resources/profiler-test-JS-resources.js: (endTest): Stop any waits and print the profile information. (printHeavyProfilesDataWithoutTime): Print all profile information in heavy view, without time. (printProfilesDataWithoutTime): Print all profile information in tree view, without time. (printProfileNodeWithoutTime): Print a profile node's informmation and all of it's children's information.
  • fast/profiler/anonymous-event-handler.html:
  • fast/profiler/anonymous-function-called-from-different-contexts.html:
  • fast/profiler/anonymous-function-calls-built-in-functions.html:
  • fast/profiler/anonymous-function-calls-eval.html:
  • fast/profiler/apply.html:
  • fast/profiler/built-in-function-calls-anonymous.html:
  • fast/profiler/built-in-function-calls-user-defined-function.html:
  • fast/profiler/call-nodelist-as-function.html:
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html:
  • fast/profiler/compare-multiple-profiles.html:
  • fast/profiler/constructor.html:
  • fast/profiler/dead-time.html:
  • fast/profiler/deep-recursion.html:
  • fast/profiler/document-dot-write.html:
  • fast/profiler/event-handler.html:
  • fast/profiler/execution-context-and-eval-on-same-line.html:
  • fast/profiler/heavy-view.html:
  • fast/profiler/inline-event-handler.html:
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html:
  • fast/profiler/multiple-and-different-scoped-function-calls.html:
  • fast/profiler/multiple-frames.html:
  • fast/profiler/nested-anonymous-functon.html:
  • fast/profiler/nested-start-and-stop-profiler.html:
  • fast/profiler/no-execution-context.html:
  • fast/profiler/one-execution-context.html:
  • fast/profiler/profile-calls-in-included-file.html:
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html:
  • fast/profiler/profiling-from-a-nested-location.html:
  • fast/profiler/simple-event-call.html:
  • fast/profiler/simple-no-level-change.html:
  • fast/profiler/start-and-stop-profiler-multiple-times.html:
  • fast/profiler/start-and-stop-profiling-in-the-same-function.html:
  • fast/profiler/start-but-dont-stop-profiling.html:
  • fast/profiler/stop-profiling-after-setTimeout.html:
  • fast/profiler/stop-then-function-call.html:
  • fast/profiler/throw-exception-from-eval.html:
  • fast/profiler/two-execution-contexts.html:
  • fast/profiler/user-defined-function-calls-built-in-functions.html:
  • fast/profiler/window-dot-eval.html:
12:59 Changeset [37821] by eric@webkit.org

2008-10-23 Mike Pinkerton <pinkerton@chromium.org>

Reviewed by Eric Seidel.

PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix
ifdefs to reflect that.

  • platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
  • platform/graphics/cg/ImageCG.cpp:
12:37 Changeset [37820] by pkasting@chromium.org

JavaScriptCore:

2008-10-23 Peter Kasting <pkasting@google.com>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=21833
Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).

  • wtf/Platform.h:

WebCore:

2008-10-23 Peter Kasting <pkasting@google.com>

Reviewed by Adam Roben.

https://bugs.webkit.org/show_bug.cgi?id=21833
Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER).

  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::setWindowVisible): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::close):
  • inspector/InspectorController.h:
  • page/Page.cpp: (WebCore::Page::Page):
12:24 Changeset [37819] by ddkilzer@apple.com

Bug 21831: Fix create_hash_table for Perl 5.10

<https://bugs.webkit.org/show_bug.cgi?id=21831>

Reviewed by Sam Weinig.

  • kjs/create_hash_table: Escaped square brackets so that Perl 5.10 doesn't try to use @nameEntries.
12:20 Changeset [37818] by darin@apple.com

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

  • try to get buildbot green again
  • platform/gtk/Skipped: Added fast/profiler.
  • platform/mac/Skipped: Fixed typo: fast/profiler, not fast/profile.
  • platform/qt/Skipped: Added fast/profiler.
  • platform/win/Skipped: Fixed typo: fast/profiler, not fast/profile.
11:43 Changeset [37817] by kmccullough@apple.com

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

Forgot to actually check these files in from last time :(

  • fast/profiler: Added.
  • fast/profiler/anonymous-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-event-handler.html.
  • fast/profiler/anonymous-function-called-from-different-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html.
  • fast/profiler/anonymous-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html.
  • fast/profiler/anonymous-function-calls-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html.
  • fast/profiler/apply.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-apply.html.
  • fast/profiler/built-in-function-calls-anonymous.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html.
  • fast/profiler/built-in-function-calls-user-defined-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html.
  • fast/profiler/call-nodelist-as-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-call-nodelist-as-function.html.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html.
  • fast/profiler/compare-multiple-profiles.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-compare-multiple-profiles.html.
  • fast/profiler/constructor.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-constructor.html.
  • fast/profiler/dead-time.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-dead-time.html.
  • fast/profiler/deep-recursion.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-deep-recursion.html.
  • fast/profiler/document-dot-write.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-document-dot-write.html.
  • fast/profiler/event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-event-handler.html.
  • fast/profiler/execution-context-and-eval-on-same-line.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html.
  • fast/profiler/heavy-view.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-heavy-view.html.
  • fast/profiler/inline-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-inline-event-handler.html.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html.
  • fast/profiler/multiple-and-different-scoped-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html.
  • fast/profiler/multiple-frames.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-frames.html.
  • fast/profiler/multiple-windows.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-windows.html.
  • fast/profiler/nested-anonymous-functon.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-anonymous-functon.html.
  • fast/profiler/nested-start-and-stop-profiler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html.
  • fast/profiler/no-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-no-execution-context.html.
  • fast/profiler/one-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-one-execution-context.html.
  • fast/profiler/profile-calls-in-included-file.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profile-calls-in-included-file.html.
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html.
  • fast/profiler/profiling-from-a-nested-location.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html.
  • fast/profiler/resources: Added.
  • fast/profiler/resources/other-frame.html: Copied from ../WebCore/manual-tests/inspector/resources/other-frame.html.
  • fast/profiler/resources/other-window.html: Copied from ../WebCore/manual-tests/inspector/resources/other-window.html.
  • fast/profiler/resources/profiler-test-JS-resources.js: Copied from ../WebCore/manual-tests/inspector/resources/profiler-test-JS-resources.js.
  • fast/profiler/simple-event-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-event-call.html.
  • fast/profiler/simple-no-level-change.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-no-level-change.html.
  • fast/profiler/start-and-stop-profiler-multiple-times.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html.
  • fast/profiler/start-and-stop-profiling-in-the-same-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html.
  • fast/profiler/start-but-dont-stop-profiling.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html.
  • fast/profiler/stop-profiling-after-setTimeout.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html.
  • fast/profiler/stop-then-function-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-then-function-call.html.
  • fast/profiler/throw-exception-from-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-throw-exception-from-eval.html.
  • fast/profiler/two-execution-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-two-execution-contexts.html.
  • fast/profiler/user-defined-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html.
  • fast/profiler/window-dot-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-window-dot-eval.html.
11:33 Changeset [37816] by kmccullough@apple.com

WebCore:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21817
Bug 21817: Manual profiler tests should be made into layout tests

-Moving the tests before diffing so that it's clear what changed.

  • manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed.
  • manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed.
  • manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed.
  • manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed.
  • manual-tests/inspector/profiler-test-apply.html: Removed.
  • manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed.
  • manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed.
  • manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed.
  • manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
  • manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed.
  • manual-tests/inspector/profiler-test-constructor.html: Removed.
  • manual-tests/inspector/profiler-test-dead-time.html: Removed.
  • manual-tests/inspector/profiler-test-deep-recursion.html: Removed.
  • manual-tests/inspector/profiler-test-document-dot-write.html: Removed.
  • manual-tests/inspector/profiler-test-event-handler.html: Removed.
  • manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed.
  • manual-tests/inspector/profiler-test-heavy-view.html: Removed.
  • manual-tests/inspector/profiler-test-inline-event-handler.html: Removed.
  • manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed.
  • manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed.
  • manual-tests/inspector/profiler-test-multiple-frames.html: Removed.
  • manual-tests/inspector/profiler-test-multiple-windows.html: Removed.
  • manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed.
  • manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed.
  • manual-tests/inspector/profiler-test-no-execution-context.html: Removed.
  • manual-tests/inspector/profiler-test-one-execution-context.html: Removed.
  • manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed.
  • manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
  • manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed.
  • manual-tests/inspector/profiler-test-simple-event-call.html: Removed.
  • manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed.
  • manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed.
  • manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed.
  • manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed.
  • manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed.
  • manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed.
  • manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed.
  • manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed.
  • manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed.
  • manual-tests/inspector/profiler-test-window-dot-eval.html: Removed.
  • manual-tests/inspector/resources/other-frame.html: Removed.
  • manual-tests/inspector/resources/other-window.html: Removed.
  • manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed.

LayoutTests:

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

Reviewed by Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=21817
Bug 21817: Manual profiler tests should be made into layout tests

-Moving the tests before diffing so that it's clear what changed.

  • platform/mac/Skipped: Skipping until the new files are in place.
  • platform/win/Skipped:
  • fast/profiler: Added.
  • fast/profiler/anonymous-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-event-handler.html.
  • fast/profiler/anonymous-function-called-from-different-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html.
  • fast/profiler/anonymous-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html.
  • fast/profiler/anonymous-function-calls-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html.
  • fast/profiler/apply.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-apply.html.
  • fast/profiler/built-in-function-calls-anonymous.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html.
  • fast/profiler/built-in-function-calls-user-defined-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html.
  • fast/profiler/call-nodelist-as-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-call-nodelist-as-function.html.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html.
  • fast/profiler/compare-multiple-profiles.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-compare-multiple-profiles.html.
  • fast/profiler/constructor.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-constructor.html.
  • fast/profiler/dead-time.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-dead-time.html.
  • fast/profiler/deep-recursion.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-deep-recursion.html.
  • fast/profiler/document-dot-write.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-document-dot-write.html.
  • fast/profiler/event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-event-handler.html.
  • fast/profiler/execution-context-and-eval-on-same-line.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html.
  • fast/profiler/heavy-view.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-heavy-view.html.
  • fast/profiler/inline-event-handler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-inline-event-handler.html.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html.
  • fast/profiler/multiple-and-different-scoped-function-calls.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html.
  • fast/profiler/multiple-frames.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-frames.html.
  • fast/profiler/multiple-windows.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-multiple-windows.html.
  • fast/profiler/nested-anonymous-functon.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-anonymous-functon.html.
  • fast/profiler/nested-start-and-stop-profiler.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html.
  • fast/profiler/no-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-no-execution-context.html.
  • fast/profiler/one-execution-context.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-one-execution-context.html.
  • fast/profiler/profile-calls-in-included-file.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profile-calls-in-included-file.html.
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html.
  • fast/profiler/profiling-from-a-nested-location.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html.
  • fast/profiler/resources: Added.
  • fast/profiler/resources/other-frame.html: Copied from ../WebCore/manual-tests/inspector/resources/other-frame.html.
  • fast/profiler/resources/other-window.html: Copied from ../WebCore/manual-tests/inspector/resources/other-window.html.
  • fast/profiler/resources/profiler-test-JS-resources.js: Copied from ../WebCore/manual-tests/inspector/resources/profiler-test-JS-resources.js.
  • fast/profiler/simple-event-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-event-call.html.
  • fast/profiler/simple-no-level-change.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-simple-no-level-change.html.
  • fast/profiler/start-and-stop-profiler-multiple-times.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html.
  • fast/profiler/start-and-stop-profiling-in-the-same-function.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html.
  • fast/profiler/start-but-dont-stop-profiling.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html.
  • fast/profiler/stop-profiling-after-setTimeout.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html.
  • fast/profiler/stop-then-function-call.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-stop-then-function-call.html.
  • fast/profiler/throw-exception-from-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-throw-exception-from-eval.html.
  • fast/profiler/two-execution-contexts.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-two-execution-contexts.html.
  • fast/profiler/user-defined-function-calls-built-in-functions.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html.
  • fast/profiler/window-dot-eval.html: Copied from ../WebCore/manual-tests/inspector/profiler-test-window-dot-eval.html.
10:52 Changeset [37815] by andersca@apple.com

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

Reviewed by John Sullivan.

Fix <rdar://problem/6306513> by adding a workaround for <rdar://problem/6304600>.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceTiger.a:
10:07 Changeset [37814] by abarth@webkit.org

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

Reviewed by Sam Weinig.

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

Add accessor for SecurityOrigin::m_domainWasSetInDOM.

  • page/SecurityOrigin.h: (WebCore::SecurityOrigin::domainWasSetInDOM):
09:49 Changeset [37813] by aroben@apple.com

Fix Bug 21401: Comments field on "Review Patch" page should be initially filled with quoted patch

<https://bugs.webkit.org/show_bug.cgi?id=21401>

Reviewed by Dave Hyatt.

  • attachment.cgi: (edit): Retrieve the attachment data from the database instead of just its length. When the attachment is a patch, create a quotedpatch template variable that contains the patch data with each line prepended with "> ".
  • template/en/custom/attachment/reviewform.html.tmpl:
    • Changed the comments field to have a monospace font
    • Added an "Enter comments below:" caption above the comments field to make it clearer that this is where comments should go, now that the comments field is not initially empty
    • Fill the comments field with the quoted patch
08:55 Changeset [37812] by darin@apple.com

JavaScriptCore:

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

1) slowness under MSVC, since it doesn't handle a

class with a single pointer in it as efficiently
as a pointer

2) uninitialized pointers in Vector

  • API/APICast.h: (toRef):
  • VM/CTI.cpp: (JSC::CTI::asInteger):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::addConstant):
  • VM/CodeGenerator.h: (JSC::CodeGenerator::JSValueHashTraits::constructDeletedValue): (JSC::CodeGenerator::JSValueHashTraits::isDeletedValue):
  • VM/Machine.cpp: (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_vm_throw): Removed calls to payload functions.
  • VM/Register.h: (JSC::Register::Register): Removed overload for JSCell and call to payload function.
  • kjs/JSCell.h: Changed JSCell to derive from JSValue again. Removed JSValuePtr constructor. (JSC::asCell): Changed cast from reinterpret_cast to static_cast.
  • kjs/JSImmediate.h: Removed JSValuePtr class. Added typedef back.
  • kjs/JSValue.h: (JSC::JSValue::JSValue): Added empty protected inline constructor back. (JSC::JSValue::~JSValue): Same for destructor. Removed == and != operator for JSValuePtr.
  • kjs/PropertySlot.h: (JSC::PropertySlot::PropertySlot): Chnaged argument to const JSValue* and added a const_cast.
  • kjs/protect.h: Removed overloads and specialization for JSValuePtr.

JavaScriptGlue:

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

  • JSValueWrapper.cpp: (JSValueWrapper::GetValue): Added missing call to .get().
  • JSValueWrapper.h: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.

WebCore:

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

  • bindings/js/ScheduledAction.h:
  • inspector/InspectorController.cpp: ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>.
06:27 Changeset [37811] by hausmann@webkit.org

2008-10-22 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

emit scrollRequested unconditionally when scrolling.

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

06:26 Changeset [37810] by hausmann@webkit.org

Fix the ChangeLog after in r37761 I changed the wrong file accidentially.

06:18 Changeset [37809] by hausmann@webkit.org

2008-10-23 Simon Hausmann <hausmann@webkit.org>

Reviewed by Tor Arne.

Fix handling of mouse events when embedding QWebView into the
QGraphicsView.

QWebPage accepts or ignores events to indicate whether the web page
handled the event. However for QWebView to behave like a good widget
it should always accept the mouse events to indicate that it handled
them and that they should not be subject to event propagation.

The graphics view relies on acceptance of the initial mouse click to
make the embedded widget the focus item.

05:27 Changeset [37808] by hausmann@webkit.org

2008-10-23 Simon Hausmann <hausmann@webkit.org>

Fix the Qt build.

05:23 Changeset [37807] by ap@webkit.org

Reviewed by Maciej Stachowiak.

Fix fast/events/message-port.html to not be timing-dependent (it was failing on some bots).

  • fast/events/message-port.html:
  • fast/events/message-port-expected.txt:
03:15 Changeset [37806] by ap@webkit.org

Reviewed by Maciej Stachowiak.

https://bugs.webkit.org/show_bug.cgi?id=21825
JSDOMBinding should not blindly cast the global object to JSDOMWindow

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts.
  • bindings/js/JSDOMBinding.cpp: (WebCore::getCachedDOMStructure): (WebCore::cacheDOMStructure): (WebCore::getCachedDOMConstructor): (WebCore::cacheDOMConstructor): Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects.
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::JSDOMWindowBase):
  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::mark): Moved constructor and structure tracking to JSDOMGlobalObject.
02:43 Changeset [37805] by abarth@webkit.org

WebCore:

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

Reviewed by Sam Weinig.

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

Update postMessage to send origin = "null" for non-serializable
origins to match latest spec. Merge SecurityOrigin::toString and
SecurityOrigin::toHTTPOrigin because they are now the same.

Test: http/tests/security/postMessage/data-url-sends-null-origin.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::loadURL): (WebCore::FrameLoader::addHTTPOriginIfNeeded): (WebCore::FrameLoader::loadItem):
  • loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests):
  • page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::toString):
  • page/SecurityOrigin.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): (WebCore::XMLHttpRequest::didReceiveResponsePreflight):

LayoutTests:

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

Reviewed by Sam Weinig.

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

Add test coverage for postMessaging from a data URL.

  • http/tests/security/postMessage/data-url-sends-null-origin-expected.txt: Added.
  • http/tests/security/postMessage/data-url-sends-null-origin.html: Added.

10/22/08:

20:36 Changeset [37804] by oliver@apple.com

Really "fix" CTI mode on windows 2k3.

Reviewed my Maciej Stachowiak

This adds new methods fastMallocExecutable and fastFreeExecutable
to wrap allocation for cti code. This still just makes fastMalloc
return executable memory all the time, which will be fixed in a
later patch.

However in windows debug builds all executable allocations will be
allocated on separate executable pages, which should resolve any
remaining 2k3 issues. Conveniently the 2k3 bot will now also fail
if there are any fastFree vs. fastFreeExecutable errors.

19:53 Changeset [37803] by ddkilzer@apple.com

Bug 21781: WebCore::Settings should have a maximum decoded image size setting

<https://bugs.webkit.org/show_bug.cgi?id=21781>

Reviewed by Antti.

No tests since there is no change in behavior.

  • loader/CachedImage.cpp: (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns WebCore::Settings::maximumDecodedImageSize() or 0 on error. (WebCore::CachedImage::data): Flag an error if the image being loaded is too big.
  • loader/CachedImage.h: (WebCore::CachedImage::maximumDecodedImageSize): Added declaration.
  • page/Settings.cpp: (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize to the maximum value of size_t.
  • page/Settings.h: (WebCore::Settings::setMaximumDecodedImageSize): Added method. (WebCore::Settings::maximumDecodedImageSize): Ditto.
19:31 Changeset [37802] by cwzwarich@webkit.org

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

Reviewed by Kevin McCullough.

Check in changed test results for r37792.

  • fast/dom/Window/window-properties-expected.txt:
18:43 Changeset [37801] by darin@apple.com

2008-10-22 Mike Pinkerton <pinkerton@chromium.org>

Reviewed by Dan Bernstein.
Landed and tweaked a bit by Darin Adler.

Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits
its use for PLATFORM(CHROMIUM) in the future.

  • platform/graphics/SimpleFontData.h:
17:49 Changeset [37800] by dsmith@webkit.org

WebCore:

2008-10-22 David Smith <catfish.man@gmail.com>

Reviewed by andersca.


https://bugs.webkit.org/show_bug.cgi?id=19974
getElementsByClassName not live enough

Test: fast/dom/getElementsByClassName/015.html

  • dom/StyledElement.cpp: (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent()

LayoutTests:

2008-10-22 David Smith <catfish.man@gmail.com>

Reviewed by andersca.


https://bugs.webkit.org/show_bug.cgi?id=19974
getElementsByClassName not live enough

  • fast/dom/getElementsByClassName/015-expected.txt: Added.
  • fast/dom/getElementsByClassName/015.html: Added.
17:11 Changeset [37799] by darin@apple.com

JavaScriptCore:

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

Reviewed by Sam Weinig.

A bit over 3% faster on V8 tests.

  • JavascriptCore.exp: Export leak-related functions..
  • API/JSCallbackConstructor.h: (JSC::JSCallbackConstructor::createStructureID): Set HasStandardGetOwnPropertySlot since this class doesn't override getPropertySlot.
  • API/JSCallbackFunction.h: (JSC::JSCallbackFunction::createStructureID): Ditto.
  • VM/ExceptionHelpers.cpp: (JSC::InterruptedExecutionError::InterruptedExecutionError): Use a structure that's created just for this class instead of trying to share a single "null prototype" structure.
  • VM/Machine.cpp: (JSC::Machine::cti_op_create_arguments_no_params): Rename Arguments::ArgumentsNoParameters to Arguments::NoParameters.


  • kjs/Arguments.h: Rename the enum from Arguments::ArgumentsParameters to Arguments::NoParametersType and the value from Arguments::ArgumentsNoParameters to Arguments::NoParameters. (JSC::Arguments::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. (JSC::Arguments::Arguments): Added an assertion that there are no parameters.
  • kjs/DatePrototype.h: (JSC::DatePrototype::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/FunctionPrototype.h: (JSC::FunctionPrototype::createStructureID): Set HasStandardGetOwnPropertySlot since this class doesn't override getPropertySlot.
  • kjs/InternalFunction.h: (JSC::InternalFunction::createStructureID): Ditto.
  • kjs/JSArray.h: (JSC::JSArray::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/JSCell.h: Added declaration of fastGetOwnPropertySlot; a non-virtual version that uses the structure bit to decide whether to call the virtual version.
  • kjs/JSFunction.h: (JSC::JSFunction::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): Initialize new structures; removed nullProtoStructureID.
  • kjs/JSGlobalData.h: Added new structures. Removed nullProtoStructureID.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/JSNotAnObject.h: (JSC::JSNotAnObjectErrorStub::JSNotAnObjectErrorStub): Use a structure that's created just for this class instead of trying to share a single "null prototype" structure. (JSC::JSNotAnObjectErrorStub::isNotAnObjectErrorStub): Marked this function virtual for clarity and made it private since no one should call it if they already have a pointer to this specific type. (JSC::JSNotAnObject::JSNotAnObject): Use a structure that's created just for this class instead of trying to share a single "null prototype" structure. (JSC::JSNotAnObject::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/JSObject.h: (JSC::JSObject::createStructureID): Added HasStandardGetOwnPropertySlot. (JSC::JSObject::inlineGetOwnPropertySlot): Added. Used so we can share code between getOwnPropertySlot and fastGetOwnPropertySlot. (JSC::JSObject::getOwnPropertySlot): Moved so that functions are above the functions that call them. Moved the guts of this function into inlineGetOwnPropertySlot. (JSC::JSCell::fastGetOwnPropertySlot): Added. Checks the HasStandardGetOwnPropertySlot bit and if it's set, calls inlineGetOwnPropertySlot, otherwise calls getOwnPropertySlot. (JSC::JSObject::getPropertySlot): Changed to call fastGetOwnPropertySlot. (JSC::JSValue::get): Changed to call fastGetOwnPropertySlot.
  • kjs/JSWrapperObject.h: Made constructor protected to emphasize that this class is only a base class and never instantiated.
  • kjs/MathObject.h: (JSC::MathObject::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • kjs/NumberConstructor.h: (JSC::NumberConstructor::createStructureID): Ditto.
  • kjs/RegExpConstructor.h: (JSC::RegExpConstructor::createStructureID): Ditto.
  • kjs/RegExpObject.h: (JSC::RegExpObject::createStructureID): Ditto.
  • kjs/StringObject.h: (JSC::StringObject::createStructureID): Ditto.
  • kjs/TypeInfo.h: Added HasStandardGetOwnPropertySlot flag and hasStandardGetOwnPropertySlot accessor function.

JavaScriptGlue:

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

Reviewed by Sam Weinig.

  • JSRun.cpp: (JSGlueGlobalObject::JSGlueGlobalObject): Moved constructor here. Set up flags in its new location in global object data, and set up a structure for UserObjectImp too. (JSRun::JSRun): Added code to give the JSGlueGlobalObject its own unique structure, rather than using the default one from JSGlobalObject.
  • JSRun.h: Made JSGlueGlobalObject take a structure ID. Also moved the data into a separate data object. And added userObjectStructure, a Structure to be used by UserObjectImp.
  • JSUtils.cpp: Removed unused sharedGlobalData global. (JSObjectKJSValue): Pass Structure in when creating UserObjectImp. (unprotectGlobalObject): Use JSGlueGLobalObject type specifically. (initializeGlobalObjectKey): Removed code to set up unused sharedGlobalData. (getThreadGlobalObject): Added. Shared by JSObjectKJSValue and getThreadGlobalExecState. Also now passes in a structure ID when creating the global object. (getThreadGlobalExecState): Changed to call getThreadGlobalObject.
  • UserObjectImp.cpp: (UserObjectImp::UserObjectImp): Changed to take a structure.
  • UserObjectImp.h: (UserObjectImp::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.

WebCore:

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

Reviewed by Sam Weinig.

  • bindings/js/JSDOMWindowShell.h: (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • bindings/js/JSInspectorCallbackWrapper.cpp: (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure for this class rather than sharing nullProtoStructureID, which no longer exists.
  • bindings/js/JSNamedNodesCollection.h: (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • bindings/js/JSRGBColor.h: (WebCore::JSRGBColor::createStructureID): Ditto.
  • bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers, constructors, and prototypes in any case where they override getOwnPropertySlot, without HasStandardGetOwnPropertySlot.
  • bridge/objc/objc_runtime.h: (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot.
  • bridge/qt/qt_runtime.h: (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto.
  • bridge/runtime_array.h: (JSC::RuntimeArray::createStructureID): Ditto.
  • bridge/runtime_method.h: (JSC::RuntimeMethod::createStructureID): Ditto.
  • bridge/runtime_object.h: (JSC::RuntimeObjectImp::createStructureID): Ditto.
16:34 Changeset [37798] by aroben@apple.com

Bring Windows Cairo Port's font handling in line with CG.
http://bugs.webkit.org/show_bug.cgi?id=21812.

Reviewed by Adam Roben.

  • platform/graphics/win/FontCacheWin.cpp: (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections.
16:33 Changeset [37797] by aroben@apple.com

WebCore:

2008-10-22 Brent Fulgham <bfulgham@gmail.com>

Correct build regressions in Cairo port for Windows.
http://bugs.webkit.org/show_bug.cgi?id=21724

Reviewed by Adam Roben.

  • WebCore.vcproj/WebCore.vcproj: Fixed include paths and post-build event for the Debug_Cairo and Release_Cairo configurations.
  • platform/graphics/win/GraphicsContextCairoWin.cpp: (WebCore::GraphicsContext::GraphicsContext): Update to newer constructor signature.
  • platform/network/curl/DNSCurl.cpp: Added. (WebCore::prefetchDNS):
  • platform/network/curl/ResourceRequest.h:
  • platform/win/ScrollbarThemeWin.cpp: (WebCore::ScrollbarTheme::nativeTheme):

WebKit/win:

2008-10-22 Brent Fulgham <bfulgham@gmail.com>

Correct build regressions in Cairo port for Windows.
http://bugs.webkit.org/show_bug.cgi?id=21724

Reviewed by Adam Roben.

  • WebView.cpp: (WebView::notifyPreferencesChanged): Don't try to call setShouldPaintNativeControls when SafariTheme support is disabled, as that function doesn't exist in that case.
16:31 Changeset [37796] by beidson@apple.com

LayoutTests:
2008-10-22 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben

<rdar://6261773> - autocomplete="off" doesn't work on Windows

Remove a skipped test that can now pass with proper DRT support


  • platform/win/Skipped: Remove security/autocomplete-cleared-on-back.html

WebKitTools:
2008-10-22 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben


<rdar://6261773> - autocomplete="off" doesn't work on Windows

Implement LayoutTestController::elementDoesAutoCompleteForElementWithId() on Windows


  • DumpRenderTree/win/LayoutTestControllerWin.cpp:


WebKit/win:
2008-10-22 Brady Eidson <beidson@apple.com>

Reviewed by Adam Roben


Move elementDoesAutoComplete() to IWebFramePrivate so it is exposed for DRT to use

  • Interfaces/IWebFramePrivate.idl:


  • WebFrame.cpp: (WebFrame::elementDoesAutoComplete):
  • WebFrame.h:


  • WebHTMLRepresentation.cpp: (WebHTMLRepresentation::elementDoesAutoComplete):
16:19 Changeset [37795] by mrowe@apple.com

Merge r37793.

16:12 Changeset [37794] by timothy@apple.com

Add a license to ElementsTreeOutline.js that was left off when it was split out from ElementsPanel.js.

16:06 Changeset [37793] by beidson@apple.com

Reviewed by Adam Roben

<rdar://6261773> - autocomplete="off" doesn't work on Windows

Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a
statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false"
instead of the much more correct "true."


In the past we have worked around this by declaring the bitfield member as an unsigned instead
of the enum type.

For more discussion, see http://trac.webkit.org/changeset/25329

  • html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh*
16:05 Changeset [37792] by kmccullough@apple.com

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

Reviewed by Oliver Hunt and Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=19225
Bug 19225: JSProfiler: Create automated profiler tests

  • This change exports profiles on the console object so that they can be iterated over via JavaScript, and thus can be used in automated tests.
  • bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array that JS can use. (WebCore::JSConsole::profiles):
  • inspector/InspectorController.h: Use the new typedef. (WebCore::InspectorController::profiles):
  • page/Console.cpp: Keep our own array of profile objects. (WebCore::Console::profileEnd):
  • page/Console.h: Ditto. (WebCore::Console::profiles):
  • page/Console.idl: Expose the profiles to JS.
16:04 Changeset [37791] by kmccullough@apple.com

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

Reviewed by Oliver Hunt and Tim Hatcher.

https://bugs.webkit.org/show_bug.cgi?id=19225
Bug 19225: JSProfiler: Create automated profiler tests

  • This change exports profiles on the console object so that they can be iterated over via JavaScript, and thus can be used in automated tests.
  • bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array that JS can use. (WebCore::JSConsole::profiles):
  • inspector/InspectorController.h: Use the new typedef. (WebCore::InspectorController::profiles):
  • page/Console.cpp: Keep our own array of profile objects. (WebCore::Console::profileEnd):
  • page/Console.h: Ditto. (WebCore::Console::profiles):
  • page/Console.idl: Expose the profiles to JS.
14:51 Changeset [37790] by hyatt@apple.com

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

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

Convert buttons over to use the new Theme API on OS X.

Reviewed by Adam Roben

  • platform/LengthBox.h: (WebCore::LengthBox::LengthBox):
  • platform/Theme.cpp: (WebCore::Theme::controlBorder): (WebCore::Theme::controlPadding):
  • platform/Theme.h: (WebCore::Theme::controlFont): (WebCore::Theme::controlSize): (WebCore::Theme::minControlSize): (WebCore::Theme::controlRequiresPreWhiteSpace):
  • platform/mac/ThemeMac.h: (WebCore::ThemeMac::controlRequiresPreWhiteSpace):
  • platform/mac/ThemeMac.mm: (WebCore::checkboxSize): (WebCore::radioSize): (WebCore::buttonSizes): (WebCore::buttonMargins): (WebCore::button): (WebCore::paintButton): (WebCore::ThemeMac::controlFont): (WebCore::ThemeMac::controlSize): (WebCore::ThemeMac::minControlSize): (WebCore::ThemeMac::controlBorder): (WebCore::ThemeMac::controlPadding): (WebCore::ThemeMac::inflateControlPaintRect): (WebCore::ThemeMac::paint):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::controlStatesForRenderer): (WebCore::RenderTheme::isDefault): (WebCore::RenderTheme::adjustRadioStyle):
  • rendering/RenderTheme.h: (WebCore::RenderTheme::setRadioSize):
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect): (WebCore::menuListButtonSizes): (WebCore::RenderThemeMac::adjustMenuListStyle):
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::paddingBox): (WebCore::InheritedFlags::setPaddingBox):
14:06 Changeset [37789] by cwzwarich@webkit.org

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

Reviewed by Geoff Garen.

Bug 21803: Fuse op_jfalse with op_eq_null and op_neq_null
<https://bugs.webkit.org/show_bug.cgi?id=21803>

Fuse op_jfalse with op_eq_null and op_neq_null to make the new opcodes
op_jeq_null and op_jneq_null.

This is a 2.6% speedup on the V8 Raytrace benchmark, and strangely also
a 4.7% speedup on the V8 Arguments benchmark, even though it uses
neither of the two new opcodes.

  • VM/CTI.cpp: (JSC::CTI::privateCompileMainPass):
  • VM/CodeBlock.cpp: (JSC::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitJumpIfTrue): (JSC::CodeGenerator::emitJumpIfFalse):
  • VM/Machine.cpp: (JSC::Machine::privateExecute):
  • VM/Opcode.h:
12:53 Changeset [37788] by simon.fraser@apple.com

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

Reviewed by Dave Hyatt

Moved tests from css3 to animations/transforms directories.

  • animations/change-keyframes-expected.txt: Renamed from LayoutTests/css3/change-keyframes-expected.txt.
  • animations/change-keyframes.html: Renamed from LayoutTests/css3/change-keyframes.html.
  • animations/keyframes-rule-expected.txt: Renamed from LayoutTests/css3/keyframes-rule-expected.txt.
  • animations/keyframes-rule.html: Renamed from LayoutTests/css3/keyframes-rule.html.
  • transforms/transform-value-types-expected.txt: Renamed from LayoutTests/css3/transform-value-types-expected.txt.
  • transforms/transform-value-types.html: Renamed from LayoutTests/css3/transform-value-types.html.
12:53 Changeset [37787] by hausmann@webkit.org

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

Reviewed by Simon Hausmann.

For public API, use the term boundingRect instead of boundingBox.

  • Api/qwebframe.cpp: (QWebHitTestResultPrivate::QWebHitTestResultPrivate): (QWebHitTestResult::boundingRect):
  • Api/qwebframe.h:
  • Api/qwebframe_p.h:
12:35 Changeset [37786] by simon.fraser@apple.com

2008-10-22 Chris Marrin <cmarrin@apple.com>

Reviewed by Dave Hyatt

Make sure that the AtomicString that identifies a set of animation keyframes
stays live by keeping a copy in the WebKitCSSKeyframesRule.

Also call styleSheetChanged() when the keyframes name changes, but
add an internal method that doesn't call styleSheetChanged() for use
during normal stylesheet parsing.

Test: animations/change-keyframes-name.html

  • css/CSSGrammar.y:
  • css/WebKitCSSKeyframesRule.cpp: (WebCore::WebKitCSSKeyframesRule::setName):
  • css/WebKitCSSKeyframesRule.h: (WebCore::WebKitCSSKeyframesRule::setNameInternal):
11:32 Changeset [37785] by darin@apple.com

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

  • Scripts/do-webcore-rename: More renaming plans.
10:43 Changeset [37784] by ap@webkit.org

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=21791
WebCore JS bindings should be able to use non-static hash tables for properties

Add a map for HashTables to WebCore JS client data.

This makes property access noticeably slower, so it is an opt-in. For classes that need to be
supported in workers in forseeable future this is not critical.

  • bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::get): (WebCore::DOMObjectHashTableMap::mapFor): (WebCore::getHashTableForGlobalData): (WebCore::DOMObjectWrapperMap::mapFor): WebCore client data is now a class that contains both a DOM wrapper map and a property hash table one.
  • bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map.
  • bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use JSDOMBinding map to access its property hash tables.
  • dom/MessageChannel.idl:
  • dom/MessagePort.idl: Added NoStaticTables attribute.
09:47 Changeset [37783] by darin@chromium.org

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

Reviewed by Eric Seidel.

Should not define PLATFORM(WIN,MAC,GTK) when PLATFORM(CHROMIUM) is defined
https://bugs.webkit.org/show_bug.cgi?id=21757

PLATFORM(CHROMIUM) implies HAVE_ACCESSIBILITY

  • wtf/Platform.h:
09:16 Changeset [37782] by alp@webkit.org

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

Build fix for older GTK+ versions where GTK_TYPE_TARGET_LIST isn't
defined.

  • webkit/webkitwebview.cpp:
07:24 Changeset [37781] by cwzwarich@webkit.org

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

Reviewed by Alexey Proskuryakov.

Correct opcode names in documentation.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):
06:55 Changeset [37780] by alp@webkit.org

2008-10-22 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Timothy Hatcher.

Build failure because of missing include
https://bugs.webkit.org/show_bug.cgi?id=21765

Build failure fix for WebKit/GTK+; added missing
include (GOwnPtr.h)

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
06:51 Changeset [37779] by alp@webkit.org

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

Reviewed by Adam Roben.

Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get()
doesn't initialize values if the requested property doesn't exist, so
initialize the values to the documented defaults before calling it
where necessary. Additionally, avoid critical warnings by not calling
gtk_widget_style_get() when we know the property isn't available.

Note that this is an imported source file which doesn't follow the
WebKit coding style.

Avoid critical warnings on older GTK+ versions (2.8) by not checking
for GTK+ setting properties when we know they don't exist.

03:38 Changeset [37778] by alp@webkit.org

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

Fix build for Cairo 1.2.

01:22 Changeset [37777] by mrowe@apple.com

Versioning.

00:56 Changeset [37776] by darin@chromium.org

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

Reviewed by Eric Seidel.

A little more PLATFORM(CHROMIUM) in WebCore
https://bugs.webkit.org/show_bug.cgi?id=21758

  • page/AccessibilityObject.h:
  • platform/graphics/Icon.h:
00:54 Changeset [37775] by abarth@webkit.org

2008-10-22 Jungshik Shin <jshin@chromium.org>

Reviewed by Alexey Proskuryakov.
Landed by Adam Barth.

Replace x-mac-cyrillic by windows-1256.

  • http/tests/misc/frame-default-enc-same-domain-expected.txt:
  • http/tests/misc/frame-default-enc-same-domain.html:
00:15 Changeset [37774] by mrowe@apple.com

Versioning.

00:14 Changeset [37773] by mrowe@apple.com

New tag.

10/21/08:

23:49 Changeset [37772] by oliver@apple.com

Attempt to make the win2k3 bot be more useful for testing

RS=Maciej Stachowiak.

Force FastMalloc to make all allocated pages executable in
a vague hope this will allow the Win2k3 bot to be able to
run tests.

Filed Bug 21783: Need more granular control over allocation of executable memory
to cover a more granular version of this patch.

23:07 Changeset [37771] by ap@webkit.org

Reviewed by Darin Adler.

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

https://bugs.webkit.org/show_bug.cgi?id=21769
MessagePort should be GC protected if there are messages to be delivered

  • dom/MessagePort.h: Removed pending activity count. Now we track if a close event is pending, and check if the queue is non-empty. (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug fix (below).
  • dom/MessagePort.cpp: (WebCore::CloseMessagePortTimer::fired): (WebCore::MessagePort::MessagePort): (WebCore::MessagePort::queueCloseEvent): (WebCore::MessagePort::dispatchCloseEvent): (WebCore::MessagePort::hasPendingActivity): Track message and close event activity separately.
  • bindings/js/JSDOMBinding.cpp: (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was causing same-heap ports to never be deleted.
  • wtf/MessageQueue.h: (WTF::::isEmpty): Added. Also added a warning for methods that return a snapshot of queue state, thus likely to cause race conditions.
20:10 Changeset [37770] by mitz@apple.com

Reviewed by Sam Weinig.

  • remove unreachable code
  • platform/text/BidiResolver.h: (WebCore::::embed):
17:41 Changeset [37769] by sfalken@apple.com

2008-10-21 Steve Falkenburg <sfalken@apple.com>

Exclude strings marked with UNLOCALIZED_STRING or UNLOCALIZED_LPCTSTR.

  • Scripts/extract-localizable-strings:
17:22 Changeset [37768] by bdakin@apple.com

2008-10-21 Beth Dakin <bdakin@apple.com>

Reviewed by Darin Adler.

Fix for https://bugs.webkit.org/show_bug.cgi?id=20352
REGRESSION(r31030-31055): Choosing "Print window" from frame set
prints blank page
and corresponding: <rdar://problem/6142398>

viewHeight() and viewWidth() only return valuable information if we
are not printing. Everywhere else in the code, we make sure we are
not printing before we call these functions. Adding a check for
printing here fixes this bug, and framesets print again.

  • rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout):
17:16 Changeset [37767] by mrowe@apple.com

Merge r37489.

17:16 Changeset [37766] by mrowe@apple.com

Merge r37704.

17:16 Changeset [37765] by mrowe@apple.com

Merge r31577.

15:33 Changeset [37764] by hausmann@webkit.org

2008-06-03 Siraj Razick <siraj.razick@collabora.co.uk>

Reviewed by Simon Hausmann.

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

Expose boundingBox value in QWebHitTestResult

Add API function QRect QWebHitResult::boundingBox() const

API docs by Ariya.

14:29 Changeset [37763] by darin@apple.com

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

Reviewed by Maciej Stachowiak.

  • convert post-increment to pre-increment in a couple more places for speed

Speeds up V8 benchmarks a little on most computers. (But, strangely, slows
them down a little on my computer.)

  • kjs/nodes.cpp: (JSC::statementListEmitCode): Removed default argument, since we always want to specify this explicitly. (JSC::ForNode::emitCode): Tolerate ignoredResult() as the dst -- means the same thing as 0. (JSC::ReturnNode::emitCode): Ditto. (JSC::ThrowNode::emitCode): Ditto. (JSC::FunctionBodyNode::emitCode): Pass ignoredResult() so that we know we don't have to compute the result of function statements.
14:09 Changeset [37762] by pkasting@chromium.org

2008-10-21 Peter Kasting <pkasting@google.com>

Reviewed by Maciej Stachowiak.

Fix an include of a non-public header to use "" instead of <>.

  • API/JSProfilerPrivate.cpp:
10:27 Changeset [37761] by hausmann@webkit.org

2008-10-21 Yael <yael.aharon@nokia.com>

Reviewed by Simon Hausmann.

emit repaintRequested unconditionally when repaint is requested.

05:57 Changeset [37760] by hausmann@webkit.org

2008-10-21 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Simon.

Pixmap in canvas tag was not getting initialized.

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

10/20/08:

23:08 Changeset [37759] by weinig@apple.com

JavaScriptCore:

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
REGRESSION: 12 JSC tests fail

The JSGlobalObject was mutating the shared nullProtoStructureID when
used in jsc. Instead of using nullProtoStructureID, use a new StructureID.

  • API/JSCallbackObject.h:
  • API/JSCallbackObjectFunctions.h: (JSC::::JSCallbackObject):
  • API/JSContextRef.cpp: (JSGlobalContextCreateInGroup):
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::JSGlobalObject):
  • kjs/Shell.cpp: (GlobalObject::GlobalObject): (jscmain):

JavaScriptGlue:

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21766
REGRESSION: 12 JSC tests fail

The JSGlobalObject constructor no longer takes a JSGlobalData
as an argument.

  • JSRun.cpp: (JSRun::JSRun):
  • JSRun.h: (JSGlueGlobalObject::JSGlueGlobalObject):
  • JSUtils.cpp: (getThreadGlobalExecState):
23:01 Changeset [37758] by simon.fraser@apple.com

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

Reviewed by Dan Bernstein

Add a comment explaining layoutDelta(), and an assertion
that checks that delta changes were correctly paired during layout.

  • rendering/RenderView.cpp: (WebCore::RenderView::layout):
  • rendering/RenderView.h:
21:50 Changeset [37757] by timothy@apple.com

Make auto-complete only suggest properties that are valid syntax
when using dot-notation. Also when completing numeric properties,
the quotes are omitted inside the brackets.

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

Reviewed by Oliver Hunt.

  • inspector/front-end/Console.js: (WebInspector.Console.prototype.completions): Skip properties that are not valid identifies when using dot-notation. And omit the quotes when completing numbers in bracket-notation.
21:50 Changeset [37756] by timothy@apple.com

Fixes the Profiles panel in the Web Inspector, which was broken by
the JSValue base-class changes. Also renames some functions and
variables in JavaScriptProfileNode.cpp that where title case.

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

Reviewed by Oliver Hunt.

  • inspector/JavaScriptProfile.cpp: (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the returned JSValuePtr will be treated as an object and not a value.
  • inspector/JavaScriptProfileNode.cpp: (WebCore::toJS): Ditto.
19:45 Changeset [37755] by cwzwarich@webkit.org

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

Reviewed by Maciej Stachowiak.

Remove an untaken branch in CodeGenerator::emitJumpIfFalse(). This
function is never called with a backwards target LabelID, and there is
even an assertion to this effect at the top of the function body.

  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::emitJumpIfFalse):
19:14 Changeset [37754] by weinig@apple.com

WebCore:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::detachedFromParent4):.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::detachFromParent):
  • loader/FrameLoaderClient.h:

WebKit/gtk:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/mac:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

WebKit/qt:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • WebCoreSupport/FrameLoaderClientQt.cpp:
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/win:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • WebFrame.cpp:
  • WebFrame.h:

WebKit/wx:

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

Reviewed by Anders Carlsson.

Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.

  • WebKitSupport/FrameLoaderClientWx.cpp:
  • WebKitSupport/FrameLoaderClientWx.h:
18:22 Changeset [37753] by antti@apple.com

2008-10-20 Antti Koivisto <antti@apple.com>

Reviewed by Adele Peterson.

Fix https://bugs.webkit.org/show_bug.cgi?id=21763
REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries
<rdar://problem/6285025


If we get 304 response we need to explicitly check if that completes the frame load.


No test case, simulating the condition is pretty difficult.

  • loader/loader.cpp: (WebCore::Loader::Host::didReceiveResponse):
18:05 Changeset [37752] by andersca@apple.com

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

Reviewed by Mark Rowe.

Work around <rdar://problem/6301728>.


Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows.


  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didReceiveResponse): (WebCore::MainResourceLoader::didReceiveData): (WebCore::MainResourceLoader::didFinishLoading): (WebCore::MainResourceLoader::didFail):
17:20 Changeset [37751] by cwzwarich@webkit.org

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

Not reviewed.

Update the ChangeLog for previous commit to contain meaningful
information.

  • ChangeLog
17:10 Changeset [37750] by cwzwarich@webkit.org

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

Rubber-stamped by Sam Weinig.

  • VM/Machine.cpp: (JSC::Machine::privateExecute):
15:47 Changeset [37749] by bdakin@apple.com

2008-10-20 Beth Dakin <bdakin@apple.com>

Reviewed by Adele Peterson.

Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19
crashes in Safari at com.apple.WebCore
WebCore::ScrollView::visibleContentRect const + 153

d->m_view can be null and is null-checked at other points in the
code. The logs indicate that this crash occurs when closing a
window containing a PDF, so in case where we crash, the PDF's view
is probably already null. So the fix is to simply add a null-check.

  • page/Frame.cpp: (WebCore::Frame::selectionRect):
14:31 Changeset [37748] by adele@apple.com

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

Reviewed by Darin Adler.

  • html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Removed stray increment that would screw up any form with multiple files in it.
14:27 Changeset [37747] by weinig@apple.com

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

Reviewed by Cameron Zwarich.

Fix for https://bugs.webkit.org/show_bug.cgi?id=21683
Don't create intermediate StructureIDs for builtin objects

Second stage in reduce number of StructureIDs created when initializing the
JSGlobalObject.

  • Use putDirectWithoutTransition for the remaining singleton objects to reduce the number of StructureIDs create for about:blank from 132 to 73.
  • kjs/ArrayConstructor.cpp: (JSC::ArrayConstructor::ArrayConstructor):
  • kjs/BooleanConstructor.cpp: (JSC::BooleanConstructor::BooleanConstructor):
  • kjs/BooleanPrototype.cpp: (JSC::BooleanPrototype::BooleanPrototype):
  • kjs/DateConstructor.cpp: (JSC::DateConstructor::DateConstructor):
  • kjs/ErrorConstructor.cpp: (JSC::ErrorConstructor::ErrorConstructor):
  • kjs/ErrorPrototype.cpp: (JSC::ErrorPrototype::ErrorPrototype):
  • kjs/FunctionConstructor.cpp: (JSC::FunctionConstructor::FunctionConstructor):
  • kjs/FunctionPrototype.cpp: (JSC::FunctionPrototype::FunctionPrototype): (JSC::FunctionPrototype::addFunctionProperties):
  • kjs/FunctionPrototype.h: (JSC::FunctionPrototype::createStructureID):
  • kjs/InternalFunction.cpp:
  • kjs/InternalFunction.h: (JSC::InternalFunction::InternalFunction):
  • kjs/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset):
  • kjs/JSObject.h:
  • kjs/MathObject.cpp: (JSC::MathObject::MathObject):
  • kjs/NumberConstructor.cpp: (JSC::NumberConstructor::NumberConstructor):
  • kjs/NumberPrototype.cpp: (JSC::NumberPrototype::NumberPrototype):
  • kjs/ObjectConstructor.cpp: (JSC::ObjectConstructor::ObjectConstructor):
  • kjs/RegExpConstructor.cpp: (JSC::RegExpConstructor::RegExpConstructor):
  • kjs/RegExpPrototype.cpp: (JSC::RegExpPrototype::RegExpPrototype):
  • kjs/StringConstructor.cpp: (JSC::StringConstructor::StringConstructor):
  • kjs/StringPrototype.cpp: (JSC::StringPrototype::StringPrototype):
  • kjs/StructureID.cpp: (JSC::StructureID::dumpStatistics):
  • kjs/StructureID.h: (JSC::StructureID::setPrototypeWithoutTransition):
13:42 Changeset [37746] by weinig@apple.com

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

Rubber-stamped by David Hyatt.

Split LengthBox and LengthSize into their own files.

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/Length.h: (WebCore::Length::blend):
  • platform/LengthBox.h: Copied from platform/Length.h. (WebCore::LengthBox::LengthBox): (WebCore::LengthBox::nonZero):
  • platform/LengthSize.h: Copied from platform/Length.h. (WebCore::LengthSize::LengthSize): (WebCore::LengthSize::setWidth): (WebCore::LengthSize::setHeight): (WebCore::LengthSize::height):
  • platform/Theme.h:
  • rendering/style/FillLayer.h:
  • rendering/style/NinePieceImage.h: (WebCore::NinePieceImage::NinePieceImage):
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleDashboardRegion.h:
  • rendering/style/StyleSurroundData.h:
  • rendering/style/StyleVisualData.h:
13:15 Changeset [37745] by mitz@apple.com
  • Mac build fix
  • WebCore.xcodeproj/project.pbxproj:
12:30 Changeset [37744] by alp@webkit.org

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

Fix autotools dist build target by listing recently added header
files only. Not reviewed.

12:27 Changeset [37743] by hyatt@apple.com

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

Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also
refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp
originally.

ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme.

Reviewed by Adam Roben

  • WebCore.xcodeproj/project.pbxproj:
  • platform/Theme.cpp: Added. (WebCore::Theme::controlSupportsBorder): (WebCore::Theme::controlSupportsPadding):
  • platform/Theme.h:
  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle):
  • rendering/RenderTheme.h:
12:18 Changeset [37742] by hyatt@apple.com

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

Rename LengthBox's members to have m_ in front of them.

Reviewed by Sam Weinig

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::valueForNinePieceImage): (WebCore::getPositionOffsetValue): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapNinePieceImage):
  • platform/Length.h: (WebCore::LengthBox::LengthBox): (WebCore::LengthBox::left): (WebCore::LengthBox::right): (WebCore::LengthBox::top): (WebCore::LengthBox::bottom): (WebCore::LengthBox::operator==): (WebCore::LengthBox::nonZero):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::paintNinePieceImage): (WebCore::RenderObject::addDashboardRegions):
  • rendering/style/RenderStyle.cpp: (WebCore::positionedObjectMoved): (WebCore::RenderStyle::setClip): (WebCore::RenderStyle::noneDashboardRegions):
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::left): (WebCore::InheritedFlags::right): (WebCore::InheritedFlags::top): (WebCore::InheritedFlags::bottom): (WebCore::InheritedFlags::clipLeft): (WebCore::InheritedFlags::clipRight): (WebCore::InheritedFlags::clipTop): (WebCore::InheritedFlags::clipBottom): (WebCore::InheritedFlags::marginTop): (WebCore::InheritedFlags::marginBottom): (WebCore::InheritedFlags::marginLeft): (WebCore::InheritedFlags::marginRight): (WebCore::InheritedFlags::paddingTop): (WebCore::InheritedFlags::paddingBottom): (WebCore::InheritedFlags::paddingLeft): (WebCore::InheritedFlags::paddingRight): (WebCore::InheritedFlags::setLeft): (WebCore::InheritedFlags::setRight): (WebCore::InheritedFlags::setTop): (WebCore::InheritedFlags::setBottom): (WebCore::InheritedFlags::setDashboardRegion): (WebCore::InheritedFlags::setClipLeft): (WebCore::InheritedFlags::setClipRight): (WebCore::InheritedFlags::setClipTop): (WebCore::InheritedFlags::setClipBottom): (WebCore::InheritedFlags::setMarginTop): (WebCore::InheritedFlags::setMarginBottom): (WebCore::InheritedFlags::setMarginLeft): (WebCore::InheritedFlags::setMarginRight): (WebCore::InheritedFlags::setPaddingTop): (WebCore::InheritedFlags::setPaddingBottom): (WebCore::InheritedFlags::setPaddingLeft): (WebCore::InheritedFlags::setPaddingRight):
12:03 Changeset [37741] by timothy@apple.com

Make the Resource panel perform graph updates atomically, so when resources
are added the graph and summary graph update at the same time.

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

Reviewed by Kevin McCullough.

  • inspector/front-end/Resource.js: (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime property is undefined, null or 0. This allows callers to check for -1 and not the other values when there is no startTime yet. (WebInspector.Resource.prototype.get responseReceivedTime): Ditto. (WebInspector.Resource.prototype.get endTime): Ditto. (WebInspector.Resource.prototype.get duration): Remove an extra empty line. (WebInspector.Resource.prototype.get latency): Ditto. (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration property is undefined or null. This allows callers to always assume a number. (WebInspector.Resource.prototype.get expectedContentLength): Ditto. (WebInspector.Resource.prototype.get errors): Simplify the case where there is no _errors property yet. (WebInspector.Resource.prototype.set errors): Remove the check if the new value if the same as the previous value, since there is no work to guard. (WebInspector.Resource.prototype.get warnings): Simplify the case where there is no _warnings property yet. (WebInspector.Resource.prototype.set warnings): Remove the check if the new value if the same as the previous value, since there is no work to guard. (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the responseReceivedTime is -1. (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1.
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not have a _resourcesTreeElement yet, exclude it from the searchable views. (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources and call refresh to refresh the entire graph. (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel is visible that calls refresh. (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and graph for a resource if it hasn't been created yet. If the boundaries changed during the first stale resource pass, do a full pass of all resources when updating the graphs. (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items. (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and graph, these are now created during the first refresh. (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement. (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto. (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just add the resource to the _staleResources and set needsRefresh. (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check _resourcesTreeElement. (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild since the insertBefore call will do it if needed. (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded. (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel, since all the legend items are removed in one pass right before. (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction before the calculator so the correct sortingFunction is there when a refresh happens. (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0 when the startTime is -1, since that looks best visually. Also set middle and end to the start and middle (respectfully) when startAtZero. This looks best visually. (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh. (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class.
11:45 Changeset [37740] by hyatt@apple.com

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

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

Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that
no attempt is made to re-cache the frame from a non-existent image source.

Reviewed by Sam Weinig

  • platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::BitmapImage):
  • platform/graphics/cg/ImageCG.cpp: (WebCore::BitmapImage::BitmapImage):
11:23 Changeset [37739] by mitz@apple.com

Reviewed by John Sullivan.

  • make hasARenderedDescendant() have internal linkage
  • editing/CompositeEditCommand.cpp: (WebCore::hasARenderedDescendant):
11:04 Changeset [37738] by alp@webkit.org

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

Partial GTK+/Win32 build fix. Lowercase library name to enable linking
when cross-compiling Windows binaries from Linux: -lWs2_32 -> -lws2_32

  • configure.ac:
10:57 Changeset [37737] by cfleizach@apple.com

Bug 21721: 1 crash in Safari at com.apple.WebCore • WebCore::RenderTableSection::numColumns const + 12

10:42 Changeset [37736] by ggaren@apple.com

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

Reviewed by Anders Carlsson.

  • VM/Machine.cpp: (JSC::Machine::tryCacheGetByID): Removed a redundant and sometimes incorrect cast, which started ASSERTing after Darin's last checkin.
10:40 Changeset [37735] by hyatt@apple.com

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

Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG.

Reviewed by Darin Adler

  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::repetitionCount): (WebCore::ImageSource::frameDurationAtIndex):
10:28 Changeset [37734] by ggaren@apple.com

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

Not reviewed.


Re-enable CTI, which I accidentally disabled while checking in fixes
to bytecode.

  • wtf/Platform.h:
10:10 Changeset [37733] by alp@webkit.org

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

Rubber-stamped by Mark Rowe.

Typo fix in function name: mimimum -> minimum.

  • kjs/DateMath.cpp: (JSC::minimumYearForDST): (JSC::equivalentYearForDST):
10:06 Changeset [37732] by alp@webkit.org

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

Reviewed by Mark Rowe.

Use pthread instead of GThread where possible in the GTK+ port. This
fixes issues with global initialisation, particularly on GTK+/Win32
where a late g_thread_init() will cause hangs.

Fix the pthread conditionals in the FTP code to correctly define
threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32
build.

09:50 Changeset [37731] by hyatt@apple.com

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

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

Convert checkboxes and radio buttons on OS X over to the new Theme API.

Reviewed by Adam Roben

  • css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::mapFillSize):
  • platform/Length.h: (WebCore::LengthSize::LengthSize): (WebCore::LengthSize::operator==): (WebCore::LengthSize::width): (WebCore::LengthSize::height): (WebCore::LengthSize::setWidth): (WebCore::LengthSize::setHeight):
  • platform/Theme.h: (WebCore::Theme::controlSize): (WebCore::Theme::controlSupportsBorder): (WebCore::Theme::controlSupportsPadding): (WebCore::Theme::paint): (WebCore::Theme::inflateControlPaintRect):
  • platform/ThemeTypes.h: (WebCore::):
  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm: (WebCore::): (WebCore::controlSizeForFont): (WebCore::sizeFromFont): (WebCore::setControlSize): (WebCore::updateStates): (WebCore::inflateRect): (WebCore::checkboxSizes): (WebCore::checkboxMargins): (WebCore::checkboxSize): (WebCore::checkbox): (WebCore::paintCheckbox): (WebCore::radioSizes): (WebCore::radioMargins): (WebCore::radioSize): (WebCore::radio): (WebCore::paintRadio): (WebCore::ThemeMac::baselinePositionAdjustment): (WebCore::ThemeMac::controlSize): (WebCore::ThemeMac::controlSupportsBorder): (WebCore::ThemeMac::controlSupportsPadding): (WebCore::ThemeMac::inflateControlPaintRect): (WebCore::ThemeMac::paint):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::calculateBackgroundSize):
  • rendering/RenderObject.cpp: (WebCore::mustRepaintFillLayers):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::adjustStyle): (WebCore::RenderTheme::paint): (WebCore::RenderTheme::baselinePosition): (WebCore::RenderTheme::adjustRepaintRect): (WebCore::RenderTheme::controlStatesForRenderer): (WebCore::RenderTheme::isFocused):
  • rendering/RenderTheme.h:
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustRepaintRect):
  • rendering/style/FillLayer.cpp: (WebCore::FillLayer::operator==):
09:48 Changeset [37730] by ggaren@apple.com

JavaScriptCore:

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

Reviewed by Darin Adler.


Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
Emit profiling instrumentation only if the Web Inspector's profiling
feature is enabled

22.2% speedup on empty function call benchmark.
2.9% speedup on v8 benchmark.
0.7% speedup on SunSpider.


Lesser but similar speedups in bytecode.

  • VM/CTI.cpp: (JSC::CTI::compileOpCall): (JSC::CTI::privateCompileMainPass): (JSC::CTI::privateCompileSlowCases): Nixed JITed profiler hooks. Profiler hooks now have their own opcodes. Added support for compiling profiler hook opcodes.


(JSC::CodeBlock::dump): Dump support for the new profiling opcodes.

  • VM/CodeGenerator.h:
  • VM/CodeGenerator.cpp: (JSC::CodeGenerator::CodeGenerator): (JSC::CodeGenerator::emitCall): (JSC::CodeGenerator::emitConstruct): Conditionally emit profiling hooks around call and construct, at the call site. (It's easier to get things right this way, if you have profiled code calling non-profiled code. Also, you get a slightly more accurate profile, since you charge the full cost of the call / construct operation to the callee.)


Also, fixed a bug where construct would fetch the ".prototype" property
from the constructor before evaluating the arguments to the constructor,
incorrectly allowing an "invalid constructor" exception to short-circuit
argument evaluation. I encountered this bug when trying to make
constructor exceptions work with profiling.

  • VM/Machine.cpp: (JSC::Machine::callEval): Removed obsolete profiler hooks.

(JSC::Machine::throwException): Added a check for an exception thrown
within a call instruction. We didn't need this before because the call
instruction would check for a valid call before involing the profiler.
(JSC::Machine::execute): Added a didExecute hook at the end of top-level
function invocation, since op_ret no longer does this for us.

(JSC::Machine::privateExecute): Removed obsolete profiler hooks. Added
profiler opcodes. Changed some ++vPC to vPC[x] notation, since the
latter is better for performance, and it makes reasoning about the
current opcode in exception handling much simpler.

(JSC::Machine::cti_op_call_NotJSFunction): Removed obsolete profiler
hooks.

(JSC::Machine::cti_op_create_arguments_no_params): Added missing
CTI_STACK_HACK that I noticed when adding CTI_STACK_HACK to the new
profiler opcode functions.

(JSC::Machine::cti_op_profile_will_call):
(JSC::Machine::cti_op_profile_did_call): The new profiler opcode
functions.

(JSC::Machine::cti_op_construct_NotJSConstruct): Removed obsolete profiler
hooks.

  • VM/Machine.h: (JSC::Machine::isCallOpcode): Helper for exception handling.
  • VM/Opcode.h: Declare new opcodes.
  • kjs/JSGlobalObject.h: (JSC::JSGlobalObject::supportsProfiling): Added virtual interface that allows WebCore to specify whether the target global object has the Web Inspector's profiling feature enabled.
  • profiler/Profiler.cpp: (JSC::Profiler::willExecute): (JSC::Profiler::didExecute): (JSC::Profiler::createCallIdentifier):
  • profiler/Profiler.h: Added support for invoking the profiler with an arbitrary JSValue*, and not a known object. We didn't need this before because the call instruction would check for a valid call before involing the profiler.

WebCore:

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

Reviewed by Darin Adler.

Fixed https://bugs.webkit.org/show_bug.cgi?id=21735
Emit profiling instrumentation only if the Web Inspector's profiling
feature is enabled

  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::supportsProfiling):
  • bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying whether a target global object has the Web Inspector's profiling feature enabled.
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon): (WebCore::JavaScriptDebugServer::didAddListener): (WebCore::JavaScriptDebugServer::didRemoveListener):
  • inspector/JavaScriptDebugServer.h: Exported an API for recompiling, used by the Settings object.
  • page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setDeveloperExtrasEnabled):
  • page/Settings.h: Recompile when the developer menu is enabled/disabled for the first time, to add/remove profiling hooks. In the future, with better Web Inspector UI, we can do this on a page-by-page basis, instead of a global basis.

LayoutTests:

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

Reviewed by Darin Adler.

Test for bugs fixed while working on https://bugs.webkit.org/show_bug.cgi?id=21735
Emit profiling instrumentation only if the Web Inspector's profiling
feature is enabled

  • fast/js/exception-thrown-from-new-expected.txt: Added.
  • fast/js/exception-thrown-from-new.html: Added.
09:42 Changeset [37729] by ap@webkit.org

Add Worker to the results - although it is just a stub right now, it is present in the list
of window properties.

  • fast/dom/Window/window-properties-expected.txt:
09:22 Changeset [37728] by darin@apple.com

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

Reviewed by Geoff Garen.

  • get CTI working on Windows again
  • VM/CTI.cpp: (JSC::CTI::emitCTICall): Add an overload for functions that return JSObject*.
  • VM/CTI.h: Use JSValue* and JSObject* as return types for cti_op functions. Apparently, MSVC doesn't handle returning the JSValuePtr struct in a register. We'll have to look into this more.
  • VM/Machine.cpp: (JSC::Machine::cti_op_convert_this): (JSC::Machine::cti_op_add): (JSC::Machine::cti_op_pre_inc): (JSC::Machine::cti_op_new_object): (JSC::Machine::cti_op_get_by_id): (JSC::Machine::cti_op_get_by_id_second): (JSC::Machine::cti_op_get_by_id_generic): (JSC::Machine::cti_op_get_by_id_fail): (JSC::Machine::cti_op_instanceof): (JSC::Machine::cti_op_del_by_id): (JSC::Machine::cti_op_mul): (JSC::Machine::cti_op_new_func): (JSC::Machine::cti_op_push_activation): (JSC::Machine::cti_op_call_NotJSFunction): (JSC::Machine::cti_op_new_array): (JSC::Machine::cti_op_resolve): (JSC::Machine::cti_op_construct_JSConstructFast): (JSC::Machine::cti_op_construct_NotJSConstruct): (JSC::Machine::cti_op_get_by_val): (JSC::Machine::cti_op_sub): (JSC::Machine::cti_op_lesseq): (JSC::Machine::cti_op_negate): (JSC::Machine::cti_op_resolve_base): (JSC::Machine::cti_op_resolve_skip): (JSC::Machine::cti_op_resolve_global): (JSC::Machine::cti_op_div): (JSC::Machine::cti_op_pre_dec): (JSC::Machine::cti_op_not): (JSC::Machine::cti_op_eq): (JSC::Machine::cti_op_lshift): (JSC::Machine::cti_op_bitand): (JSC::Machine::cti_op_rshift): (JSC::Machine::cti_op_bitnot): (JSC::Machine::cti_op_new_func_exp): (JSC::Machine::cti_op_mod): (JSC::Machine::cti_op_less): (JSC::Machine::cti_op_neq): (JSC::Machine::cti_op_urshift): (JSC::Machine::cti_op_bitxor): (JSC::Machine::cti_op_new_regexp): (JSC::Machine::cti_op_bitor): (JSC::Machine::cti_op_call_eval): (JSC::Machine::cti_op_throw): (JSC::Machine::cti_op_next_pname): (JSC::Machine::cti_op_typeof): (JSC::Machine::cti_op_is_undefined): (JSC::Machine::cti_op_is_boolean): (JSC::Machine::cti_op_is_number): (JSC::Machine::cti_op_is_string): (JSC::Machine::cti_op_is_object): (JSC::Machine::cti_op_is_function): (JSC::Machine::cti_op_stricteq): (JSC::Machine::cti_op_nstricteq): (JSC::Machine::cti_op_to_jsnumber): (JSC::Machine::cti_op_in): (JSC::Machine::cti_op_push_new_scope): (JSC::Machine::cti_op_del_by_val): (JSC::Machine::cti_op_new_error): (JSC::Machine::cti_vm_throw): Change these functions to return pointer types, and never JSValuePtr.
  • VM/Machine.h: Ditto.
09:09 Changeset [37727] by ggaren@apple.com

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

Reviewed by Darin Adler.


Fixed some recent break-age in bytecode mode.

  • VM/CodeBlock.cpp: (JSC::CodeBlock::printStructureIDs): Fixed up an ASSERT caused by Gavin's last checkin. This is a temporary fix so I can keep on moving. I'll send email about what I think is an underlying problem soon.
  • VM/Machine.cpp: (JSC::Machine::privateExecute): Removed a redundant and sometimes incorrect cast, which started ASSERTing after Darin's last checkin.
08:54 Changeset [37726] by hyatt@apple.com

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

Move Length to platform/.

Reviewed by Adam Roben

  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • platform/Length.cpp: Copied from rendering/Length.cpp.
  • platform/Length.h: Copied from rendering/Length.h.
08:39 Changeset [37725] by alp@webkit.org

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

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=21303
[GTK] Scrolling glitches

Implement a buffering scheme to avoid full repaints when scrolling
views or subframes significantly improving scrolling performance.

Improve rendering performance by coalescing large numbers of small
repaints.

Also fixes long-running issues with scrollbar positioning and frame
invalidation.

Rendering in the GTK+ port should be more similar to other ports after
these changes.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::repaint): (WebKit::ChromeClient::scroll):
  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::forceLayout):
  • webkit/webkitwebview.cpp:
08:29 Changeset [37724] by darin@apple.com

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

  • try to fix Qt build
  • bridge/qt/qt_runtime.cpp: (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls. (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
08:28 Changeset [37723] by darin@apple.com

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

  • try to fix Qt build
  • bridge/qt/qt_instance.cpp: (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr. (JSC::Bindings::QtField::valueFromInstance): Ditto.
  • bridge/qt/qt_instance.h: Ditto.
08:24 Changeset [37722] by darin@apple.com

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

  • another similar Windows build fix
  • VM/CTI.cpp: Changed return type to JSObject* instead of JSValuePtr.
08:19 Changeset [37721] by darin@apple.com

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

  • try to fix Windows build
  • VM/CTI.cpp: Use JSValue* instead of JSValuePtr for ctiTrampoline.
  • VM/CTI.h: Ditto.
08:16 Changeset [37720] by darin@apple.com

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

  • try to fix Tiger build
  • bridge/objc/objc_instance.mm: (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted volatile qualifier. (ObjcInstance::invokeDefaultMethod): Ditto. (ObjcInstance::getValueOfUndefinedField): Ditto.
  • bridge/objc/objc_runtime.mm: (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
08:14 Changeset [37719] by ap@webkit.org

Commit a file that was missing from the previous check-in.

08:13 Changeset [37718] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=21750
Eliminate the notion of "temporary events"

We mark some events as temporary when dispatching, for the sole reason of
manually calling forgetDOMObject when done dispatching.

There doesn't seem to be any reason to call it manually, as JSEvent destructor
will do this automatically right away.

  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h: Removed ScriptController::finishedWithEvent(), which was called after dispatching a temporary event.
  • dom/ContainerNode.cpp: (WebCore::dispatchChildInsertionEvents): (WebCore::dispatchChildRemovalEvents):
  • dom/EventTarget.h:
  • dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchEvent): (WebCore::EventTargetNode::dispatchGenericEvent): (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): (WebCore::EventTargetNode::dispatchWindowEvent): (WebCore::EventTargetNode::dispatchUIEvent): (WebCore::EventTargetNode::dispatchKeyEvent): (WebCore::EventTargetNode::dispatchMouseEvent): (WebCore::EventTargetNode::dispatchWheelEvent): (WebCore::EventTargetNode::dispatchWebKitAnimationEvent): (WebCore::EventTargetNode::dispatchWebKitTransitionEvent): (WebCore::EventTargetNode::dispatchEventForType): (WebCore::EventTargetNode::dispatchProgressEvent): (WebCore::EventTargetNode::dispatchStorageEvent):
  • dom/EventTargetNode.h:
  • dom/MessagePort.cpp: (WebCore::MessagePort::dispatchMessages): (WebCore::MessagePort::dispatchCloseEvent): (WebCore::MessagePort::dispatchEvent):
  • dom/MessagePort.h:
  • editing/Editor.cpp: (WebCore::Editor::dispatchCPPEvent): (WebCore::dispatchEditableContentChangedEvents):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::insertText):
  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::dispatchEvent): (WebCore::DOMApplicationCache::callListener):
  • loader/appcache/DOMApplicationCache.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchDragEvent): (WebCore::EventHandler::keyEvent): (WebCore::EventHandler::handleTextInputEvent):
  • page/FrameView.cpp: (WebCore::FrameView::scheduleEvent): (WebCore::FrameView::updateOverflowStatus): (WebCore::FrameView::dispatchScheduledEvents):
  • page/FrameView.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::updateOverflowStatus):
  • svg/SVGElement.cpp: (WebCore::SVGElement::sendSVGLoadEventIfPossible):
  • svg/SVGElementInstance.cpp: (WebCore::SVGElementInstance::dispatchEvent):
  • svg/SVGElementInstance.h:
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dispatchEvent): (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::dispatchEvent): (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
  • xml/XMLHttpRequestUpload.h: Don't pass the tempEvent boolean around.
07:34 Changeset [37717] by ap@webkit.org

Reviewed by Oliver Hunt.

<rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
certain WebView delegate actions are taken

  • WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create a window shell if there is none yet.
04:32 Changeset [37716] by alp@webkit.org

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

Remove unused includes only. Partial GTK+/Win build fix.

  • platform/graphics/gtk/SimpleFontDataPango.cpp:
02:24 Changeset [37715] by ap@webkit.org

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=21705
Implement Web Workers client-side API

The implementation is experimental, and disabled by default. It doesn't quite match the
published draft, being influenced by further WHATWG discussions.

This only implements the client-side API, and does not actually create any threads or
global contexts yet.

  • DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm still not sure if having separate classes for these helps at all.
  • WebCore.xcodeproj/project.pbxproj: Added new files.
  • bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker): (WebCore::JSDOMWindowBase::put): (setJSDOMWindowBaseWorker): Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef to match prevailing style.
  • bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
  • bindings/js/JSDedicatedWorkerConstructor.h: Added.
  • bindings/js/JSDedicatedWorkerCustom.cpp: Added. The implementation of event listeners are left custom intentionally, for easier implementation of listeners that are not tied to any Document in the future.
  • dom/DedicatedWorker.cpp: Added.
  • dom/DedicatedWorker.h: Added.
  • dom/DedicatedWorker.idl: Added. Added an implementation that can only load requested scripts for now.
00:29 Changeset [37714] by darin@apple.com

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

Reviewed by Cameron Zwarich.

  • VM/Machine.cpp: (JSC::Machine::cti_op_call_profiler): Use asFunction. (JSC::Machine::cti_vm_lazyLinkCall): Ditto. (JSC::Machine::cti_op_construct_JSConstructFast): Use asObject.
  • kjs/JSCell.h: Re-sort friend classes. Eliminate inheritance from JSValue. Changed cast in asCell from static_cast to reinterpret_cast. Removed JSValue::getNumber(double&) and one of JSValue::getObject overloads.
  • kjs/JSValue.h: Made the private constructor and destructor both non-virtual and also remove the definitions. This class can never be instantiated or derived.
Note: See TracTimeline for information about the timeline view.