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

Timeline



Mar 2, 2007:

6:18 PM Changeset in webkit [19952] by kmccullo
  • 39 edits
    20 adds in trunk

LayoutTests:

Reviewed by Geoff.

  • rdar://problem/4922454
  • This fixes a security issue by making remote referrers not able to access local resources, unless they register their schemes to be treated as local. The result is that those schemes can access local resources and cannot be accessed by remote referrers. Because this behavior is new a link-on-or-after check is made to determine if the app should use the older, less safe, behavior.
  • fast/loader/local-CSS-from-local-expected.txt: Added.
  • fast/loader/local-CSS-from-local.html: Added.
  • fast/loader/local-JavaScript-from-local-expected.txt: Added.
  • fast/loader/local-JavaScript-from-local.html: Added.
  • fast/loader/local-iFrame-source-from-local-expected.txt: Added.
  • fast/loader/local-iFrame-source-from-local.html: Added.
  • fast/loader/local-image-from-local-expected.txt: Added.
  • fast/loader/local-image-from-local.html: Added.
  • http/tests/security/local-CSS-from-remote-expected.txt: Added.
  • http/tests/security/local-CSS-from-remote.html: Added.
  • http/tests/security/local-JavaScript-from-remote-expected.txt: Added.
  • http/tests/security/local-JavaScript-from-remote.html: Added.
  • http/tests/security/local-iFrame-from-remote-expected.txt: Added.
  • http/tests/security/local-iFrame-from-remote.html: Added.
  • http/tests/security/local-image-from-remote-expected.txt: Added.
  • http/tests/security/local-image-from-remote.html: Added.
  • http/tests/security/resources/compass.jpg: Added.
  • http/tests/security/resources/cssStyle.css: Added.
  • http/tests/security/resources/localPage.html: Added.
  • http/tests/security/resources/localScript.js: Added.

WebCore:

