Timeline
May 10, 2008:
- 7:28 PM Changeset in webkit [33030] by
-
- 3 edits in trunk/WebCore
Reviewed by Jessica Kahn.
- add a copy assignment operator to FontPlatformData on Mac to properly retain the m_font data member.
- platform/graphics/mac/FontPlatformData.h:
- platform/graphics/mac/FontPlatformDataMac.mm: (WebCore::FontPlatformData::FontPlatformData): (WebCore::~FontPlatformData): (WebCore::FontPlatformData::operator=): (WebCore::FontPlatformData::setFont):
- 3:01 PM Changeset in webkit [33029] by
-
- 2 edits in trunk/WebCore
2008-05-10 Adele Peterson <adele@apple.com>
Reviewed by Tim Hatcher.
Fix crash for WebKit clients that don't set a group name for the WebView/Page.
- page/PageGroup.cpp: (WebCore::PageGroup::PageGroup): Instead of adding the Page directly to the group, call the addPage method, since it does extra work initializing m_localStorage.
- 2:18 PM Changeset in webkit [33028] by
-
- 1 edit1 add in branches/squirrelfish/WebCore
2008-05-10 Maciej Stachowiak <mjs@apple.com>
Build fix.
- add missing forwarding header
- ForwardingHeaders/kjs/SourceProvider.h: Added.
- 1:36 PM Changeset in webkit [33027] by
-
- 38 edits3 adds in branches/squirrelfish
2008-05-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- JavaScriptCore part of fix for: "SQUIRRELFISH: function toString broken after calling" https://bugs.webkit.org/show_bug.cgi?id=18869
Three layout tests are fixed:
fast/js/toString-elision-trailing-comma.html
fast/js/toString-prefix-postfix-preserve-parens.html
fast/js/kde/lval-exceptions.html
Functions now save a shared subrange of the original source used
to make them (so in the common case this adds no storage above the
memory cache).
- kjs/SourceProvider.h: Added. (KJS::SourceProvider): New abstract base class for classes that provide on-demand access to the source for a JavaScript program. This allows function objects to have access to their original source without copying. (KJS::UStringSourceProvider): SourceProvider subclass backed by a KJS::UString. (KJS::UStringSourceProvider::create): (KJS::UStringSourceProvider::getRange): (KJS::UStringSourceProvider::data): (KJS::UStringSourceProvider::length): (KJS::UStringSourceProvider::UStringSourceProvider):
- kjs/SourceRange.h: Added. (KJS::SourceRange::SourceRange): Class that holds a SourceProvider and a character range into the source, to encapsulate on-demand access to the source of a function. (KJS::SourceRange::toString):
- VM/Machine.cpp: (KJS::eval): Pass a UStringSourceProvider to the parser.
- kjs/Parser.cpp: (KJS::Parser::parse): Take a SourceProvider and pass it on to the lexer.
- kjs/Parser.h: (KJS::Parser::parse): Take a SourceProvider.
- kjs/lexer.cpp: (KJS::Lexer::setCode): Take a SourceProvider; keep it around, and use it to get the raw buffer and length.
- kjs/lexer.h: (KJS::Lexer::sourceRange): Convenience function to get a source range based on the lexer's source provieder, and char offsets right before and after the desired range.
- kjs/function.cpp: (KJS::globalFuncEval): Pass a UStringSourceProvider to the parser.
- kjs/function_object.cpp: (KJS::functionProtoFuncToString): Use toSourceString to get the source. (KJS::FunctionObjectImp::construct): Give the parser a UStringSourceProvider.
- kjs/grammar.y: When parsing a function declaration, function expression, or getter or setter, tell the function body about its SourceRange.
- kjs/interpreter.cpp: (KJS::Interpreter::checkSyntax): Pass a SourceProvider to the parser. (KJS::Interpreter::evaluate): Pass a SourceProvider to the parser.
- kjs/interpreter.h:
- kjs/nodes.h: (KJS::FunctionBodyNode::setSource): Establish a SourceRange for this function. (KJS::FunctionBodyNode::toSourceString): Get the source string out of the SourceRange. (KJS::FuncExprNode::): Take a SourceRange and set it on the body. (KJS::FuncDeclNode::): ditto
- kjs/testkjs.cpp: (prettyPrintScript): Use a SourceProvider appropriately.
- JavaScriptCore.exp: Export new symbols.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Add new files.
- JavaScriptCore.xcodeproj/project.pbxproj: Add new files.
JavaScriptGlue:
2008-05-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling" https://bugs.webkit.org/show_bug.cgi?id=18869
- JSRun.cpp: (JSRun::Evaluate): Use UString version of eveluate() instead of the now departed UChar*/length variant; use of the lower-level version was gratuitous in any case. (JSRun::CheckSyntax): Ditto for checkSyntax().
WebCore:
2008-05-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- JavaScriptGlue part of fix for: "SQUIRRELFISH: function toString broken after calling" https://bugs.webkit.org/show_bug.cgi?id=18869
- bindings/js/StringSourceProvider.h: Added. SourceProvider subclass backed by a WebCore::String. (WebCore::StringSourceProvider::create): (WebCore::StringSourceProvider::getRange): (WebCore::StringSourceProvider::data): (WebCore::StringSourceProvider::length): (WebCore::StringSourceProvider::StringSourceProvider):
- bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate): Pass a StringSourceProvider to evaluate() instead of UChar* / length.
- html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::text): Modified to return the original string as-is when the script element contains only a single text node, to avoid excess memory use.
- WebCore.vcproj/WebCore.vcproj: Add new file to build.
- WebCore.xcodeproj/project.pbxproj: ditto
LayoutTests:
2008-05-10 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- test changes for: "SQUIRRELFISH: function toString broken after calling" https://bugs.webkit.org/show_bug.cgi?id=18869
All of these tests expected function.toString to somewhat change
things from the raw original source. They are now prepared for the
fact that this does not happen.
- fast/js/function-decompilation-operators.html:
- fast/js/function-names-expected.txt:
- fast/js/function-prototype-expected.txt:
- fast/js/function-prototype.html:
- fast/js/function-toString-object-literals-expected.txt:
- fast/js/function-toString-parentheses-expected.txt:
- fast/js/kde/lval-exceptions-expected.txt:
- fast/js/modify-non-references-expected.txt:
- fast/js/resources/function-names.js:
- fast/js/resources/function-toString-object-literals.js:
- fast/js/resources/function-toString-parentheses.js:
- fast/js/resources/modify-non-references.js:
- fast/js/resources/toString-prefix-postfix-preserve-parens.js:
- fast/js/toString-prefix-postfix-preserve-parens-expected.txt:
- 6:09 AM Changeset in webkit [33026] by
-
- 3 edits in trunk/JavaScriptCore
2008-05-10 Julien Chaffraix <jchaffraix@webkit.org>
Qt & wx build fix.
- JavaScriptCore.pri: Add profiler/Profile.cpp.
- JavaScriptCoreSources.bkl: Ditto.
- 2:43 AM Changeset in webkit [33025] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Maciej.
Gtk+ build fix
- 1:15 AM Changeset in webkit [33024] by
-
- 6 edits in branches/squirrelfish/JavaScriptCore
Bring back RegisterFile tainting in order to correctly handle
natively implemented getters and setters that re-enter JavaScript
Reviewed by Maciej
May 9, 2008:
- 9:44 PM Changeset in webkit [33023] by
-
- 3 edits2 adds in trunk
WebCore:
2008-05-09 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Fix for https://bugs.webkit.org/show_bug.cgi?id=18958
NULL pointer dereference in NamedAttrMap::setNamedItem
Test: fast/dom/NamedNodeMap-setNamedItem-crash.html
- dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::setNamedItem): Null check the argument.
LayoutTests:
2008-05-09 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Test for https://bugs.webkit.org/show_bug.cgi?id=18958
NULL pointer dereference in NamedAttrMap::setNamedItem
- fast/dom/NamedNodeMap-setNamedItem-crash-expected.txt: Added.
- fast/dom/NamedNodeMap-setNamedItem-crash.html: Added.
- 8:44 PM Changeset in webkit [33022] by
-
- 8 edits1 delete in trunk/WebKit
Roll out r33018 as it broke the builds.
- 8:37 PM Changeset in webkit [33021] by
-
- 4 edits in branches/squirrelfish/JavaScriptCore
2008-05-09 Maciej Stachowiak <mjs@apple.com>
Reviewed by Oliver.
- track character offsets of open and close braces, in preparation for saving function source
I verified that there is no performance regression from this change.
- kjs/grammar.y:
- kjs/lexer.cpp: (KJS::Lexer::lex): (KJS::Lexer::matchPunctuator):
- kjs/lexer.h:
- 5:46 PM Changeset in webkit [33020] by
-
- 2 edits in trunk
2008-05-09 Anders Carlsson <andersca@apple.com>
Reviewed by Mark.
Add x86_64 rule.
- Makefile:
- 5:44 PM Changeset in webkit [33019] by
-
- 3 edits in trunk/WebKitTools
Update TestNetscapePlugIn to build 64-bit using the Cocoa event model.
It currently does not attempt to print events which means that plugins/mouse-events.html
will fail when run 64-bit. All other tests that use this plugin pass.
Reviewed by Anders Carlsson.
- DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
(testGetIntIdentifier):
- DumpRenderTree/TestNetscapePlugIn.subproj/main.cpp:
(NPP_New):
(NPP_HandleEvent):
- 5:40 PM Changeset in webkit [33018] by
-
- 8 edits1 add in trunk/WebKit
WebKit:
2008-05-09 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver.
<rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
Add nptextinput.h as a public header.
- WebKit.xcodeproj/project.pbxproj:
WebKit/mac:
2008-05-09 Anders Carlsson <andersca@apple.com>
Reviewed by Oliver.
<rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
- Plugins/WebBaseNetscapePluginView.h:
- Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView start]): Get the plug-in text input vtable pointer.
(-[WebBaseNetscapePluginView stop]):
Set the plug-in text input vtable pointer to 0.
(-[WebBaseNetscapePluginView inputContext]):
Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
(-[WebBaseNetscapePluginView hasMarkedText]):
(-[WebBaseNetscapePluginView insertText:]):
(-[WebBaseNetscapePluginView markedRange]):
(-[WebBaseNetscapePluginView selectedRange]):
(-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
(-[WebBaseNetscapePluginView unmarkText]):
(-[WebBaseNetscapePluginView validAttributesForMarkedText]):
(-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
(-[WebBaseNetscapePluginView characterIndexForPoint:]):
(-[WebBaseNetscapePluginView doCommandBySelector:]):
(-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
(-[WebBaseNetscapePluginView conversationIdentifier]):
Implement NSTextInput and call into the plug-in text input vtable.
(browserTextInputFuncs):
New method which returns the browser input vtable.
(-[WebBaseNetscapePluginView getVariable:value:]):
Support getting the browser input vtable pointer.
- Plugins/WebNetscapePluginEventHandlerCocoa.h:
- Plugins/WebNetscapePluginEventHandlerCocoa.mm: (WebNetscapePluginEventHandlerCocoa::keyDown): (WebNetscapePluginEventHandlerCocoa::sendKeyEvent): If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent, it means that the event should be passed on to the input manager.
- Plugins/npapi.mm: (NPN_MarkedTextAbandoned): (NPN_MarkedTextSelectionChanged): Add implementations of browser input method methods.
- Plugins/nptextinput.h: Added. Add file with new text input API.
- 5:26 PM Changeset in webkit [33017] by
-
- 9 edits in trunk
WebKit/win:
Reviewed by Adam Roben
Fix a hang-on-quit bug where in the DLL_PROCESS_DETACH DllMain callback, we assummed that
we could cleanly shutdown WebKit but we couldn't because any background threads have already
been uncleanly aborted at that point.
- ForEachCoClass.cpp: (shutDownWebKit): Moved from WebKitDLL to here, to be exposed via WebKit.def
- ForEachCoClass.h:
- WebKit.vcproj/WebKit.def:
- WebKit.vcproj/WebKit_debug.def:
- WebKitDLL.cpp: (DllMain): Don't call shutDownWebKit here
WebKitTools:
Reviewed by Adam Roben
Explicitly call shutDownWebKit() before quitting.
- Drosera/win/Drosera.cpp: (_tWinMain):
- DumpRenderTree/win/DumpRenderTree.cpp: (main):
- 5:25 PM Changeset in webkit [33016] by
-
- 1 edit in trunk/WebCore/DerivedSources.make
Changed tabs into spaces for VPATH and DOM_CLASSES items.
- 4:51 PM Changeset in webkit [33015] by
-
- 2 edits in branches/squirrelfish/JavaScriptCore
Debug build fix
No reviewer
- 4:47 PM Changeset in webkit [33014] by
-
- 2 edits in trunk/WebKitTools
Fix the Tiger build of Drosera.
- Drosera/config.h: Define BUILDING_ON_TIGER when building on Tiger.
- 4:10 PM Changeset in webkit [33013] by
-
- 13 edits in branches/squirrelfish
Build fixes for SquirrelFish on windows.
Reviewed by Geoff
- 2:28 PM Changeset in webkit [33012] by
-
- 2 edits in trunk/JavaScriptCore
Build Fix
- 2:08 PM Changeset in webkit [33011] by
-
- 2 edits in branches/squirrelfish/LayoutTests
2008-05-09 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Restored the expected results for viewsource-empty-attribute-value.html
to what they were prior to r31100. These results expect that the
top-level name in the frame path is "" instead of "1".
It's not clear how r31100 changed the top-level frame in the frame path
to be named "1". The change definitely wasn't related to any expected
behavior in r31100, which was about default margin-bottom for form
elements in quirks mode.
It's also not clear how squirrelfish changes things back.
Sam mentioned that the test result changes intermittently on trunk.
For now, I don't think we need to think deeply about this issue,
since the "" result seems more correct than the "1" result.
- fast/frames/viewsource-empty-attribute-value-expected.txt:
- 2:06 PM Changeset in webkit [33010] by
-
- 2 edits in trunk/WebCore
2008-05-09 Kevin McCullough <kmccullough@apple.com>
Build fix.
- page/Console.cpp: (WebCore::Console::profile):
- 1:52 PM Changeset in webkit [33009] by
-
- 20 edits in trunk
WebCore:
2008-05-09 Sam Weinig <sam@webkit.org>
Rubber-stamped by Mark Rowe.
Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
- Configurations/WebCore.xcconfig:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.vcproj/build-generated-files.sh:
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::customGetOwnPropertySlot): (WebCore::JSDOMWindow::postMessage):
- bindings/js/JSEventCustom.cpp: (WebCore::toJS):
- bindings/objc/DOMEvents.mm: (+[DOMEvent _wrapEvent:WebCore::]):
- dom/Document.cpp: (WebCore::Document::createEvent):
- dom/Event.cpp: (WebCore::Event::isMessageEvent):
- dom/Event.h:
- dom/MessageEvent.cpp:
- dom/MessageEvent.h:
- dom/MessageEvent.idl:
- page/DOMWindow.cpp: (WebCore::DOMWindow::postMessageTimerFired):
- page/DOMWindow.h:
- page/DOMWindow.idl:
WebKit/win:
2008-05-09 Sam Weinig <sam@webkit.org>
Rubber-stamped by Mark Rowe.
Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
- WebKit.vcproj/WebKit.vcproj:
WebKitTools:
2008-05-09 Sam Weinig <sam@webkit.org>
Rubber-stamped by Mark Rowe.
Remove the ENABLE_CROSS_DOCUMENT_MESSAGING #ifdefs.
- Scripts/build-webkit:
- 1:43 PM Changeset in webkit [33008] by
-
- 2 edits in trunk/WebKit/win
Build fix
- Interfaces/WebKit.idl: Touched.
- 1:18 PM Changeset in webkit [33007] by
-
- 5 edits2 adds in trunk/JavaScriptCore
2008-05-09 Kevin McCullough <kmccullough@apple.com>
Reviewed by Tim.
-<rdar://problem/5770054> JavaScript profiler (10928)
-Add Profile class so that all profiles can be stored and retrieved by
the WebInspector when that time comes.
- JavaScriptCore.exp: Export the new function signatures.
- JavaScriptCore.xcodeproj/project.pbxproj: Add the new files to the project
- profiler/Profile.cpp: Added. This class represents a single run of the profiler. (KJS::Profile::Profile): (KJS::Profile::willExecute): (KJS::Profile::didExecute): (KJS::Profile::printDataInspectorStyle): (KJS::functionNameCountPairComparator): (KJS::Profile::printDataSampleStyle):
- profiler/Profile.h: Added. Ditto (KJS::Profile::stopProfiling):
- profiler/Profiler.cpp: Now the profiler keeps track of many profiles but only runs one at a time. (KJS::Profiler::startProfiling): (KJS::Profiler::stopProfiling): (KJS::Profiler::willExecute): (KJS::Profiler::didExecute): (KJS::Profiler::printDataInspectorStyle): (KJS::Profiler::printDataSampleStyle):
- profiler/Profiler.h: Ditto. (KJS::Profiler::~Profiler): (KJS::Profiler::allProfiles): (KJS::Profiler::clearProfiles):
- 1:14 PM Changeset in webkit [33006] by
-
- 21 edits2 adds in trunk
WebCore:
2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
Reviewed by Sam Weinig.
Make postMessage generate an event on the window instead of the
document.
Test: http/tests/messaging/cross-domain-message-event-dispatch.html
- dom/EventTargetNode.cpp: (WebCore::EventTargetNode::dispatchWindowEvent):
- dom/EventTargetNode.h:
- page/DOMWindow.cpp: (WebCore::DOMWindow::postMessageTimerFired):
LayoutTests:
2008-05-09 Adam Barth <abarth-webkit@adambarth.com>
Reviewed by Sam Weinig.
Update tests to listen for message events on the window instead of
the document. Also, added a test that the event is sent to the
window and not to the document.
- http/tests/messaging/cross-domain-message-event-dispatch-expected.txt: Added.
- http/tests/messaging/cross-domain-message-event-dispatch.html: Added.
- http/tests/messaging/cross-domain-message-send.html:
- http/tests/messaging/resources/cross-domain-message-receive.html:
- http/tests/security/cross-frame-access-delete.html:
- http/tests/security/cross-frame-access-history-put.html:
- http/tests/security/cross-frame-access-location-put.html:
- http/tests/security/postMessage/delivery-order.html:
- http/tests/security/postMessage/invalid-origin-throws-exception.html:
- http/tests/security/postMessage/javascript-page-still-sends-origin.html:
- http/tests/security/postMessage/origin-unaffected-by-base-tag.html:
- http/tests/security/postMessage/origin-unaffected-by-document-domain.html:
- http/tests/security/postMessage/resources/post-message-listener.html:
- http/tests/security/postMessage/target-origin.html:
- http/tests/security/resources/cross-frame-iframe-for-delete-test.html:
- http/tests/security/resources/cross-frame-iframe-for-history-put-test.html:
- http/tests/security/resources/cross-frame-iframe-for-location-put-test.html:
- http/tests/security/xss-eval.html:
- 6:08 AM Changeset in webkit [33005] by
-
- 2 edits in trunk
Simon Hausmann <Simon Hausmann>
Removed explicit linkage against libxml and libxslt on Qt/Mac builds.
This dependency is completely unnecessary here and creates only problems by
propagating through WebCore.pro over libQtWebKit.prl right now customer
applications.
- 4:40 AM Changeset in webkit [33004] by
-
- 3 edits in trunk/WebKit/qt
Thiago Macieira <tjmaciei@trolltech.com>
Fix bad includes in QtWebKit public headers.
Make sure to include qglobal.h using the QtCore prefix so that an explicit
include/QtCore is not needed in the application's build system. Also make sure
that qwebsettings.h includes the local qwebkitglobal.h.
- 3:21 AM Changeset in webkit [33003] by
-
- 2 edits in trunk/WebCore
2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Replaced all instances of qDebug() with LOG(Media, ...)
in MediaPlayerPrivatePhonon.
- 2:38 AM Changeset in webkit [33002] by
-
- 2 edits in trunk/WebCore
2008-05-09 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon
Fix the Qt/Mac build.
- 1:48 AM Changeset in webkit [33001] by
-
- 2 edits in trunk/WebKit/qt
2008-05-08 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>
Reviewed by Simon.
Based on work by Sriram Neelakandan for the Gtk port.
- 12:43 AM SquirrelFishBlockers edited by
- (diff)
- 12:41 AM Changeset in webkit [33000] by
-
- 1 edit1 add in branches/squirrelfish/LayoutTests
2008-05-09 Geoffrey Garen <ggaren@apple.com>
Added expected results for this test.
- fast/js/closure-inside-extra-arg-call-expected.txt: Added.
- 12:25 AM Changeset in webkit [32999] by
-
- 6 edits in branches/squirrelfish/WebCore
2008-05-08 Geoffrey Garen <ggaren@apple.com>
Reviewed by Oliver Hunt.
Fixed platform/mac/plugins/bindings-test-objc.html.
I've restored -[WebScriptObject setException] and
+[WebScriptObject throwException].
Instead of mucking around in the JavaScript engine's execution state,
throwing an exception sets a global exception string, along with the
environment in which to throw it. An ObjC callback checks the global
exception string and, if it's non-nil and the environment matches the
current exceution environment, throws the global exception string as a
JS exception.
I also removed the old currentGlobalObject infrastructure: it's no longer
used.