blob: 8553f6fc3799f88844128b00ffb9b485d5abc39d [file] [log] [blame]
2007-12-20 Mark Rowe <mrowe@apple.com>
Merge r28057 to Safari-3-branch.
2007-11-26 Sam Weinig <sam@webkit.org>
Fix potential null-dereference.
Reviewed by Adam Roben.
* page/FrameTree.cpp:
(WebCore::FrameTree::isDescendantOf):
2007-12-01 Mark Rowe <mrowe@apple.com>
Merge r26782 to Safari-3-branch.
2007-10-19 Sam Weinig <sam@webkit.org>
Fix Windows, Qt and GTK builds.
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
2007-12-01 Mark Rowe <mrowe@apple.com>
Merge r28225 to Safari-3-branch.
2007-11-29 Sam Weinig <sam@webkit.org>
Reviewed by Oliver.
Additional fix for <rdar://problem/5592988> / http://bugs.webkit.org/show_bug.cgi?id=15936
- More closely match IE's policy for frame navigation.
* bindings/js/kjs_window.cpp:
(KJS::WindowProtoFuncOpen::callAsFunction):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldAllowNavigation):
* page/FrameTree.cpp:
(WebCore::FrameTree::top):
* page/FrameTree.h:
2007-12-01 Mark Rowe <mrowe@apple.com>
Merge r28056 to Safari-3-branch.
2007-11-26 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Fix for <rdar://problem/5592988>
- Enforce tighter restrictions on what frames in other domains
can be navigated.
Tests: http/tests/security/frameNavigation/xss-ALLOWED-parent-navigation-change.html
http/tests/security/frameNavigation/xss-ALLOWED-targeted-subframe-navigation-change.html
* bindings/js/kjs_window.cpp:
(KJS::Window::put):
(KJS::Location::put):
(KJS::LocationProtoFuncReplace::callAsFunction):
(KJS::LocationProtoFuncAssign::callAsFunction):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::createWindow):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::shouldAllowNavigation): Move and update logic from canTarget().
* loader/FrameLoader.h:
* page/FrameTree.cpp:
(WebCore::FrameTree::isDescendantOf): Make this O(1) in the case when both frames are not
in the same page.
2007-12-01 Mark Rowe <mrowe@apple.com>
Merge r27433 from trunk to Safari-3-branch.
2007-11-04 Sam Weinig <sam@webkit.org>
Rubber-stamped by Adam Roben.
Rename SecurityOrigin::allowsAccessFrom to SecurityOrigin::canAccess to
clear up ambiguity.
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* platform/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccess):
* platform/SecurityOrigin.h:
2007-12-01 Mark Rowe <mrowe@apple.com>
Merge r26780 from trunk to Safari-3-branch.
2007-10-19 Sam Weinig <sam@webkit.org>
Reviewed by Darin.
Encapsulate the same origin check into the new SecurityOrigin class.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/kjs_window.cpp:
(KJS::Window::isSafeScript):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::defaultEventHandler):
* dom/Document.h:
(WebCore::Document::securityOrigin):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::begin):
(WebCore::FrameLoader::setOpener):
* loader/FrameLoader.h:
* platform/SecurityOrigin.cpp: Added.
(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::clear):
(WebCore::SecurityOrigin::isEmpty):
(WebCore::SecurityOrigin::setForFrame):
(WebCore::SecurityOrigin::setDomainFromDOM):
(WebCore::SecurityOrigin::allowsAccessFrom):
(WebCore::SecurityOrigin::isSecureTransitionTo):
* platform/SecurityOrigin.h: Added.
2007-10-25 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Steve.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
Previous patch erroneously compared a path and a
path-including-filename. This corrects that. It also caches the result
of safariPluginsPath() and uses shell API funcs for determining filename
and parent directory from a full path.
* ChangeLog:
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::safariPluginsPath): Cache return value. Use API functions to
build the path
(WebCore::PluginDatabaseWin::pluginForMIMEType): Compare again plugin's
parent directory, not full path
(WebCore::PluginDatabaseWin::pluginForExtension): Same
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::PluginPackageWin): Store parent directory
* plugins/win/PluginPackageWin.h:
(WebCore::PluginPackageWin::parentDirectory):
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::didReceiveData):
2007-10-24 Alice Liu <alice.liu@apple.com>
Reviewed by Oliver.
Fix <rdar://5410959> editing/selection/drag-to-contenteditable-iframe.html fails on Windows
* page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::passMouseMoveEventToSubframe):
Some mouse move events are actually drags, which on mac return early from this function.
Adding the same logic to its Windows equivalent.
2007-10-24 Brady Eidson <beidson@apple.com>
Reviewed by Anders
<rdar://5554130> DatabaseTracker.o has a global initializer
Since DatabaseTracker is a singleton, it makes much more sense to keep the database path as a member variable.
Now constructing the shared DatabaseTracker no longer implicitly opens it - It is only opened when the databases
path is set.
* WebCore.vcproj/WebCore.vcproj: Copy WebCore/storage headers for WebKit build
* storage/Database.cpp:
(WebCore::Database::~Database): Remove bogus assertion
* storage/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::DatabaseTracker): Does nothing now! Move this code to openTrackerDatabase
(WebCore::DatabaseTracker::setDatabasePath): Set the member variable, also closing/opening the database if needed
(WebCore::DatabaseTracker::databasePath):
(WebCore::DatabaseTracker::openTrackerDatabase): To open and validate the Databases db, moved from the c'tor
(WebCore::DatabaseTracker::fullPathForDatabase): Return the member variable
* storage/DatabaseTracker.h:
2007-10-24 David Hyatt <hyatt@apple.com>
Don't try to gap fill transformed selections. Fix the invalidation of selection to use the clip to visible content
code path so that it works with multi-column layouts and transforms.
Reviewed by aroben
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::fillSelectionGaps):
* rendering/RenderView.cpp:
(WebCore::RenderView::setSelection):
2007-10-24 Eric Seidel <eric@webkit.org>
No review, I want to tickle the CIA bot to test changes,
and took this as an opportunity to clean up some old change logs.
* ChangeLog-2005-08-23: update email address
* ChangeLog-2006-12-31: fix spelling mistakes
2007-10-24 Dan Bernstein <mitz@apple.com>
Reviewed by Oliver Hunt.
- add "(anonymous)" to the renderName of anonymous table cells, rows and sections
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::renderName):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::renderName):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::renderName):
2007-10-24 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Bug 15476: DOM tree fully expands some elements when arrowing up
http://bugs.webkit.org/show_bug.cgi?id=15476
Add a new expandTreeElementsWhenArrowing option to TreeOutline. This option
is used only for the sidebar and search results.
* page/inspector/inspector.js: Opt-in for the sidebar and search results.
* page/inspector/treeoutline.js: Add expandTreeElementsWhenArrowing and pass
this option to traverseNextTreeElement and traversePreviousTreeElement.
2007-10-24 Anders Carlsson <andersca@apple.com>
Reviewed by Geoff and Mitz.
<rdar://problem/5493833>
REGRESSION: ~5MB of image data leaked @ cuteoverload.com (often seen while browsing other sites, too)
* bindings/js/kjs_binding.cpp:
(KJS::ScriptInterpreter::markDOMNodesForDocument):
If an image element that is currently loading an image is not in the document,
it should still be marked.
* bindings/js/kjs_html.cpp:
(WebCore::ImageConstructorImp::construct):
Force the document wrapper to be created.
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::haveFiredLoadEvent):
New method which calls down to the image loader.
* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::HTMLImageLoader):
(WebCore::HTMLImageLoader::~HTMLImageLoader):
(WebCore::HTMLImageLoader::setLoadingImage):
(WebCore::HTMLImageLoader::dispatchLoadEvent):
Remove code that's not needed anymore.
* html/HTMLImageLoader.h:
(WebCore::HTMLImageLoader::haveFiredLoadEvent):
Make this public.
2007-10-23 Adam Roben <aroben@apple.com>
Move Windows safe file creation code into WebCore from WebPreferences
Reviewed by Brady.
* platform/FileSystem.h:
* platform/win/FileSystemWin.cpp:
(WebCore::safeCreateFile): Moved here from WebKit/win/WebPreferences.cpp.
2007-10-23 Adam Roben <aroben@apple.com>
Add methods to FileSystemWin to get some user profile directories
These directories are used to hold things like preferences, caches,
etc.
Reviewed by Brady.
* platform/FileSystem.h: Added new method declarations for Windows
only.
* platform/win/FileSystemWin.cpp:
(WebCore::bundleName): Added.
(WebCore::storageDirectory): Added.
(WebCore::cachedStorageDirectory): Added.
(WebCore::localUserSpecificStorageDirectory): Added. Returns the
directory where WebKit should store any user-specific data that should
stay local to the current machine (i.e., shouldn't be stored in a
roaming profile).
(WebCore::roamingUserSpecificStorageDirectory): Added. Returns the
directory where WebKit should store any user-specific data that should
move with the user from machine to machine (i.e., should be stored in
a roaming profile).
2007-10-24 Alp Toker <alp@atoker.com>
Reviewed by Mark Rowe.
http://bugs.webkit.org/show_bug.cgi?id=15659
InlineTextBox does not setStrokeStyle() as needed
GraphicsContextCairo workaround to support a GraphicsContextCG quirk:
Save and restore the StrokeStyle manually.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawLineForText):
2007-10-24 Julien Chaffraix <julien.chaffraix@gmail.com>
Reviewed by Darin.
Patch for http://bugs.webkit.org/show_bug.cgi?id=15356
Bug 15356: getResponseHeader and getAllResponseHeaders do not throw exceptions
- getAllResponseHeaders and getResponseHeader throws INVALID_STATE_ERR exception as specified in the specification
- Add the check to field-name production in getResponseHeader (call to isValidToken) and returns an empty string if the header is not valid (Opera and IE behaviour)
- Updated XMLHttpRequest::responseMIMEType() to keep its behaviour
Tests: http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getAllRequestHeaders.html
http/tests/xmlhttprequest/xmlhttprequest-InvalidStateException-getRequestHeader.html
http/tests/xmlhttprequest/xmlhttprequest-invalidHeader-getRequestHeader.html
* bindings/js/JSXMLHttpRequest.cpp:
(KJS::JSXMLHttpRequestPrototypeFunction::callAsFunction):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::getAllResponseHeaders):
(WebCore::XMLHttpRequest::getResponseHeader):
(WebCore::XMLHttpRequest::responseMIMEType):
* xml/XMLHttpRequest.h:
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
implement most of DragData.
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/qt/DragDataQt.cpp:
(WebCore::DragData::containsColor):
(WebCore::DragData::containsFiles):
(WebCore::DragData::asFilenames):
(WebCore::DragData::containsPlainText):
(WebCore::DragData::asPlainText):
(WebCore::DragData::asColor):
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::containsURL):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
remove a stupid notImplemented() warning and implement PasteBoad::clear().
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/qt/PasteboardQt.cpp:
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
implement Pasteboard::documentFragment(), and fix a mem leak.
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/qt/PasteboardQt.cpp:
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::documentFragment):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
Simplify the PlatformKeyEvent constructor. No need to have an extra boolean for isKeyUp in there, as the QKeyEvent has the information.
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/PlatformKeyboardEvent.h:
* platform/qt/PlatformKeyboardEventQt.cpp:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2007-10-24 Lars Knoll <lars@trolltech.com>
Reviewed by Simon.
use the new QTextBoundaryFinder class in Qt.
WARNING: NO TEST CASES ADDED OR CHANGED
* platform/qt/TextBoundaries.cpp:
(WebCore::findNextWordFromIndex):
(WebCore::findWordBoundary):
* platform/qt/TextBreakIteratorQt.cpp:
(WebCore::wordBreakIterator):
(WebCore::characterBreakIterator):
(WebCore::lineBreakIterator):
(WebCore::sentenceBreakIterator):
(WebCore::textBreakFirst):
(WebCore::textBreakNext):
(WebCore::textBreakPreceding):
(WebCore::textBreakFollowing):
(WebCore::textBreakCurrent):
(WebCore::isTextBreak):
2007-10-24 Darin Adler <darin@apple.com>
Reviewed by Maciej.
- http://bugs.webkit.org/show_bug.cgi?id=15657
change static hash tables to use powers of two for speed
* bindings/scripts/CodeGeneratorJS.pm: Updated to generate new format.
2007-10-24 Simon Hausmann <hausmann@kde.org>
Reviewed by Lars.
Make the implementation of pathByAppendingComponent use QDir.
* platform/qt/FileSystemQt.cpp:
2007-10-24 David Hyatt <hyatt@apple.com>
Make repainting work with transforms.
Reviewed by John Sullivan
* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeAbsoluteRepaintRect):
2007-10-23 Alp Toker <alp@atoker.com>
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=14412
[GDK] Clipboard support
Initial clipboard implementation for the GTK+ port.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::Editor::newGeneralClipboard):
* platform/gtk/PasteboardGtk.cpp:
(WebCore::Pasteboard::generalPasteboard):
(WebCore::Pasteboard::Pasteboard):
(WebCore::Pasteboard::~Pasteboard):
(WebCore::Pasteboard::writeSelection):
(WebCore::Pasteboard::writeImage):
(WebCore::Pasteboard::clear):
(WebCore::Pasteboard::plainText):
* platform/gtk/TemporaryLinkStubs.cpp:
2007-10-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Adam.
Fixes the Network panel so that it refreshes as needed.
* page/inspector/ConsolePanel.js: Call the base class show() and hide() first.
* page/inspector/NetworkPanel.js: Add refreshNeeded and refreshIfNeeded back. Ditto.
2007-10-23 Justin Garcia <justin.garcia@apple.com>
Reviewed by Oliver Hunt.
<rdar://problem/5544856>
REGRESSION: After typing 2-byte text, undo only undoes one keystroke at a time
No layout test for now because I'm having trouble getting Undo during a layout
test to only undo the last Undo step, and I want to write a test that fails
without the code change.
* editing/Editor.cpp:
(WebCore::Editor::confirmComposition): When we replace the previous composition,
delete it with a sub-command of the command used to insert the new composition,
instead of with a separate command. No new code was added because insertText
already deletes the current selection.
(WebCore::Editor::setComposition): Ditto.
2007-10-23 Adam Roben <aroben@apple.com>
Fix the behavior of pathByAppendingComponent when path is empty
We now use the Windows Shell API function PathAppendW instead of
rolling our own broken implementation.
Reviewed by Anders.
* platform/win/FileSystemWin.cpp:
(WebCore::pathByAppendingComponent):
2007-10-23 Adele Peterson <adele@apple.com>
Reviewed by Darin.
Fix for <rdar://problem/5543228> CrashTracer: [USER] 2 crashes in Safari at com.apple.WebCore: WebCore::HTMLInputElement::defaultEventHandler + 872
Test: fast/forms/textfield-onchange-deletion.html
* html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::defaultEventHandler):
Refetch the renderer since arbitrary JS code run during onchange can do anything, including destroying it.
2007-10-23 Timothy Hatcher <timothy@apple.com>
Reviewed by Sam Weinig.
- Made seperate files for the various classes in ResourcePanel.js.
- Broke up ResourcePanel.js and created seperate panel classes for different resource types.
- Moved View code down to the Panel base-class.
- Reduced code duplication in DatabasePanel.js by sub-classing from the new ResourcePanel.
* page/inspector/DatabasePanel.js:
* page/inspector/DocumentPanel.js: Added.
* page/inspector/FontPanel.js: Added.
* page/inspector/ImagePanel.js: Added.
* page/inspector/Panel.js: Added.
* page/inspector/PropertiesSection.js: Added.
* page/inspector/Resource.js:
* page/inspector/ResourcePanel.js:
* page/inspector/SidebarPane.js: Added.
* page/inspector/SourcePanel.js: Added.
* page/inspector/inspector.css:
* page/inspector/inspector.html:
* page/inspector/inspector.js:
2007-10-23 Anders Carlsson <andersca@apple.com>
Correct the version #if check.
* platform/sql/SQLDatabase.cpp:
(WebCore::SQLDatabase::authorizerFunction):
>>>>>>> .merge-right.r27048
2007-10-23 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
It is possible to load Mozilla's Java plugin instead of our own, which
can lead to a crash. The fix is to prefer plugins in our own Plugins
directory when searching for a plugin.
* plugins/win/PluginDatabaseWin.cpp:
(WebCore::safariPluginsPath): Return the path to our own Plugins
directory
(WebCore::PluginDatabaseWin::defaultPluginPaths): Use new method
safariPluginsPath()
(WebCore::PluginDatabaseWin::pluginForMIMEType): If the plugin's path is
our Plugins path, return this plugin. Otherwise, continue scanning the
list of plugins
(WebCore::PluginDatabaseWin::pluginForExtension): Same
* plugins/win/PluginPackageWin.h:
(WebCore::PluginPackageWin::path): Return this plugin's path
2007-10-22 Steve Falkenburg <sfalken@apple.com>
Fix build.
* plugins/win/PluginViewWin.cpp:
2007-10-22 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5548217>: [NTS] Java 6 update 3 crashes Safari when loading a
java page
We purposefully do not destroy our Java VM when its reference count
reaches 0, but we were unloading our JavaPlugin.dll when its reference
count reached 0, which lost the reference to the VM. This led to our
process trying to create a new VM the next time a page using Java was
loaded, and the JNI spec states that a single process is not allowed to
create more than one VM. The fix is to avoid unloading the Java plugin
via our PluginQuirkDontUnloadPlugin.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginViewWin::determineQuirks):
2007-10-18 Adam Roben <aroben@apple.com>
Fix <rdar://5547462> Need to copy Inspector resources in Production builds
I also added an excludes file for the xcopy command to avoid copying
.svn folders.
Reviewed by Geoff.
* WebCore.vcproj/WebCore.make: Make sure we copy the Inspector
resources.
* WebCore.vcproj/WebCore.vcproj: Pass /exclude:xcopy.excludes to
xcopy.
* WebCore.vcproj/xcopy.excludes: Added.
2007-10-16 Alice Liu <alice.liu@apple.com>
rubber-stamped by Darin.
flipping my previous fix around so that mac is special-cased instead of win.
* dom/Document.cpp:
(WebCore::Document::defaultEventHandler):
2007-10-16 Alice Liu <alice.liu@apple.com>
Reviewed by Adele.
fixed <rdar://5085596> Accesskeys don't work
* dom/Document.cpp:
(WebCore::Document::defaultEventHandler):
accesskey modifier is platform-depedent.
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Ollie.
Use OwnPtr for m_deliveryData, and fix a bug where we were memmove()ing
over m_deliveryData instead of its data buffer
* plugins/win/PluginStreamWin.cpp:
(WebCore::PluginStreamWin::~PluginStreamWin): Don't delete
m_deliveryData
(WebCore::PluginStreamWin::deliverData): Fix memmove() call
(WebCore::PluginStreamWin::didReceiveData): Assign using OwnPtr::set()
* plugins/win/PluginStreamWin.h: Use OwnPtr
2007-10-15 Steve Falkenburg <sfalken@apple.com>
Reviewed by Oliver.
Add missing null check.
* platform/network/cf/AuthenticationCF.cpp:
(WebCore::core):
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Anders.
<rdar://5510700> Repro crash loading embedded Windows Media Player
content
Anders noticed that the older Windows Media Player plugin (npdsplay.dll)
will crash if it receives its resource requests out of order, whereas we
were immediately fulfilling untargeted, non-JavaScript requests and
scheduling targeted or JavaScript resource requests. Implement his
suggested fix, which is to schedule PluginRequests for all resource
requests
* plugins/win/PluginViewWin.cpp:
(WebCore::getString):
(WebCore::PluginViewWin::performRequest): If this non-JavaScript request
has no target, create a stream for it
(WebCore::PluginViewWin::load): Schedule PluginRequests for all resource
requests
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Maciej.
Return a more appropriate error from NPN_RequestRange, which is
currently unimplemented
* plugins/win/npapi.cpp: return NPERR_STREAM_NOT_SEEKABLE
(NPN_RequestRead):
2007-10-15 Jon Honeycutt <jhoneycutt@apple.com>
Reviewed by Maciej.
Add a missing function pointer to the m_browserFuncs structure
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackageWin::load):
== Rolled over to ChangeLog-2007-10-14 ==