Reviewed by Geoff.

  • rdar://problem/4922454
  • This fixes a security issue by making remote referrers not able to access local resources, unless they register their schemes to be treated as local. The result is that those schemes can access local resources and cannot be accessed by remote referrers. Because this behavior is new a link-on-or-after check is made to determine if the app should use the older, less safe, behavior.
  • WebCore.exp: added exported functions
  • bindings/objc/DOM.mm: consolodated function to base class (-[DOMElement image]): (-[DOMElement _imageTIFFRepresentation]):
  • dom/Document.cpp: Cache the document's ability to load local resources. (WebCore::Document::Document): (WebCore::Document::setURL): (WebCore::Document::shouldBeAllowedToLoadLocalResources): (WebCore::Document::stylesheetLoaded):
  • dom/Document.h: Cache the docuent's ability to load local resources. (WebCore::Document::getPendingSheet): (WebCore::Document::isAllowedToLoadLocalResources):
  • html/HTMLImageLoader.cpp: Moved functionality into base class. (WebCore::HTMLImageLoader::updateFromElement): (WebCore::HTMLImageLoader::dispatchLoadEvent):
  • html/HTMLLinkElement.cpp: Handles null returns correctly now.
  • html/HTMLTokenizer.cpp: Moved functionality into base class. (WebCore::HTMLTokenizer::notifyFinished):
  • ksvg2/misc/SVGImageLoader.cpp: Moved functionality into base class. (WebCore::SVGImageLoader::dispatchLoadEvent):
  • loader/Cache.cpp: Checks if the cached resource can be loaded. (WebCore::Cache::requestResource):
  • loader/CachedCSSStyleSheet.cpp: Moved functionality into base class. (WebCore::CachedCSSStyleSheet::ref): (WebCore::CachedCSSStyleSheet::error):
  • loader/CachedImage.cpp: Moved functionality into base class. (WebCore::CachedImage::CachedImage):
  • loader/CachedImage.h: Moved functionality into base class. (WebCore::CachedImage::canRender):
  • loader/CachedResource.cpp: Cache if the CachedResource should be treated as local (WebCore::CachedResource::CachedResource):
  • loader/CachedResource.h: Moved functionality into base class. (WebCore::CachedResource::errorOccurred): (WebCore::CachedResource::shouldTreatAsLocal):
  • loader/CachedScript.cpp: Moved functionality into base class. (WebCore::CachedScript::CachedScript):
  • loader/CachedScript.h: Moved functionality into base class. (WebCore::CachedScript::schedule):
  • loader/CachedXBLDocument.cpp: Moved functionality into base class. (WebCore::CachedXBLDocument::error):
  • loader/CachedXSLStyleSheet.cpp: Moved functionality into base class. (WebCore::CachedXSLStyleSheet::error):
  • loader/FrameLoader.cpp: See comments for each function below. (WebCore::FrameLoader::loadSubframe): Use new canLoad. (WebCore::FrameLoader::restrictAccessToLocal): return value of linked-on-or-after check. (WebCore::FrameLoader::setRestrictAccessToLocal): set value for linked-on-or-after check. (WebCore::localSchemes): Return set of schemes that are to be treated as local. (WebCore::FrameLoader::loadPlugin): Use new canLoad. (WebCore::FrameLoader::canLoad): Now multiple functions that each do the same work but some can take advantage of the cached values, if they were computed previously. (WebCore::FrameLoader::shouldHideReferrer): Extracted out the logic to determine if the referrer should be hidden so it is only calculated when needed. (WebCore::FrameLoader::loadResourceSynchronously): No longer calls canLoad to get hideReferrer info. (WebCore::FrameLoader::registerSchemeAsLocal): Functionality to register a scheme to be treated as local. (WebCore::FrameLoader::treatURLAsLocal): Given a URL this function determines if it should be treated as local.
  • loader/FrameLoader.h: Declared functions for this security fix. See above.
  • loader/MainResourceLoader.cpp: Optized order of bools to regain performance. (WebCore::MainResourceLoader::continueAfterContentPolicy):
  • loader/SubresourceLoader.cpp: Now restricts remote from loading local resources. (WebCore::SubresourceLoader::create):
  • page/EventHandler.cpp: Moved functionality into base class. (WebCore::selectCursor):
  • platform/KURL.cpp: KURLs need to check all the registered schemes now. (WebCore::KURL::isLocalFile):
  • rendering/HitTestResult.cpp: Moved functionality into base class. (WebCore::HitTestResult::image):
  • rendering/RenderImage.cpp: Moved functionality into base class. (WebCore::RenderImage::setCachedImage): (WebCore::RenderImage::imageChanged): (WebCore::RenderImage::paint): (WebCore::RenderImage::layout): (WebCore::RenderImage::calcAspectRatioWidth): (WebCore::RenderImage::calcAspectRatioHeight):
  • rendering/RenderImage.h: Moved functionality into base class. (WebCore::RenderImage::errorOccurred):
  • rendering/RenderListItem.cpp: Moved functionality into base class. (WebCore::RenderListItem::setStyle):
  • rendering/RenderListMarker.cpp: Moved functionality into base class. (WebCore::RenderListMarker::isImage):
  • xml/xmlhttprequest.cpp: Check doc's cached value instead of determining independently. (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):

WebKit:

Reviewed by Geoff.

  • rdar://problem/4922454
  • This fixes a security issue by making remote referrers not able to access local resources, unless they register their schemes to be treated as local. The result is that those schemes can access local resources and cannot be accessed by remote referrers. Because this behavior is new a link-on-or-after check is made to determine if the app should use the older, less safe, behavior.
  • Misc/WebKitVersionChecks.h: added linked-on-or-after check
  • Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class. (fileWrapperForElement):
  • Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
  • Plugins/WebPluginContainerCheck.mm: uses new canLoad functions (-[WebPluginContainerCheck _isForbiddenFileLoad]):
  • WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI for registering a scheme as local. (-[WebView _commonInitializationWithFrameName:groupName:]): (+[WebView registerSchemeAsLocal:]):
  • WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
