mjs@apple.com [Wed, 8 Oct 2008 00:15:20 +0000 (00:15 +0000)]
2008-10-07 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver Hunt.
- make constant folding code more consistent
Added a makeSubNode to match add, mult and div; use the makeFooNode functions always,
instead of allocating nodes directly in other places in the grammar.
* kjs/grammar.y:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 8 Oct 2008 00:12:08 +0000 (00:12 +0000)]
Roll out r37391 as it appears to have broken 40+ regression tests.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 7 Oct 2008 23:49:59 +0000 (23:49 +0000)]
2008-10-07 Sam Weinig <sam@webkit.org>
Reviewed by Cameron Zwarich.
Move hasGetterSetterProperties flag from PropertyMap to StructureID.
* kjs/JSObject.cpp:
(JSC::JSObject::put):
(JSC::JSObject::defineGetter):
(JSC::JSObject::defineSetter):
* kjs/JSObject.h:
(JSC::JSObject::hasGetterSetterProperties):
(JSC::JSObject::getOwnPropertySlotForWrite):
(JSC::JSObject::getOwnPropertySlot):
* kjs/PropertyMap.h:
* kjs/StructureID.cpp:
(JSC::StructureID::StructureID):
(JSC::StructureID::addPropertyTransition):
(JSC::StructureID::toDictionaryTransition):
(JSC::StructureID::changePrototypeTransition):
(JSC::StructureID::getterSetterTransition):
* kjs/StructureID.h:
(JSC::StructureID::hasGetterSetterProperties):
(JSC::StructureID::setHasGetterSetterProperties):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 7 Oct 2008 23:31:34 +0000 (23:31 +0000)]
2008-10-07 Anders Carlsson <andersca@apple.com>
Reviewed by Antti Koivisto.
<rdar://problem/
6273887> Crash in ApplicationCacheGroup
Make sure to stop loading even before a cache update is in progress so that the
manifest load will be stopped.
* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
(WebCore::ApplicationCacheGroup::stopLoading):
(WebCore::ApplicationCacheGroup::cacheUpdateFailed):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 7 Oct 2008 22:09:42 +0000 (22:09 +0000)]
Fix the build due to a bad patch apply.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 7 Oct 2008 22:08:02 +0000 (22:08 +0000)]
Fix the build due to a bad patch apply.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 7 Oct 2008 21:49:55 +0000 (21:49 +0000)]
Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods.
https://bugs.webkit.org/show_bug.cgi?id=21433
Reviewed by Sam Weinig.
* WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}.
* bindings/objc/DOM.mm: Remove previous category implementations
on DOMDocument for createNodeIterator: and createTreeWalker:. Also
moves ObjCNodeFilterCondition to its own file.
* bindings/objc/DOMTraversal.h: Remove the category methods that added
createNodeIterator: and createTreeWalker: to DOMDocument. This is fine
to do since DOmDocument.h is included still, and has these methods.
* bindings/objc/DOMUtility.mm:
(JSC::createDOMWrapper): Remove special case for JSNodeIterator and
JSTreeWalker now that the ObjC binding conforms to the standard wrap.
* bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm.
(WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm.
(WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto.
* bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm.
(WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm.
* bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and
createTreeWalker: methods to DOMDocument.
* bindings/scripts/CodeGeneratorObjC.pm:
(GetObjCTypeGetter): Add a case for NodeFilter.
(AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter.
(GenerateImplementation): Remove existing NodeFilter special case that
used the m_filter member variable. Add a new special getter for protocol
types that aren't EventTarget, so the right class is used for NodeFilter.
Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition.
* dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the
OldStyleObjC extended attribute to createNodeIterator and createTreeWalker.
Rename the entityReferenceExpansion parameter to expandEntityReferences to
match the previous ObjC API.
* dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The
m_filter member variable was never used in practice, it was always nil!
We can remove it and not pad the object because this can't be subclassed.
* dom/TreeWalker.idl: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 7 Oct 2008 21:49:43 +0000 (21:49 +0000)]
Auto-generate the DOMEventTarget protocol implementation for
DOMNode and DOMSVGElementInstance.
https://bugs.webkit.org/show_bug.cgi?id=21432
Reviewed by Darin Adler.
* WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}.
* bindings/objc/DOM.mm: Remove many unneeded header includes. Move
ObjCEventListener to it's own file. Remove the manual impelmentations
of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance.
* bindings/objc/DOMEvents.h: Remove the categories that defined
DOMEventTarget for DOMNode and DOMSVGElementInstance.
* bindings/objc/ObjCEventListener.h: Split out from DOM.mm.
* bindings/objc/ObjCEventListener.mm: Split out from DOM.mm.
(WebCore::ObjCEventListener::find): Moved from DOM.mm.
(WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the
callers from doing a manual deref.
(WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm.
(WebCore::ObjCEventListener::~ObjCEventListener): Ditto.
* bindings/scripts/CodeGeneratorObjC.pm:
(GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr.
(AddIncludesForType): Include ObjCEventListener.h for EventListener.
And include EventTargetSVGElementInstance.h for SVGElementInstance.
(GenerateHeader): Remove the check for multiple parents.
(GenerateImplementation): Remove the check for multiple parents. Remove
the @deprecatedFunctions array since deprecated methods get generated
into the main @interface now to work with protocols. Add support
for the EventTargetNodeCast extended attribute. Add support for
EventListener parameters.
* dom/Node.idl: Define superclasses for ObjC so the implementation
and interface implement the DOMEventTarget protocol. Explicitly
specify Object as a superclass to use DOMEventTarget. Object will turn
into DOMObject. This is needed to take the code generator down the right
path of multiple super-classes as protocols. It is ObjC only for legacy
reasons. The event target methods are normally on NodeEventTarget, a
subclass of Node. But the ObjC API has never has this subclass and
they are on DOMNode.
* svg/SVGElementInstance.idl: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 21:36:39 +0000 (21:36 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS.
The new pseudo-elements are:
scrollbar
scrollbar-button
scrollbar-corner
scrollbar-thumb
scrollbar-track
These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with
the following new pseudo-classes:
scrollbar-active
scrollbar-back
scrollbar-forward
scrollbar-horizontal
scrollbar-vertical
Reviewed by Adele
* css/CSSSelector.cpp:
(WebCore::CSSSelector::extractPseudoType):
* css/CSSSelector.h:
(WebCore::CSSSelector::):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 7 Oct 2008 21:35:28 +0000 (21:35 +0000)]
Make sure short functions get included in ChangeLog output for git repositories
Reviewed by Dave Kilzer.
* Scripts/prepare-ChangeLog:
(sub diffCommand): Pass -U0 to git diff so that each contiguous change
will get its own chunk without any surrounding context.
(sub extractLineRange): Use the line numbers from the chunk header
without modifying them now that they're accurate.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37393
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Tue, 7 Oct 2008 21:29:48 +0000 (21:29 +0000)]
2008-10-07 Anders Carlsson <andersca@apple.com>
Reviewed by Mitz Pettel.
Update WebKitSystemInterface.
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceTiger.a:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37392
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 21:27:54 +0000 (21:27 +0000)]
Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
svgElement.className.baseValue = "foo" does not work
https://bugs.webkit.org/show_bug.cgi?id=20651
* dom/StyledElement.cpp:
(WebCore::StyledElement::classAttributeChanged):
(WebCore::StyledElement::parseMappedAttribute):
* dom/StyledElement.h:
* svg/SVGStyledElement.cpp:
(WebCore::SVGStyledElement::svgAttributeChanged):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37391
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 21:22:05 +0000 (21:22 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=18989
Remove global substitution from SunSpider regexp test, since only Firefox was honoring it and
we want all browsers to be doing the same thing on the test.
Reviewed by Maciej
* tests/regexp-dna.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Tue, 7 Oct 2008 21:08:29 +0000 (21:08 +0000)]
Add support to the Resources panel for queries like "#123", "foo #123",
"line: 123" and "foo line: 123". These will match the query limiting
the search only to the line specified. If only a line is specified,
the whole line is matched.
https://bugs.webkit.org/show_bug.cgi?id=21422
Reviewed by Darin Adler.
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame.prototype.sourceRow): Don't return the last
row if the index is greater than the rows collection. Let it return
undefined by indexing out-of-bounds.
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.performSearch): Add support for
queries like "#123", "foo #123", "line: 123" and "foo line: 123".
Also match the whole query to the whole document in case there are
colors like "#333".
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 7 Oct 2008 20:49:36 +0000 (20:49 +0000)]
2008-10-07 Sam Weinig <sam@webkit.org>
Reviewed by Cameron Zwarich.
Roll r37370 back in with bug fixes.
- PropertyMap::storageSize() should reflect the number of keys + deletedOffsets
and has nothing to do with the internal deletedSentinel count anymore.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 20:32:12 +0000 (20:32 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
Reviewed by Tim Hatcher
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
(-[WebView _registerDraggedTypes]):
(-[WebView _usesDocumentViews]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
(-[WebView isFlipped]):
(-[WebView viewWillDraw]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Tue, 7 Oct 2008 20:27:50 +0000 (20:27 +0000)]
2008-10-07 Gavin Barraclough <barraclough@apple.com>
Reviewed by Oliver Hunt.
Move callframe initialization into JIT code, again.
As a part of the restructuring the second result from functions is now
returned in edx, allowing the new value of 'r' to be returned via a
register, and stored to the stack from JIT code, too.
4.5% progression on v8-tests. (3% in their harness)
* VM/CTI.cpp:
(JSC::):
(JSC::CTI::emitCall):
(JSC::CTI::compileOpCall):
(JSC::CTI::privateCompileMainPass):
(JSC::CTI::privateCompileSlowCases):
(JSC::CTI::privateCompile):
* VM/CTI.h:
(JSC::CallRecord::CallRecord):
* VM/Machine.cpp:
(JSC::Machine::cti_op_call_JSFunction):
(JSC::Machine::cti_op_construct_JSConstruct):
(JSC::Machine::cti_op_resolve_func):
(JSC::Machine::cti_op_post_inc):
(JSC::Machine::cti_op_resolve_with_base):
(JSC::Machine::cti_op_post_dec):
* VM/Machine.h:
* kjs/JSFunction.h:
* kjs/ScopeChain.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 20:17:58 +0000 (20:17 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
machinery during teardown of the WebView.
Reviewed by Adam Roben
* WebView/WebView.mm:
(-[WebView isFlipped]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 20:15:02 +0000 (20:15 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Make viewless WebKit update focused and active state when the window becomes and loses key.
The focus controller has been patched to understand that in viewless mode it can recur down and
update all of the frames, which is why this code works now when placed just on the WebView.
Reviewed by Adam Roben
* WebView/WebView.mm:
(-[WebView addWindowObservers]):
(-[WebView removeWindowObservers]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):
(-[WebView _updateFocusedAndActiveState]):
(-[WebView _windowDidBecomeKey:]):
(-[WebView _windowDidResignKey:]):
(-[WebView _windowWillOrderOnScreen:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 7 Oct 2008 19:35:11 +0000 (19:35 +0000)]
Fix typo in method name.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Tue, 7 Oct 2008 18:28:43 +0000 (18:28 +0000)]
2008-10-07 Alp Toker <alp@nuanti.com>
Reviewed by Mark Rowe.
https://bugs.webkit.org/show_bug.cgi?id=21392
[GTK] Auto-generate JS DOM binding sources list
Remove the huge lists of generated DOM binding sources and headers in
the build system. These are difficult to maintain and can be derived
automatically.
The new strategy is to re-use the existing lists of IDL sources (which
are needed for dist support anyway). This will also ease the addition
of new language bindings.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 7 Oct 2008 18:17:37 +0000 (18:17 +0000)]
2008-10-07 Cameron Zwarich <zwarich@apple.com>
Rubber-stamped by Mark Rowe.
Roll out r37370.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37381
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 7 Oct 2008 17:27:12 +0000 (17:27 +0000)]
2008-10-07 Darin Adler <darin@apple.com>
* coding/RefPtr.html: Second draft.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Tue, 7 Oct 2008 16:30:40 +0000 (16:30 +0000)]
2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Don't attempt to paint when updating control tints
We don't have a valid PlatformGraphicsContext so schedule
the dirty scrollbar/scrollview area for repaint instead.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37377
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Tue, 7 Oct 2008 11:20:56 +0000 (11:20 +0000)]
2008-10-07 Tor Arne Vestbø <tavestbo@trolltech.com>
QtWebKit build fix after changes to FrameLoaderClient.h in r37371
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37376
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 08:09:15 +0000 (08:09 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
This fixes the repainting issues with viewless WebKit on Mac.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37375
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Tue, 7 Oct 2008 07:54:06 +0000 (07:54 +0000)]
[qt] Build fix after Scrollbar.h and Widget.h changes.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37374
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 07:50:37 +0000 (07:50 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure viewless Mac WebKit does a layout if needed before drawing.
Reviewed by Sam Weinig
* WebView/WebView.mm:
(-[WebView viewWillDraw]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37373
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 07:47:23 +0000 (07:47 +0000)]
2008-10-07 David Hyatt <hyatt@apple.com>
Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
Reviewed by Sam Weinig
* ChangeLog:
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebView.mm:
(-[WebView viewWillDraw]):
(-[WebView _boundsChanged]):
(-[WebView addSizeObservers]):
(-[WebView viewDidMoveToWindow]):
(-[WebView viewDidMoveToSuperview]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37372
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Tue, 7 Oct 2008 06:58:08 +0000 (06:58 +0000)]
WebCore:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them).
Reviewed by Sam Weinig
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* loader/EmptyClients.h:
(WebCore::EmptyFrameLoaderClient::hasWebView):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::transitionToCommitted):
* loader/FrameLoaderClient.h:
* page/FocusController.cpp:
(WebCore::FocusController::setActive):
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::init):
(WebCore::FrameView::layoutIfNeededRecursive):
* page/FrameView.h:
WebKit/gtk:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
* WebCoreSupport/FrameLoaderClientGtk.h:
WebKit/mac:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::windowResizerRect):
(WebChromeClient::repaint):
(WebChromeClient::screenToWindow):
(WebChromeClient::windowToScreen):
(WebChromeClient::platformWindow):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayoutForNonHTML):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::createFrame):
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
* WebView/WebFrameViewInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView drawSingleRect:]):
(-[WebHTMLView drawRect:]):
* WebView/WebView.mm:
(-[WebView isFlipped]):
(-[WebView _boundsChanged]):
(-[WebView _mustDrawUnionedRect:singleRects:count:]):
(-[WebView drawSingleRect:]):
(-[WebView drawRect:]):
(-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
(-[WebView initWithFrame:frameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
(-[WebView initWithCoder:]):
(-[WebView removeSizeObservers]):
(-[WebView viewWillMoveToWindow:]):
(-[WebView viewWillMoveToSuperview:]):
(-[WebView _usesDocumentViews]):
* WebView/WebViewInternal.h:
WebKit/qt:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
WebKit/win:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::createFrame):
* WebCoreSupport/WebFrameLoaderClient.h:
WebKit/wx:
2008-10-06 David Hyatt <hyatt@apple.com>
Enable viewless Mac WebKit to paint some basic pages.
Reviewed by Sam Weinig
* WebKitSupport/FrameLoaderClientWx.cpp:
* WebKitSupport/FrameLoaderClientWx.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37371
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 7 Oct 2008 05:43:06 +0000 (05:43 +0000)]
2008-10-06 Sam Weinig <sam@webkit.org>
Reviewed by Cameron Zwarich.
Fix for https://bugs.webkit.org/show_bug.cgi?id=21415
Improve the division between PropertyStorageArray and PropertyMap
- Rework ProperyMap to store offsets in the value so that they don't
change when rehashing. This allows us not to have to keep the
PropertyStorageArray in sync and thus not have to pass it in.
- Rename PropertyMap::getOffset -> PropertyMap::get since put/remove
now also return offsets.
- A Vector of deleted offsets is now needed since the storage is out of
band.
1% win on SunSpider. Wash on V8 suite.
* JavaScriptCore.exp:
* VM/CTI.cpp:
(JSC::transitionWillNeedStorageRealloc):
* VM/Machine.cpp:
(JSC::Machine::privateExecute):
Transition logic can be greatly simplified by the fact that
the storage capacity is always known, and is correct for the
inline case.
* kjs/JSObject.cpp:
(JSC::JSObject::put): Rename getOffset -> get.
(JSC::JSObject::deleteProperty): Ditto.
(JSC::JSObject::getPropertyAttributes): Ditto.
(JSC::JSObject::removeDirect): Use returned offset to
clear the value in the PropertyNameArray.
(JSC::JSObject::allocatePropertyStorage): Add assert.
* kjs/JSObject.h:
(JSC::JSObject::getDirect): Rename getOffset -> get
(JSC::JSObject::getDirectLocation): Rename getOffset -> get
(JSC::JSObject::putDirect): Use propertyStorageCapacity to determine whether
or not to resize. Also, since put now returns an offset (and thus
addPropertyTransition does also) setting of the PropertyStorageArray is
now done here.
(JSC::JSObject::transitionTo):
* kjs/PropertyMap.cpp:
(JSC::PropertyMap::checkConsistency): PropertyStorageArray is no longer
passed in.
(JSC::PropertyMap::operator=): Copy the delete offsets vector.
(JSC::PropertyMap::put): Instead of setting the PropertyNameArray
explicitly, return the offset where the value should go.
(JSC::PropertyMap::remove): Instead of removing from the PropertyNameArray
explicitly, return the offset where the value should be removed.
(JSC::PropertyMap::get): Switch to using the stored offset, instead
of the implicit one.
(JSC::PropertyMap::insert):
(JSC::PropertyMap::expand): This is never called when m_table is null,
so remove that branch and add it as an assertion.
(JSC::PropertyMap::createTable): Consistency checks no longer take
a PropertyNameArray.
(JSC::PropertyMap::rehash): No need to rehash the PropertyNameArray
now that it is completely out of band.
* kjs/PropertyMap.h:
(JSC::PropertyMapEntry::PropertyMapEntry): Store offset into PropertyNameArray.
(JSC::PropertyMap::get): Switch to using the stored offset, instead
of the implicit one.
* kjs/StructureID.cpp:
(JSC::StructureID::StructureID): Initialize the propertyStorageCapacity to
JSObject::inlineStorageCapacity.
(JSC::StructureID::growPropertyStorageCapacity): Grow the storage capacity as
described below.
(JSC::StructureID::addPropertyTransition): Copy the storage capacity.
(JSC::StructureID::toDictionaryTransition): Ditto.
(JSC::StructureID::changePrototypeTransition): Ditto.
(JSC::StructureID::getterSetterTransition): Ditto.
* kjs/StructureID.h:
(JSC::StructureID::propertyStorageCapacity): Add propertyStorageCapacity
which is the current capacity for the JSObjects PropertyStorageArray.
It starts at the JSObject::inlineStorageCapacity (currently 2), then
when it first needs to be resized moves to the JSObject::nonInlineBaseStorageCapacity
(currently 16), and after that doubles each time.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37370
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 7 Oct 2008 04:42:51 +0000 (04:42 +0000)]
- build fix
* bindings/objc/DOMEvents.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37369
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Tue, 7 Oct 2008 03:53:47 +0000 (03:53 +0000)]
2008-10-06 Cameron Zwarich <zwarich@apple.com>
Reviewed by Oliver Hunt.
Bug 21396: Remove the OptionalCalleeActivation call frame slot
<https://bugs.webkit.org/show_bug.cgi?id=21396>
Remove the OptionalCalleeActivation call frame slot. We have to be
careful to store the activation object in a register, because objects
in the scope chain do not get marked.
This is a 0.3% speedup on both SunSpider and the V8 benchmark.
* VM/CTI.cpp:
(JSC::CTI::privateCompileMainPass):
* VM/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* VM/CodeGenerator.cpp:
(JSC::CodeGenerator::CodeGenerator):
(JSC::CodeGenerator::emitReturn):
* VM/CodeGenerator.h:
* VM/Machine.cpp:
(JSC::Machine::dumpRegisters):
(JSC::Machine::unwindCallFrame):
(JSC::Machine::privateExecute):
(JSC::Machine::cti_op_call_JSFunction):
(JSC::Machine::cti_op_push_activation):
(JSC::Machine::cti_op_tear_off_activation):
(JSC::Machine::cti_op_construct_JSConstruct):
* VM/Machine.h:
(JSC::Machine::initializeCallFrame):
* VM/RegisterFile.h:
(JSC::RegisterFile::):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37366
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:21:50 +0000 (01:21 +0000)]
2008-10-06 Tony Chang <tony@chromium.org>
Reviewed by Alexey Proskuryakov.
Chromium doesn't use pthreads on windows, so make its use conditional.
Also convert a WORD to a DWORD to avoid a compiler warning. This
matches the other methods around it.
* wtf/ThreadingWin.cpp:
(WTF::wtfThreadEntryPoint):
(WTF::ThreadCondition::broadcast):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37364
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:15:43 +0000 (01:15 +0000)]
2008-10-06 Mark Mentovai <mark@moxienet.com>
Reviewed by Tim Hatcher.
Allow ENABLE_DASHBOARD_SUPPORT and ENABLE_MAC_JAVA_BRIDGE to be
disabled on the Mac.
https://bugs.webkit.org/show_bug.cgi?id=21333
* wtf/Platform.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37363
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:14:05 +0000 (01:14 +0000)]
2008-10-06 Mark Mentovai <mark@moxienet.com>
Reviewed by Tim Hatcher.
Use #if ENABLE(feature) where possible, and #if ENABLE_feature where
Platform.h is not available, in preference to #ifdef ENABLE_feature.
#ifdef is wrong now that features are disabled by #defining
ENABLE_feature to 0.
https://bugs.webkit.org/show_bug.cgi?id=21338
* bindings/objc/DOMEvents.h:
* bindings/objc/PublicDOMInterfaces.h:
* dom/Document.idl:
* page/DOMWindow.idl:
* svg/svgtags.in:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37362
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:11:38 +0000 (01:11 +0000)]
2008-10-06 Mark Mentovai <mark@moxienet.com>
Reviewed by Sam Weinig.
* platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h>
to get the declaration for isMainThread().
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37361
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:09:23 +0000 (01:09 +0000)]
2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Tim Hatcher.
WebCoreObjCExtras.c is actually an obj-c++ file, so change its name
to reflect that.
* WebCore.xcodeproj/project.pbxproj:
* platform/mac/WebCoreObjCExtras.c: Removed.
* platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37358
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 7 Oct 2008 01:05:34 +0000 (01:05 +0000)]
2008-10-06 Jeremy Moskovich <jeremy@chromium.org>
Reviewed by Dan Bernstein.
Added C++ forward declaration for the NSURLAuthenticationChallenge class
so that the m_currentMacChallenge variable doesn't cause a
compilation error when ResourceHandleInternal.h is included from a C++ file.
Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411
* platform/network/ResourceHandleInternal.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37357
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Tue, 7 Oct 2008 00:17:26 +0000 (00:17 +0000)]
Windows build fix.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37354
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Mon, 6 Oct 2008 23:47:08 +0000 (23:47 +0000)]
JavaScriptCore:
https://bugs.webkit.org/show_bug.cgi?id=21416
Pass 0 for size to VirtualAlloc, as documented by MSDN.
Identified by Application Verifier.
Reviewed by Darin Adler.
* kjs/collector.cpp:
(KJS::freeBlock):
WebCore:
https://bugs.webkit.org/show_bug.cgi?id=21416
Add missing null checks identified by Application Verifier.
Reviewed by Darin Adler.
* platform/win/SharedTimerWin.cpp:
(WebCore::clearTimer):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37353
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Mon, 6 Oct 2008 23:15:11 +0000 (23:15 +0000)]
2008-10-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcher.
Removed accidentally left in debugging statement.
* inspector/front-end/inspector.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37352
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Mon, 6 Oct 2008 23:10:09 +0000 (23:10 +0000)]
2008-10-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcher and Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable
* inspector/InspectorController.cpp: Keep track of the user-initiated
profiles here now.
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
* inspector/InspectorController.h:
The front end will now need to check for the existence of the user-
initiated profile title and use its count instead of keeping its own.
* inspector/front-end/ProfilesPanel.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37351
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Mon, 6 Oct 2008 23:09:53 +0000 (23:09 +0000)]
2008-10-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcheri and Oliver Hunt.
https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable
- Export UString::from for use with creating the profile title.
* JavaScriptCore.exp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37350
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Mon, 6 Oct 2008 23:08:16 +0000 (23:08 +0000)]
JavaScriptCore:
2008-10-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable
- Export UString::from for use with creating the profile title.
* JavaScriptCore.exp:
WebCore:
2008-10-06 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim Hatcher.
https://bugs.webkit.org/show_bug.cgi?id=21412
Bug 21412: Refactor user initiated profile count to be more stable
* inspector/InspectorController.cpp: Keep track of the user-initiated
profiles here now.
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::startUserInitiatedProfiling):
(WebCore::InspectorController::stopUserInitiatedProfiling):
* inspector/InspectorController.h:
The front end will now need to check for the existence of the user-
initiated profile title and use its count instead of keeping its own.
* inspector/front-end/ProfilesPanel.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37349
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kdecker@apple.com [Mon, 6 Oct 2008 22:41:15 +0000 (22:41 +0000)]
Rubber-stamped by Anders Carlsson.
Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
* Misc/WebKitNSStringExtras.h:
* Misc/WebKitNSStringExtras.m:
(+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
* WebView/WebDataSource.mm:
(-[WebDataSource _transferApplicationCache:]):
* WebView/WebView.mm:
(WebKitInitializeApplicationCachePathIfNecessary):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37348
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 22:22:35 +0000 (22:22 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
* Plugins/WebBaseNetscapePluginStream.h:
(WebNetscapePluginStream::~WebNetscapePluginStream):
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveResponse):
(-[WebBaseNetscapePluginStream startStreamWithResponse:]):
(WebNetscapePluginStream::wantsAllStreams):
(-[WebBaseNetscapePluginStream wantsAllStreams]):
(WebNetscapePluginStream::didFail):
(-[WebBaseNetscapePluginStream destroyStreamWithError:]):
(WebNetscapePluginStream::didFinishLoading):
(-[WebBaseNetscapePluginStream finishedLoading]):
(WebNetscapePluginStream::didReceiveData):
(-[WebBaseNetscapePluginStream receivedData:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37347
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 21:56:30 +0000 (21:56 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Bring back the stop method. It was called through performSelector, which
is why I couldn't find any references to it.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream stop]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37346
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 21:28:52 +0000 (21:28 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
More conversion and cleanup.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::startStream):
(-[WebBaseNetscapePluginStream startStreamWithResponse:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37345
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 21:05:39 +0000 (21:05 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Fold initWithRequestURL into initWithRequest.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37344
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 20:57:02 +0000 (20:57 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
Change the init methods not to return nil on failures. (These failures never occur anyway)
Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
* Plugins/WebBaseNetscapePluginStream.mm:
(-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
(-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37343
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 20:34:16 +0000 (20:34 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Convert more methods over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::ownerForStream):
(WebNetscapePluginStream::pluginCancelledConnectionError):
(WebNetscapePluginStream::errorForReason):
(-[WebBaseNetscapePluginStream errorForReason:]):
(-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
(WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
(-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
(WebNetscapePluginStream::deliverData):
(WebNetscapePluginStream::deliverDataTimerFired):
(WebNetscapePluginStream::deliverDataToFile):
(-[WebBaseNetscapePluginStream finishedLoading]):
(-[WebBaseNetscapePluginStream receivedData:]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView destroyStream:reason:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37342
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Mon, 6 Oct 2008 20:25:46 +0000 (20:25 +0000)]
Reviewed by Sam Weinig.
- separate GDI text drawing into its own function
* platform/graphics/win/FontCGWin.cpp:
(WebCore::drawGDIGlyphs):
(WebCore::Font::drawGlyphs):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37341
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Mon, 6 Oct 2008 20:13:52 +0000 (20:13 +0000)]
2008-10-06 David Hyatt <hyatt@apple.com>
Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
views created except for the outermost WebView.
Reviewed by Tim Hatcher
* WebView/WebView.mm:
* WebView/WebViewInternal.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37340
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Mon, 6 Oct 2008 20:02:07 +0000 (20:02 +0000)]
2008-10-06 Anders Carlsson <andersca@apple.com>
Reviewed by David Hyatt.
Convert more methods over to C++.
* Plugins/WebBaseNetscapePluginStream.h:
* Plugins/WebBaseNetscapePluginStream.mm:
(WebNetscapePluginStream::reasonForError):
(WebNetscapePluginStream::destroyStreamWithReason):
(WebNetscapePluginStream::cancelLoadWithError):
(-[WebBaseNetscapePluginStream cancelLoadWithError:]):
(WebNetscapePluginStream::destroyStreamWithError):
(-[WebBaseNetscapePluginStream destroyStreamWithError:]):
(-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
(-[WebBaseNetscapePluginStream _deliverDataToFile:]):
(-[WebBaseNetscapePluginStream finishedLoading]):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37339
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Mon, 6 Oct 2008 19:55:09 +0000 (19:55 +0000)]
<rdar://problem/
6249833> Fix default button appearance
Reviewed by Adele Peterson.
* rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::supportsFocus):
(WebCore::RenderThemeWin::determineClassicState):
(WebCore::RenderThemeWin::determineButtonState):
(WebCore::RenderThemeWin::getClassicThemeData):
(WebCore::RenderThemeWin::getThemeData):
(WebCore::drawControl):
* rendering/RenderThemeWin.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37338
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 18:31:07 +0000 (18:31 +0000)]
JavaScriptCore:
2008-10-06 Maciej Stachowiak <mjs@apple.com>
Not reviewed. Build fix.
- revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
* API/JSValueRef.cpp:
(JSValueToBoolean):
* ChangeLog:
* JavaScriptCore.exp:
* VM/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* VM/Machine.cpp:
(JSC::Machine::privateExecute):
(JSC::Machine::cti_op_loop_if_true):
(JSC::Machine::cti_op_not):
(JSC::Machine::cti_op_jtrue):
* kjs/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncSome):
* kjs/BooleanConstructor.cpp:
(JSC::constructBoolean):
(JSC::callBooleanConstructor):
* kjs/GetterSetter.h:
* kjs/JSCell.h:
(JSC::JSValue::toBoolean):
* kjs/JSNumberCell.cpp:
(JSC::JSNumberCell::toBoolean):
* kjs/JSNumberCell.h:
* kjs/JSObject.cpp:
(JSC::JSObject::toBoolean):
* kjs/JSObject.h:
* kjs/JSString.cpp:
(JSC::JSString::toBoolean):
* kjs/JSString.h:
* kjs/JSValue.h:
* kjs/RegExpConstructor.cpp:
(JSC::setRegExpConstructorMultiline):
* kjs/RegExpObject.cpp:
(JSC::RegExpObject::match):
* kjs/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
JavaScriptGlue:
2008-10-06 Maciej Stachowiak <mjs@apple.com>
Not reviewed. Build fix.
- revert toBoolean changes (r37333 and r37335); need to make WebCore work with these
* JSUtils.cpp:
(KJSValueToCFTypeInternal):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37337
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 18:19:20 +0000 (18:19 +0000)]
2008-10-06 Maciej Stachowiak <mjs@apple.com>
Not reviewed.
- fix build; toBoolean no longer takes an ExecState
* JSUtils.cpp:
(KJSValueToCFTypeInternal):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37336
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Mon, 6 Oct 2008 18:11:31 +0000 (18:11 +0000)]
2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Add native virtual keycode to PlatformKeyboardEvent
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Mon, 6 Oct 2008 17:51:39 +0000 (17:51 +0000)]
2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37334
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 17:50:08 +0000 (17:50 +0000)]
2008-10-06 Maciej Stachowiak <mjs@apple.com>
Reviewed by Sam Weinig.
- optimize op_jtrue, op_loop_if_true and op_not in various ways
https://bugs.webkit.org/show_bug.cgi?id=21404
1) Make JSValue::toBoolean nonvirtual and completely inline by
making use of the StructureID type field.
2) Make JSValue::toBoolean not take an ExecState; doesn't need it.
3) Make op_not, op_loop_if_true and op_jtrue not read the
ExecState (toBoolean doesn't need it any more) and not check
exceptions (toBoolean can't throw).
* API/JSValueRef.cpp:
(JSValueToBoolean):
* JavaScriptCore.exp:
* VM/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* VM/Machine.cpp:
(JSC::Machine::privateExecute):
(JSC::Machine::cti_op_loop_if_true):
(JSC::Machine::cti_op_not):
(JSC::Machine::cti_op_jtrue):
* kjs/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncSome):
* kjs/BooleanConstructor.cpp:
(JSC::constructBoolean):
(JSC::callBooleanConstructor):
* kjs/GetterSetter.h:
* kjs/JSCell.h:
(JSC::JSValue::toBoolean):
* kjs/JSNumberCell.cpp:
* kjs/JSNumberCell.h:
(JSC::JSNumberCell::toBoolean):
* kjs/JSObject.cpp:
* kjs/JSObject.h:
(JSC::JSObject::toBoolean):
(JSC::JSCell::toBoolean):
* kjs/JSString.cpp:
* kjs/JSString.h:
(JSC::JSString::toBoolean):
* kjs/JSValue.h:
* kjs/RegExpConstructor.cpp:
(JSC::setRegExpConstructorMultiline):
* kjs/RegExpObject.cpp:
(JSC::RegExpObject::match):
* kjs/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37333
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
vestbo@webkit.org [Mon, 6 Oct 2008 17:46:52 +0000 (17:46 +0000)]
2008-10-06 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Use bundles on QtWebKit/Mac for platform modules
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37332
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Mon, 6 Oct 2008 17:00:48 +0000 (17:00 +0000)]
2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
Reviewed by Simon.
Build fix for MinGW.
* platform/win/SystemTimeWin.cpp:
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::invalidateRect):
2008-10-06 Ariya Hidayat <ariya.hidayat@trolltech.com>
Reviewed by Simon.
Build fix for MinGW.
* JavaScriptCore.pri:
* kjs/DateMath.cpp:
(JSC::highResUpTime):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37331
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 6 Oct 2008 15:44:16 +0000 (15:44 +0000)]
Mimic the inspector/ directory structure in WebCore.vcproj
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37330
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 6 Oct 2008 15:39:39 +0000 (15:39 +0000)]
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Update the Include path for all
configurations to include WebCore/inspector.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37329
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 6 Oct 2008 08:23:37 +0000 (08:23 +0000)]
Reviewed by Darin Adler.
SVG should support ascent and descent properties <font-face> instead of <font>!
https://bugs.webkit.org/show_bug.cgi?id=21365
Tested by many many existing SVG tests.
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::ascent):
(WebCore::SVGFontFaceElement::descent):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37328
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 06:44:03 +0000 (06:44 +0000)]
2008-10-05 Darin Fisher <darin@chromium.org>
Reviewed by Eric Seidel.
REGRESSION: crash in ScriptElement::notifyFinished
Fixes https://bugs.webkit.org/show_bug.cgi?id=21329
* dom/ScriptElement.cpp:
(WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to
ensure that the ScriptElementData object is not destroyed prematurely.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37327
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Mon, 6 Oct 2008 06:33:06 +0000 (06:33 +0000)]
2008-10-05 Cameron Zwarich <zwarich@apple.com>
Reviewed by Oliver Hunt.
Remove ScopeNode::containsClosures() now that it is unused.
* kjs/nodes.h:
(JSC::ScopeNode::containsClosures):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37326
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 06:05:19 +0000 (06:05 +0000)]
2008-10-05 Maciej Stachowiak <mjs@apple.com>
Reviewed by Cameron Zwarich.
- fix releas-only test failures caused by the fix to bug 21375
* VM/Machine.cpp:
(JSC::Machine::unwindCallFrame): Update ExecState while unwinding call frames;
it now matters more to have a still-valid ExecState, since dynamicGlobalObject
will make use of the ExecState's scope chain.
* VM/Machine.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37325
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Mon, 6 Oct 2008 06:00:58 +0000 (06:00 +0000)]
2008-10-05 Cameron Zwarich <zwarich@apple.com>
Reviewed by Oliver Hunt.
Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>
Use information from the parser to detect whether an activation is
needed or 'arguments' is used, and emit explicit instructions to tear
them off before op_ret. This allows a branch to be removed from op_ret
and simplifies some other code. This does cause a small change in the
behaviour of 'f.arguments'; it is no longer live when 'arguments' is not
mentioned in the lexical scope of the function.
It should now be easy to remove the OptionaCalleeActivation slot in the
call frame, but this will be done in a later patch.
JavaScriptCore:
* VM/CTI.cpp:
(JSC::CTI::privateCompileMainPass):
* VM/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* VM/CodeGenerator.cpp:
(JSC::CodeGenerator::emitReturn):
* VM/CodeGenerator.h:
* VM/Machine.cpp:
(JSC::Machine::unwindCallFrame):
(JSC::Machine::privateExecute):
(JSC::Machine::retrieveArguments):
(JSC::Machine::cti_op_create_arguments):
(JSC::Machine::cti_op_tear_off_activation):
(JSC::Machine::cti_op_tear_off_arguments):
* VM/Machine.h:
* VM/Opcode.h:
* kjs/Arguments.cpp:
(JSC::Arguments::mark):
* kjs/Arguments.h:
(JSC::Arguments::isTornOff):
(JSC::Arguments::Arguments):
(JSC::Arguments::copyRegisters):
(JSC::JSActivation::copyRegisters):
* kjs/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* kjs/JSActivation.h:
LayoutTests:
* fast/js/function-dot-arguments-expected.txt:
* fast/js/resources/function-dot-arguments.js:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37324
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Mon, 6 Oct 2008 02:48:08 +0000 (02:48 +0000)]
2008-10-05 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver Hunt.
- fixed "REGRESSION (r37297): fast/js/deep-recursion-test takes too long and times out"
https://bugs.webkit.org/show_bug.cgi?id=21375
The problem is that dynamicGlobalObject had become O(N) in number
of call frames, but unwinding the stack for an exception called it
for every call frame, resulting in O(N^2) behavior for an
exception thrown from inside deep recursion.
Instead of doing it that way, stash the dynamic global object in JSGlobalData.
* JavaScriptCore.exp:
* VM/Machine.cpp:
(JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope): Helper class to temporarily
store and later restore a dynamicGlobalObject in JSGlobalData.
(JSC::DynamicGlobalObjectScope::~DynamicGlobalObjectScope):
(JSC::Machine::execute): In each version, establish a DynamicGlobalObjectScope.
For ProgramNode, always establish set new dynamicGlobalObject, for FunctionBody and Eval,
only if none is currently set.
* VM/Machine.h:
* kjs/ExecState.h:
* kjs/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData): Ininitalize new dynamicGlobalObject field to 0.
* kjs/JSGlobalData.h:
* kjs/JSGlobalObject.h:
(JSC::ExecState::dynamicGlobalObject): Moved here from ExecState for benefit of inlining.
Return lexical global object if this is a globalExec(), otherwise look in JSGlobalData
for the one stashed there.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37323
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Mon, 6 Oct 2008 01:43:07 +0000 (01:43 +0000)]
2008-10-05 Chris Lord <chris@openedhand.com>
Reviewed by Alp Toker. Landed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=20624
WebKit-gtk uses deprecated GtkType/GtkObject
* plugins/gtk/gtk2xtbin.c:
(gtk_xtbin_get_type):
* plugins/gtk/gtk2xtbin.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37322
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 6 Oct 2008 00:58:42 +0000 (00:58 +0000)]
2008-10-05 Sam Weinig <sam@webkit.org>
Reviewed by Maciej Stachowiak.
Avoid an extra lookup when transitioning to an existing StructureID
by caching the offset of property that caused the transition.
1% win on V8 suite. Wash on SunSpider.
* kjs/PropertyMap.cpp:
(JSC::PropertyMap::put):
* kjs/PropertyMap.h:
* kjs/StructureID.cpp:
(JSC::StructureID::StructureID):
(JSC::StructureID::addPropertyTransition):
* kjs/StructureID.h:
(JSC::StructureID::setCachedTransistionOffset):
(JSC::StructureID::cachedTransistionOffset):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37321
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Sun, 5 Oct 2008 22:47:24 +0000 (22:47 +0000)]
2008-10-05 Cameron Zwarich <zwarich@apple.com>
Reviewed by Maciej Stachowiak.
Bug 21364: Remove the branch in op_ret for OptionalCalleeActivation and OptionalCalleeArguments
<https://bugs.webkit.org/show_bug.cgi?id=21364>
This patch does not yet remove the branch, but it does a bit of refactoring
so that a CodeGenerator now knows whether the associated CodeBlock will need
a full scope before doing any code generation. This makes it possible to emit
explicit tear-off instructions before every op_ret.
* VM/CodeBlock.h:
(JSC::CodeBlock::CodeBlock):
* VM/CodeGenerator.cpp:
(JSC::CodeGenerator::generate):
(JSC::CodeGenerator::CodeGenerator):
(JSC::CodeGenerator::emitPushScope):
(JSC::CodeGenerator::emitPushNewScope):
* kjs/nodes.h:
(JSC::ScopeNode::needsActivation):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37320
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Sun, 5 Oct 2008 21:57:05 +0000 (21:57 +0000)]
2008-10-05 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
Reviewed by David Hyatt.
GTK_WINDOW_HWND not GTK_WINDOWING_HWND
https://bugs.webkit.org/show_bug.cgi?id=20725
Updated to ToT by Jan Alonzo.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::getValue):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37319
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Sun, 5 Oct 2008 21:50:12 +0000 (21:50 +0000)]
2008-10-05 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Darin Adler.
Invalid cast from GdkWindow to GtkWidget
https://bugs.webkit.org/show_bug.cgi?id=21391
Fix a misplaced closing parenthesis to actually cast the widget, not the window
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenDepth):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37318
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
abarth@webkit.org [Sun, 5 Oct 2008 19:12:30 +0000 (19:12 +0000)]
WebCore:
2008-10-04 Adam Barth <abarth@webkit.org>
Reviewed by Darin Alder.
Attach the Origin header to POST requests to help defend against
cross-site request forgery.
https://bugs.webkit.org/show_bug.cgi?id=20792
Collin Jackson <collinj@webkit.org> also contributed to this patch.
Tests: http/tests/security/originHeader/origin-header-for-data.html
http/tests/security/originHeader/origin-header-for-empty.html
http/tests/security/originHeader/origin-header-for-get.html
http/tests/security/originHeader/origin-header-for-https.html
http/tests/security/originHeader/origin-header-for-post.html
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::createWindow):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::outgoingOrigin):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::loadResourceSynchronously):
(WebCore::FrameLoader::loadItem):
* loader/FrameLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::create):
* loader/loader.cpp:
(WebCore::Loader::Host::servePendingRequests):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::toHTTPOrigin):
* platform/SecurityOrigin.h:
* platform/network/ResourceRequestBase.h:
(WebCore::ResourceRequestBase::httpOrigin):
(WebCore::ResourceRequestBase::setHTTPOrigin):
(WebCore::ResourceRequestBase::clearHTTPOrigin):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
(WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
(WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
(WebCore::XMLHttpRequest::didReceiveResponsePreflight):
LayoutTests:
2008-10-04 Adam Barth <abarth@webkit.org>
Reviewed by Darin Adler.
Tests for the new Origin header.
https://bugs.webkit.org/show_bug.cgi?id=20792
Collin Jackson <collinj@webkit.org> also contributed to this patch.
* http/tests/security/originHeader: Added.
* http/tests/security/originHeader/origin-header-for-data-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-data.html: Added.
* http/tests/security/originHeader/origin-header-for-empty-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-empty.html: Added.
* http/tests/security/originHeader/origin-header-for-get-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-get.html: Added.
* http/tests/security/originHeader/origin-header-for-https-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-https.html: Added.
* http/tests/security/originHeader/origin-header-for-post-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-post.html: Added.
* http/tests/security/originHeader/origin-header-for-xmlhttprequest-expected.txt: Added.
* http/tests/security/originHeader/origin-header-for-xmlhttprequest.html: Added.
* http/tests/security/originHeader/resources: Added.
* http/tests/security/originHeader/resources/origin-header-post-to-http.html: Added.
* http/tests/security/originHeader/resources/print-origin.cgi: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37317
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
barraclough@apple.com [Sun, 5 Oct 2008 17:38:32 +0000 (17:38 +0000)]
2008-10-05 Gavin Barraclough <barraclough@apple.com>
Reviewed by Cameron Zwarich.
Fix for bug #21387 - using SamplingTool with CTI.
(1) A repatch offset offset changes due to an additional instruction to update SamplingTool state.
(2) Fix an incusion order problem due to ExecState changes.
(3) Change to a MACHINE_SAMPLING macro, use of exec should now be accessing global data.
* VM/CTI.h:
(JSC::CTI::execute):
* VM/SamplingTool.h:
(JSC::SamplingTool::privateExecuteReturned):
* kjs/Shell.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37316
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sun, 5 Oct 2008 08:28:51 +0000 (08:28 +0000)]
Bug 21381: Incremental parsing of html causes bogus line numbers in some cases
<https://bugs.webkit.org/show_bug.cgi?id=21381>
Reviewed by Tim Hatcher.
If we hit a parsing boundary (end of a packet, etc) in the middle of a
<script> element when we are doing an incremental parse, we exit the
parser, and reenter later when more data is available. During this
reentry we incorrectly reset the scriptStartLineno to the current line
in the parser, which is now part way through the script element.
The solution is to track whether we are entering or reentering the parsing
of a script element. We do this simply by 0 checking scriptStartLineno,
and resetting it after we complete parsing of each script element.
Test: http/tests/incremental/pause-in-script-element.pl
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37315
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jmalonzo@webkit.org [Sun, 5 Oct 2008 06:13:28 +0000 (06:13 +0000)]
2008-10-04 Alp Toker <alp@nuanti.com>
Reviewed by David Hyatt. Landed by Jan Alonzo.
https://bugs.webkit.org/show_bug.cgi?id=20924
[Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3
https://bugs.webkit.org/show_bug.cgi?id=19578
[CURL] problem in parseDataUrl
De-obfuscate parseDataUrl() and fix regressions introduced in r35954.
This patch also fixes encoding support in escaped (non-Base64) data
URLs. All manual data URL tests now pass in both GLib and non-GLib
code paths.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::parseDataUrl):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37314
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy@apple.com [Sun, 5 Oct 2008 04:12:40 +0000 (04:12 +0000)]
Makes breakpoints and debugging code during page load work in the
Web Inspector's debugger. Specifically, this makes the source
code for loading resources show up in the Scripts panel.
https://bugs.webkit.org/show_bug.cgi?id=19053
rdar://problem/
5933408
Reviewed by Mark Rowe.
* WebCore.xcodeproj/project.pbxproj: Mark the inspector group as
not using tabs and a tab width of 8.
* inspector/InspectorController.cpp:
(WebCore::addResourceSourceToFrame): Return a bool to report if the
source was added successfully or not.
(WebCore::addSourceToFrame): Ditto.
* inspector/front-end/ScriptView.js:
(WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
Return early if the InspectorController.addSourceToFrame fails.
Moved the delete of the _frameNeedsSetup property after that call so
if the source wasn't added it will be attempted again.
* inspector/front-end/SourceView.js:
(WebInspector.SourceView.prototype.detach): Move a comment.
(WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
Don't check if the resource is finished or failed, just attempt
to add the source to the frame. WebCore has the source, but the
finished property hasn't been set yet. Return early if the
InspectorController.addSourceToFrame fails. Moved the delete
of the _frameNeedsSetup property after that call so if the source
wasn't added it will be attempted again.
(WebInspector.SourceView.prototype._resourceLoadingFinished):
Clear the _frameNeedsSetup and _sourceFrameSetup properties so
the source frame will we populated again now that the resource
load has finished.
* manual-tests/inspector/debugger-pause-during-load.html: Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37313
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sun, 5 Oct 2008 03:04:18 +0000 (03:04 +0000)]
Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible.
Reviewed by Tim Hatcher.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37312
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sun, 5 Oct 2008 03:04:11 +0000 (03:04 +0000)]
Update check-for-weak-vtables to check only the final linked image for weak vtables.
This gives more useful results than checking each object file independently.
Reviewed by Tim Hatcher.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37311
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sun, 5 Oct 2008 02:55:58 +0000 (02:55 +0000)]
Fix Qt build bustage.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37310
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sun, 5 Oct 2008 02:21:53 +0000 (02:21 +0000)]
Upgrade to WordPress 2.6.2.
* blog:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37309
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sun, 5 Oct 2008 01:04:17 +0000 (01:04 +0000)]
Fix build bustage I just introduced.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37307
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sun, 5 Oct 2008 00:55:01 +0000 (00:55 +0000)]
2008-10-04 David Hyatt <hyatt@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=21373
Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow()
is still present.
Reviewed by Mark Rowe
* page/FrameView.cpp:
(WebCore::FrameView::~FrameView):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37306
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 4 Oct 2008 23:33:17 +0000 (23:33 +0000)]
Fix Qt bustage.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37303
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 4 Oct 2008 23:15:55 +0000 (23:15 +0000)]
Fix Qt bustage.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37302
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 4 Oct 2008 22:52:19 +0000 (22:52 +0000)]
2008-10-04 Sam Weinig <sam@webkit.org>
Reviewed by Dan Bernstein.
Avoid copying a Vector when using getSupportedKeySizes.
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
* platform/SSLKeyGenerator.h:
* platform/gtk/TemporaryLinkStubs.cpp:
(WebCore::getSupportedKeySizes):
* platform/mac/SSLKeyGeneratorMac.mm:
(WebCore::getSupportedKeySizes):
* platform/qt/TemporaryLinkStubs.cpp:
(WebCore::getSupportedKeySizes):
* platform/win/TemporaryLinkStubs.cpp:
(WebCore::getSupportedKeySizes):
* platform/wx/TemporaryLinkStubs.cpp:
(WebCore::getSupportedKeySizes):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37301
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 4 Oct 2008 21:57:26 +0000 (21:57 +0000)]
2008-10-04 Sam Weinig <sam@webkit.org>
Reviewed by Oliver Hunt.
Fix https://bugs.webkit.org/show_bug.cgi?id=21320
leaks of PropertyNameArrayData seen on buildbot
- Fix RefPtr cycle by making PropertyNameArrayData's pointer back
to the StructureID a weak pointer.
* kjs/PropertyNameArray.h:
(JSC::PropertyNameArrayData::setCachedStructureID):
(JSC::PropertyNameArrayData::cachedStructureID):
* kjs/StructureID.cpp:
(JSC::StructureID::getEnumerablePropertyNames):
(JSC::StructureID::clearEnumerationCache):
(JSC::StructureID::~StructureID):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37300
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 4 Oct 2008 21:56:06 +0000 (21:56 +0000)]
Speculative fix for Qt bustage from inspector directory move.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37299
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 4 Oct 2008 21:53:05 +0000 (21:53 +0000)]
Fix build bustage from the inspector directory move on Windows.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37298
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 4 Oct 2008 21:12:54 +0000 (21:12 +0000)]
JavaScriptCore:
2008-10-04 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=21295
Bug 21295: Replace ExecState with a call frame Register pointer
10% faster on Richards; other v8 benchmarks faster too.
A wash on SunSpider.
This does the minimum necessary to get the speedup. Next step in
cleaning this up is to replace ExecState with a CallFrame class,
and be more judicious about when to pass a call frame and when
to pass a global data pointer, global object pointer, or perhaps
something else entirely.
* VM/CTI.cpp: Remove the debug-only check of the exception in
ctiVMThrowTrampoline -- already checked in the code the trampoline
jumps to, so not all that useful. Removed the exec argument from
ctiTrampoline. Removed emitDebugExceptionCheck -- no longer needed.
(JSC::CTI::emitCall): Removed code to set ExecState::m_callFrame.
(JSC::CTI::privateCompileMainPass): Removed code in catch to extract
the exception from ExecState::m_exception; instead, the code that
jumps into catch will make sure the exception is already in eax.
* VM/CTI.h: Removed exec from the ctiTrampoline. Also removed the
non-helpful "volatile". Temporarily left ARG_exec in as a synonym
for ARG_r; I'll change that on a future cleanup pass when introducing
more use of the CallFrame type.
(JSC::CTI::execute): Removed the ExecState* argument.
* VM/ExceptionHelpers.cpp:
(JSC::InterruptedExecutionError::InterruptedExecutionError): Take
JSGlobalData* instead of ExecState*.
(JSC::createInterruptedExecutionException): Ditto.
* VM/ExceptionHelpers.h: Ditto. Also removed an unneeded include.
* VM/Machine.cpp:
(JSC::slideRegisterWindowForCall): Removed the exec and
exceptionValue arguments. Changed to return 0 when there's a stack
overflow rather than using a separate exception argument to cut
down on memory accesses in the calling convention.
(JSC::Machine::unwindCallFrame): Removed the exec argument when
constructing a DebuggerCallFrame. Also removed code to set
ExecState::m_callFrame.
(JSC::Machine::throwException): Removed the exec argument when
construction a DebuggerCallFrame.
(JSC::Machine::execute): Updated to use the register instead of
ExecState and also removed various uses of ExecState.
(JSC::Machine::debug):
(JSC::Machine::privateExecute): Put globalData into a local
variable so it can be used throughout the interpreter. Changed
the VM_CHECK_EXCEPTION to get the exception in globalData instead
of through ExecState.
(JSC::Machine::retrieveLastCaller): Turn exec into a registers
pointer by calling registers() instead of by getting m_callFrame.
(JSC::Machine::callFrame): Ditto.
Tweaked exception macros. Made new versions for when you know
you have an exception. Get at global exception with ARG_globalData.
Got rid of the need to pass in the return value type.
(JSC::Machine::cti_op_add): Update to use new version of exception
macros.
(JSC::Machine::cti_op_pre_inc): Ditto.
(JSC::Machine::cti_timeout_check): Ditto.
(JSC::Machine::cti_op_instanceof): Ditto.
(JSC::Machine::cti_op_new_func): Ditto.
(JSC::Machine::cti_op_call_JSFunction): Optimized by using the
ARG values directly instead of through local variables -- this gets
rid of code that just shuffles things around in the stack frame.
Also get rid of ExecState and update for the new way exceptions are
handled in slideRegisterWindowForCall.
(JSC::Machine::cti_vm_compile): Update to make exec out of r since
they are both the same thing now.
(JSC::Machine::cti_op_call_NotJSFunction): Ditto.
(JSC::Machine::cti_op_init_arguments): Ditto.
(JSC::Machine::cti_op_resolve): Ditto.
(JSC::Machine::cti_op_construct_JSConstruct): Ditto.
(JSC::Machine::cti_op_construct_NotJSConstruct): Ditto.
(JSC::Machine::cti_op_resolve_func): Ditto.
(JSC::Machine::cti_op_put_by_val): Ditto.
(JSC::Machine::cti_op_put_by_val_array): Ditto.
(JSC::Machine::cti_op_resolve_skip): Ditto.
(JSC::Machine::cti_op_resolve_global): Ditto.
(JSC::Machine::cti_op_post_inc): Ditto.
(JSC::Machine::cti_op_resolve_with_base): Ditto.
(JSC::Machine::cti_op_post_dec): Ditto.
(JSC::Machine::cti_op_call_eval): Ditto.
(JSC::Machine::cti_op_throw): Ditto. Also rearranged to return
the exception value as the return value so it can be used by
op_catch.
(JSC::Machine::cti_op_push_scope): Ditto.
(JSC::Machine::cti_op_in): Ditto.
(JSC::Machine::cti_op_del_by_val): Ditto.
(JSC::Machine::cti_vm_throw): Ditto. Also rearranged to return
the exception value as the return value so it can be used by
op_catch.
* kjs/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName): Pass globalData.
(JSC::DebuggerCallFrame::evaluate): Eliminated code to make a
new ExecState.
* kjs/DebuggerCallFrame.h: Removed ExecState argument from
constructor.
* kjs/ExecState.h: Eliminated all data members and made ExecState
inherit privately from Register instead. Also added a typedef to
the future name for this class, which is CallFrame. It's just a
Register* that knows it's a pointer at a call frame. The new class
can't be constructed or copied. Changed all functions to use
the this pointer instead of m_callFrame. Changed exception-related
functions to access an exception in JSGlobalData. Removed functions
used by CTI to pass the return address to the throw machinery --
this is now done directly with a global in the global data.
* kjs/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString): Pass globalData instead of exec.
* kjs/InternalFunction.cpp:
(JSC::InternalFunction::name): Take globalData instead of exec.
* kjs/InternalFunction.h: Ditto.
* kjs/JSGlobalData.cpp: Initialize the new exception global to 0.
* kjs/JSGlobalData.h: Declare two new globals. One for the current
exception and another for the return address used by CTI to
implement the throw operation.
* kjs/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Removed code to set up globalExec,
which is now the same thing as globalCallFrame.
(JSC::JSGlobalObject::reset): Get globalExec from our globalExec
function so we don't have to repeat the logic twice.
(JSC::JSGlobalObject::mark): Removed code to mark the exception;
the exception is now stored in JSGlobalData and marked there.
(JSC::JSGlobalObject::globalExec): Return a pointer to the end
of the global call frame.
* kjs/JSGlobalObject.h: Removed the globalExec data member.
* kjs/JSObject.cpp:
(JSC::JSObject::putDirectFunction): Pass globalData instead of exec.
* kjs/collector.cpp:
(JSC::Heap::collect): Mark the global exception.
* profiler/ProfileGenerator.cpp:
(JSC::ProfileGenerator::addParentForConsoleStart): Pass globalData
instead of exec to createCallIdentifier.
* profiler/Profiler.cpp:
(JSC::Profiler::willExecute): Pass globalData instead of exec to
createCallIdentifier.
(JSC::Profiler::didExecute): Ditto.
(JSC::Profiler::createCallIdentifier): Take globalData instead of
exec.
(JSC::createCallIdentifierFromFunctionImp): Ditto.
* profiler/Profiler.h: Change interface to take a JSGlobalData
instead of an ExecState.
WebKit/mac:
2008-10-04 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- https://bugs.webkit.org/show_bug.cgi?id=21295
Bug 21295: Replace ExecState with a call frame Register pointer
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37297
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 4 Oct 2008 21:10:00 +0000 (21:10 +0000)]
2008-10-04 Darin Adler <darin@apple.com>
Reviewed by Cameron Zwarich.
- prepare for https://bugs.webkit.org/show_bug.cgi?id=21295
Bug 21295: Replace ExecState with a call frame Register pointer
* bindings/js/JSQuarantinedObjectWrapper.cpp:
(WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom):
Remove bogus "const".
* bindings/js/JSQuarantinedObjectWrapper.h: Ditto.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Sat, 4 Oct 2008 21:03:11 +0000 (21:03 +0000)]
2008-10-04 David Hyatt <hyatt@apple.com>
Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle.
Reviewed by Darin Adler
* WebCore.xcodeproj/project.pbxproj:
* platform/PopupMenuClient.h:
* platform/gtk/PopupMenuGtk.cpp:
(WebCore::PopupMenu::show):
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenu::populate):
(WebCore::PopupMenu::show):
* platform/qt/PopupMenuQt.cpp:
(WebCore::PopupMenu::populate):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenu::calculatePositionAndSize):
(WebCore::PopupMenu::paint):
(WebCore::PopupWndProc):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::itemStyle):
(WebCore::RenderMenuList::menuStyle):
(WebCore::RenderMenuList::hostWindow):
* rendering/RenderMenuList.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::itemStyle):
(WebCore::RenderTextControl::menuStyle):
(WebCore::RenderTextControl::hostWindow):
* rendering/RenderTextControl.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37295
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cwzwarich@webkit.org [Sat, 4 Oct 2008 20:32:21 +0000 (20:32 +0000)]
2008-10-04 Cameron Zwarich <zwarich@apple.com>
Reviewed by Darin Adler.
Bug 21369: Add opcode documentation for all undocumented opcodes
<https://bugs.webkit.org/show_bug.cgi?id=21369>
This patch adds opcode documentation for all undocumented opcodes, and
it also renames op_init_arguments to op_create_arguments.
* VM/CTI.cpp:
(JSC::CTI::privateCompileMainPass):
* VM/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* VM/CodeGenerator.cpp:
(JSC::CodeGenerator::CodeGenerator):
* VM/Machine.cpp:
(JSC::Machine::privateExecute):
(JSC::Machine::cti_op_create_arguments):
* VM/Machine.h:
* VM/Opcode.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37294
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Sat, 4 Oct 2008 18:41:03 +0000 (18:41 +0000)]
2008-10-04 Matt Lilek <webkit@mattlilek.com>
Build fix - restore Private role to headers that had it before the move.
* WebCore.xcodeproj/project.pbxproj:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37293
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 4 Oct 2008 18:37:22 +0000 (18:37 +0000)]
Fix ChangeLog.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37292
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sat, 4 Oct 2008 18:37:11 +0000 (18:37 +0000)]
2008-10-04 Darin Adler <darin@apple.com>
- try to fix build
* DerivedSources.make: Add new inspector directory to VPATH.
* GNUmakefile.am:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@37291
268f45cc-cd09-0410-ab3c-
d52691b4dbfc