darin@apple.com [Sun, 16 Dec 2007 20:14:25 +0000 (20:14 +0000)]
- fix Tiger build (my fault it was broken)
* rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28776
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 19:26:02 +0000 (19:26 +0000)]
WebCore:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6129
Incomplete implementation of CSS 2.1 system colors
Test: fast/css/css2-system-color.html
Based on original patch by Rob Buis.
System colors are retrieved from NSColor as appropriate. If the color is a pattern color
(and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
color and sample that to get a solid color.
* css/CSSStyleSelector.cpp:
(WebCore::):
(WebCore::colorForCSSValue):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::systemColor):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::getSystemColor):
(WebCore::RenderThemeMac::platformColorsDidChange):
(WebCore::RenderThemeMac::systemColor):
LayoutTests:
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=6129
Incomplete implementation of CSS 2.1 system colors
Add layout test for this bug and update tests for new system-derived colors
* fast/css/css2-system-color.html: Added.
* platform/mac/fast/css/css2-system-color-expected.checksum: Added.
* platform/mac/fast/css/css2-system-color-expected.png: Added.
* platform/mac/fast/css/css2-system-color-expected.txt: Added.
* platform/mac/fast/css/css2-system-fonts-expected.checksum:
* platform/mac/tables/mozilla/bugs/bug103533-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28775
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 16 Dec 2007 18:40:02 +0000 (18:40 +0000)]
WebCore:
Reviewed by Darin Adler.
- fix http://bugs.webkit.org/show_bug.cgi?id=16426
Divs with overflow:auto: scrollbars not correctly updated when contents change
Test: fast/overflow/scrollbar-position-update.html
* platform/mac/PlatformScrollBarMac.mm:
(WebCore::PlatformScrollbar::updateThumbProportion): Update the
NSScroller's value for the new proportions.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
repaint(). Scrollbars repaint themselves as needed.
LayoutTests:
Reviewed by Darin Adler.
- test for http://bugs.webkit.org/show_bug.cgi?id=16426
Divs with overflow:auto: scrollbars not correctly updated when contents change
* fast/overflow/scrollbar-position-update.html: Added.
* platform/mac-leopard/fast/overflow: Added.
* platform/mac-leopard/fast/overflow/scrollbar-position-update-expected.checksum: Added.
* platform/mac-leopard/fast/overflow/scrollbar-position-update-expected.png: Added.
* platform/mac/fast/overflow/scrollbar-position-update-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28774
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 18:13:32 +0000 (18:13 +0000)]
- try to fix the build
* WebView.cpp:
(wxWebView::OnKeyEvents): Add a WebCore prefix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28773
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sun, 16 Dec 2007 17:37:42 +0000 (17:37 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=14140
<rdar://problem/
5270958> REGRESSION: Complex system KeyBindings don't work properly
WebCore:
* dom/KeyboardEvent.h:
(WebCore::KeypressCommand::KeypressCommand):
(WebCore::KeyboardEvent::keypressCommands):
Change stored command class to preserve complete information about commands.
* editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
as a command.
* page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
WebKit:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
when handling keypress, too.
(-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
(-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
restore the state for additional commands to be saved correctly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28772
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sun, 16 Dec 2007 17:31:35 +0000 (17:31 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16162
Problems with float parsing on Linux (locale-dependent parsing was used).
* kjs/dtoa.cpp: Removed USE_LOCALE to reduce future confusion.
* kjs/lexer.cpp: (KJS::Lexer::lex): Parse with kjs_strtod, not the system one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28771
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sun, 16 Dec 2007 16:16:17 +0000 (16:16 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16462
REGRESSION: access keys broken on Windows
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28770
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sun, 16 Dec 2007 13:20:11 +0000 (13:20 +0000)]
2007-12-16 Xan Lopez <xan@gnome.org>
Reviewed by Alexey Proskuryakov.
http://bugs.webkit.org/show_bug.cgi?id=16454
[GTK] Text input doesn't work consistently on PPC
* platform/gtk/KeyEventGtk.cpp:
(WebCore::singleCharacterString):
UChar is 2 bytes (UTF-16), so transform accordingly from
gunichar (UCS-4). Fixes keyboard input on big endian systems.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28769
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 16 Dec 2007 06:57:04 +0000 (06:57 +0000)]
Reviewed by Mark Rowe.
Fix urlSuitableForTestResult to correctly identify wstring::npos as
the case when wstring.find doesn't find anything.
* DumpRenderTree/win/DumpRenderTree.cpp:
(urlSuitableForTestResult):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28768
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 02:00:09 +0000 (02:00 +0000)]
Reviewed by Mark Rowe.
- better build fix for the problem affecting GTK and some other platforms
"this time for sure"
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
* bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
which won't work, declare the tables that are in the .lut.h file in the header.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28767
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kevino@webkit.org [Sun, 16 Dec 2007 01:54:59 +0000 (01:54 +0000)]
Fixed the Wx port's FontPlatformData for use in HashTable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28766
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sun, 16 Dec 2007 01:33:57 +0000 (01:33 +0000)]
Reviewed by Darin Adler.
- fix <rdar://problem/
5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::metaFileEnumProc): Added. Called during metafile record
enumeration and extracts the font from the create font record.
(WebCore::FontCache::getFontDataForCharacters): If font linking fails,
let Uniscribe draw the characters and see what font it chooses.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28765
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 01:31:37 +0000 (01:31 +0000)]
* WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28764
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 01:30:17 +0000 (01:30 +0000)]
Disabled the smallFonts.svg test, which has been failing for weeks. I heard that Niko
is going to fix this soon. He should rename it back at that time.
Removed the svn:executable flag from many .svg, .png, and .css files that had it set
for no good reason.
* svg/batik/text/smallFonts.svg: Removed.
* svg/batik/text/smallFonts.svg-disabled: Copied from svg/batik/text/smallFonts.svg.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28763
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Sun, 16 Dec 2007 01:11:22 +0000 (01:11 +0000)]
Another try at a GTK build fix.
* WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28762
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sun, 16 Dec 2007 00:07:31 +0000 (00:07 +0000)]
Force windows to regenerate COM DOM bindings.
* WebCore.vcproj/build-generated-files.sh: Add license.
* bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28761
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 15 Dec 2007 23:32:57 +0000 (23:32 +0000)]
Fix Windows and wx builds.
* WebCore.vcproj/WebCore.vcproj:
* WebCoreSources.bkl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28760
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 23:31:23 +0000 (23:31 +0000)]
Gtk build fix. Add JSEventTargetBase.cpp to SOURCES.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28759
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 15 Dec 2007 23:24:22 +0000 (23:24 +0000)]
Fix wx build.
* WebCoreSources.bkl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28758
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Sat, 15 Dec 2007 23:23:35 +0000 (23:23 +0000)]
Not reviewed. Build fix for Qt/Gtk.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28757
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zimmermann@webkit.org [Sat, 15 Dec 2007 22:48:55 +0000 (22:48 +0000)]
Reviewed by Eric.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
in the base class. Applied the same refactorization to EventTargetNode.
This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
to share as much code as possible with the EventTargetNode classes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28756
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Sat, 15 Dec 2007 20:03:38 +0000 (20:03 +0000)]
2007-12-15 Eric Seidel <eric@webkit.org>
Reviewed by Oliver.
Width of SVG elements not applied to container elements
http://bugs.webkit.org/show_bug.cgi?id=16305
Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
This is caused by poor factoring in the render tree. RenderContainer probably should be a template.
svg/css/css-box-min-width.html
* rendering/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::calcPrefWidths): Added.
* rendering/RenderSVGRoot.h:
* css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28755
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 15 Dec 2007 14:46:15 +0000 (14:46 +0000)]
Fix comment after isSafeScript() was renamed to allowsAccessFrom().
* bindings/js/kjs_window.cpp:
(KJS::createWindow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28754
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 14:13:15 +0000 (14:13 +0000)]
2007-12-15 Alp Toker <alp@atoker.com>
GTK+ DRT build fix for GLib < 2.14.
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setWaitToDump):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28753
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 13:40:20 +0000 (13:40 +0000)]
2007-12-15 Alp Toker <alp@atoker.com>
http://bugs.webkit.org/show_bug.cgi?id=16449
cairo_arc() functions hang or crash when passed inf as radius or start/end angle
Fixed in r28751. Remove these tests from the skip list:
fast/canvas/arc-crash.html
fast/canvas/canvas-with-incorrect-args.html
* platform/gtk/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28752
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 13:12:34 +0000 (13:12 +0000)]
2007-12-15 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=16449
cairo_arc() functions hang or crash when passed inf as radius or start/end angle
Add checks. This matches a similar workaround for a CG bug in the CG
graphics backend: <rdar://problem/
5189233>
Fixes:
fast/canvas/arc-crash.html
fast/canvas/canvas-with-incorrect-args.html
* platform/graphics/cairo/PathCairo.cpp:
(WebCore::Path::addArc):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28751
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 12:39:48 +0000 (12:39 +0000)]
Add a watchdog timer to Gtk DumpRenderTree, and implement alert/prompt/confirm.
This prevents many layout tests from hanging while waiting on user responses to dialogs.
Reviewed by Alp Toker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28750
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 12:39:14 +0000 (12:39 +0000)]
Add a skeleton Gtk skipped list containing only tests that hang run-webkit-tests.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28749
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 11:00:11 +0000 (11:00 +0000)]
Flesh out DumpRenderTree for Gtk. After these changes, the majority of the tests in fast/js pass.
Reviewed by Alp Toker.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28748
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sat, 15 Dec 2007 09:30:33 +0000 (09:30 +0000)]
Correct a mistake in ChangeLog.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28747
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sat, 15 Dec 2007 09:07:58 +0000 (09:07 +0000)]
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16436
Alt+Space works incorrectly
Test: platform/win/fast/events/alt-space-scroll.html
* WebView.cpp:
(WebView::keyDown):
(WebView::keyPress):
We do not handle WM_SYSCHAR events.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28746
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Sat, 15 Dec 2007 09:03:52 +0000 (09:03 +0000)]
Reviewed by Darin.
http://bugs.webkit.org/show_bug.cgi?id=16078
Google Maps zooming via the scroll wheel (almost) always zooms IN only.
* dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
Ensure that delta is never rounded down to zero - we are getting values less than 1 from
many mice on OS X, and Google Maps code assumes scrolling down if event.wheelDelta is zero.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28745
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 06:24:09 +0000 (06:24 +0000)]
2007-12-14 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
Enable the AllInOneFile.cpp optimization for the GTK+ port.
* JavaScriptCore.pri:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28744
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 04:35:07 +0000 (04:35 +0000)]
Remove commented out fprintf's that were for debugging purposes only.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28743
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Sat, 15 Dec 2007 04:31:39 +0000 (04:31 +0000)]
Don't use the MADV_DONTNEED code path for now as it has no effect on Mac OS X and is currently untested on other platforms.
Reviewed by Maciej Stachowiak.
* wtf/TCSystemAlloc.cpp:
(TCMalloc_SystemRelease): Return after releasing memory rather than potentially falling
through into another mechanism if multiple are supported.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28742
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 04:21:40 +0000 (04:21 +0000)]
2007-12-14 Alp Toker <alp@atoker.com>
Build fix for GTK+/Qt and ports that don't use AllInOneFile.cpp.
Include UnusedParam.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28741
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sat, 15 Dec 2007 03:53:52 +0000 (03:53 +0000)]
Fix build on windows
Reviewd by Stephanie
* wtf/FastMalloc.cpp:
(WTF::TCMalloc_PageHeap::IncrementalScavenge):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28740
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 15 Dec 2007 03:26:35 +0000 (03:26 +0000)]
- Windows build fix
* WebCore.vcproj/WebCore.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28739
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 15 Dec 2007 03:02:14 +0000 (03:02 +0000)]
- yet another build fix
* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28738
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 03:00:45 +0000 (03:00 +0000)]
2007-12-14 Alp Toker <alp@atoker.com>
Fix inconsistent indentation in the license header. Maciej was right!
* WebCoreSupport/FrameLoaderClientGtk.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28737
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 02:51:01 +0000 (02:51 +0000)]
2007-12-14 Alp Toker <alp@atoker.com>
GTK+/Qt build fix. Track added files in r28722.
* WebCore.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28736
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 15 Dec 2007 02:16:20 +0000 (02:16 +0000)]
<rdar://problem/
5647272> Remove user agent string hack for flickr.com
Reviewed by Darin.
* WebView/WebView.mm:
(-[WebView _userAgentForURL:]): Removed hack.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28735
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Sat, 15 Dec 2007 02:15:06 +0000 (02:15 +0000)]
<rdar://problem/
5647261> Remove user agent string hack for yahoo.com
Reviewed by Darin.
* WebView/WebView.mm:
(-[WebView _userAgentForURL:]): Removed hack.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28734
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 15 Dec 2007 02:09:16 +0000 (02:09 +0000)]
- try again to fix the Windows build
* wtf/TCSystemAlloc.cpp:
(TCMalloc_SystemRelease):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28733
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 15 Dec 2007 02:00:08 +0000 (02:00 +0000)]
- try to fix the Windows build
* wtf/TCSystemAlloc.cpp:
(TCMalloc_SystemRelease):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28732
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Sat, 15 Dec 2007 01:35:30 +0000 (01:35 +0000)]
- build fix
* WebIconDatabase.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28731
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 15 Dec 2007 01:19:19 +0000 (01:19 +0000)]
Fix ChangeLog
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28730
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Sat, 15 Dec 2007 01:17:50 +0000 (01:17 +0000)]
Reviewed by Geoff.
Speed up getElementByClassName.
- This makes getElementByClassName take 33% faster on the stress test
linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
* platform/text/StringImpl.cpp:
(WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28729
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Sat, 15 Dec 2007 01:03:59 +0000 (01:03 +0000)]
2007-12-14 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=16432
[GTK] Update license headers
Consent has been given by the authors of these files to change license
to the LGPL as outlined in the bug report.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Sat, 15 Dec 2007 00:25:45 +0000 (00:25 +0000)]
Add logic for TCMalloc to release memory to the system
Reviewed by Maciej and Oliver.
Add final changes to make TCMalloc release memory to the system.
This results in a 0.4% regression against ToT, but this is offset
against the gains made by the original TCMalloc r38 merge - in fact
we retain around 0.3-0.4% progression overall.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 23:42:32 +0000 (23:42 +0000)]
Reviewed by Adele.
- fix http://bugs.webkit.org/show_bug.cgi?id=16442
navigation policy delegate gets called twice for each load
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
That's handled by FrameLoader.
* loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
and continueAfterNavigationPolicy.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28726
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 23:41:16 +0000 (23:41 +0000)]
Reviewed by Adele.
- http://bugs.webkit.org/show_bug.cgi?id=16443
implement some missing Windows WebKit functions
* DOMHTMLClasses.cpp:
(DOMHTMLDocument::URL): Implemented.
* WebActionPropertyBag.cpp:
(WebActionPropertyBag::Read): Fixed the WebActionElementKey case.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28725
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Dec 2007 23:06:44 +0000 (23:06 +0000)]
- share the results of this test between Tiger and Leopard
* platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Removed.
* platform/mac/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 14 Dec 2007 22:06:50 +0000 (22:06 +0000)]
WebCore:
Reviewed by Brady.
Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
return nil in that case.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didExplicitOpen):
WebKitTools:
Reviewed by Brady.
Assert that a web frame that's loading a resource always has either a data source or
a provisional data source.
* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
LayoutTests:
Reviewed by Brady.
Add test that calls window.open and then immediately writes into the document
of the newly opened window.
* http/tests/misc/resources/compass.jpg: Added.
* http/tests/misc/window-open-then-write-expected.txt: Added.
* http/tests/misc/window-open-then-write.html: Added.
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 14 Dec 2007 21:48:20 +0000 (21:48 +0000)]
WebCore:
Reviewed by Mitz.
- fix http://bugs.webkit.org/show_bug.cgi?id=14955
Implement getElementsByClassName.
This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
and takes advantage of admitting that it's class-specific to encapsulate class attribute
parsing so it can be shared. It also changes the class to use a Vector, rather than a linked
list to store the class names.
Tests: fast/dom/getElementsByClassName/001.html
fast/dom/getElementsByClassName/002.html
fast/dom/getElementsByClassName/003.html
fast/dom/getElementsByClassName/004.html
fast/dom/getElementsByClassName/005.html
fast/dom/getElementsByClassName/006.html
fast/dom/getElementsByClassName/007.html
fast/dom/getElementsByClassName/008.html
fast/dom/getElementsByClassName/009.html
fast/dom/getElementsByClassName/010.xml
fast/dom/getElementsByClassName/011.xml
fast/dom/getElementsByClassName/012.html
fast/dom/getElementsByClassName/013.html
fast/dom/getElementsByClassName/014.html
fast/dom/getElementsByClassName/array/001.html
fast/dom/getElementsByClassName/array/002.html
fast/dom/getElementsByClassName/array/003.html
fast/dom/getElementsByClassName/array/004.html
fast/dom/getElementsByClassName/dumpNodeList.html
* WebCore.xcodeproj/project.pbxproj:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::checkOneSelector):
* dom/AtomicStringList.h: Removed.
* dom/ClassNames.cpp: Added.
(WebCore::ClassNames::contains):
(WebCore::ClassNames::parseClassAttribute):
* dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
(WebCore::ClassNames::ClassNames):
(WebCore::ClassNames::size):
(WebCore::ClassNames::clear):
(WebCore::ClassNames::operator[]):
(WebCore::isClassWhitespace):
* dom/ClassNodeList.cpp: Added.
(WebCore::ClassNodeList::ClassNodeList):
(WebCore::ClassNodeList::length):
(WebCore::ClassNodeList::item):
(WebCore::ClassNodeList::nodeMatches):
* dom/ClassNodeList.h: Added.
* dom/Document.cpp:
(WebCore::Document::getElementsByName):
(WebCore::Document::getElementsByClassName):
* dom/Document.h:
* dom/Document.idl:
* dom/Element.cpp:
(WebCore::Element::getClassNames):
(WebCore::Element::getElementsByClassName):
* dom/Element.h:
* dom/Element.idl:
* dom/NameNodeList.cpp:
(WebCore::NameNodeList::NameNodeList):
(WebCore::NameNodeList::item):
(WebCore::NameNodeList::nodeMatches):
* dom/NameNodeList.h:
* dom/NamedMappedAttrMap.cpp:
(WebCore::NamedMappedAttrMap::clearAttributes):
(WebCore::NamedMappedAttrMap::parseClassAttribute):
* dom/NamedMappedAttrMap.h:
(WebCore::NamedMappedAttrMap::getClassNames):
* dom/StyledElement.cpp:
(WebCore::StyledElement::getClassNames):
* dom/StyledElement.h:
LayoutTests:
Reviewed by Mitz.
- test for http://bugs.webkit.org/show_bug.cgi?id=14955
Implement getElementsByClassName
Tests added from http://tc.labs.opera.com/apis/getElementsByClassName/
* fast/dom/Window/window-properties-expected.txt:
* fast/dom/getElementsByClassName: Added.
* fast/dom/getElementsByClassName/001-expected.txt: Added.
* fast/dom/getElementsByClassName/001.html: Added.
* fast/dom/getElementsByClassName/002-expected.txt: Added.
* fast/dom/getElementsByClassName/002.html: Added.
* fast/dom/getElementsByClassName/003-expected.txt: Added.
* fast/dom/getElementsByClassName/003.html: Added.
* fast/dom/getElementsByClassName/004-expected.txt: Added.
* fast/dom/getElementsByClassName/004.html: Added.
* fast/dom/getElementsByClassName/005-expected.txt: Added.
* fast/dom/getElementsByClassName/005.html: Added.
* fast/dom/getElementsByClassName/006-expected.txt: Added.
* fast/dom/getElementsByClassName/006.html: Added.
* fast/dom/getElementsByClassName/007-expected.txt: Added.
* fast/dom/getElementsByClassName/007.html: Added.
* fast/dom/getElementsByClassName/008-expected.txt: Added.
* fast/dom/getElementsByClassName/008.html: Added.
* fast/dom/getElementsByClassName/009-expected.txt: Added.
* fast/dom/getElementsByClassName/009.html: Added.
* fast/dom/getElementsByClassName/010-expected.txt: Added.
* fast/dom/getElementsByClassName/010.xml: Added.
* fast/dom/getElementsByClassName/011-expected.txt: Added.
* fast/dom/getElementsByClassName/011.xml: Added.
* fast/dom/getElementsByClassName/012-expected.txt: Added.
* fast/dom/getElementsByClassName/012.html: Added.
* fast/dom/getElementsByClassName/013-expected.txt: Added.
* fast/dom/getElementsByClassName/013.html: Added.
* fast/dom/getElementsByClassName/014-expected.txt: Added.
* fast/dom/getElementsByClassName/014.html: Added.
* fast/dom/getElementsByClassName/array: Added.
* fast/dom/getElementsByClassName/array/001-expected.txt: Added.
* fast/dom/getElementsByClassName/array/001.html: Added.
* fast/dom/getElementsByClassName/array/002-expected.txt: Added.
* fast/dom/getElementsByClassName/array/002.html: Added.
* fast/dom/getElementsByClassName/array/003-expected.txt: Added.
* fast/dom/getElementsByClassName/array/003.html: Added.
* fast/dom/getElementsByClassName/array/004-expected.txt: Added.
* fast/dom/getElementsByClassName/array/004.html: Added.
* fast/dom/getElementsByClassName/dumpNodeList-expected.txt: Added.
* fast/dom/getElementsByClassName/dumpNodeList.html: Added.
* fast/dom/getElementsByClassName/resources: Added.
* fast/dom/getElementsByClassName/resources/common.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 20:50:30 +0000 (20:50 +0000)]
JavaScriptCore:
Reviewed by Sam.
- removed unnecessary includes of "Vector.h"
* wtf/HashMap.h:
(WTF::copyKeysToVector): Make the type of the vector be a template parameter.
This allows copying keys into a vector of a base class or one with an inline capacity.
(WTF::copyValuesToVector): Ditto.
* wtf/HashSet.h:
(WTF::copyToVector): Ditto.
WebCore:
Reviewed by Sam.
- fix http://bugs.webkit.org/show_bug.cgi?id=16351
FontFallbackList.h doesn't include wtf/PassRefPtr.h
* platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
* platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 20:42:24 +0000 (20:42 +0000)]
- fix mistake causing nearly all tests to fail on Windows
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::webViewAddMessageToConsole): Need to compare the result of find with
npos, not 0. Also pass URL in to URL function rather than passing the entire message.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:]): Pass path only to path function rather
than passing the entire message.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 20:34:49 +0000 (20:34 +0000)]
- fix Tiger build
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:]): Re-implement this without using any
new-to-Leopard methods.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28719
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 20:25:33 +0000 (20:25 +0000)]
WebKit/mac:
Reviewed by Brady.
- fix http://bugs.webkit.org/show_bug.cgi?id=16296
<rdar://problem/
5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
* WebView/WebView.mm:
(-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
a didReceiveIcon method is present.
WebKitTools:
* DumpRenderTree/mac/FrameLoadDelegate.mm: Don't implement didReceiveIcon delegate method
since it now triggers unwanted icon loading. We only had it because we implemented "all"
delegate methods here.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28718
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Fri, 14 Dec 2007 20:03:16 +0000 (20:03 +0000)]
WebCore:
Reviewed by Alexey.
- http://bugs.webkit.org/show_bug.cgi?id=16420
change regression tests to use document.execCommand instead of textInputController.doCommand
Add a few more operations to document.execCommand.
Finished up the transition to the new Editor::Command, including removing
the Editor::execCommand function.
* WebCore.base.exp: Added Editor::Command::isSupported.
* editing/Editor.h: Removed execCommand.
* editing/EditorCommand.cpp:
(WebCore::expandSelectionToGranularity): Added.
(WebCore::verticalScrollDistance): Added; replaces canScroll.
(WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
(WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
(WebCore::executeDeleteForward): Ditto.
(WebCore::executeDeleteToBeginningOfLine): Ditto.
(WebCore::executeDeleteToBeginningOfParagraph): Ditto.
(WebCore::executeDeleteToEndOfLine): Ditto.
(WebCore::executeDeleteToEndOfParagraph): Ditto.
(WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
removing the explicit scrolling, and letting it be done automatically by code that makes
the caret visible. In some cases the old code would scroll twice which was harmless but
unnecessary.
(WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
(WebCore::executeMovePageUp): See MovePageDown above.
(WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
(WebCore::executeSelectLine): Ditto.
(WebCore::executeSelectParagraph): Ditto.
(WebCore::executeSelectSentence): Ditto.
(WebCore::executeSelectWord): Ditto.
(WebCore::executeSwapWithMark): Some small tweaks.
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
bit more, but I didn't do that this time.
- Removed some obsolete unused code.
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
NSTextView. This was left over from when we used NSTextField and NSTextView for form
elements and is no longer used at all.
* page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
of the bridge or another. We really need to find a time to tear down the rest of the
bridge, but that's not this patch.
* page/mac/WebCoreFrameBridge.mm:
(-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
instead of using a method.
(-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
Took out obsolete comment about matching enums (we use a single enum now and have for some
time).
(-[WebCoreFrameBridge selectionGranularity]): Ditto.
WebKit:
* StringsNotToBeLocalized.txt: Updated.
WebKit/gtk:
Reviewed by Alexey.
* WebCoreSupport/EditorClientGtk.cpp:
(WebKit::EditorClient::handleKeyboardEvent): Changed to use Editor::command
instead of Editor::execCommand.
* WebView/webkitwebview.cpp: Ditto.
WebKit/mac:
Reviewed by Alexey.
- Changed a few more editing operations to use WebCore instead of WebKit.
- Removed some obsolete unused code.
* WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
defined and used on the WebKit side to here. These no longer belong on the bridge
and should be moved to the WebFrame class (or elsewhere).
* WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
* WebView/WebHTMLView.mm:
(-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
(-[WebHTMLViewPrivate clear]): Ditto.
(-[WebHTMLView _setMouseDownEvent:]): Ditto.
(commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
disambiguated with the word "Move"). Added deleteBackward:,
deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
forwarded to WebCore.
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
operations that we forward to WebCore. Instead, look up any command that WebCore can
handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
(-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
(-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
(-[WebHTMLView resignFirstResponder]): Ditto.
(-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
* WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
_willMakeFirstResponderForNodeFocus.
WebKit/qt:
Reviewed by Alexey.
* Api/qwebpage.cpp:
(QWebPage::triggerAction): Removed some use of Editor member functions we plan
to eventually eliminate. Switch from Editor::execCommand to Editor::command.
* WebCoreSupport/EditorClientQt.cpp:
(WebCore::EditorClientQt::handleKeyboardEvent): Ditto. Also updated name from
MoveUpByPageAndModifyCaret to MovePageUp and from MoveDownByPageAndModifyCaret
to MovePageDown.
WebKit/win:
Reviewed by Alexey.
* WebView.cpp:
(WebView::execCommand): Switched from Editor::execCommand to Editor:command.
Updated name from MoveUpByPageAndModifyCaret to MovePageUp and from
MoveDownByPageAndModifyCaret to MovePageDown.
(WebView::copy): Switched from Editor::execCommand to Editor:command.
(WebView::cut): Ditto.
(WebView::paste): Ditto.
(WebView::delete_): Ditto.
WebKit/wx:
Reviewed by Alexey.
* WebKitSupport/EditorClientWx.cpp:
(WebCore::EditorClientWx::handleKeyboardEvent): Switched from Editor::execCommand
to Edtor::command.
LayoutTests:
Reviewed by Alexey.
- http://bugs.webkit.org/show_bug.cgi?id=16420
change regression tests to use document.execCommand instead of textInputController.doCommand
To avoid changing results at this time, I didn't correct the many tests that now have
misleading "this test cannot be run manually" text or references to "NSResponder" or
uneeded instructions for running the test manually. We can do that on a later pass.
* editing/deleting/
5300379.html: Use execCommand instead of doCommand.
* editing/deleting/delete-to-end-of-paragraph.html: Ditto.
* editing/deleting/smart-delete-003.html: Ditto.
* editing/deleting/smart-delete-004.html: Ditto.
* editing/execCommand/nsresponder-indent.html: Ditto.
* editing/execCommand/nsresponder-outdent.html: Ditto.
* editing/selection/
4947387.html: Ditto.
* editing/selection/
5195166-1.html: Ditto.
* editing/selection/
5195166-2.html: Ditto.
* editing/selection/select-line.html: Ditto.
* editing/selection/selection-actions.html: Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Fri, 14 Dec 2007 19:55:37 +0000 (19:55 +0000)]
WebCore:
Reviewed by Darin Adler.
<rdar://problem/
5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
* editing/CompositeEditCommand.h:
* editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
* editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
* editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
it and listNode, if they exists, so that moving listChildNode doesn't put it out
of order. Added a test case to cover each change.
* editing/SplitElementCommand.cpp:
(WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
tries to split a container at a bogus child, and an early return to avoid a
hang in that case.
LayoutTests:
Reviewed by Darin Adler.
<rdar://problem/
5575101> Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
* editing/execCommand/
5575101-1-expected.txt: Added.
* editing/execCommand/
5575101-1.html: Added.
* editing/execCommand/
5575101-2-expected.txt: Added.
* editing/execCommand/
5575101-2.html: Added.
* editing/execCommand/
5575101-3-expected.txt: Added.
* editing/execCommand/
5575101-3.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Fri, 14 Dec 2007 19:47:16 +0000 (19:47 +0000)]
JavaScriptCore:
Reviewed by Darin and Geoff.
<rdar://problem/
5619295>
REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
Get rid of unnecessary and incorrect security checks for plug-ins accessing JavaScript objects.
The way this used to work was that each NPObject that wrapped a JSObject would have a root object
corresponding to the frame object (used for managing the lifecycle) and an origin root object (used for
doing security checks).
This would prevent a plug-in from accessing a frame's window object if it's security origin was different
(some parts of the window, such as the location object, can be accessed from frames with different security
origins, and those checks are being done in WebCore).
Also, if a plug-in were to access a window object of a frame that later went away, it could lead to that
Window JSObject being garbage collected and the NPObject pointing to freed memory.
How this works now is that there is no origin root object anymore, and all NPObject wrappers that are created
for a plug-in will have the root object of the containing frame of that plug-in.
* bindings/NP_jsobject.cpp:
(jsDeallocate):
Don't free the origin root object.
(_NPN_CreateScriptObject):
Remove the origin root object parameter.
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
Get rid of all security checks.
* bindings/NP_jsobject.h:
Remove originRootObject from the JavaScriptObject struct.
* bindings/c/c_utility.cpp:
(KJS::Bindings::convertValueToNPVariant):
Always use the root object from the ExecState.
WebCore:
Reviewed by Darin and Geoff.
<rdar://problem/
5619295>
REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
_NPN_CreateScriptObject doesn't take an origin root object anymore.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::createNPObject):
* page/Frame.cpp:
(WebCore::Frame::windowScriptNPObject):
WebKitTools:
Reviewed by Darin and Geoff.
<rdar://problem/
5619295>
REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
Add property getting methods to the plug-in.
* DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
(pluginInvoke):
LayoutTests:
Reviewed by Darin and Geoff.
<rdar://problem/
5619295>
REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
Add cross frame plug/in test where a plug/in inside an iframe tries to access properties of the
top-level frame.
* http/tests/plugins/cross-frame-object-access-expected.txt: Added.
* http/tests/plugins/cross-frame-object-access.html: Added.
* http/tests/plugins/resources/cross-frame-object-access.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Dec 2007 19:37:12 +0000 (19:37 +0000)]
Reviewed by Darin Adler.
- fix <rdar://problem/
5643663> text-shadow and box-shadow offsets 1px smaller than specified
which is the root cause of:
http://bugs.webkit.org/show_bug.cgi?id=12943
box-shadow: small values don't affect shadow position
http://bugs.webkit.org/show_bug.cgi?id=14736
Safari implementation of text-shadow off by 1px
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
of the offsets passed to CGContextSetShadow* to ensure that the end
result after truncation is the desired integer offsets.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
oliver@apple.com [Fri, 14 Dec 2007 18:34:16 +0000 (18:34 +0000)]
Move layout test to mac skipped list until mac frt bug fixed.
Reviewed by Adam.
Fix test output, and move test to mac skipped list until
<rdar://problem/
5647952> fast/events/mouseout-on-window.html
is fixed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Fri, 14 Dec 2007 18:19:15 +0000 (18:19 +0000)]
Reviewed by Darin.
- Layout test fix for mac. When dumped to the console local file paths
now only show the name of the resource not the whole path. This is to
make the results machine and OS independent.
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 14 Dec 2007 06:56:45 +0000 (06:56 +0000)]
2007-12-13 Alp Toker <alp@atoker.com>
curl backend build fix for breakage introduced in r28709.
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Fri, 14 Dec 2007 05:32:35 +0000 (05:32 +0000)]
WebCore:
Reviewed by Oliver Hunt.
<rdar://problem/
5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
handle editing positions, like [input, 0];
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
the input element itself.
Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
nesting a <div>.
LayoutTests:
Reviewed by Oliver Hunt.
<rdar://problem/
5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
* editing/inserting/
5607069-1-expected.checksum: Added.
* editing/inserting/
5607069-1-expected.png: Added.
* editing/inserting/
5607069-1-expected.txt: Added.
* editing/inserting/
5607069-1.html: Added.
* editing/inserting/
5607069-2.html: Added.
* editing/inserting/
5607069-3.html: Added.
* platform/mac/editing/inserting/
5607069-2-expected.checksum: Added.
* platform/mac/editing/inserting/
5607069-2-expected.png: Added.
* platform/mac/editing/inserting/
5607069-2-expected.txt: Added.
* platform/mac/editing/inserting/
5607069-3-expected.checksum: Added.
* platform/mac/editing/inserting/
5607069-3-expected.png: Added.
* platform/mac/editing/inserting/
5607069-3-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 14 Dec 2007 03:37:49 +0000 (03:37 +0000)]
2007-12-13 Alp Toker <alp@atoker.com>
Reviewed by Oliver Hunt.
http://bugs.webkit.org/show_bug.cgi?id=16365
[cURL] Acid2 test segmentation fault
This patch makes the Acid2 test pass.
Defer the cleanup of cancelled jobs and halt further transfer as early
as possible.
Bug found by and initial patch provided by Luca Bruno.
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::cancel):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 14 Dec 2007 03:32:18 +0000 (03:32 +0000)]
Reviewed by Mark Rowe.
Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
* page/InspectorController.cpp:
(WebCore::moveByUnrestricted):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::moveWindowBy):
* page/InspectorController.h:
* page/inspector/inspector.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28708
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Fri, 14 Dec 2007 02:25:29 +0000 (02:25 +0000)]
WebCore:
Reviewed by Dave Hyatt.
- fix <rdar://problem/
5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
Test: fast/css/transition-timing-function.html
* css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
not reject non-primitive non-list values, and instead made sure that the
mapping functions rejected them if necessary. This allows non-primitive
timing functions to be mapped.
(WebCore::CSSStyleSelector::mapBackgroundAttachment):
(WebCore::CSSStyleSelector::mapBackgroundClip):
(WebCore::CSSStyleSelector::mapBackgroundComposite):
(WebCore::CSSStyleSelector::mapBackgroundOrigin):
(WebCore::CSSStyleSelector::mapBackgroundImage):
(WebCore::CSSStyleSelector::mapBackgroundRepeat):
(WebCore::CSSStyleSelector::mapBackgroundXPosition):
(WebCore::CSSStyleSelector::mapBackgroundYPosition):
(WebCore::CSSStyleSelector::mapTransitionDuration):
(WebCore::CSSStyleSelector::mapTransitionRepeatCount):
(WebCore::CSSStyleSelector::mapTransitionTimingFunction):
(WebCore::CSSStyleSelector::mapTransitionProperty):
* css/CSSTimingFunctionValue.cpp:
(WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
regression test.
* css/CSSTimingFunctionValue.h:
(WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
Added. Returns true.
* css/CSSValue.h:
(WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
false.
LayoutTests:
Reviewed by Dave Hyatt.
- test for <rdar://problem/
5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
* fast/css/transition-timing-function-expected.txt: Added.
* fast/css/transition-timing-function.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28707
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Fri, 14 Dec 2007 02:14:58 +0000 (02:14 +0000)]
Reviewed by Oliver.
- Add some explanatory test and a dumb logo to SunSpider web hosted version
* hosted/sunspider-driver.html:
* hosted/sunspider-results.html:
* hosted/sunspider.css:
* hosted/sunspider.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Fri, 14 Dec 2007 02:07:18 +0000 (02:07 +0000)]
WebKitTools:
Reviewed by Adam.
- Layout tests fix. We need a way to remove machine-dependent
information from paths in layout test results. The UIDelegate now does
this.
* DumpRenderTree/DumpRenderTree.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
(urlSuitableForTestResult):
* DumpRenderTree/win/DumpRenderTreeWin.h:
* DumpRenderTree/win/ResourceLoadDelegate.cpp:
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::webViewAddMessageToConsole):
LayoutTests:
Reviewed by Adam.
- Layout tests fix. Removed machine dependant results and generated new
results without machine specific information.
* fast/dom/frame-loading-via-document-write-expected.txt: Added.
* http/tests/security/frame-loading-via-document-write-expected.txt: Added.
* http/tests/security/local-CSS-from-remote-expected.txt:
* http/tests/security/local-JavaScript-from-remote-expected.txt:
* http/tests/security/local-iFrame-from-remote-expected.txt:
* http/tests/security/local-image-from-remote-expected.txt:
* platform/mac/fast/dom/frame-loading-via-document-write-expected.checksum: Removed.
* platform/mac/fast/dom/frame-loading-via-document-write-expected.png: Removed.
* platform/mac/fast/dom/frame-loading-via-document-write-expected.txt: Removed.
* platform/mac/http/tests/security: Removed.
* platform/mac/http/tests/security/frame-loading-via-document-write-expected.checksum: Removed.
* platform/mac/http/tests/security/frame-loading-via-document-write-expected.png: Removed.
* platform/mac/http/tests/security/frame-loading-via-document-write-expected.txt: Removed.
* platform/win/Skipped:
* platform/win/http: Removed.
* platform/win/http/tests: Removed.
* platform/win/http/tests/security: Removed.
* platform/win/http/tests/security/frame-loading-via-document-write-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28705
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Fri, 14 Dec 2007 01:23:11 +0000 (01:23 +0000)]
WebCore:
Move source file generation into its own vcproj to fix build dependencies.
Reviewed by Adam.
* WebCore.vcproj/WebCore.make:
* WebCore.vcproj/WebCore.sln:
* WebCore.vcproj/WebCore.submit.sln:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcproj/WebCoreGenerated.vcproj: Added.
WebKit/win:
Move source file generation into its own vcproj to fix build dependencies.
Reviewed by Adam.
* WebKit.vcproj/Interfaces.vcproj:
* WebKit.vcproj/InterfacesGenerated.vcproj: Added.
* WebKit.vcproj/WebKit.sln:
* WebKit.vcproj/WebKit.submit.sln:
* WebKit.vcproj/build-generated-files.sh:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Fri, 14 Dec 2007 01:22:39 +0000 (01:22 +0000)]
Fix the build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Fri, 14 Dec 2007 01:12:02 +0000 (01:12 +0000)]
Reviewed by Oliver Hunt.
<rdar://problem/
4145786> Undoing a color change of text in a compose window always changes it back to black
Some of the operations performed in removeHTMLFontStyle were non-undoable.
I'm having trouble writing a layout test for this because I can't get DRT to
perform editing operations in separate Undo steps without adding unacceptably long
wait times between operations. I filed:
<rdar://problem/
5646779> Can't get DRT to perform editing operations in separate Undo steps
* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::removeHTMLFontStyle):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Fri, 14 Dec 2007 01:10:00 +0000 (01:10 +0000)]
Reviewed by Anders.
Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
Toolbar dragged inspector cannot be moved beyond screen edges
* page/InspectorController.cpp:
(WebCore::moveByUnrestricted):
(WebCore::InspectorController::windowScriptObjectAvailable):
(WebCore::InspectorController::moveByUnrestricted):
* page/InspectorController.h:
* page/inspector/inspector.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Fri, 14 Dec 2007 01:07:19 +0000 (01:07 +0000)]
Fix <rdar://
5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
WebCore:
Fix <rdar://
5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
Windows Media Player has a modal message loop that will deliver
messages to us at inappropriate times and we will crash if we handle
them when they are delivered. In PluginViewWin, we add a quirk for
Media Player to set a flag whenever we give the plugin a chance to
execute code, and in SharedTimerWin we check if the plugin is
executing code and repost messages if so.
Reviewed by Anders.
* platform/win/SharedTimerWin.cpp:
(WebCore::TimerWindowWndProc): Repost messages if we're calling a
plugin.
* plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
setCallingPlugin(true/false).
(WebCore::PluginViewWin::updateWindow):
(WebCore::PluginViewWin::dispatchNPEvent):
(WebCore::PluginViewWin::setNPWindowRect):
(WebCore::PluginViewWin::start):
(WebCore::PluginViewWin::stop):
(WebCore::PluginViewWin::performRequest):
(WebCore::PluginViewWin::bindingInstance):
(WebCore::PluginViewWin::determineQuirks):
(WebCore::PluginViewWin::setCallingPlugin): Added.
(WebCore::PluginViewWin::isCallingPlugin): Added.
* plugins/win/PluginViewWin.h: Added a new quirk.
WebKit/win:
Fix <rdar://
5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
Reviewed by Anders.
* WebView.cpp:
(WebViewWndProc): Repost paint messages and ignore all other messages
when we're calling a plugin.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 14 Dec 2007 00:56:10 +0000 (00:56 +0000)]
2007-12-13 Alp Toker <alp@atoker.com>
Build fix for DRT breakage introduced in r28690.
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::pathToLocalResource):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Fri, 14 Dec 2007 00:32:23 +0000 (00:32 +0000)]
2007-12-13 Alp Toker <alp@atoker.com>
Add a missing DEPENDPATH. Fixes non-clean builds following networking
header changes.
* WebCore.pro:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Dec 2007 23:48:14 +0000 (23:48 +0000)]
JavaScriptCore:
Move source file generation into its own vcproj to fix build dependencies.
Reviewed by Adam.
* JavaScriptCore.vcproj/JavaScriptCore.sln:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Added.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj: Added.
* JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln:
WebKit/win:
Fix project dependencies based on JavaScriptCore change.
* WebKit.vcproj/WebKit.sln:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 13 Dec 2007 22:59:42 +0000 (22:59 +0000)]
Reviewed by Anders Carlsson.
- fix regression in fast/text/international/bidi-override on Tiger
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
too. I forgot to add them when I added them to treatAsZeroWidthSpace in
an earlier patch.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Thu, 13 Dec 2007 22:17:13 +0000 (22:17 +0000)]
Reviewed by Adele.
http://bugs.webkit.org/show_bug.cgi?id=16421
REGRESSION(r28669): Page scrolls down when you hit space key in text area
Test: fast/events/space-scroll-event.html
* WebView.cpp:
(WebView::keyDown):
(WebView::keyPress):
Moved space handliing to keyPress() to fix this bug and to match IE. Scrolling via arrow keys is correctly handled
in keyDown().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Thu, 13 Dec 2007 21:32:12 +0000 (21:32 +0000)]
WebCore:
Reviewed by Darin Adler.
<rdar://problem/
5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
The code that checks the selected Range to see if it's inside an anchor
checks ancestors of the Range's commonAncestor() but not the
commonAncestor() itself, and so we'd fail to add markup for the enclosing
anchor to the pasteboard.
Some enclosing element getters check the node passed to the getter and some
don't. There were a few places where we incorrectly assumed that enclosing
element getters check the node passed to the getter, but this is the only
case that I'm able to write a test case for at the moment.
In this patch I've:
Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
like the newer enclosing element getters. This is important because we must
soon add code to the getters so that they understand that some editing positions
inside nodes don't actually refer to positions inside those nodes but positions
before and after them. Like [table, 0].
Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
n where [n, o] is the position passed to the getter, instead of starting the the parent
of n. This makes all but a few of the enclosing element getters behave consistently.
Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable
nodes if the input position was editable. This fixes a bug that that the above change
exposed.
Changed enclosingTableCell to simply call enclosingNodeWithType. We should do
this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
unless doing so would affect readability, like it would in the case of enclosingTableCell.
Ditto for enclosingBlock.
* editing/AppendNodeCommand.cpp:
(WebCore::AppendNodeCommand::doApply):
* editing/DeleteButtonController.cpp:
(WebCore::enclosingDeletableElement):
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::initializePositionData):
(WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
* editing/Editor.cpp:
(WebCore::Editor::selectionUnorderedListState):
(WebCore::Editor::selectionOrderedListState):
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
(WebCore::IndentOutdentCommand::outdentParagraph):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply):
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::shouldMerge):
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
* editing/TextIterator.cpp:
* editing/htmlediting.cpp:
(WebCore::enclosingBlock):
(WebCore::enclosingNodeWithTag):
(WebCore::enclosingNodeOfType):
(WebCore::enclosingTableCell):
(WebCore::isTableCell):
* editing/htmlediting.h:
* editing/markup.cpp:
(WebCore::appendStartMarkup):
(WebCore::createMarkup):
LayoutTests:
Reviewed by Darin Adler.
<rdar://problem/
5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
* editing/pasteboard/
5601583-1.html: Added.
* platform/mac/editing/pasteboard/
5601583-1-expected.checksum: Added.
* platform/mac/editing/pasteboard/
5601583-1-expected.png: Added.
* platform/mac/editing/pasteboard/
5601583-1-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Thu, 13 Dec 2007 20:40:29 +0000 (20:40 +0000)]
Reviewed by Darin.
Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Thu, 13 Dec 2007 19:38:13 +0000 (19:38 +0000)]
2007-12-13 Alp Toker <alp@atoker.com>
http://bugs.webkit.org/show_bug.cgi?id=16406
[Gtk] JavaScriptCore needs -lpthread
Build fix for Debian and any other platforms that don't implicitly
link to pthread.
Link to pthread on non-Windows platforms until this dependency is
removed from JSC.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 13 Dec 2007 19:36:57 +0000 (19:36 +0000)]
- build fix
* platform/network/cf/ResourceErrorCF.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
kmccullough@apple.com [Thu, 13 Dec 2007 19:07:39 +0000 (19:07 +0000)]
WebKitTools:
Reviewed by Alice and Sam.
- <rdar://
5621435> Need a way to specify local resources (being loaded
from HTTP tests) on Windows.
- Implemented pathToLocalResource which exposes the functionality of
converting a given unix path to the correct location on Windows.
* DumpRenderTree/LayoutTestController.cpp:
(pathToLocalResourceCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::pathToLocalResource):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::pathToLocalResource):
LayoutTests:
Reviewed by Alice and Sam.
- <rdar://
5621435> Need a way to specify local resources (being loaded
from HTTP tests) on Windows.
- Updated the following tests to use the new layoutTestController
function, pathToLocalResource to get a Windows viable path (when on
Windows) to the local resources they are attempting to access.
- Also clarified and updated some results.
* fast/dom/frame-loading-via-document-write.html:
* fast/loader/local-CSS-from-local-expected.txt:
* fast/loader/local-CSS-from-local.html:
* fast/loader/local-JavaScript-from-local-expected.txt:
* fast/loader/local-JavaScript-from-local.html:
* fast/loader/local-iFrame-source-from-local-expected.txt:
* fast/loader/local-iFrame-source-from-local.html:
* fast/loader/local-image-from-local-expected.txt:
* fast/loader/local-image-from-local.html:
* http/tests/security/frame-loading-via-document-write.html:
* http/tests/security/local-CSS-from-remote-expected.txt:
* http/tests/security/local-CSS-from-remote.html:
* http/tests/security/local-JavaScript-from-remote-expected.txt:
* http/tests/security/local-JavaScript-from-remote.html:
* http/tests/security/local-iFrame-from-remote-expected.txt:
* http/tests/security/local-iFrame-from-remote.html:
* http/tests/security/local-image-from-remote-expected.txt:
* http/tests/security/local-image-from-remote.html:
* http/tests/security/local-user-CSS-from-remote.html:
* platform/mac/fast/dom/frame-loading-via-document-write-expected.txt:
* platform/win/Skipped:
* platform/win/http: Added.
* platform/win/http/tests: Added.
* platform/win/http/tests/security: Added.
* platform/win/http/tests/security/frame-loading-via-document-write-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Thu, 13 Dec 2007 18:55:28 +0000 (18:55 +0000)]
Reviewed by Tim Hatcher.
Fix <rdar://problem/
5605674>
Make <video> display WebKit context menu instead of the QTKit one.
It doesn't really matter where the QTMovieView is.
* ChangeLog:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivate::createQTMovieView):
(WebCore::MediaPlayerPrivate::setRect):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28689
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 13 Dec 2007 18:45:03 +0000 (18:45 +0000)]
WebCore:
Reviewed by Adam Roben.
- ensure that Unicode bidi control characters are rendered as zero width
spaces
Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
* platform/graphics/Font.h:
(WebCore::Font::treatAsZeroWidthSpace):
* platform/graphics/GlyphPageTreeNode.cpp:
(WebCore::GlyphPageTreeNode::initializePage):
* platform/text/CharacterNames.h:
LayoutTests:
Reviewed by Adam Roben.
- test that Unicode bidi control characters are rendered as zero width
spaces
* fast/text/international/bidi-control-chars-treated-as-ZWS.html: Added.
* platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.checksum: Added.
* platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.png: Added.
* platform/mac-leopard/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28688
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Thu, 13 Dec 2007 09:50:18 +0000 (09:50 +0000)]
Reviewed by Oliver.
- Make the web-hosted version of SunSpider look a little bit less drab.
* hosted/sunspider-driver.html:
* hosted/sunspider-results.html:
* hosted/sunspider.css: Added.
* hosted/sunspider.html:
* resources/TEMPLATE.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 13 Dec 2007 08:24:05 +0000 (08:24 +0000)]
Build fix
* platform/wx/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 13 Dec 2007 07:55:20 +0000 (07:55 +0000)]
Build fix
* platform/gtk/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 13 Dec 2007 07:51:56 +0000 (07:51 +0000)]
Build fix
* WebCore.pro:
* history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 13 Dec 2007 07:28:42 +0000 (07:28 +0000)]
Build fix
* platform/win/TemporaryLinkStubs.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 13 Dec 2007 07:17:21 +0000 (07:17 +0000)]
WebCore:
Reviewed by Sam Weinig
Fix for <rdar://problem/
4886844> and lay groundwork for <rdar://problem/
4516170> (Back/Forward Cache on Windows)
All back/forward list and page cache related items used to be in WebKit.
When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive. We accomplished this via some #ifdefs
in CachedPage and having the Mac-only CachedPageMac.mm
To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the
concept of "CachedPagePlatformData" which can contain anything the platform API wants.
I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
* WebCore.base.exp:
* WebCore.xcodeproj/project.pbxproj:
* history/CachedPage.cpp:
(WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
(WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists. Also delete the CachedPagePlatformData.
(WebCore::CachedPage::setCachedPagePlatformData):
(WebCore::CachedPage::cachedPagePlatformData):
* history/CachedPage.h:
* history/CachedPagePlatformData.h: Added.
(WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
(WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
* history/PageCache.cpp:
(WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
* history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::transitionToCommitted): Call the new client methods. Make some work previously done by WebKitMac cross platform
(setting the cached DocumentLoader to the Frame).
(WebCore::FrameLoader::cachePageForHistoryItem): Renamed the client methods
* loader/FrameLoaderClient.h: The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
* svg/graphics/SVGImageEmptyClients.h:
(WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
(WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
(WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
WebKit:
Reviewed by Sam Weinig
Fix for <rdar://problem/
4886844> and lay groundwork for <rdar://problem/
4516170> (Back/Forward Cache on Windows)
* WebKit.xcodeproj/project.pbxproj: Added a new file
WebKit/gtk:
Reviewed by Sam Weinig
As part of doing some CachedPage and client cleanup, keep GTK building
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::savePlatformDataToCachedPage):
(WebKit::FrameLoaderClient::transitionToCommittedFromCachedPage):
(WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
* WebCoreSupport/FrameLoaderClientGtk.h:
WebKit/mac:
Reviewed by Sam Weinig
Fix for <rdar://problem/
4886844> and lay groundwork for <rdar://problem/
4516170> (Back/Forward Cache on Windows)
* WebCoreSupport/WebCachedPagePlatformData.h: Added.
(WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
(WebCachedPagePlatformData::clear):
(WebCachedPagePlatformData::webDocumentView):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::savePlatformDataToCachedPage):
(WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
because that is now done in WebCore.
(WebFrameLoaderClient::transitionToCommittedForNewPage):
WebKit/qt:
Reviewed by Sam Weinig
As part of doing some CachedPage and client cleanup, keep Qt building
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::FrameLoaderClientQt::savePlatformDataToCachedPage):
(WebCore::FrameLoaderClientQt::transitionToCommittedFromCachedPage):
(WebCore::FrameLoaderClientQt::transitionToCommittedForNewPage):
* WebCoreSupport/FrameLoaderClientQt.h:
WebKit/win:
Reviewed by Sam Weinig
Fix for <rdar://problem/
4886844> and lay groundwork for <rdar://problem/
4516170> (Back/Forward Cache on Windows)
Even though this new code isn't exercised yet because the page cache is still turned off for Windows, local testing
has indicated it works well.
* WebCachedPagePlatformData.h: Added.
(WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes an IWebDataSource and the object retains it
(WebCachedPagePlatformData::clear):
(WebCachedPagePlatformData::webDataSource):
* WebFrame.cpp:
(WebFrame::savePlatformDataToCachedPage):
(WebFrame::transitionToCommittedFromCachedPage):
(WebFrame::transitionToCommittedForNewPage):
* WebFrame.h:
* WebKit.vcproj/WebKit.vcproj:
WebKit/wx:
Reviewed by Sam Weinig
As part of doing some CachedPage and client cleanup, keep Wx building
* WebKitSupport/FrameLoaderClientWx.cpp:
(WebCore::FrameLoaderClientWx::savePlatformDataToCachedPage):
(WebCore::FrameLoaderClientWx::transitionToCommittedFromCachedPage):
(WebCore::FrameLoaderClientWx::transitionToCommittedForNewPage):
* WebKitSupport/FrameLoaderClientWx.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 13 Dec 2007 07:04:30 +0000 (07:04 +0000)]
WebCore:
Reviewed by Oliver Hunt.
- fix <rdar://problem/
5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty): When the font property is
set to 'initial', set the font size to its initial value, 'medium',
and the font family to the standard family.
LayoutTests:
Reviewed by Oliver Hunt.
- updated results and skipped tests file for
<rdar://problem/
5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
* platform/mac-leopard/fast/text/font-initial-expected.checksum: Copied from LayoutTests/platform/mac/fast/text/font-initial-expected.checksum.
* platform/mac-leopard/fast/text/font-initial-expected.png: Copied from LayoutTests/platform/mac/fast/text/font-initial-expected.png.
* platform/mac/fast/text/font-initial-expected.checksum: Removed.
* platform/mac/fast/text/font-initial-expected.png: Removed.
* platform/mac/fast/text/font-initial-expected.txt:
* platform/win/Skipped:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Thu, 13 Dec 2007 06:56:28 +0000 (06:56 +0000)]
WebCore:
Reviewed by Darin Adler.
<rdar://problem/
5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
Don't remove the table row that contained the end of the selection if it is where we are
about to place the ending selection.
Don't remove all empty rows after the row that contained the start of the selection,
they might come after the row that contained the end of the selection.
LayoutTests:
Reviewed by Darin Adler.
<rdar://problem/
5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
* editing/deleting/
5433862-1-expected.txt: Added.
* editing/deleting/
5433862-1.html: Added.
* editing/deleting/
5433862-2.html: Added.
* platform/mac/editing/deleting/
5433862-2-expected.checksum: Added.
* platform/mac/editing/deleting/
5433862-2-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mjs@apple.com [Thu, 13 Dec 2007 05:33:50 +0000 (05:33 +0000)]
Reviewed by Sam.
- Change sunspider-compare-results output from showing "% faster" values to "x as fast" values.
A sample of what new-style results would look like:
TEST COMPARISON FROM TO DETAILS
...
** TOTAL **: 1.41x as fast 6613.6ms +/- 0.1% 4703.0ms +/- 0.1% significant
...
3bit-bits-in-byte: *1.36x as slow* 88.8ms +/- 0.6% 121.1ms +/- 0.6% significant
* resources/sunspider-compare-results.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 13 Dec 2007 01:47:30 +0000 (01:47 +0000)]
Reviewed by Anders Carlsson.
Add button to clear the Web Inspector's console.
* English.lproj/InspectorLocalizedStrings.js:
* page/inspector/ConsolePanel.js:
* page/inspector/inspector.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28668
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 13 Dec 2007 00:44:21 +0000 (00:44 +0000)]
Reviewed by Adam and Jon.
<rdar://problem/
5349282>
popup blocking is not applied to plugins on Windows.
Implement popup blocking. If the plug-in supports the new
NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
to determine if a plug-in request can open new windows.
If a plug-in does not support the new API, we assume that a plug-in can open new windows
in response to either mouse click or key press events.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginRequestWin::PluginRequestWin):
(WebCore::PluginRequestWin::shouldAllowPopups):
Add new shouldAllowPopups member.
(WebCore::PluginViewWin::popPopupsStateTimerFired):
Reset the popup state.
(WebCore::isWindowsMessageUserGesture):
New function that given a windows message id returns whether it's a user gesture or not.
(WebCore::PluginViewWin::wndProc):
Allow popups if the window message is a user gesture.
(WebCore::PluginViewWin::dispatchNPEvent):
New method that dispatches an NPEvent, turning on popups if necessary.
(WebCore::PluginViewWin::paint):
(WebCore::PluginViewWin::handleKeyboardEvent):
(WebCore::PluginViewWin::handleMouseEvent):
Call dispatchNPEvent().
(WebCore::PluginViewWin::performRequest):
(WebCore::PluginViewWin::load):
Add calls to shouldAllowPopups().
(WebCore::PluginViewWin::pushPopupsEnabledState):
(WebCore::PluginViewWin::popPopupsEnabledState):
New methods that maintain the popup state stack.
(WebCore::PluginViewWin::arePopupsAllowed):
New method that returns whether popups are allowed.
(WebCore::PluginViewWin::PluginViewWin):
* plugins/win/PluginViewWin.h:
Add new instance variables.
* plugins/win/npapi.cpp:
(NPN_PushPopupsEnabledState):
(NPN_PopPopupsEnabledState):
Implement these.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28667
268f45cc-cd09-0410-ab3c-
d52691b4dbfc