5:46 PM Changeset in webkit [19951] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by kevin


<rdar://problem/5028447>
REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size

  • editing/pasteboard/5028447-expected.checksum: Added.
  • editing/pasteboard/5028447-expected.png: Added.
  • editing/pasteboard/5028447-expected.txt: Added.
  • editing/pasteboard/5028447.html: Added.

WebCore:

Reviewed by kevin


<rdar://problem/5028447>
REGRESSION: Gmail Editor: Copied message text pastes at the wrong font size

  • editing/markup.cpp: (WebCore::createMarkup): The style of the div that holds a fully selected body's styles didn't include styles inherited from the body's ancestors.
4:48 PM Changeset in webkit [19950] by ggaren
  • 2 edits in trunk/WebKitTools

Tweaked parse-malloc-history to work with new malloc_history output format.

  • Scripts/parse-malloc-history:
4:09 PM Changeset in webkit [23020] by aroben
  • 4 edits in branches/WindowsMerge/WebKitWin

WebKitWin:

Reviewed by Beth.

Make submenus draw using the UIDelegate.

  • Interfaces/IWebUIDelegate.idl: Added new delegate method to add custom drawing data for menus.
  • WebView.cpp: (WebView::onInitMenuPopup): Added. Calls new delegate method. (WebViewWndProc): Added handler for WM_INITMENUPOPUP, which is called for all submenus.
  • WebView.h: Added declaration.
3:02 PM Changeset in webkit [19949] by justing
  • 5 edits
    4 adds in trunk

LayoutTests:

Reviewed by harrison


<rdar://problem/4545040>
innerHTML does not HTML-escape text nodes inside PRE elements
<rdar://problem/5027857>
Pasting into Mail from Safari's view-source window renders the HTML

  • editing/pasteboard/5027857-expected.checksum: Added.
  • editing/pasteboard/5027857-expected.png: Added.
  • editing/pasteboard/5027857-expected.txt: Added.
  • editing/pasteboard/5027857.html: Added.

WebCore:

Reviewed by harrison

<rdar://problem/4545040>
innerHTML does not HTML-escape text nodes inside PRE elements
<rdar://problem/5027857>
Pasting into Mail from Safari's view-source window renders the HTML

  • editing/HTMLInterchange.cpp: (WebCore::convertHTMLTextToInterchangeFormat): Send this function the node that the text comes from as a parameter. It shouldn't convert '\n's to spaces/nbsps if the text is coming from text where newlines are preserved.
  • editing/HTMLInterchange.h:
  • editing/markup.cpp: (WebCore::startMarkup): Escape text inside the children of PREs.
2:35 PM Changeset in webkit [23019] by aroben
  • 6 edits in branches/WindowsMerge

WebCoreWin:

Reviewed by Anders.

Added optional underlining of a single character to
WebCoreTextRenderer.

No layout tests possible.

  • platform/win/WebCoreTextRenderer.cpp: (WebCore::doDrawTextAtPoint): Added. This is an extraction of the code from DrawTextAtPoint that now also contains the underlining code. (WebCore::WebCoreDrawTextAtPoint): Call the helper function. (WebCore::WebCoreDrawDoubledTextAtPoint): Ditto.
  • platform/win/WebCoreTextRenderer.h: Added optional underlinedIndex parameters.

WebKitWin:

Reviewed by Anders.

Added optional underlining of a single character to WebKitGraphics.

1:10 PM Changeset in webkit [19948] by weinig
  • 4 edits in trunk

WebCore:

Reviewed by Anders.

