⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



May 10, 2008:

7:28 PM Changeset in webkit [33030] by mitz@apple.com
  • 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 adele@apple.com
  • 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 mjs@apple.com
  • 1 edit
    1 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 mjs@apple.com
  • 38 edits
    3 adds in branches/squirrelfish

JavaScriptCore:

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

Reviewed by Oliver.


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.


  • 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.

  • 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.

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 jchaffraix@webkit.org
  • 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 rwlbuis@webkit.org
  • 2 edits in trunk/JavaScriptCore

Reviewed by Maciej.

Gtk+ build fix

1:15 AM Changeset in webkit [33024] by oliver@apple.com
  • 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 weinig@apple.com
  • 3 edits
    2 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 mrowe@apple.com
  • 8 edits
    1 delete in trunk/WebKit

Roll out r33018 as it broke the builds.

8:37 PM Changeset in webkit [33021] by mjs@apple.com
  • 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 andersca@apple.com
  • 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 mrowe@apple.com
  • 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 andersca@apple.com
  • 8 edits
    1 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 beidson@apple.com
  • 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 ddkilzer@apple.com
  • 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 oliver@apple.com
  • 2 edits in branches/squirrelfish/JavaScriptCore

Debug build fix

No reviewer

4:47 PM Changeset in webkit [33014] by mrowe@apple.com
  • 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 oliver@apple.com
  • 13 edits in branches/squirrelfish

Build fixes for SquirrelFish on windows.

Reviewed by Geoff

2:28 PM Changeset in webkit [33012] by beidson@apple.com
  • 2 edits in trunk/JavaScriptCore

Build Fix

2:08 PM Changeset in webkit [33011] by ggaren@apple.com
  • 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 kmccullough@apple.com
  • 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 weinig@apple.com
  • 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 Adam Roben
  • 2 edits in trunk/WebKit/win

Build fix

  • Interfaces/WebKit.idl: Touched.
1:18 PM Changeset in webkit [33007] by kmccullough@apple.com
  • 5 edits
    2 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 weinig@apple.com
  • 21 edits
    2 adds in trunk

WebCore:

2008-05-09 Adam Barth <abarth-webkit@adambarth.com>

Reviewed by Sam Weinig.

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

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

2008-05-08 Marc Ordinas i Llopis <marc.ordinasillopis@collabora.co.uk>

Reviewed by Simon.

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

Based on work by Sriram Neelakandan for the Gtk port.

12:43 AM SquirrelFishBlockers edited by ggaren@apple.com
(diff)
12:41 AM Changeset in webkit [33000] by ggaren@apple.com
  • 1 edit
    1 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 ggaren@apple.com
  • 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.

Note: See TracTimeline for information about the timeline view.