Timeline
Dec 26, 2006:
- 11:46 PM Changeset in webkit [22717] by
-
- 3 edits in branches/WindowsMerge/WebKitWin
Build fix.
- WebFrame.cpp: Removed willCloseDocument, which is now gone from WebCore::FrameLoaderClient.
- WebFrame.h: ditto
- 11:38 PM Changeset in webkit [18430] by
-
- 16 edits in trunk
WebCore:
Reviewed by Eric Seidel.
Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject
from KJS::Bindings::CInstance::~CInstance
No testcase because we can't open and close windows in DumpRenderTree.
- loader/FrameLoader.cpp: Removed closeDocument helper function because its only purpose was to call didCloseDocument, which is gone now. (WebCore::FrameLoader::detachFromParent): closeDocument => closeURL, since didCloseDocument is gone now.
- loader/FrameLoaderClient.h: Removed didCloseDocument because it proved unnecessary and harmful.
- loader/mac/FrameLoaderMac.mm: (WebCore::FrameLoader::transitionToCommitted): closeDocument => closeURL, since didCloseDocument is gone now.
WebKit:
Reviewed by Eric Seidel.
Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject
from KJS::Bindings::CInstance::~CInstance
The essence of this change is that WebKit shouldn't meddle in plug-in
lifetime, since WebCore already manages it. The rest is details.
- Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView removeTrackingRect]): Autorelease our window instead of releasing it, since we might hold the last reference to our window, and releasing it immediately would crash AppKit. (-[WebBaseNetscapePluginView resetTrackingRect]):
- Plugins/WebNetscapePluginEmbeddedView.h:
- Plugins/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView dataSource]): Use our DOMElement to access our WebFrame, since we don't keep around a direct pointer to our WebFrame anymore.
- Plugins/WebNullPluginView.h:
- Plugins/WebNullPluginView.m: (-[WebNullPluginView initWithFrame:error:DOMElement:]): (-[WebNullPluginView dealloc]): (-[WebNullPluginView viewDidMoveToWindow]): Use our DOMElement to access our WebFrame, as above.
- WebCoreSupport/WebFrameBridge.mm: Don't call _addPlugInView because it doesn't exist anymore. Do pass a DOMElement to WebNullPluginView's initializer, so it can access its frame like WebNetscapePluginEmbeddedView does. (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm: Removed didCloseDocument. It had two purposes -- one unnecessary, one harmful: (1) NULL out plug-ins' weak references to their frames. Unnecessary. Having plug-ins access their frames through their DOM elements solves this problem. (2) Unload plug-ins. Harmful. If a plug-in unloads before WebCore is done with it, WebCore will access unmapped memory. Also unnecessary. WebCore Widgets take care of calling -removeFromSuperview on their NSViews, which is sufficient for stopping plug-ins.
- WebKit.xcodeproj/project.pbxproj: Made WebNullPluginView.m ObjC++.
- WebView/WebFrame.mm: Removed _addPlugInView, since it was only used to call -setWebFrame, which is gone. (-[WebFramePrivate dealloc]):
- WebView/WebFrameInternal.h: Removed plugInViews, since it was only used by _addPlugInView, which is gone.
- 8:13 PM Changeset in webkit [18429] by
-
- 6 edits4 adds in trunk
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by olliej.
ASSERT while loading SVG map
http://bugs.webkit.org/show_bug.cgi?id=11987
- ksvg2/css/SVGCSSParser.cpp: remove a few .impl() calls previously missed. (WebCore::CSSParser::parseSVGValue): (WebCore::CSSParser::parseSVGPaint): (WebCore::CSSParser::parseSVGColor):
- ksvg2/misc/KCanvasRenderingStyle.cpp: handle invalid colors (WebCore::KSVGPainterFactory::fillPaintServer): (WebCore::KSVGPainterFactory::strokePaintServer):
- 7:13 PM Changeset in webkit [18428] by
-
- 29 edits in trunk/WebCore
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by ggaren.
No test cases changed.
Remove unnecessary (and inefficient) .impl() and .deprecatedString() calls.
http://bugs.webkit.org/show_bug.cgi?id=11989
- bindings/js/kjs_dom.cpp: (KJS::DOMNodeList::getOwnPropertySlot):
- dom/Document.cpp: (WebCore::Document::createAttributeNS):
- dom/Element.cpp: (WebCore::Element::getAttributeNS): (WebCore::Element::setAttribute): (WebCore::Element::setAttributeNS): (WebCore::Element::removeAttributeNS): (WebCore::Element::getAttributeNode): (WebCore::Element::getAttributeNodeNS): (WebCore::Element::hasAttribute): (WebCore::Element::hasAttributeNS):
- dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::getNamedItemNS): (WebCore::NamedAttrMap::removeNamedItemNS):
- dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet):
- html/HTMLBaseElement.cpp: (WebCore::HTMLBaseElement::process):
- html/HTMLEmbedElement.cpp: (WebCore::HTMLEmbedElement::parseMappedAttribute):
- html/HTMLEmbedElement.h:
- html/HTMLHRElement.cpp: (WebCore::HTMLHRElement::parseMappedAttribute):
- html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::insertedIntoDocument):
- html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::parseMappedAttribute):
- ksvg2/svg/SVGAnimateElement.cpp: (WebCore::SVGAnimateElement::handleTimerEvent):
- ksvg2/svg/SVGComponentTransferFunctionElement.cpp: (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute):
- ksvg2/svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
- ksvg2/svg/SVGFEImageElement.cpp: (WebCore::SVGFEImageElement::parseMappedAttribute):
- ksvg2/svg/SVGFitToViewBox.cpp: (WebCore::SVGFitToViewBox::parseMappedAttribute):
- ksvg2/svg/SVGImageElement.cpp: (WebCore::SVGImageElement::parseMappedAttribute):
- ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::fillAttributesFromReferencePattern): (WebCore::SVGPatternElement::notifyAttributeChange):
- ksvg2/svg/SVGPolyElement.cpp: (WebCore::SVGPolyElement::notifyAttributeChange):
- ksvg2/svg/SVGStopElement.cpp: (WebCore::SVGStopElement::parseMappedAttribute):
- ksvg2/svg/SVGTRefElement.cpp: (WebCore::SVGTRefElement::updateReferencedText):
- ksvg2/svg/SVGTests.cpp: (WebCore::SVGTests::parseMappedAttribute):
- ksvg2/svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::parseMappedAttribute):
- ksvg2/svg/SVGUseElement.cpp: (WebCore::SVGUseElement::closeRenderer):
- ksvg2/svg/SVGViewElement.cpp: (WebCore::SVGViewElement::parseMappedAttribute):
- page/Frame.cpp: (WebCore::Frame::selectionComputedStyle):
- rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget):
- rendering/SVGRenderTreeAsText.cpp: (WebCore::writeRenderResources):
- 4:14 PM Changeset in webkit [18427] by
-
- 26 adds in trunk/PageLoadTests
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by bradee-oh.
Add new PageLoadTests directory (this one)
Add LICENSES file to explain where each SVG came from.
- ChangeLog: Added.
- svg/LICENSES: Added.
- svg/files/33041-Samurai.svg: Added.
- svg/files/42470-flower_from_my_garden_v2.svg: Added.
- svg/files/Harvey_Rayner.svg: Added.
- svg/files/az-lizard_benji_park_01.svg: Added.
- svg/files/bamboo_01.svg: Added.
- svg/files/cacuts_01.svg: Added.
- svg/files/cowboy.svg: Added.
- svg/files/crawfish2_ganson.svg: Added.
- svg/files/deb9frac1.svg: Added.
- svg/files/food_leif_lodahl_01.svg: Added.
- svg/files/france.svg: Added.
- svg/files/francobollo_gnome_ezechi_02.svg: Added.
- svg/files/gearflowers.svg: Added.
- svg/files/hereGear4.svg: Added.
- svg/files/mtsthelens.svg: Added.
- svg/files/mtsthelens0.jpg: Added.
- svg/files/world-iso.svg: Added.
- svg/files/worldcup.svg: Added.
- svg/svg.pltsuite: Added.
- 4:12 PM Changeset in webkit [18426] by
-
- 1 edit1 add in trunk/WebKitTools
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by bradee-oh.
Add very simple run-pageloadtest script for running SVG page load test.
- Scripts/run-pageloadtest: Added.
- 4:03 PM Changeset in webkit [18425] by
-
- 7 edits in trunk
Reviewed by Oliver.
Add patternContentUnits support, and cleanup SVGPaintServerGradientCg.cpp
Fixes coords-units-01-b.svg
- 2:10 PM Changeset in webkit [18424] by
-
- 11 edits in trunk
Reviewed by Eric Seidel.
Some cleanup in preparation for fixing <rdar://problem/4740328> Safari
crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
- bindings/c/c_instance.cpp:
- bindings/c/c_instance.h: Removed unused copy constructor and assignment operator. They made tracking data flow more difficult. Unused code is also dangerous because it can succumb to bit rot with the stealth of a Ninja.
Replaced #include with forward declaration to reduce header dependency.
- bindings/npruntime.cpp: Sorted #includes. (_NPN_GetStringIdentifier): Replaced assert with ASSERT. (_NPN_GetStringIdentifiers): ditto (_NPN_ReleaseVariantValue): ditto (_NPN_CreateObject): ditto (_NPN_RetainObject): ditto (_NPN_ReleaseObject): ditto (_NPN_DeallocateObject): ditto
WebKit:
Reviewed by Eric Seidel.
Some cleanup in preparation for fixing <rdar://problem/4740328> Safari
crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
Renamed "installedPlugins" to "sharedDatabase." This better follows
the Cocoa naming scheme, and calls out the key attribute that produced this
crash -- namely, that the database is shared throughout the process.
-installedPlugins is actually a part of SPI, but a global search showed
that it had no users.
- Plugins/WebPluginDatabase.h:
- Plugins/WebPluginDatabase.m: (+[WebPluginDatabase sharedDatabase]): (-[WebPluginDatabase refresh]): (-[WebPluginDatabase _plugInPaths]): (-[WebPluginDatabase _removePlugin:]):
- WebCoreSupport/WebViewFactory.m: (-[WebViewFactory pluginsInfo]): (-[WebViewFactory refreshPlugins:]): (-[WebViewFactory pluginSupportsMIMEType:]):
- WebView/WebView.mm: (+[WebView _supportedMIMETypes]): (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): (-[WebView _close]): (-[WebView _pluginForMIMEType:]): (-[WebView _pluginForExtension:]): (-[WebView _isMIMETypeRegisteredAsPlugin:]):
WebKitTools:
Reviewed by Eric Seidel.
Some cleanup in preparation for fixing <rdar://problem/4740328> Safari
crash on quit in _NPN_ReleaseObject from KJS::Bindings::CInstance::~CInstance
(dumpRenderTree): Renamed "installedPlugins" to "sharedDatabase."
- 12:03 PM Changeset in webkit [18423] by
-
- 12 edits in trunk/WebCore
2006-12-26 Eric Seidel <eric@eseidel.com>
Reviewed by ggaren
No test cases changed.
Remove unneeded isPaintingText() and activeClient() from SVGPaintServer system
- platform/graphics/svg/SVGPaintServer.cpp: (WebCore::SVGPaintServer::SVGPaintServer):
- platform/graphics/svg/SVGPaintServer.h:
- platform/graphics/svg/SVGPaintServerGradient.h:
- platform/graphics/svg/SVGPaintServerPattern.h:
- platform/graphics/svg/SVGPaintServerSolid.h:
- platform/graphics/svg/cg/SVGPaintServerCg.cpp: (WebCore::SVGPaintServer::teardown):
- platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::teardown): (WebCore::SVGPaintServerGradient::setup):
- platform/graphics/svg/cg/SVGPaintServerPatternCg.cpp: (WebCore::SVGPaintServerPattern::setup): (WebCore::SVGPaintServerPattern::teardown):
- platform/graphics/svg/cg/SVGPaintServerSolidCg.cpp: (WebCore::SVGPaintServerSolid::setup):
- rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
- rendering/SVGInlineFlowBox.cpp: (WebCore::paintSVGInlineFlow):
- 10:12 AM Changeset in webkit [18422] by
-
- 7 edits in trunk
WebCore:
Reviewed by Adam Roben.
Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView()
when quitting from kcbs.com
No testcase because we can't open and close windows in DRT.
The crash was caused by deallocating plug-ins that were later referenced
in the unload event handler.
- loader/FrameLoader.cpp: (WebCore::FrameLoader::closeDocument): Call didCloseDocument after closing instead of before, so plugins don't get deallocated until the document has been destroyed and all event handlers have fired.
- loader/FrameLoaderClient.h: Renamed "willCloseDocument" to "didCloseDocument", since we call it after closing now.
WebKit:
Reviewed by Adam Roben.
Fixed <rdar://problem/4778898> REGRESSION: crash in getInstanceForView()
when quitting from kcbs.com
No testcase because we can't open and close windows in DRT.
The crash was caused by deallocating plug-ins that were later referenced
in the unload event handler.
- Plugins/WebBaseNetscapePluginView.mm: Don't call stop on ourselves because we may destroy our plugin before the unload handler fires. Also, we don't need to, since didCloseDocument will do it for us.
(-[WebBaseNetscapePluginView addWindowObservers]): We don't need to listen
for windowWillClose anymore, since we don't want to call -stop on ourselves.
(-[WebBaseNetscapePluginView removeWindowObservers]): ditto.
- WebCoreSupport/WebFrameLoaderClient.h:
- WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::didCloseDocument): Renamed from "willCloseDocument."
- 8:26 AM Changeset in webkit [18421] by
-
- 18 edits4 adds in trunk
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by rwlbuis.
Replace bogus SVGLength::isFraction() method with valueAsPercentage() to fix:
http://bugs.webkit.org/show_bug.cgi?id=11973
- ksvg2/svg/SVGLength.cpp: (WebCore::SVGLength::valueInSpecifiedUnits): remove extra spaces (WebCore::SVGLength::valueAsPercentage): new method
- ksvg2/svg/SVGLength.h:
- ksvg2/svg/SVGLinearGradientElement.cpp: (WebCore::SVGLinearGradientElement::buildGradient): use valueAsPercentage()
- ksvg2/svg/SVGPatternElement.cpp: (WebCore::SVGPatternElement::drawPatternContentIntoTile): return if malloc fails
- ksvg2/svg/SVGRadialGradientElement.cpp: (WebCore::SVGRadialGradientElement::buildGradient): use valueAsPercentage()
- platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::createImageBuffer): return 0 if malloc fails
- platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp: (WebCore::SVGPaintServerGradient::setup): return if malloc fails
- platform/graphics/svg/cg/SVGResourceMaskerCg.mm: (WebCore::SVGResourceMasker::applyMask): add comment about possible crash
Dec 25, 2006:
- 9:36 PM Changeset in webkit [18420] by
-
- 6 edits in trunk/WebKit
More "plugin" => "pluginPackage" renaming that I forgot to check in.
- Plugins/WebBaseNetscapePluginView.h:
- Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setPluginPackage:]):
- Plugins/WebNetscapePluginEmbeddedView.h:
- Plugins/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
- WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]): (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
- 9:24 PM Changeset in webkit [18419] by
-
- 2 edits in trunk/WebKit
Reviewed by Eric Seidel.
Fixed crash when opening view source window.
- WebView/WebView.mm: (-[WebView initWithCoder:]): Don't use the WebView until calling _commonInitialization...
- 7:43 PM Changeset in webkit [22716] by
-
- 2 edits in branches/WindowsMerge/WebCore
Fixed build. Tsk, tsk, Oliver.
- WebCore.vcproj/WebCore.vcproj:
- 5:44 PM Changeset in webkit [18418] by
-
- 3 edits4 adds in trunk
Reviewed by Oliver.
In the DOMParser class, we have to create content-type specific
documents, instead of a pure "Document" object. Real-life SVG
files us this way to convert strings "<svg><rect x=...></svg>
to a new Document structure.
Add new testcase dynamic-svg-document-creation.svg.
- 5:30 PM Changeset in webkit [22715] by
-
- 9 edits in branches/WindowsMerge
WebCoreWin:
Reviewed by Oliver Hunt.
Removed WebCoreSettings, cleaned up WebCore::Settings.
- WebCore.vcproj/WebCore.vcproj: Added Settings.cpp to the project.
- bridge/win/FrameWin.cpp: Updated to use new preferences names. (WebCore::FrameWin::bindingRootObject): (WebCore::FrameWin::windowScriptNPObject):
- loader/win/FrameLoaderWin.cpp: ditto. (WebCore::FrameLoader::partClearedInBegin):
- plugins/win/PluginViewWin.cpp: ditto. (WebCore::PluginViewWin::load):
WebKitWin:
Reviewed by Oliver Hunt.
Removed WebCoreSettings, cleaned up WebCore::Settings.
- WebFrame.cpp: (WebFrame::initWithWebFrameView): Used core() here, now that WebView::settings() is gone.
- WebView.cpp: (WebView::updateWebCoreSettingsFromPreferences): Simplified this code, now that WebCore handles most of it.
- WebView.h: Removed settings() accessor. Settings belong to the WebCore page, not the WebView.
- 5:22 PM Changeset in webkit [18417] by
-
- 37 edits1 add2 deletes in trunk
WebCore:
Reviewed by Oliver Hunt.
Removed WebCoreSettings, cleaned up WebCore::Settings.
- WebCore.exp: Exported Settings for use by WebKit, removed WebCoreSettings class.
- WebCore.xcodeproj/project.pbxproj: Removed WebCoreSetttings.h/.mm. Added Settings.cpp.
- page/Frame.cpp: Removed cruft that duplicated Settings data. Callers now call through to Settings to get Settings data.
- page/Page.cpp: Added Settings data member, to replace the one that WebView used to hold.
- page/Settings.cpp: Added.
- page/Settings.h:
- Renamed all functions to match WebKit API. Renamed all variables to match functions. Favorite old name: "isPluginsEnabled."
- Moved EditableLinkBehavior outside of the class. Having it inside just made it harder to type.
- Merged in old WebCoreSettings functionality, like guarding against re-setting to the same value, and making sure to update page layout.
- Paired setters and getters, putting setters first.
WebKit:
Reviewed by Oliver Hunt.
Removed WebCoreSettings, cleaned up WebCore::Settings.
- WebView/WebFrame.mm: Added helper functions for converting between WebKitEditableLinkBehavior and WebCore::EditableLinkBehavior. I'm not sure that this is the best place for these functions, but it's where all the other functions like them reside. (core): (kit):
- WebView/WebFrameInternal.h:
- WebView/WebView.mm: Removed uses of WebCoreSettings. Replaced with direct use of underlying page's settings.
- 4:45 PM Changeset in webkit [18416] by
-
- 5 edits in trunk/WebCore
Reviewed by Oliver.
Fix some minor style issues.
- 4:37 PM Changeset in webkit [18415] by
-
- 22 edits9 adds in trunk
Reviewed by Oliver.
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11963
Fixes: http://bugs.webkit.org/show_bug.cgi?id=11123
Fix SVGList JS wrappers, which operate on POD types (ie. Point).
There exists a special JSSVGPODTypeWrapperCreatorForList class now,
which operators on specialized SVGPODList's. It makes it possible
to support stuff like "myList.getItem(0).value = 200", for POD lists.
Adding two new testcases demonstrating the usage of SVG DOM & SVGAnimatedPoints.
- 2:32 PM Changeset in webkit [18414] by
-
- 8 edits in trunk/WebKit
Reviewed by Oliver Hunt.
Some refactoring in preparation for fixing <rdar://problem/4778898>
REGRESSION: crash in getInstanceForView() when quitting from kcbs.com
Two renames:
- "plugin" => "pluginPackage" (since the type is WebNetscapePluginPackage *)
- "instance" and/or "pluginPointer" => plugin (since NPP is an opaque handle to a plug-in)
Removed braces around single-line 'if' statements.
Made plugin a pointer instead of an inline ivar. This allows us to NULL
it out once we call NPP_Destroy on it.
Added helper functions for creating and destroying plugin. The destroy function
NULLs out plugin, which helps with debugging.
(-[WebBaseNetscapePluginView willCallPlugInFunction]): Added an ASSERT
to catch attempts to call functions on destroyed plug-ins.
(-[WebBaseNetscapePluginView _createPlugin]): New helper function.
(-[WebBaseNetscapePluginView _destroyPlugin]): New helper function.
- 10:37 AM Changeset in webkit [18413] by
-
- 3 edits in trunk/WebCore
Reviewed by Maciej.
http://bugs.webkit.org/show_bug.cgi?id=10313
Reproducible crash when doing importStylesheet in javascript with
xsl files that use xsl:import
This doesn't fully address the bug, but makes a couple of steps
in that direction.
- xml/XSLTProcessor.cpp: (WebCore::transformToString): Set m_stylesheet even if it's created implicitly, rather than passed from outside. Always reset it in the end (this doesn't affect Document::applyXSLTransform(), which was the only user of setXSLStylesheet()).
- xml/xmlhttprequest.cpp: (WebCore::XMLHttpRequest::getResponseXML): Set the loaded document's URL.