Try to fix the Qt build.

  • platform/qt/TemporaryLinkStubs.cpp: Add stubs. (WebCore::searchMenuNoRecentSearchesText): (WebCore::searchMenuRecentSearchesText): (WebCore::searchMenuClearRecentSearchesText): (WebCore::AXWebAreaText): (WebCore::AXLinkText): (WebCore::AXListMarkerText): (WebCore::AXImageMapText): (WebCore::AXHeadingText):

WebKitQt:

Reviewed by Anders.

Try to fix the Qt build

  • WebCoreSupport/DragClientQt.cpp: (WebCore::DragClientQt::willPerformDragDestinationAction): (WebCore::DragClientQt::dragControllerDestroyed): (WebCore::DragClientQt::createDragImageForLink):
1:06 PM Changeset in webkit [19947] by sfalken
  • 2 edits in trunk/JavaScriptCore

2007-03-02 Steve Falkenburg <sfalken@apple.com>

Reviewed by Anders.


Add unsigned int hash traits (matches existing unsigned long version)

  • wtf/HashTraits.h: (WTF::):
1:06 PM Changeset in webkit [19946] by harrison
  • 2 edits in trunk/WebCore

Suggested by Darin.

A more efficient solution to rdar://4961431.

  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityIsIgnored]):
11:55 AM Changeset in webkit [19945] by aroben
  • 4 edits in trunk/JavaScriptCore

Reviewed by Kevin M.

Try to fix the Qt build.

  • kjs/DateMath.cpp: (KJS::msToGregorianDateTime): Removed unnecessary "struct" keyword.
  • kjs/DateMath.h: Moved forward declarations to the top of the file before they are used.
  • kjs/date_object.cpp: (KJS::formatLocaleDate): Changed to take a const GregorianDateTime& since GregorianDateTime is Noncopyable.
11:53 AM Changeset in webkit [19944] by justing
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by john


<rdar://problem/5032095>
Gmail Editor: Copied text pastes on a new line instead of current line

  • editing/pasteboard/5032095-expected.checksum: Added.
  • editing/pasteboard/5032095-expected.png: Added.
  • editing/pasteboard/5032095-expected.txt: Added.
  • editing/pasteboard/5032095.html: Added.

WebCore:

Reviewed by john


<rdar://problem/5032095>
Gmail Editor: Copied text pastes on a new line instead of current line


Start merge failed to occur because positionAtStartOfInsertedContent
had a bug.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Was failing when inserting <span><div>foo/div></span>. Return the inserted content's first VisiblePosition.
9:42 AM Changeset in webkit [19943] by darin
  • 3 edits in trunk/JavaScriptCore

Reviewed by Kevin McCullough.

  • kjs/DateMath.h: Marked GregorianDateTime as noncopyable, since it has a non-trivial destructor and not the correspoding copy constructor or assignment operator. Changed the GregorianDateTime constructor to use member initialization syntax. Fixed the destructor to use the array delete operator, since timeZone is an array.
  • kjs/DateMath.cpp: (KJS::daysInYear): Changed to call isLeapYear so the rule is not repeated twice. (KJS::getUTCOffset): Added caching on PLATFORM(DARWIN), since we can rely on the notify_check function and "com.apple.system.timezone" to let us know when the offset has changed.
1:39 AM Changeset in webkit [19942] by hyatt
  • 2 edits in trunk/WebCore

Fix glyph map crasher.

12:22 AM Changeset in webkit [19941] by antti
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

Fix for http://bugs.webkit.org/show_bug.cgi?id=12895
REGRESSION: imagemap: pointer cursor is shown everywhere
<rdar://problem/5028163>


Image with imagemap should never itself be URLElement in hit test results.


No layout test, cursor state can't be captured.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::hitTest):

Mar 1, 2007:

11:59 PM Changeset in webkit [19940] by antti
  • 8 edits
    3 adds in trunk

LayoutTests:

Reviewed by Maciej.


HTTP layout test for http://bugs.webkit.org/show_bug.cgi?id=12690
REGRESSION: can not log in to bank of america with TOT webkit
<rdar://problem/4990044>

