Timeline
Apr 15, 2009:
- 9:07 PM Changeset in webkit [42570] by
-
- 5 edits3 adds in trunk
Bug 25229: Need support for Array.prototype.reduceRight
<https://bugs.webkit.org/show_bug.cgi?id=25229>
Reviewed by Gavin Barraclough.
Implement Array.reduceRight
- 8:51 PM Changeset in webkit [42569] by
-
- 5 edits in trunk/WebCore
2009-04-15 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions
Also fixed <rdar://problem/6792909> WebInspector crashes when reloading
a page with breakpoints set
- bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::clearJSFunctionInline): (WebCore::JSEventListener::markJSFunction):
- bindings/js/JSEventListener.h: Actually clear our function and global object pointers when our client instructs us to. (Oops!) Also, mark our global object while we still intend to use it.
- bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::mark): (WebCore::toJS):
- bindings/scripts/CodeGeneratorJS.pm:
- svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure that the corresponding element also has a wrapper, to keep its event listeners alive.
- 8:33 PM Changeset in webkit [42568] by
-
- 4 edits6 copies3 adds in trunk/WebCore
2009-04-15 Dimitri Glazkov <Dimitri Glazkov>
Reviewed by Darin Fisher.
https://bugs.webkit.org/show_bug.cgi?id=25201
Add ScriptFunctionCall/ScriptObject for V8.
- bindings/v8/ScriptFunctionCall.cpp: Added.
- bindings/v8/ScriptFunctionCall.h: Added.
- bindings/v8/ScriptObject.cpp: Added.
- bindings/v8/ScriptObject.h: Added.
- bindings/v8/ScriptObjectQuarantine.cpp: Added.
- bindings/v8/ScriptObjectQuarantine.h: Added.
- bindings/v8/ScriptScope.cpp: Added.
- bindings/v8/ScriptScope.h: Added.
- bindings/v8/ScriptState.h: (WebCore::ScriptState::ScriptState): Added new constructors. (WebCore::ScriptState::frame): Added Frame ptr accessor.
- bindings/v8/ScriptString.h: (WebCore::ScriptString::ScriptString): Added default constructor.
- bindings/v8/ScriptValue.h: (WebCore::ScriptValue::isEqual): Added.
- 7:12 PM Changeset in webkit [42567] by
-
- 3 edits3 adds in trunk
Bug 25227: Array.filter triggers an assertion when the target array shrinks while being filtered
<https://bugs.webkit.org/show_bug.cgi?id=25227>
Reviewed by Gavin Barraclough.
We correct this simply by making the fast array path fall back on the slow path if
we ever discover the fast access is unsafe.
- 5:49 PM Changeset in webkit [42566] by
-
- 2 edits in trunk/WebCore
2009-04-15 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build.
- GNUmakefile.am:
- 5:02 PM Changeset in webkit [42565] by
-
- 2 edits in trunk/WebKitTools
Redo last build fix in a more straightforward way.
- DumpRenderTree/win/DumpRenderTree.cpp: (sharedCFURLCache):
- 4:46 PM Changeset in webkit [42564] by
-
- 2 edits in trunk/WebKitTools
Fix Windows build of DumpRenderTree.
- DumpRenderTree/win/DumpRenderTree.cpp: (sharedCFURLCache): (main):
- 4:35 PM Changeset in webkit [42563] by
-
- 3 edits3 adds in trunk
Bug 25159: Support Array.prototype.reduce
<https://bugs.webkit.org/show_bug.cgi?id=25159>
Reviewed by Gavin Barraclough
Implement Array.prototype.reduce
- 3:46 PM Changeset in webkit [42562] by
-
- 2 edits in trunk/WebKit/wx
Reviewed by Kevin Ollivier.
Implement support for wxWebViewNewWindowEvent.
https://bugs.webkit.org/show_bug.cgi?id=19043
- 3:32 PM Changeset in webkit [42561] by
-
- 11 edits2 adds in trunk/WebCore
Reviewed by Simon Fraser.
Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it.
https://bugs.webkit.org/show_bug.cgi?id=25221
RenderSVGModelObject is the base rendering class for things which live
in the SVG rendering tree. Not all SVG renders are RenderSVGModelObjects yet.
More patches coming. This is just adding the class, future patches
will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject.
- WebCore.pro:
- WebCore.scons:
- WebCore.vcproj/WebCore.vcproj:
- WebCore.xcodeproj/project.pbxproj:
- rendering/RenderPath.cpp: (WebCore::RenderPath::RenderPath):
- rendering/RenderPath.h:
- rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer):
- rendering/RenderSVGContainer.h:
- rendering/RenderSVGModelObject.cpp: Added. (WebCore::RenderSVGModelObject::RenderSVGModelObject):
- rendering/RenderSVGModelObject.h: Added. (WebCore::RenderSVGModelObject::requiresLayer):
- rendering/RenderTreeAsText.cpp:
- rendering/SVGRenderTreeAsText.cpp:
- 3:22 PM Changeset in webkit [42560] by
-
- 2 edits in trunk/LayoutTests/platform/win
Fixed an expected result and added a test to the Skipped list while I investigate why its expected results didn't change.
- 2:32 PM Changeset in webkit [42559] by
-
- 3 edits in trunk/WebCore
<rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4
Reviewed by Adam Roben.
- platform/network/ResourceRequestBase.cpp:
- platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::initializeMaximumHTTPConnectionCountPerHost):
- 2:30 PM Changeset in webkit [42558] by
-
- 4 edits in trunk/WebKitLibraries
Updated WebKitSystemInterface for Windows.
Changes needed for <rdar://problem/6785760>
- win/include/WebKitSystemInterface/WebKitSystemInterface.h:
- win/lib/WebKitSystemInterface.lib:
- win/lib/WebKitSystemInterface_debug.lib:
- 1:28 PM Changeset in webkit [42557] by
-
- 3 edits in trunk/WebCore
2009-04-15 Sam Weinig <sam@webkit.org>
Reviewed by Mark Rowe.
Add special casing to bindings generator so that custom functions
starting with xml or xslt conform to WebKit style guidelines.
- bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::xmlHttpRequest): (WebCore::JSDOMWindow::xsltProcessor):
- bindings/scripts/CodeGenerator.pm:
- 1:25 PM Changeset in webkit [42556] by
-
- 2 edits in trunk/WebKitTools
Skip yet another JavaScriptCore test that sometimes fails on Windows
See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>
- Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-2.js (who didn't see it coming?).
- 1:24 PM Changeset in webkit [42555] by
-
- 3 edits in trunk/WebCore
Reviewed by Simon Fraser.
Remove more dead code from RenderSVGHiddenContainer.
lineHeight and baselinePosition used to be on RenderSVGContainer
(of which this is a subclass) because RenderSVGContainer used
to be a RenderBox and always the renderer for <svg>
Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML)
and RenderSVGViewportContainer (when inside SVG content)
so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods.
- rendering/RenderSVGHiddenContainer.cpp:
- rendering/RenderSVGHiddenContainer.h:
- 1:01 PM Changeset in webkit [42554] by
-
- 6 edits in trunk/WebCore
Reviewed by Simon Fraser.
Remove unneeded (broken) code from SVG renderers
https://bugs.webkit.org/show_bug.cgi?id=25214
Mostly due to my historical confusions about the render tree
and some methods not being removed after classes were split.
RenderSVGRoot is an RenderBox and should just use all the
standard RenderBox methods for inspector and repaint rects.
RenderSVGContainer is *not* a RenderBox (any more) and thus
doesn't need lineHeight or width/height or calcBounds.
RenderSVGViewportContainer had some broken code which tried
to see if the click was inside the container at all, but it
was using width/height metrics based off of the containing
block (from calcWidth) which is wrong (since its real
width/height are from its containing viewport not containing block).
- rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::RenderSVGContainer): (WebCore::RenderSVGContainer::layout):
- rendering/RenderSVGContainer.h:
- rendering/RenderSVGRoot.cpp:
- rendering/RenderSVGRoot.h:
- rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::layout): (WebCore::RenderSVGViewportContainer::nodeAtPoint):
- 12:42 PM Changeset in webkit [42553] by
-
- 2 edits in trunk/LayoutTests
Updated expected result for a text dragging test that pastes text on Windows but not on Mac (which is expected).
- 12:33 PM Changeset in webkit [42552] by
-
- 2 edits in trunk/WebCore
Reviewed by Simon Fraser and Sam Weinig.
https://bugs.webkit.org/show_bug.cgi?id=25217
Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop
Add ASSERT(element) to all these functions since they should never be passed a null element.
- svg/SVGLocatable.cpp: (WebCore::isViewportElement): (WebCore::SVGLocatable::nearestViewportElement): (WebCore::SVGLocatable::farthestViewportElement): (WebCore::SVGLocatable::getBBox): (WebCore::SVGLocatable::getCTM): (WebCore::SVGLocatable::getScreenCTM):
- 11:41 AM Changeset in webkit [42551] by
-
- 2 edits in trunk/WebCore
2009-04-15 Sam Weinig <sam@webkit.org>
Reviewed by Anders Carlsson.
Remove support for the ObjCIvar extended attribute from the Objective-C
bindings generator. It is not used anymore.
- bindings/scripts/CodeGeneratorObjC.pm:
- 11:30 AM Changeset in webkit [42550] by
-
- 2 edits in trunk/LayoutTests
2009-04-15 Eric Carlson <eric.carlson@apple.com>
Fix incorrect expected result.
- http/tests/security/local-video-source-from-remote-expected.txt:
- 11:22 AM Changeset in webkit [42549] by
-
- 15 edits in trunk
WebCore:
2009-04-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=25204
Create a fast path for ReplaceSelectionCommand that merges text nodes
During simple pastes, where we're just pasting a text node into a run of text, we would split the current
text and insert the new node in between. This is slow and we hit this bug:
in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic.
This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the
text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand).
- editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): (WebCore::ReplaceSelectionCommand::performTrivialReplace):
- editing/ReplaceSelectionCommand.h:
- editing/TextIterator.cpp:
LayoutTests:
2009-04-15 Justin Garcia <justin.garcia@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=25204
Create a fast path for ReplaceSelectionCommand that merges text nodes
Simplified DOM/Render trees:
- editing/pasteboard/4840662-expected.txt:
- platform/mac/editing/pasteboard/bad-placeholder-expected.txt:
- platform/mac/editing/pasteboard/paste-match-style-001-expected.txt:
- platform/mac/editing/pasteboard/paste-text-019-expected.txt:
- platform/mac/editing/pasteboard/paste-xml-expected.txt:
Removed redundant styles that were generated during nesting prevention that is no longer needed:
- platform/mac/editing/pasteboard/4076267-2-expected.txt:
- platform/mac/editing/pasteboard/5156401-1-expected.txt:
No longer incorrectly uncollapsing unrendered whitespace:
- editing/pasteboard/paste-into-anchor-text-expected.txt:
- platform/mac/editing/pasteboard/5387578-expected.txt:
No longer invalidating the old selected DOM range during a paste:
- editing/pasteboard/copy-in-password-field-expected.txt:
- 11:18 AM Changeset in webkit [42548] by
-
- 4 edits2 adds in trunk/WebCore
2009-04-15 Adam Langley <agl@google.com>
Reviewed by Darin Fisher.
Move VDMX parsing into the Chromium Linux port.
VDMX tables are optional tables in TrueType fonts which contain the
exact pixel height of a given font at a given pel size. In order to
match Windows font metrics we have to use these numbers.
Previously, the parsing was performed in Skia. As part of the merge
with upstream Skia, an interface for getting table data from a font
has been added to Skia and we're moving the parsing into WebKit.
This does not change any layout tests.
- platform/graphics/chromium/FontPlatformDataLinux.cpp: (WebCore::FontPlatformData::uniqueID):
- platform/graphics/chromium/FontPlatformDataLinux.h:
- platform/graphics/chromium/FontTrueTypeLinux.cpp: Added.
- platform/graphics/chromium/FontTrueTypeLinux.h: Added.
- platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformInit): (WebCore::SimpleFontData::platformWidthForGlyph):
- 11:15 AM Changeset in webkit [42547] by
-
- 2 edits in trunk/WebCore
2009-04-15 Stephen White <senorblanco@chromium.org>
Reviewed by Dimitri Glazkov.
Restore stroked outlines to PlatformContextSkia::drawRect().
These were removed inadvertently in r41805, aka
https://bugs.webkit.org/show_bug.cgi?id=24662.
SkRect is { left, top, right, bottom }, not { left, top, width, height }.
- platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::drawRect):
- 11:14 AM Changeset in webkit [42546] by
-
- 3 edits4 adds in trunk
WebCore:
Reviewed by Dave Hyatt.
- fix <rdar://problem/6777374> Generated content with display: run-in causes a crash
Test: fast/runin/generated.html
- rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is generated, and if so, make the RenderInline anonymous instead of passing a 0 node to the RenderInline constructor. If the run-in itself is generated, do move :before and :after children from the block into the inline, as they will not be regenerated. Changed nested ifs into early returns.
LayoutTests:
Reviewed by Dave Hyatt.
- test for <rdar://problem/6777374> Generated content with display: run-in causes a crash
- fast/runin/generated.html: Added.
- platform/mac/fast/runin/generated-expected.checksum: Added.
- platform/mac/fast/runin/generated-expected.png: Added.
- platform/mac/fast/runin/generated-expected.txt: Added.
- 11:13 AM Changeset in webkit [42545] by
-
- 2 edits in trunk/WebCore
2009-04-15 Eric Roman <eroman@chromium.org>
Reviewed by Geoffrey Garen.
Expose DOMWindow::removeInlineEventListenerForType and
DOMWindow::inlineEventListenerForType as public.
- page/DOMWindow.h:
- 11:06 AM Changeset in webkit [42544] by
-
- 2 edits in trunk/WebCore
2009-04-14 Eric Roman <eroman@chromium.org>
Reviewed by Darin Adler.
Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners
in a USE(JSC), since it doesn't compile with V8 bindings.
- dom/RegisteredEventListener.h:
- 10:26 AM Changeset in webkit [42543] by
-
- 3 edits1 add1 delete in trunk/LayoutTests
2009-04-15 Eric Carlson <eric.carlson@apple.com>
Reviewed by Alexey Proskuryakov.
Use a media file inside of LayoutTests/http/ so a cgi isn't necessary to load
it. Fixes a test failure introduced in r42533.
- http/tests/resources/silence.mpg: Added.
- http/tests/security/local-video-source-from-remote-expected.txt:
- http/tests/security/local-video-source-from-remote.html: change the remote url, update a comment.
- http/tests/security/resources/load-media.cgi: Removed.
- 10:20 AM Changeset in webkit [42542] by
-
- 2 edits in trunk/WebCore
2009-04-15 Eric Roman <eroman@chromium.org>
Reviewed by Darin Adler.
Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to
use the new name.
- bindings/v8/custom/V8DOMWindowCustom.cpp:
- 8:25 AM Changeset in webkit [42541] by
-
- 2 edits in trunk/WebKitSite
Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=25186
There is no XSLT component in bugzilla
- projects/xslt/index.html: Changed to search by bug title.
- 8:09 AM Changeset in webkit [42540] by
-
- 4 edits in trunk/WebKit/qt
2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Ariya Hidayat.
Rename extend() method in QWebElementSelection to append().
- Api/qwebelement.cpp: (QWebElementSelection::append):
- Api/qwebelement.h:
- tests/qwebelement/tst_qwebelement.cpp: (tst_QWebElement::appendSelection):
- 6:42 AM Changeset in webkit [42539] by
-
- 2 edits in trunk/WebKit/qt
2009-04-15 Antonio Gomes <antonio.gomes@openbossa.org>
Reviewed by Simon Hausmann.
Fixed nit/typo in QWebElement documentation.
- 6:24 AM WebKitFeatures edited by
- Fixed broken links to www.css3.info (diff)
- 4:56 AM QtWebKitTodo edited by
- (diff)
- 4:50 AM QtWebKitTodo edited by
- (diff)
- 4:48 AM QtWebKitTodo edited by
- (diff)
- 12:31 AM Changeset in webkit [42538] by
-
- 6 edits1 copy in trunk/JavaScriptCore
Move CallFrameClosure from inside the Interpreter class to its own file.
Reviewed by NOBODY(Build fix)
- 12:13 AM Changeset in webkit [42537] by
-
- 10 edits2 adds in trunk
Bug 25202: Improve performance of repeated callbacks into the VM
Reviewed by Cameron Zwarich
Add the concept of a CachedCall to native code for use in Array
prototype and similar functions where a single callback function
is called repeatedly with the same number of arguments.
Used Array.prototype.filter as the test function and got a 50% win
over a naive non-caching specialised version. This makes the native
implementation of Array.prototype.filter faster than the JS one once
more.
Apr 14, 2009:
- 11:43 PM Changeset in webkit [42536] by
-
- 5 edits in trunk/WebCore
Rubber-stamped by Darin Adler.
Don't keep platform objects for authentication challenge in ResourceHandleInternal.
We already have a copy in AuthenticationChallenge object.
- platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::clearAuthentication):
- platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
- platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::didCancelAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): (WebCore::ResourceHandle::receivedCancellation):
- 10:06 PM Changeset in webkit [42535] by
-
- 2 edits in trunk/WebKit/mac
2009-04-14 Simon Fraser <Simon Fraser>
Reviewed by Dan Bernstein
Move the run loop observer cleanup from -close
to -_close.
- WebView/WebView.mm: (-[WebView _close]): (-[WebView close]):
- 9:19 PM Changeset in webkit [42534] by
-
- 2 edits in trunk/WebCore
2009-04-14 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Nixed some now-defunct autogeneration code.
- bindings/scripts/CodeGeneratorJS.pm:
- 6:42 PM Changeset in webkit [42533] by
-
- 3 edits7 adds in trunk
2009-04-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by NOBODY (OOPS!).
Fix <rdar://problem/6755724> <audio> and <video> elements can reference local
file:/// URLs from remote in Safari
Tests: http/tests/security/local-video-poster-from-remote.html
http/tests/security/local-video-source-from-remote.html
http/tests/security/local-video-src-from-remote.html
- html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine if loader->canLoad() says it should not be loaded.
2009-04-14 Eric Carlson <eric.carlson@apple.com>
Reviewed by NOBODY (OOPS!).
Fix <rdar://problem/6755724> <audio> and <video> elements can reference local
file:/// URLs from remote in Safari
Test cases to ensure that local 'src', 'poster', and <source> are not loaded.
- http/tests/security/local-video-poster-from-remote-expected.txt: Added.
- http/tests/security/local-video-poster-from-remote.html: Added.
- http/tests/security/local-video-source-from-remote-expected.txt: Added.
- http/tests/security/local-video-source-from-remote.html: Added.
- http/tests/security/local-video-src-from-remote-expected.txt: Added.
- http/tests/security/local-video-src-from-remote.html: Added.
- http/tests/security/resources/load-media.cgi: Added.
- 6:15 PM Changeset in webkit [42532] by
-
- 4 edits2 adds in trunk
WebCore:
2009-04-14 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Part of <rdar://problem/6150868>
Fix incorrect handling of content that needs to go into the head element
once the head element has been removed.
Test: fast/parser/head-content-after-head-removal.html
- html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head. (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr. (WebCore::HTMLParser::createHead): Ditto.
- html/HTMLParser.h: Make m_head a RefPtr.
LayoutTests:
2009-04-14 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Part of <rdar://problem/6150868>
Test for incorrect handling of content that needs to go into the head element
once the head element has been removed.
- fast/parser/head-content-after-head-removal-expected.txt: Added.
- fast/parser/head-content-after-head-removal.html: Added.
- 4:11 PM Changeset in webkit [42531] by
-
- 3 edits in trunk/WebCore
2009-04-14 Geoffrey Garen <ggaren@apple.com>
Used svn merge -r42529:42528 to roll out my last patch because it broke
the build.
- bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners):
- bindings/js/JSDOMGlobalObject.h:
- 3:58 PM Changeset in webkit [42530] by
-
- 1 copy in releases/WebKitGTK/webkit-1.1.5
Tagging 1.1.5.
- 3:54 PM Changeset in webkit [42529] by
-
- 3 edits in trunk/WebCore
2009-04-14 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
Nixed some now-dead code related to protected event listeners.
- bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
- bindings/js/JSDOMGlobalObject.h:
- 3:48 PM Changeset in webkit [42528] by
-
- 5 edits in trunk/WebCore
2009-04-14 Geoffrey Garen <ggaren@apple.com>
Reviewed by Sam Weinig.
More fix for https://bugs.webkit.org/show_bug.cgi?id=21260
Unbounded memory growth when churning elements with anonymous event handler functions
Stop using protected event listeners on SVGElementInstance.
- bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since they're not protected anymore.
(WebCore::JSSVGElementInstance::addEventListener):
(WebCore::JSSVGElementInstance::removeEventListener): Make unprotected
event listeners, since we mark them now.
- bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener invalidation for SVGElementInstance.
- svg/SVGElementInstance.h: (WebCore::SVGElementInstance::eventListeners): Added an accessor, for the sake of autogenerated code.
- svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute from event listener properties. Added a CustomMarkFunction attribute, since we need to mark our event listeners.
- 3:47 PM Changeset in webkit [42527] by
-
- 2 edits in trunk/WebKit/mac
2009-04-14 Anders Carlsson <andersca@apple.com>
Reviewed by Sam Weinig.
- Speculative fix for <rdar://problem/6781422>
Protect the plug-in instance proxy in case it's deleted while waiting for a reply.
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::wheelEvent):
- 3:30 PM Changeset in webkit [42526] by
-
- 2 edits in trunk/WebCore
Windows build fix
- 3:26 PM Changeset in webkit [42525] by
-
- 4 edits in trunk
Versioning.
- 3:25 PM Changeset in webkit [42524] by
-
- 1 copy in tags/Safari-6530.6
New tag.
- 3:04 PM Changeset in webkit [42523] by
-
- 2 edits in trunk/LayoutTests
Skip another test that sometimes times out on Windows
- platform/win/Skipped: Added dom/html/level2/html/table29.html.
- 2:33 PM Changeset in webkit [42522] by
-
- 2 edits in trunk/JavaScriptCore
2009-04-14 Xan Lopez <xlopez@igalia.com>
Fix the build.
Add the yarr headers (and only the headers) to the build, so that
RegExp.cpp can compile. The headers are ifdefed out with yarr
disabled, so we don't need anything else for now.
- GNUmakefile.am:
- 2:23 PM Changeset in webkit [42521] by
-
- 100 edits in trunk/WebCore
Add header guards to WebCore forwarding headers.
Speeds up WebCore debug build on Windows by 12% on my system,
since Visual Studio appears to not optimize for standard header
guards in included files.
Rubber stamped by Ada Chan.
- 1:56 PM Changeset in webkit [42520] by
-
- 2 edits in trunk/LayoutTests
Skip a test that sometimes times out on Windows
- platform/win/Skipped: Added http/tests/incremental/slow-utf8-text.pl.
- 1:53 PM Changeset in webkit [42519] by
-
- 3 edits in trunk/WebCore
2009-04-14 Sam Weinig <sam@webkit.org>
Reviewed by Adele Peterson.
Use a template function to generalize the way we create non-caching
JS function getters.
- bindings/js/JSDOMWindowCustom.cpp:
- bindings/js/JSDOMWindowCustom.h: (WebCore::nonCachingStaticFunctionGetter): (WebCore::JSDOMWindow::customGetOwnPropertySlot):
- 1:53 PM Changeset in webkit [42518] by
-
- 2 edits in trunk/WebKitTools
Skip another JavaScriptCore test that sometimes fails on Windows
See Bug 25160: Various ecma/Date tests sometimes fail on Windows (but
not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>
Rubber-stamped by Geoff Garen.
- Scripts/run-javascriptcore-tests: Skip ecma/Date/15.9.2.2-3.js.
- 1:46 PM Changeset in webkit [42517] by
-
- 2 edits in trunk/LayoutTests
Skip a sometimes-failing test on Windows
Rubber-stamped by Simon Fraser.
- platform/win/Skipped: Added transitions/zero-duration-with-non-zero-delay-end.html.
- 1:46 PM Changeset in webkit [42516] by
-
- 3 edits in trunk
2009-04-14 Benjamin C Meyer <benjamin.meyer@torchmobile.com>
Reviewed by George Staikos.
When creating a QNetworkRequest make sure to populate the
CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects.
- 1:14 PM Changeset in webkit [42515] by
-
- 2 edits in trunk/WebKit/qt
2009-04-14 Laszlo Gombos <Laszlo Gombos>
Reviewed by Simon Hausmann.
Fix linking against QtWebKit for Symbian and other platforms
where the OS ABI distinguishes between an import or an export situation.
- 12:53 PM Changeset in webkit [42514] by
-
- 3 edits in trunk/WebKit/mac
2009-04-14 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch.
- Misc/WebCache.mm: (+[WebCache initialize]):
- WebView/WebView.mm: (+[WebView initialize]):
- 12:25 PM Changeset in webkit [42513] by
-
- 2 edits in trunk/WebKitTools
Build fix. Move the DerivedSources.make calls into build-wxwebkit so that the FEATURE_DEFINES are parsed properly.
- 12:06 PM Changeset in webkit [42512] by
-
- 4 edits in trunk/WebCore
Fix a world leak caused by opening the Web Inspector. This was
a regression caused by the InspectorController becoming refcounted.
<rdar://problem/6782944>
Reviewed by Darin Adler.
- bindings/js/ScriptObject.cpp: (WebCore::ScriptGlobalObject::get): Renamed to better match the other functions. (WebCore::ScriptGlobalObject::remove): Added. Deletes the property.
- bindings/js/ScriptObject.h:
- inspector/InspectorController.cpp: (WebCore::InspectorController::~InspectorController): Do less work at destruction time since the object lifetime is tied to JS GC. Assert that inspectedPageDestroyed cleared everything needed. (WebCore::InspectorController::inspectedPageDestroyed): Do most of the work that ~InspectorController was doing. (WebCore::InspectorController::scriptObjectReady): Renamed getObject.
- 11:59 AM Changeset in webkit [42511] by
-
- 1 edit in trunk/WebCore/ChangeLog
2009-04-14 Dmitry Titov <dimich@chromium.org>
Fixing ChangeLog.
- 11:55 AM Changeset in webkit [42510] by
-
- 3 edits in trunk/WebCore
2009-04-14 Antony Sargent <asargent@chromium.org>
Reviewed by Dimitri Glazkov.
This is some cleanup motivated by the crash in http://crbug.com/9775 , which
happens because of calling window.open inside a window.onload handler.
These changes are just part of the fix, along with some asserts to help prevent
breakage on future changes.
- bindings/v8/V8EventListenerList.cpp: (WebCore::V8EventListenerList::add): (WebCore::V8EventListenerList::remove): (WebCore::V8EventListenerList::clear):
- bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::size):
- 11:55 AM Changeset in webkit [42509] by
-
- 2 edits in trunk/WebCore
2009-04-14 Evan Martin <evan@chromium.org>
Reviewed by Darin Adler.
Fix a race that can occur between flex and the perl script that parses
its output.
- css/maketokenizer: Consume all input.
- 11:55 AM Changeset in webkit [42508] by
-
- 2 edits in trunk/WebCore
2009-04-14 Rohit Rao <rohitrao@google.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=25184
Do not change the text color for selected text in Mac Chromium.
- rendering/RenderThemeChromiumMac.h: (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors): Now returns false, matching the behavior of Safari on Mac.
- 11:48 AM Changeset in webkit [42507] by
-
- 11 edits in trunk/WebCore
2009-04-13 Justin Garcia <justin.garcia@apple.com>
Reviewed by Eric Seidel.
https://bugs.webkit.org/show_bug.cgi?id=25172
Extra partial layout during the first keypress in an empty block
Determining if a placeholder needs to be removed requires the creation of a VisiblePosition
which was triggering layout before we were finished modifying the DOM for the insert operation.
Find out if we need to remove a placeholder near the start of the operation, and if we do remember
where it's located. Then, later, remove it along with all of the other DOM operations we perform.
Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition
that takes in a Position. In InsertTextCommand, we can use the latter, since we normalize manually.
removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder.
No test added as this only effects performance.
- editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
- editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::removePlaceholderAt): (WebCore::CompositeEditCommand::moveParagraphs): (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
- editing/CompositeEditCommand.h:
- editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): (WebCore::DeleteSelectionCommand::doApply):
- editing/FormatBlockCommand.cpp: (WebCore::FormatBlockCommand::doApply):
- editing/InsertLineBreakCommand.cpp: (WebCore::InsertLineBreakCommand::doApply):
- editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply):
- editing/InsertTextCommand.cpp: (WebCore::InsertTextCommand::input):
- editing/htmlediting.cpp: (WebCore::lineBreakExistsAtVisiblePosition): (WebCore::lineBreakExistsAtPosition):
- editing/htmlediting.h:
- 11:35 AM Changeset in webkit [42506] by
-
- 6 edits in trunk
Remove support for profile-guided optimization on Windows
Remove support for profile-guided optimization on Windows
Rubber-stamped by Steve Falkenburg.
- JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Removed the Release_PGO configuration. Also let VS re-order the source files list.
WebCore:
Remove support for profile-guided optimization on Windows
Rubber-stamped by Steve Falkenburg.
- WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO configuration.
WebKit/win:
Remove support for profile-guided optimization on Windows
Rubber-stamped by Steve Falkenburg.
- WebKit.vcproj/WebKit.vcproj: Removed the Release_PGOInstrument and Release_PGOOptimize configurations.
- 11:32 AM Changeset in webkit [42505] by
-
- 2 edits in trunk/JavaScriptCore
2009-04-14 Xan Lopez <xlopez@igalia.com>
Unreviewed build fix.
- GNUmakefile.am:
- 11:15 AM Changeset in webkit [42504] by
-
- 5 edits in trunk/WebCore
2009-04-14 Dmitry Titov <dimich@chromium.org>
Reviewed by Dimitri Glazkov.
https://bugs.webkit.org/show_bug.cgi?id=25163
Upstream fix for releasing v8 objects on worker thread termination in Chromium.
- bindings/v8/V8DOMMap.cpp: (WebCore::domDataList): Now uses Vector instead of HashMap. (WebCore::domDataListMutex): (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData): remove usage of currentThread(); (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto. (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController. (WebCore::handleWeakObjectInOwningThread): (WebCore::derefDelayedObjects): (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore.
- bindings/v8/V8DOMMap.h:
- bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext. (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map.
- bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController):
- 11:08 AM Changeset in webkit [42503] by
-
- 2 edits7 adds in trunk/WebCore
Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files
WebCore.vcproj now uses a set of .vsprops files to store most of its
settings.
Reviewed by Darin Adler.
- WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new .vsprops files.
- WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings for ports that build against CFNetwork.
- WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports that build against CoreGraphics.
- WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for ports that build against libcurl.
- WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for ports that build against Cairo.
- WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings shared by all ports.
- WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for ports that use QTMovieWin to implement the MediaPlayerPrivate interface.
- WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for ports that build against pthreads.
- 10:56 AM Changeset in webkit [42502] by
-
- 2 edits in trunk/WebCore
Reviewed by Darin Adler.
http/tests/xmlhttprequest/basic-auth.html fails on Tiger.
Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use
session persistence.
- platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through receivedCredential(), ensuring that the Tiger-specific need to use session credentials is honored. (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to PersistenceForSession, because the former doesn't work.
- 10:40 AM Changeset in webkit [42501] by
-
- 2 edits4 adds in trunk
2009-04-13 Adele Peterson <adele@apple.com>
Reviewed by Darin Adler.
Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line
Test: editing/inserting/6703873.html
- editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the startNode's original parent is now empty, we can remove it. Its already been cloned and copied with the startNode, so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty container in the document.
- 9:52 AM Changeset in webkit [42500] by
-
- 3 edits in trunk/WebKit/gtk
2009-04-14 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
Unreviewed. Update gtk-doc control and base sgml files for 1.1.5.
- docs/webkitgtk-docs.sgml:
- docs/webkitgtk-sections.txt:
- 9:44 AM Changeset in webkit [42499] by
-
- 2 edits in trunk/WebKit/gtk
2009-04-14 Xan Lopez <xlopez@igalia.com>
- NEWS: updated for 1.1.5 release.
- 9:14 AM Changeset in webkit [42498] by
-
- 2 edits in trunk
2009-04-14 Xan Lopez <xlopez@igalia.com>
Unreviewed version bump in preparation for 1.1.5 release.
- configure.ac:
- 8:56 AM Changeset in webkit [42497] by
-
- 2 edits in trunk/WebCore
2009-04-14 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements
Add a proper implementation of AtkText::get_text and
AtkText::get_character_count, which takes into account non
TextControl text. With this the 'Text' field in Accerciser's
Interface Viewer is filled correctly.
- page/gtk/AccessibilityObjectWrapperAtk.cpp:
- 8:56 AM Changeset in webkit [42496] by
-
- 2 edits in trunk/WebCore
2009-04-14 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements
Remove some dead code and g_return_if_fail from static functions.
- page/gtk/AccessibilityObjectWrapperAtk.cpp:
- 8:56 AM Changeset in webkit [42495] by
-
- 2 edits in trunk/WebCore
2009-04-14 Xan Lopez <xlopez@igalia.com>
Reviewed by Holger Freyther.
https://bugs.webkit.org/show_bug.cgi?id=21546
[GTK] ATK accessibility enhancements
Also implement text interface for StaticTextRole, which covers
most of the text in web pages.
- page/gtk/AccessibilityObjectWrapperAtk.cpp:
- 8:07 AM Changeset in webkit [42494] by
-
- 4 edits in trunk/WebKit/qt
2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Tor Arne Vestbø.
Rename QWebElement::setHtml and html to setXml and toXml respectivily.
Also add a mean to define the scope (inner or other).
- 7:53 AM Changeset in webkit [42493] by
-
- 1 edit2 copies2 adds in trunk/LayoutTests
Land updated Windows results for two tests changed by r42471
Rubber-stamped by Anders Carlsson.
- platform/win/css1/text_properties/text_transform-expected.txt: Copied from LayoutTests/platform/mac-leopard/css1/text_properties/text_transform-expected.txt.
- platform/win/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Copied from LayoutTests/platform/mac-leopard/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt.
- 7:53 AM Changeset in webkit [42492] by
-
- 2 edits in trunk/WebKitTools
Small run-javascriptcore-tests cleanup
Reviewed by Cameron Zwarich.
- Scripts/run-javascriptcore-tests: Move the list of tests to skip into its own variable, annotated with the bugs that are filed about the various failures.
- 7:52 AM Changeset in webkit [42491] by
-
- 2 edits in trunk/WebKitTools
Skip another sometimes-failing ecma/Date test on Windows
These failing tests are covered by Bug 25160: Various ecma/Date tests
sometimes fail on Windows (but not Mac)
<https://bugs.webkit.org/show_bug.cgi?id=25160>
Reviewed by Cameron Zwarich.
- Scripts/run-javascriptcore-tests: Added ecma/Date/15.9.2.1.js to the list of tests to skip.
- 7:37 AM QtWebKitTodo edited by
- (diff)
- 7:30 AM QtWebKitJournal edited by
- (diff)
- 7:08 AM Changeset in webkit [42490] by
-
- 4 edits in trunk/WebKit/qt
2009-04-14 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Tor Arne Vestbø.
Rename QWebElement::setText() and text() to ::setPlainText and
::toPlainText, respectively.
- 6:31 AM QtWebKitTodo edited by
- (diff)
- 6:17 AM QtWebKitTodo edited by
- (diff)
- 6:12 AM QtWebKitTodo edited by
- (diff)
- 5:15 AM QtWebKitTodo edited by
- (diff)
- 5:14 AM QtWebKitTodo edited by
- (diff)
- 4:55 AM QtWebKitGitInstructions edited by
- (diff)
- 4:54 AM QtWebKitGitInstructions edited by
- (diff)
- 4:43 AM QtWebKitTodo edited by
- (diff)
- 4:30 AM QtWebKitJournal edited by
- (diff)
- 4:30 AM Changeset in webkit [42489] by
-
- 5 edits in trunk
2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Holger Freyther.
[Gtk] disable soup auth dialog when running DRT
https://bugs.webkit.org/show_bug.cgi?id=24598
Disable soup's auth dialog when running the tests.
- DumpRenderTree/gtk/DumpRenderTree.cpp: (setDefaultsToConsistentStateValuesForTesting):
- GNUmakefile.am:
2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>
Reviewed by Holger Freyther.
[Gtk] disable soup auth dialog when running DRT
https://bugs.webkit.org/show_bug.cgi?id=24598
Enable http/tests/xmlhttprequest/failed-auth.html test. We should
be able to run this test in non-interactive mode
- platform/gtk/Skipped:
- 4:16 AM Changeset in webkit [42488] by
-
- 2 edits in trunk/JavaScriptCore
2009-04-14 Jan Michael Alonzo <jmalonzo@webkit.org>
Gtk build fix when building minidom. Not reviewed.
Use C-style comment instead of C++ style since autotools builds
minidom using gcc and not g++.
- wtf/Platform.h:
- 3:19 AM Changeset in webkit [42487] by
-
- 3 edits in trunk/WebKitLibraries
Update WebKitSystemInterface so that the Tiger portion supports PowerPC.
- libWebKitSystemInterfaceLeopard.a:
- libWebKitSystemInterfaceTiger.a:
- 1:41 AM Changeset in webkit [42486] by
-
- 2 edits in trunk/WebCore
Another Windows build fix.
- platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreSynchronousLoader::load):
- 1:24 AM Changeset in webkit [42485] by
-
- 2 edits in trunk/WebCore
Windows build fix.
- platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreSynchronousLoader::willSendRequest): (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
- 1:16 AM Changeset in webkit [42484] by
-
- 1 edit in trunk/WebCore/ChangeLog
Removed mentions of tests from ChangeLog - I'll land those once OS-level support for this feature is in.
- 1:11 AM Changeset in webkit [42483] by
-
- 26 edits in trunk/WebCore
Reviewed by Sam Weinig.
<rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute
Tests: http/tests/xmlhttprequest/cross-origin-authorization.html
http/tests/xmlhttprequest/cross-origin-no-authorization.html
- WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions from it are now used in otehr private headers.
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl: Added withCredentials attribute. When it is false (default), neither credentials nor cookies are sent with cross origin requests, When it is true, those are sent, but the server needs to allow handling results via Access-Control-Allow-Credentials header. It was always possible to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to read results, as long as the server reports that it's allowed. Having the default set to false ensures that requests won't fail unexpectedly because of stored credentials and cookies for other resources in the target protection space.
- xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin requests, and for cross origin ones that have withCredentials attribute set. Such code already existed for cookies (but it's simpler, because we could just set a ResourceRequest flag). (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
- platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks, is is easier to have code in the class. Also, loadResourceSynchronously() now takes a StoredCredentials option, matching async case.
- platform/network/ResourceHandleClient.h: (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be called, and no client used it. (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto.
- platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out of request URL. We want to always get a callback for credentials to manage them in WebCore, so network back-end shouldn't see them too early.
- platform/network/ResourceRequestBase.cpp: (WebCore::ResourceRequestBase::removeCredentials):
- platform/network/ResourceRequestBase.h: Added a removeCredentials() method that removes login and password parts from request URL.
- platform/network/mac/ResourceHandleMac.mm: (WebCoreCredentialStorage): Added a simple storage class for per-session credentials. (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through. (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced. (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL and per-session credentials. Code was partially moved from Obj-C callback. (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store them in WebCore storage. (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't store the redirected URL - we only needed credentials, which are now stored separately. (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed code that was setting credentials from URL. First, the code is now in ResourceHandle, and also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>. (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle, this class still needs to track URL for checking whether a redirect is allowed. This is not a great solution, and we should unify client code to use the same checks in sync and async cases. (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in async case, put credentials aside to ensure that network back-end asks for them. (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials from URL, or from WebCore storage. (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored credentials when not allowed to. (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Put credentials aside to ensure that network back-end asks for them.
- platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::WebCoreCredentialStorage::set): (WebCore::WebCoreCredentialStorage::get): (WebCore::willSendRequest): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::willSendRequest): (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): (WebCore::ResourceHandle::receivedCredential): (WebCore::ResourceHandle::loadResourceSynchronously): (WebCore::WebCoreSynchronousLoader::willSendRequest): (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): (WebCore::WebCoreSynchronousLoader::load): Same changes as in Mac case.
- platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
- platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::loadResourceSynchronously):
- platform/network/soup/ResourceHandleSoup.cpp: (WebCore::ResourceHandle::loadResourceSynchronously): Trying not to break the build.
- dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc):
- xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc): Unconditionally allow stored credentials for these, as they only support same origin loads.
- workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse than sending them with <script src=...>, so this is also unconditionally allowed.
- loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials. (WebCore::DocumentThreadableLoader::create): Ditto. (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and sameOrigin flags foruse in callbacks. (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused. (WebCore::DocumentThreadableLoader::didSendData): Ditto. (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. (WebCore::DocumentThreadableLoader::didReceiveData): Ditto. (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto. (WebCore::DocumentThreadableLoader::didFail): Ditto. (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential storage if that's not allowed by the code that invoked DocumentThreadableLoader. (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure and cancel the request if we are about to ask the user for credentials for a cross-origin request, which is forbidden by CORS (and would have been very confusing if allowed). (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused.
- loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here.
- loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader behavior. We should combine all of these into a structure, and use it for sync requests, too.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously):
- loader/FrameLoader.h:
- loader/ThreadableLoader.cpp: (WebCore::ThreadableLoader::create): (WebCore::ThreadableLoader::loadResourceSynchronously):
- loader/WorkerThreadableLoader.cpp: (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): (WebCore::WorkerThreadableLoader::loadResourceSynchronously): (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
- loader/WorkerThreadableLoader.h: (WebCore::WorkerThreadableLoader::create): Pass through storedCredentials.
- 12:19 AM Changeset in webkit [42482] by
-
- 2 edits in trunk/JavaScriptCore
speculative 'doze build fix
- 12:06 AM Changeset in webkit [42481] by
-
- 7 edits9 adds in trunk/JavaScriptCore
2009-04-13 Gavin Barraclough <barraclough@apple.com>
Reviewed by Cap'n Geoff Garen.
Yarr!
(Yet another regex runtime).
Currently disabled by default since the interpreter, whilst awesomely
functional, has not been optimized and is likely slower than PCRE, and
the JIT, whilst faster than WREC, is presently incomplete and does not
fallback to using an interpreter for the cases it cannot handle.
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::move): (JSC::MacroAssemblerX86Common::swap): (JSC::MacroAssemblerX86Common::signExtend32ToPtr): (JSC::MacroAssemblerX86Common::zeroExtend32ToPtr): (JSC::MacroAssemblerX86Common::branch32): (JSC::MacroAssemblerX86Common::branch16):
- assembler/X86Assembler.h: (JSC::X86Assembler::cmpw_im): (JSC::X86Assembler::testw_rr): (JSC::X86Assembler::X86InstructionFormatter::immediate16):
- runtime/RegExp.cpp: (JSC::RegExp::RegExp): (JSC::RegExp::~RegExp): (JSC::RegExp::create): (JSC::RegExp::compile): (JSC::RegExp::match):
- runtime/RegExp.h:
- wtf/Platform.h:
- yarr: Added.
- yarr/RegexCompiler.cpp: Added. (JSC::Yarr::CharacterClassConstructor::CharacterClassConstructor): (JSC::Yarr::CharacterClassConstructor::reset): (JSC::Yarr::CharacterClassConstructor::append): (JSC::Yarr::CharacterClassConstructor::putChar): (JSC::Yarr::CharacterClassConstructor::isUnicodeUpper): (JSC::Yarr::CharacterClassConstructor::isUnicodeLower): (JSC::Yarr::CharacterClassConstructor::putRange): (JSC::Yarr::CharacterClassConstructor::charClass): (JSC::Yarr::CharacterClassConstructor::addSorted): (JSC::Yarr::CharacterClassConstructor::addSortedRange): (JSC::Yarr::newlineCreate): (JSC::Yarr::digitsCreate): (JSC::Yarr::spacesCreate): (JSC::Yarr::wordcharCreate): (JSC::Yarr::nondigitsCreate): (JSC::Yarr::nonspacesCreate): (JSC::Yarr::nonwordcharCreate): (JSC::Yarr::RegexPatternConstructor::RegexPatternConstructor): (JSC::Yarr::RegexPatternConstructor::~RegexPatternConstructor): (JSC::Yarr::RegexPatternConstructor::reset): (JSC::Yarr::RegexPatternConstructor::assertionBOL): (JSC::Yarr::RegexPatternConstructor::assertionEOL): (JSC::Yarr::RegexPatternConstructor::assertionWordBoundary): (JSC::Yarr::RegexPatternConstructor::atomPatternCharacter): (JSC::Yarr::RegexPatternConstructor::atomBuiltInCharacterClass): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassBegin): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassAtom): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassRange): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassBuiltIn): (JSC::Yarr::RegexPatternConstructor::atomCharacterClassEnd): (JSC::Yarr::RegexPatternConstructor::atomParenthesesSubpatternBegin): (JSC::Yarr::RegexPatternConstructor::atomParentheticalAssertionBegin): (JSC::Yarr::RegexPatternConstructor::atomParenthesesEnd): (JSC::Yarr::RegexPatternConstructor::atomBackReference): (JSC::Yarr::RegexPatternConstructor::copyDisjunction): (JSC::Yarr::RegexPatternConstructor::copyTerm): (JSC::Yarr::RegexPatternConstructor::quantifyAtom): (JSC::Yarr::RegexPatternConstructor::disjunction): (JSC::Yarr::RegexPatternConstructor::regexBegin): (JSC::Yarr::RegexPatternConstructor::regexEnd): (JSC::Yarr::RegexPatternConstructor::regexError): (JSC::Yarr::RegexPatternConstructor::setupAlternativeOffsets): (JSC::Yarr::RegexPatternConstructor::setupDisjunctionOffsets): (JSC::Yarr::RegexPatternConstructor::setupOffsets): (JSC::Yarr::compileRegex):
- yarr/RegexCompiler.h: Added.
- yarr/RegexInterpreter.cpp: Added. (JSC::Yarr::Interpreter::appendParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::popParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::DisjunctionContext::DisjunctionContext): (JSC::Yarr::Interpreter::DisjunctionContext::operator new): (JSC::Yarr::Interpreter::allocDisjunctionContext): (JSC::Yarr::Interpreter::freeDisjunctionContext): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::ParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::operator new): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::restoreOutput): (JSC::Yarr::Interpreter::ParenthesesDisjunctionContext::getDisjunctionContext): (JSC::Yarr::Interpreter::allocParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::freeParenthesesDisjunctionContext): (JSC::Yarr::Interpreter::InputStream::InputStream): (JSC::Yarr::Interpreter::InputStream::next): (JSC::Yarr::Interpreter::InputStream::rewind): (JSC::Yarr::Interpreter::InputStream::read): (JSC::Yarr::Interpreter::InputStream::readChecked): (JSC::Yarr::Interpreter::InputStream::reread): (JSC::Yarr::Interpreter::InputStream::prev): (JSC::Yarr::Interpreter::InputStream::getPos): (JSC::Yarr::Interpreter::InputStream::setPos): (JSC::Yarr::Interpreter::InputStream::atStart): (JSC::Yarr::Interpreter::InputStream::atEnd): (JSC::Yarr::Interpreter::InputStream::checkInput): (JSC::Yarr::Interpreter::InputStream::uncheckInput): (JSC::Yarr::Interpreter::testCharacterClass): (JSC::Yarr::Interpreter::tryConsumeCharacter): (JSC::Yarr::Interpreter::checkCharacter): (JSC::Yarr::Interpreter::tryConsumeCharacterClass): (JSC::Yarr::Interpreter::checkCharacterClass): (JSC::Yarr::Interpreter::tryConsumeBackReference): (JSC::Yarr::Interpreter::matchAssertionBOL): (JSC::Yarr::Interpreter::matchAssertionEOL): (JSC::Yarr::Interpreter::matchAssertionWordBoundary): (JSC::Yarr::Interpreter::matchPatternCharacter): (JSC::Yarr::Interpreter::backtrackPatternCharacter): (JSC::Yarr::Interpreter::matchCharacterClass): (JSC::Yarr::Interpreter::backtrackCharacterClass): (JSC::Yarr::Interpreter::matchBackReference): (JSC::Yarr::Interpreter::backtrackBackReference): (JSC::Yarr::Interpreter::recordParenthesesMatch): (JSC::Yarr::Interpreter::resetMatches): (JSC::Yarr::Interpreter::resetAssertionMatches): (JSC::Yarr::Interpreter::parenthesesDoBacktrack): (JSC::Yarr::Interpreter::matchParenthesesOnceBegin): (JSC::Yarr::Interpreter::matchParenthesesOnceEnd): (JSC::Yarr::Interpreter::backtrackParenthesesOnceBegin): (JSC::Yarr::Interpreter::backtrackParenthesesOnceEnd): (JSC::Yarr::Interpreter::matchParentheticalAssertionOnceBegin): (JSC::Yarr::Interpreter::matchParentheticalAssertionOnceEnd): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionOnceBegin): (JSC::Yarr::Interpreter::backtrackParentheticalAssertionOnceEnd): (JSC::Yarr::Interpreter::matchParentheses): (JSC::Yarr::Interpreter::backtrackParentheses): (JSC::Yarr::Interpreter::matchTerm): (JSC::Yarr::Interpreter::backtrackTerm): (JSC::Yarr::Interpreter::matchAlternative): (JSC::Yarr::Interpreter::matchDisjunction): (JSC::Yarr::Interpreter::matchNonZeroDisjunction): (JSC::Yarr::Interpreter::interpret): (JSC::Yarr::Interpreter::Interpreter): (JSC::Yarr::ByteCompiler::ParenthesesStackEntry::ParenthesesStackEntry): (JSC::Yarr::ByteCompiler::ByteCompiler): (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::checkInput): (JSC::Yarr::ByteCompiler::assertionBOL): (JSC::Yarr::ByteCompiler::assertionEOL): (JSC::Yarr::ByteCompiler::assertionWordBoundary): (JSC::Yarr::ByteCompiler::atomPatternCharacter): (JSC::Yarr::ByteCompiler::atomCharacterClass): (JSC::Yarr::ByteCompiler::atomBackReference): (JSC::Yarr::ByteCompiler::atomParenthesesSubpatternBegin): (JSC::Yarr::ByteCompiler::atomParentheticalAssertionBegin): (JSC::Yarr::ByteCompiler::popParenthesesStack): (JSC::Yarr::ByteCompiler::dumpDisjunction): (JSC::Yarr::ByteCompiler::closeAlternative): (JSC::Yarr::ByteCompiler::atomParenthesesEnd): (JSC::Yarr::ByteCompiler::regexBegin): (JSC::Yarr::ByteCompiler::regexEnd): (JSC::Yarr::ByteCompiler::alterantiveDisjunction): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::byteCompileRegex): (JSC::Yarr::interpretRegex):
- yarr/RegexInterpreter.h: Added. (JSC::Yarr::ByteTerm::): (JSC::Yarr::ByteTerm::ByteTerm): (JSC::Yarr::ByteTerm::BOL): (JSC::Yarr::ByteTerm::CheckInput): (JSC::Yarr::ByteTerm::EOL): (JSC::Yarr::ByteTerm::WordBoundary): (JSC::Yarr::ByteTerm::BackReference): (JSC::Yarr::ByteTerm::AlternativeBegin): (JSC::Yarr::ByteTerm::AlternativeDisjunction): (JSC::Yarr::ByteTerm::AlternativeEnd): (JSC::Yarr::ByteTerm::PatternEnd): (JSC::Yarr::ByteTerm::invert): (JSC::Yarr::ByteTerm::capture): (JSC::Yarr::ByteDisjunction::ByteDisjunction): (JSC::Yarr::BytecodePattern::BytecodePattern): (JSC::Yarr::BytecodePattern::~BytecodePattern):
- yarr/RegexJIT.cpp: Added. (JSC::Yarr::RegexGenerator::optimizeAlternative): (JSC::Yarr::RegexGenerator::matchCharacterClassRange): (JSC::Yarr::RegexGenerator::matchCharacterClass): (JSC::Yarr::RegexGenerator::jumpIfNoAvailableInput): (JSC::Yarr::RegexGenerator::jumpIfAvailableInput): (JSC::Yarr::RegexGenerator::checkInput): (JSC::Yarr::RegexGenerator::atEndOfInput): (JSC::Yarr::RegexGenerator::notAtEndOfInput): (JSC::Yarr::RegexGenerator::jumpIfCharEquals): (JSC::Yarr::RegexGenerator::jumpIfCharNotEquals): (JSC::Yarr::RegexGenerator::readCharacter): (JSC::Yarr::RegexGenerator::storeToFrame): (JSC::Yarr::RegexGenerator::loadFromFrame): (JSC::Yarr::RegexGenerator::TermGenerationState::TermGenerationState): (JSC::Yarr::RegexGenerator::TermGenerationState::resetAlternative): (JSC::Yarr::RegexGenerator::TermGenerationState::alternativeValid): (JSC::Yarr::RegexGenerator::TermGenerationState::nextAlternative): (JSC::Yarr::RegexGenerator::TermGenerationState::alternative): (JSC::Yarr::RegexGenerator::TermGenerationState::resetTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::termValid): (JSC::Yarr::RegexGenerator::TermGenerationState::nextTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::term): (JSC::Yarr::RegexGenerator::TermGenerationState::lookaheadTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::isSinglePatternCharacterLookaheadTerm): (JSC::Yarr::RegexGenerator::TermGenerationState::inputOffset): (JSC::Yarr::RegexGenerator::TermGenerationState::jumpToBacktrack): (JSC::Yarr::RegexGenerator::TermGenerationState::setBacktrackGenerated): (JSC::Yarr::RegexGenerator::jumpToBacktrackCheckEmitPending): (JSC::Yarr::RegexGenerator::genertateAssertionBOL): (JSC::Yarr::RegexGenerator::genertateAssertionEOL): (JSC::Yarr::RegexGenerator::matchAssertionWordchar): (JSC::Yarr::RegexGenerator::genertateAssertionWordBoundary): (JSC::Yarr::RegexGenerator::genertatePatternCharacterSingle): (JSC::Yarr::RegexGenerator::genertatePatternCharacterPair): (JSC::Yarr::RegexGenerator::genertatePatternCharacterFixed): (JSC::Yarr::RegexGenerator::genertatePatternCharacterGreedy): (JSC::Yarr::RegexGenerator::genertatePatternCharacterNonGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassSingle): (JSC::Yarr::RegexGenerator::genertateCharacterClassFixed): (JSC::Yarr::RegexGenerator::genertateCharacterClassGreedy): (JSC::Yarr::RegexGenerator::genertateCharacterClassNonGreedy): (JSC::Yarr::RegexGenerator::generateParenthesesSingleDisjunctionOneAlternative): (JSC::Yarr::RegexGenerator::generateParenthesesSingle): (JSC::Yarr::RegexGenerator::generateTerm): (JSC::Yarr::RegexGenerator::generateDisjunction): (JSC::Yarr::RegexGenerator::RegexGenerator): (JSC::Yarr::RegexGenerator::generate): (JSC::Yarr::jitCompileRegex): (JSC::Yarr::executeRegex):
- yarr/RegexJIT.h: Added. (JSC::Yarr::RegexCodeBlock::RegexCodeBlock):
- yarr/RegexParser.h: Added. (JSC::Yarr::): (JSC::Yarr::Parser::): (JSC::Yarr::Parser::CharacterClassParserDelegate::CharacterClassParserDelegate): (JSC::Yarr::Parser::CharacterClassParserDelegate::begin): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacterUnescaped): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomPatternCharacter): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBuiltInCharacterClass): (JSC::Yarr::Parser::CharacterClassParserDelegate::end): (JSC::Yarr::Parser::CharacterClassParserDelegate::assertionWordBoundary): (JSC::Yarr::Parser::CharacterClassParserDelegate::atomBackReference): (JSC::Yarr::Parser::CharacterClassParserDelegate::flush): (JSC::Yarr::Parser::CharacterClassParserDelegate::): (JSC::Yarr::Parser::Parser): (JSC::Yarr::Parser::parseEscape): (JSC::Yarr::Parser::parseAtomEscape): (JSC::Yarr::Parser::parseCharacterClassEscape): (JSC::Yarr::Parser::parseCharacterClass): (JSC::Yarr::Parser::parseParenthesesBegin): (JSC::Yarr::Parser::parseParenthesesEnd): (JSC::Yarr::Parser::parseQuantifier): (JSC::Yarr::Parser::parseTokens): (JSC::Yarr::Parser::parse): (JSC::Yarr::Parser::saveState): (JSC::Yarr::Parser::restoreState): (JSC::Yarr::Parser::atEndOfPattern): (JSC::Yarr::Parser::peek): (JSC::Yarr::Parser::peekIsDigit): (JSC::Yarr::Parser::peekDigit): (JSC::Yarr::Parser::consume): (JSC::Yarr::Parser::consumeDigit): (JSC::Yarr::Parser::consumeNumber): (JSC::Yarr::Parser::consumeOctal): (JSC::Yarr::Parser::tryConsume): (JSC::Yarr::Parser::tryConsumeHex): (JSC::Yarr::parse):
- yarr/RegexPattern.h: Added. (JSC::Yarr::CharacterRange::CharacterRange): (JSC::Yarr::): (JSC::Yarr::PatternTerm::): (JSC::Yarr::PatternTerm::PatternTerm): (JSC::Yarr::PatternTerm::BOL): (JSC::Yarr::PatternTerm::EOL): (JSC::Yarr::PatternTerm::WordBoundary): (JSC::Yarr::PatternTerm::invert): (JSC::Yarr::PatternTerm::capture): (JSC::Yarr::PatternTerm::quantify): (JSC::Yarr::PatternAlternative::PatternAlternative): (JSC::Yarr::PatternAlternative::lastTerm): (JSC::Yarr::PatternAlternative::removeLastTerm): (JSC::Yarr::PatternDisjunction::PatternDisjunction): (JSC::Yarr::PatternDisjunction::~PatternDisjunction): (JSC::Yarr::PatternDisjunction::addNewAlternative): (JSC::Yarr::RegexPattern::RegexPattern): (JSC::Yarr::RegexPattern::~RegexPattern): (JSC::Yarr::RegexPattern::reset): (JSC::Yarr::RegexPattern::containsIllegalBackReference): (JSC::Yarr::RegexPattern::newlineCharacterClass): (JSC::Yarr::RegexPattern::digitsCharacterClass): (JSC::Yarr::RegexPattern::spacesCharacterClass): (JSC::Yarr::RegexPattern::wordcharCharacterClass): (JSC::Yarr::RegexPattern::nondigitsCharacterClass): (JSC::Yarr::RegexPattern::nonspacesCharacterClass): (JSC::Yarr::RegexPattern::nonwordcharCharacterClass):