also for
http://bugs.webkit.org/show_bug.cgi?id=12604
http://bugs.webkit.org/show_bug.cgi?id=12020


  • http/tests/misc/multiple-submit-expected.txt: Added.
  • http/tests/misc/multiple-submit.html: Added.
  • http/tests/misc/resources/post-echo-and-notify-done.cgi: Added.

WebCore:

Reviewed by Maciej.


Fix http://bugs.webkit.org/show_bug.cgi?id=12690
REGRESSION: can not log in to bank of america with TOT webkit
<rdar://problem/4990044>


and http://bugs.webkit.org/show_bug.cgi?id=12604
REGRESSION: After closing the "Would you like to save password" sheet, the form fails
to submit automatically at http://www.mac.com/WebObjects/HomePage.woa
<rdar://problem/4871752>


and http://bugs.webkit.org/show_bug.cgi?id=12020
REGRESSION: Flickr uploading broken
<rdar://problem/4928662>


Turn protection against multiple forms submission back on. This approach is buggy
but it is way better than not having it at all. Not protecting against this
breaks number of major sites.


  • bridge/mac/WebCoreAXObject.mm: (-[WebCoreAXObject accessibilityPerformAction:]):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::resetMultipleFormSubmissionProtection): (WebCore::FrameLoader::submitForm): (WebCore::FrameLoader::receivedMainResourceError):
  • loader/FrameLoader.h:
  • page/EventHandler.cpp: (WebCore::EventHandler::keyEvent):
  • page/Frame.cpp: (WebCore::Frame::setView):
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::mouseDown):
10:35 PM Changeset in webkit [19939] by bdash
  • 4 edits in tags/Safari-5522.1

Versioning.

9:26 PM Changeset in webkit [19938] by bdash
  • 2 edits in tags/Safari-5522.1/WebCore

Merge in r19928.

2007-03-01 David Harrison <harrison@apple.com>

Reviewed by Darin.

<rdar://problem/5033905> Have the DOM secondary thread check raise an exception by default

  • platform/mac/ThreadCheck.mm: (WebCore::_WebCoreThreadViolationCheck): Initialize threadViolationIsException to true.
9:18 PM Changeset in webkit [19937] by bdash
  • 10 edits
    2 copies in tags/Safari-5522.1

Merge in r19921.

2007-02-28 Brady Eidson <beidson@apple.com>

Reviewed by Beth

Move the Thread Safety Check functions into their own header for export to WebKit

  • WebCore.exp: Export the function
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorObjC.pm: Include the new header
  • platform/Logging.h: Move stuff to ThreadCheck.h
  • platform/ThreadCheck.h: Added.
  • platform/mac/LoggingMac.mm: Move stuff to ThreadCheck.mm
  • platform/mac/ThreadCheck.mm: Added. (WebCore::_WebCoreThreadViolationCheck): (WebCoreReportThreadViolation):

2007-02-28 Brady Eidson <beidson@apple.com>

Reviewed by Beth

Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
the WebKit API instead of the ASSERT_MAIN_THREAD() hack

  • History/WebBackForwardList.mm: (-[WebBackForwardList initWithWebCoreBackForwardList:]): (-[WebBackForwardList init]): (-[WebBackForwardList dealloc]): (-[WebBackForwardList finalize]):
  • History/WebHistoryItem.mm: (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]): (-[WebHistoryItem dealloc]): (-[WebHistoryItem finalize]): (-[WebHistoryItem copyWithZone:]): (-[WebHistoryItem initWithWebCoreHistoryItem:]):
  • Misc/WebIconDatabase.mm: (-[WebIconDatabase init]):
8:47 PM Changeset in webkit [19936] by bdash
  • 1 copy in tags/Safari-5522.1

New tag.

7:16 PM Changeset in webkit [23018] by sfalken
  • 1 edit in branches/WindowsMerge/WebKitWin/WebKit.vcproj/VERSION

Bump version for submit

7:13 PM Changeset in webkit [19935] by sfalken
  • 1 copy in tags/Safari-521.35.5b

New tag.

6:42 PM Changeset in webkit [19934] by kmccullo
  • 3 edits
    3 adds in trunk

LayoutTests:

Reviewed by Adam.

  • Tests that the url of a document after an open is what it was before the open.
  • fast/loader/external-script-URL-location-expected.txt: Added.
  • fast/loader/external-script-URL-location.html: Added.
  • fast/loader/resources/external-script-URL-location.js: Added.

WebCore:

Reviewed by Adam.

  • Added the test case: external-script-URL-location.html
  • Fix an issue where the url of a document is null after an open if the document has no parent.
  • dom/Document.cpp: (WebCore::Document::open):
6:29 PM Changeset in webkit [19933] by bdash
  • 3 edits in tags/Safari-4522.1

Versioning.

6:23 PM Changeset in webkit [19932] by bdash
  • 1 copy in tags/Safari-4522.1

New tag.

6:17 PM Changeset in webkit [19931] by andersca
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4960250>
http://bugs.webkit.org/show_bug.cgi?id=11627
REGRESSION: Reproducible crash at IMDb in WebCore::FrameLoader::stopLoadingSubframes


In rare cases, we could end up calling checkLoadComplete twice for the same frame. This would cause the
didFailProvisionalLoad delegate method to be called twice for the same frame, and also cause the provisional document loader
to be reset to null when other code wasn't expecting it.


This regressed in revision 10904 with the fix for <rdar://problem/4184719>. The fix is to only call stopLoading on the frame
if either the document loader is loading, or the document is still being parsed. I've verified that the bug is still fixed and
that no leaks occur.


  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::stopLoading):
5:58 PM Changeset in webkit [19930] by kjk
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fix ARM crash due to accessing non-4-byte-aligned memory
as 32-bit values.

  • platform/AtomicString.cpp: (WebCore::UCharBufferTranslator::equal):
5:57 PM Changeset in webkit [19929] by justing
  • 3 edits in trunk/WebKit

Reviewed by harrison


<rdar://problem/4838199>
Integrate Mail and WebKit paste operations


Provide subresources used to create the fragment as a
convenience.

  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): Update the calls to the changed method. (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Give the caller the subresources in the WebArchive and RTF cases.
  • WebView/WebHTMLViewPrivate.h:
5:53 PM Changeset in webkit [19928] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/5033905> Have the DOM secondary thread check raise an exception by default

  • platform/mac/ThreadCheck.mm: (WebCore::_WebCoreThreadViolationCheck): Initialize threadViolationIsException to true.
4:46 PM Changeset in webkit [23017] by aroben
  • 5 edits in branches/WindowsMerge/WebKitWin

Reviewed by Kevin M.

Add support for right-truncation to WebKitGraphics.

2:04 PM Changeset in webkit [23016] by andersca
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Tim.

  • plugins/win/npfunctions.h: Fix tyop.
2:00 PM Changeset in webkit [19927] by beidson
  • 2 edits in trunk/WebCore

Reviewed by Darin

<rdar://problem/5030628> - Crash opening a new window with the
"New windows open to the same page" pref set

  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): Set the m_subItems vector capacity correctly
9:08 AM Changeset in webkit [19926] by ap
  • 3 edits
    2 adds in trunk

Reviewed by Maciej.

http://bugs.webkit.org/show_bug.cgi?id=12801
Assertion failure in createMarkup() (root) when doing Select All, Copy in an SVG document

Test: editing/pasteboard/createMarkup-assert.xml

  • editing/markup.cpp: (WebCore::createMarkup): Removed the assertion, because it's wrong in a non-HTML world.
Note: See TracTimeline for information about the timeline view.