Timeline


and

03/11/08:

22:40 Changeset [30981] by sfalken@apple.com

JavaScriptCore:

Disable LTCG/PGO for grammar.cpp and nodes.cpp.
PGO on these files causes us to hang.


Copy newer vsprops files from relative WebKitLibraries path to environment variable based path.


Reviewed by Oliver.

WebCore:

Disable LTCG/PGO for all of WebCore for now.
We'll re-enable this as part of follow-on PGO work.


Reviewed by Oliver.

  • WebCore.vcproj/WebCore.vcproj:

WebKit/win:

Use PGO to build WebKit.dll.


Reviewed by Oliver.

  • WebKit.vcproj/WebKit.pgd: Added.
  • WebKit.vcproj/WebKit.vcproj:

WebKitLibraries:

Disable two PGO/LTCG specific warnings.


Reviewed by Oliver.

  • win/tools/vsprops/common.vsprops:
22:27 Changeset [30980] by darin@apple.com

WebCore:

Reviewed by Sam.

  • remove all bridge-related things from WebCore except the bridge itself
  • WebCore.base.exp: Removed the bridge and setBridge functions.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::detachFromParent): Removed call to the bridge's close method.
  • page/Frame.cpp: (WebCore::Frame::~Frame): Removed call to setBridge(0). (WebCore::FramePrivate::FramePrivate): Removed initialization of m_bridge.
  • page/Frame.h: Removed setBridge and bridge functions.
  • page/FramePrivate.h: Removed m_bridge pointer.
  • page/mac/FrameMac.mm: Removed setBridge and bridge functions.
  • page/mac/WebCoreFrameBridge.h: Added setWebCoreFrame: method. Removed bridgeForDOMDocument: and clearFrame methods.
  • page/mac/WebCoreFrameBridge.mm: Ditto. (-[WebCoreFrameBridge close]): Changed to set m_frame to 0 directly. (-[WebCoreFrameBridge setWebCoreFrame:]): Added.

WebKit/mac:

Reviewed by Sam.

  • remove all bridge-related things from WebCore except the bridge itself
  • DOM/WebDOMOperations.mm: (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
  • DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
  • Plugins/WebPluginController.mm: Ditto.
  • WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the init and close methods. Added a setWebFrame: method.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge setWebFrame:]): Added.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion. (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the bridge here. Soon we will be able to remove this entirely! (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved into WebFrame from the bridge.
  • WebView/WebFrame.mm: (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's now owned by the frame. (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script debugger under GC without this! (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to use WebFrameLoaderClient instead of the bridge. (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added. This is code that used to live in the bridge's init function. (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto. (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto. (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since the WebView is now the bridge's owner. (-[WebFrame _updateBackground]): Changed this one call site that was calling the WebCore::Frame::bridge function directly to use the kit function instead. (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge. This code won't last long -- we're eliminating the bridge soon. (-[WebFrame finalize]): Ditto.
  • WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods for creating frames.
  • WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom where we have to allocate a WebFrameBridge and then immediately release it.
22:13 Changeset [30979] by darin@apple.com

WebCore:

  • restored some code I removed in the Range change; this code can't go until the rest of the Range fix is in
  • dom/Range.cpp: (WebCore::Range::commonAncestorContainer): Added back the check for 0 that I removed erroneously in the Range patch. (WebCore::Range::processContents): Left in assertions I used to debug this.

LayoutTests:

Reviewed by Beth Dakin.

Update test to catch the SECURITY_ERR thrown by
CanvasRenderingContext2D::getImageData() and
HTMLCanvasElement::toDataURL() on a tainted canvas

  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image.html:
20:51 Changeset [30978] by darin@apple.com
  • update expected result changed by recent Range patch
  • platform/mac/editing/execCommand/4920488-expected.txt: Removed incorrect exception log.
  • platform/qt/editing/execCommand/4920488-expected.txt: Ditto.
18:31 Changeset [30977] by darin@apple.com
  • fix Release build
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
18:23 Changeset [30976] by darin@apple.com

WebCore:

Reviewed by Anders.

  • simplify Mac code for ScrollView, since it's used only for FrameView and not in two different modes like it was historically
  • remove code depending on the bridge to get from an NSView to a WebCore::Frame
  • bindings/objc/DOMHTML.mm: (-[DOMHTMLInputElement _rectOnScreen]): getDocumentView -> documentView.
  • bridge/jni/jni_jsobject.cpp: (createRootObject): Instead of using WebCoreViewFactory to find the frame given and NSView, use the WebCoreFrameView interface to do it.
  • editing/mac/EditorMac.mm: (WebCore::Editor::paste): getDocumentView -> documentView.
  • editing/mac/SelectionControllerMac.mm: (WebCore::SelectionController::notifyAccessibilityForSelectionChange): Ditto.
  • page/FrameView.h: Fixed comment.
  • page/InspectorController.cpp: (WebCore::InspectorController::drawNodeHighlight): Removed uneeded typecasts to ScrollView* since FrameView is derived from ScrollView.
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView): getDocumentView -> documentView.
  • page/mac/FrameMac.mm: (WebCore::Frame::imageFromRect): Ditto.
  • page/mac/WebCoreAXObject.mm: (-[WebCoreAXObject position]): Ditto. (-[WebCoreAXObject doAXTextMarkerForPosition:]): Ditto. (-[WebCoreAXObject rendererForView:]): Updated code that used to use WebCoreBridgeHolder to use WebCoreFrameView instead.
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge computePageRectsWithPrintWidthScaleFactor:printHeight:]): getDocumentView -> documentView.
  • page/mac/WebCoreFrameView.h: Removed the WebCoreScrollbarMode type; we just use WebCore::ScrollbarMode directly. Renamed the WebCoreFrameView protocol to WebCoreFrameScrollView, since it's a protocol for the scroll view, not the frame view itself. Replaced WebCoreBridgeHolder protocol with WebCoreFrameView protocol, which returns a WebCore::Frame directly rather than a bridge.
  • page/mac/WebCoreViewFactory.h: Eliminated the bridgeForView method.
  • platform/ScrollView.h: Moved the constructor and destructor out of the class-specific #if blocks. Renamed Mac-specific function that gets the NSView for from getDocumentView to documentView and a scrollView function that returns an appropriately classed NSScrollView.
  • platform/graphics/MediaPlayer.h: Changed type of parentWidget to FrameView instead of Widget.
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovieView): Removed unnecessary cast.
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): getDocumentView -> documentView.
  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::ScrollView): Added. (WebCore::ScrollView::~ScrollView): Added. (WebCore::ScrollView::scrollView): Added. (WebCore::ScrollView::visibleWidth): Removed unused non-NSScrollView case. (WebCore::ScrollView::visibleHeight): Ditto. (WebCore::ScrollView::visibleContentRect): Ditto. (WebCore::ScrollView::visibleContentRectConsideringExternalScrollers): Ditto. (WebCore::ScrollView::contentsWidth): Ditto. (WebCore::ScrollView::contentsHeight): Ditto. (WebCore::ScrollView::contentsX): Ditto. (WebCore::ScrollView::contentsY): Ditto. (WebCore::ScrollView::scrollOffset): Ditto. (WebCore::ScrollView::scrollRectIntoViewRecursively): Ditto. (WebCore::ScrollView::setContentsPos): Ditto. (WebCore::ScrollView::setVScrollbarMode): Ditto. (WebCore::ScrollView::setHScrollbarMode): Ditto. (WebCore::ScrollView::setScrollbarsMode): Ditto. (WebCore::ScrollView::vScrollbarMode): Ditto. (WebCore::ScrollView::hScrollbarMode): Ditto. (WebCore::ScrollView::suppressScrollbars): Ditto. (WebCore::ScrollView::addChild): Ditto. (WebCore::ScrollView::resizeContents): Ditto. (WebCore::ScrollView::updateContents): Ditto. (WebCore::ScrollView::contentsToWindow): Ditto. (WebCore::ScrollView::windowToContents): Ditto. (WebCore::ScrollView::setStaticBackground): Ditto. (WebCore::ScrollView::documentView): Renamed and removed unused case. (WebCore::ScrollView::scrollbarUnderMouse): Removed incorrect comment.
  • platform/mac/WidgetMac.mm: (WebCore::Widget::getOuterView): Update for protocol name change.
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::paintCheckbox): getDocumentView -> documentView. (WebCore::RenderThemeMac::paintRadio): Ditto. (WebCore::RenderThemeMac::paintButton): Ditto. (WebCore::RenderThemeMac::paintMenuList): Ditto. (WebCore::RenderThemeMac::paintSliderThumb): Ditto. (WebCore::RenderThemeMac::paintSearchField): Ditto. (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Ditto. (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): Ditto. (WebCore::RenderThemeMac::paintSearchFieldResultsButton): Ditto.

WebKit:

Reviewed by Anders.

  • WebKit.xcodeproj/project.pbxproj: Change WebDynamicScrollBarsView.m to be Obj-C++. We can rename the file later.

WebKit/mac:

Reviewed by Anders.

  • remove code depending on the bridge to get from an NSView to a WebCore::Frame
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call to setView. A couple lines later, there is a call to _install, which sets the view to the scroll view.
  • WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
  • WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of this file, since it's used by Safari.
  • WebView/WebDynamicScrollBarsViewInternal.h: Added.
  • WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): Ditto. (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto. (-[WebDynamicScrollBarsView allowsScrolling]): Ditto. (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto. (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto. (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto. (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto. (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto. (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto. (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto. (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto. (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto. (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto. (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto. (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
  • WebView/WebFrameView.mm: (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
  • WebView/WebView.mm: (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h. (-[WebView alwaysShowVerticalScroller]): Ditto. (-[WebView setAlwaysShowHorizontalScroller:]): Ditto. (-[WebView alwaysShowHorizontalScroller]): Ditto.
17:48 Changeset [30975] by darin@apple.com

WebCore:

Reviewed by Adam Roben.

Split CookieJarWin.cpp into CFNet and non-CFNet versions to
reduce the massive amount of conditionalization in the file.
(see http://bugs.webkit.org/show_bug.cgi?id=17788)

  • WebCore.vcproj/WebCore.vcproj:
  • platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp. (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled):
  • platform/network/win/CookieJarWin.cpp: (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled):

WebKit/mac:

Reviewed by Sam.

  • eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
  • WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace bridge methods.
  • WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS to recently-created functions. (WebChromeClient::firstResponder): Moved code here from the bridge. (WebChromeClient::makeFirstResponder): Ditto. (WebChromeClient::runOpenPanel): Ditto. (WebChromeClient::willPopUpMenu): Ditto.
  • WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left is related to creating the bridge and connecting it to WebCore, which will go next when I eliminate use of the bridge to get to/from the Frame*.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge close]): Moved the code to track the bridge count here instead of the dealloc and finalize methods.
17:40 Google Summer of Code 2008 edited by eric@webkit.org
(diff)
17:28 Changeset [30974] by pewtermoose@webkit.org

2008-03-11 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Split CookieJarWin.cpp into CFNet and non-CFNet versions to
reduce the massive amount of conditionalization in the file.
(see http://bugs.webkit.org/show_bug.cgi?id=17788)

  • WebCore.vcproj/WebCore.vcproj:
  • platform/network/win/CookieJarCFNetWin.cpp: Copied from WebCore/platform/network/win/CookieJarWin.cpp. (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled):
  • platform/network/win/CookieJarWin.cpp: (WebCore::setCookies): (WebCore::cookies): (WebCore::cookiesEnabled):
17:12 Google Summer of Code 2008 edited by zucker@wake3.com
(diff)
17:02 Writing Layout Tests for DumpRenderTree edited by eric@webkit.org
(diff)
16:56 Google Summer of Code 2008 edited by ddkilzer@apple.com
(diff)
16:43 Changeset [30973] by darin@apple.com

WebCore:

Reviewed by Mitz.

  • make some Range improvements (preparation for Range support for DOM mutation)

Made constructors private, added create functions.
Made refcount start at 1 rather than starting at 0 and being incremented.
Made Range use two Position objects for the start/end container/offset pairs.

  • WebCore.base.exp: Updated.
  • dom/Document.cpp: (WebCore::Document::createRange): Changed to use Range::create. (WebCore::Document::removeMarkers): Updated for Range::first/pastLastNode name change.
  • dom/Position.cpp: (WebCore::Position::formatForDebugger): Updated for member variable name change. (WebCore::Position::showTreeForThis): Ditto. (WebCore::startPosition): Changed to use Range::startPosition. (WebCore::endPosition): Changed to use Range::endPosition.
  • dom/Position.h: Made the data members public and renamed them to container and offset. But since offset() is already a function, temporarily used posOffset for the data member. Later we'll get rid of offset(). Made more functions inline. Removed the constructor that takes a PositionIterator.
  • dom/PositionIterator.cpp: (WebCore::PositionIterator::operator Position): Added. Replaces the constructor that used to be in Position.
  • dom/PositionIterator.h: Added conversion operator to produce a Position. Removed friend declaration for Position.
  • dom/Range.cpp: (WebCore::Range::Range): Updated constructors for data member changes and made them use a refcount of 1. (WebCore::Range::create): Added. (WebCore::Range::startContainer): Updated to eliminate use of m_detached; detached is now indicated by m_start.container of 0. Also updated to use m_start instead of the old m_startContainer. (WebCore::Range::startOffset): Ditto. (WebCore::Range::endContainer): Ditto. (WebCore::Range::endOffset): Ditto. (WebCore::Range::commonAncestorContainer): Ditto. (WebCore::Range::collapsed): Ditto. (WebCore::Range::setStart): Ditto. (WebCore::Range::setEnd): Ditto. (WebCore::Range::collapse): Ditto. (WebCore::Range::isPointInRange): Ditto. (WebCore::Range::comparePoint): Ditto. (WebCore::Range::compareNode): Ditto. (WebCore::Range::compareBoundaryPoints): Ditto. (WebCore::Range::boundaryPointsValid): Ditto. (WebCore::Range::deleteContents): Ditto. (WebCore::Range::intersectsNode): Ditto. (WebCore::Range::processContents): Ditto. (WebCore::Range::extractContents): Ditto. (WebCore::Range::cloneContents): Ditto. (WebCore::Range::insertNode): Ditto. (WebCore::Range::toString): Ditto. (WebCore::Range::text): Ditto. (WebCore::Range::createContextualFragment): Ditto. (WebCore::Range::detach): Ditto. (WebCore::Range::checkNodeBA): Changed to use switch statements instead of multiple calls to the virtual nodeType() function. (WebCore::Range::cloneRange): Ditto. (WebCore::Range::setStartAfter): Ditto. (WebCore::Range::setEndBefore): Ditto. (WebCore::Range::setEndAfter): Ditto. (WebCore::Range::selectNode): Ditto. (WebCore::Range::selectNodeContents): Ditto. (WebCore::Range::surroundContents): Ditto. (WebCore::Range::setStartBefore): Ditto. (WebCore::Range::checkDeleteExtract): Ditto. (WebCore::Range::containedByReadOnly): Ditto. (WebCore::Range::firstNode): Ditto. (WebCore::Range::editingStartPosition): Ditto. (WebCore::Range::pastLastNode): Ditto. (WebCore::Range::addLineBoxRects): Ditto. (WebCore::Range::formatForDebugger): Ditto. (WebCore::operator==): Ditto. (WebCore::rangeOfContents): Ditto. (WebCore::Range::maxStartOffset): Ditto. (WebCore::Range::maxEndOffset): Ditto.
  • dom/Range.h: Made constructors private. Added create functions. Added getters for startContainer/Offset and endContainer/Offset that return 0 instead of an exception for detached ranges that are inline and don't require an ExceptionCode out parameter. Changed the parameters to setStart and setEnd to PassRefPtr. Removed isDetached function. Made ActionType and processContents private. Made startPosition and endPosition inlines and have then return const&. Renamed startNode and pastEndNode to firstNode and pastLastNode to reduce the chance of confusion with startContainer/endContainer. Used Position for m_start and m_end instead of separate container and offset members. Changed maxStartOffset and maxEndOffset into int to match other offsets.
  • editing/ApplyStyleCommand.cpp: (WebCore::ApplyStyleCommand::applyBlockStyle): Changed to use Range::create. (WebCore::ApplyStyleCommand::applyInlineStyle): Ditto.
  • editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::inputText): Ditto. (WebCore::CompositeEditCommand::moveParagraphs): Ditto.
  • editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
  • editing/Editor.cpp: (WebCore::Editor::fontForSelection): Changed for pastLastNode name change. (WebCore::Editor::setComposition): Changed to use Range::create. (WebCore::paragraphAlignedRangeForRange): Ditto. (WebCore::markMisspellingsOrBadGrammar): Changed to get rid of check for isDetached and check for 0 from startContainer instead. (WebCore::Editor::compositionRange): Changed to use Range::create.
  • editing/EditorCommand.cpp: (WebCore::unionDOMRanges): Ditto.
  • editing/Selection.cpp: (WebCore::Selection::toRange): Ditto.
  • editing/TextIterator.cpp: (WebCore::TextIterator::TextIterator): Changed for firstNode and pastLastNode name change. (WebCore::TextIterator::range): Changed to use Range::create. (WebCore::SimplifiedBackwardsTextIterator::range): Ditto. (WebCore::TextIterator::subrange): Ditto.
  • editing/VisiblePosition.cpp: (WebCore::makeRange): Ditto.
  • editing/VisiblePosition.h: Added now-needed include.
  • editing/htmlediting.cpp: (WebCore::indexForVisiblePosition): Changed to use Range::create. (WebCore::avoidIntersectionWithNode): Changed to get rid of check for isDetached and check for 0 instead and to use Range::create.
  • editing/markup.cpp: (WebCore::renderedText): Changed to use Range::create. (WebCore::createMarkup): Changed to no longer use isDetached and also for new firstNode/pastEndNode names. (WebCore::createFragmentFromText): Ditto.
  • editing/visible_units.cpp: (WebCore::previousBoundary): Changed to use Range::create.
  • page/mac/WebCoreFrameBridge.mm: (-[WebCoreFrameBridge convertToNSRange:]): Changed to no longer use isDetached().
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::visiblePositionForIndex): Changed to use Range::create. (WebCore::RenderTextControl::indexForVisiblePosition): Ditto.

WebKit/mac:

Reviewed by Mitz.

  • update code affected by Range changes
  • Misc/WebNSAttributedStringExtras.mm: (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
  • WebView/WebHTMLRepresentation.mm: (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use Range::create.
  • WebView/WebHTMLView.mm: (-[WebHTMLView attributedString]): Ditto.
16:32 Changeset [30972] by pewtermoose@webkit.org

2008-03-11 Daniel Zucker <zucker@wake3.com>

Reviewed by Adam Roben.

There are a handful of placed where the use of CFNetwork-specific
calls are protected by PLATFORM(CF). Revise to use the more specific
USE(CFNETWORK) macro. (See http://bugs.webkit.org/show_bug.cgi?id=17783)

  • platform/network/ProtectionSpace.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
  • platform/network/ResourceHandle.cpp: Change PLATFORM(CF) to USE(CFNETWORK)
  • platform/network/win/CookieJarWin.cpp: Correct error in InternetGetCookie call. Conditionalize 'cookiesEnabled' the same as all other implementations in this file.
16:06 Changeset [30971] by pewtermoose@webkit.org

Fix version comparison from previous checkin

16:06 Changeset [30970] by alp@webkit.org

2008-03-11 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=16476

Add libsoup HTTP backend.

  • GNUmakefile.am:
  • platform/network/ResourceHandleInternal.h: (WebCore::ResourceHandleInternal::ResourceHandleInternal):
  • platform/network/soup/AuthenticationChallenge.h: Added. (WebCore::AuthenticationChallenge::AuthenticationChallenge):
  • platform/network/soup/ResourceError.h: Added. (WebCore::ResourceError::ResourceError):
  • platform/network/soup/ResourceHandleSoup.cpp: Added. (WebCore::ResourceHandleInternal::~ResourceHandleInternal): (WebCore::ResourceHandle::~ResourceHandle): (WebCore::dataCallback): (WebCore::parseDataUrl): (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::cancel): (WebCore::ResourceHandle::bufferedData): (WebCore::ResourceHandle::supportsBufferedData): (WebCore::ResourceHandle::setDefersLoading): (WebCore::ResourceHandle::loadsBlocked): (WebCore::ResourceHandle::willLoadFromCache):
  • platform/network/soup/ResourceRequest.h: Copied from WebCore/platform/network/curl/ResourceRequest.h. (WebCore::ResourceRequest::ResourceRequest): (WebCore::ResourceRequest::doUpdatePlatformRequest):
  • platform/network/soup/ResourceResponse.h: Added. (WebCore::ResourceResponse::ResourceResponse): (WebCore::ResourceResponse::setResponseFired): (WebCore::ResourceResponse::responseFired): (WebCore::ResourceResponse::doUpdateResourceResponse):
15:53 Changeset [30969] by pewtermoose@webkit.org

2008-03-11 Rodney Dawes <dobey@wayofthemonkey.com>
WebCore:

Fix Qt build.

  • plugins/qt/PluginDataQt.cpp: (PluginData::initPlugins)

WebKit/qt:

Fix the Qt build.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (FrameLoaderClientQt::CreatePlugin):
14:43 Changeset [30968] by mrowe@apple.com

2008-03-11 Robert Blaut <webkit@blaut.biz>

Reviewed by Darin Adler.

Fix bug http://bugs.webkit.org/show_bug.cgi?id=17280
Patch deletes an obsolete hitlist.html page and other references to it

  • nav.inc: removed menu link to hitlist.html
  • projects/compat/hitlist.html: Removed.
  • projects/compat/index.html: removed reference to hitlist.html
14:28 Changeset [30967] by pewtermoose@webkit.org

2008-03-11 Brent Fulgham <bfulgham@gmail.com>

WebKit/win:

Reviewed by Adam Roben.

Enabled WinLauncher as part of normal Windows build.
http://bugs.webkit.org/show_bug.cgi?id=17715.

  • WebKit.vcproj/WebKit.sln: Add WinLauncher to the set of things build during a Windows build.

WebKitTools:

Reviewed by Adam Roben.

Enabled WinLauncher as part of normal Windows build.
http://bugs.webkit.org/show_bug.cgi?id=17715.

  • WinLauncher/WinLauncher.vcproj: Update to use vsprops so that it can find the proper libraries to link against.
12:59 Changeset [30966] by aroben@apple.com

Make attribute quoting in DOM view more consistent with source view

Two changes which make the DOM view more consistent with source view:

1) We now quote all attribute values, including URLs
2) The quotes around the values are now purple, matching the left and

right angle brackets that surround the tag

One bug fixed by these changes:

1) The entire URL is selected for editing when you double-click a URL

that is an attribute value. Previously, the first and last
characters were not included in the selection.

Reviewed by Darin.

  • page/inspector/DocumentPanel.js: (WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't need to account for the quotes around attribute values anymore because the quotes are now outside the webkit-html-attribute-value span.
  • page/inspector/utilities.js: (nodeTitleInfo): Quote all attribute values, including URLs, and place the quotes outside the webkit-html-attribute-value span.
12:59 Changeset [30965] by aroben@apple.com

Stop including pthread.h in WebCore on Windows

Reviewed by Darin.

  • WebCore.vcproj/WebCore.vcproj:
    • Changed the include path to not contain pthreads/
    • Let VS remove a duplicate FileConfiguration element
    • Let VS have its way with the file ordering
  • WebCorePrefix.h: Made the #include of pthread.h be compiled out on Windows.
  • loader/FTPDirectoryDocument.cpp: Added a Windows-specific #define of localtime_r (pthread.h was providing a macro that substituted plain old localtime before, but localtime_s is "more secure", so I went with that).
  • loader/FTPDirectoryParser.cpp: Ditto for gmtime_r.
12:58 Changeset [30964] by aroben@apple.com

Roll out r30961 since it breaks the default site icon on Windows

12:10 Google Summer of Code 2008 edited by eric@webkit.org
(diff)
12:08 Google Summer of Code 2008 edited by eric@webkit.org
(diff)
12:07 Google Summer of Code 2008 edited by eric@webkit.org
(diff)
11:52 Developer Tools Hitlist edited by aroben@apple.com
(diff)
11:37 Developer Tools Hitlist edited by aroben@apple.com
Added a high-level task for a JavaScript profiler (diff)
11:30 Changeset [30963] by mitz@apple.com

Reviewed by Darin Adler.

  • clean up line layout code
  • platform/graphics/GraphicsContext.cpp: (WebCore::TextRunIterator::increment): Removed the resolver parameter. (WebCore::GraphicsContext::drawBidiText): Adjusted for changes to createBidiRunsForLine(), which no longer takes a start parameter.
  • platform/text/BidiResolver.h: (WebCore::BidiResolver::): Made Noncopyable and removed the m_adjustEmbedding member variable. (WebCore::BidiResolver::position): Added. Returns the resolver's current position. (WebCore::BidiResolver::setPosition): Added. Sets the resolver's current position without changing any other state. (WebCore::BidiResolver::increment): Added. Advances the resolver to the next position, allowing the iterator to push and pop embedding. (WebCore::BidiResolver::appendRun): Removed the resolver parameter in the call to increment(). (WebCore::BidiResolver::embed): Removed code to save, set and restore m_adjustEmbedding. (WebCore::BidiResolver::createBidiRunsForLine): Changed to not take a 'start' iterator. Instead, start at the current position. Removed code to set m_adjustEmbedding. Changed for noncopyability.
  • rendering/RenderBlock.h:
  • rendering/bidi.cpp: (WebCore::bidiNext): Made the resolver parameter optional. Changed to null-check the 'end of inline' pointer only twice. (WebCore::bidiFirst): Made the resolver parameter optional. (WebCore::BidiIterator::increment): Ditto. (WebCore::BidiState::increment): Added. Overrides the default BidiResolver::increment() method by passing the resolver to BidiIterator::increment(). (WebCore::checkMidpoints): Removed the resolver parameter. (WebCore::BidiState::appendRun): Removed code to save, set and restore m_adjustEmbedding. Adjusted for change to increment(). (WebCore::RenderBlock::bidiReorderLine): Removed the 'start' parameter and unreachable code. (WebCore::buildCompactRuns): Adjusted for changes to BidiResolver/ (WebCore::RenderBlock::layoutInlineChildren): Moved code to initialize the resolver from this method to determineStartPosition(). Unified the resolver with the 'start' iterator. Removed unreachable code. Moved one statement from the beginning of the while loop to the end. (WebCore::RenderBlock::determineStartPosition): Moved code to initialize the resolver from layoutInlineChildren() into this method. (WebCore::RenderBlock::matchedEndLine): Adjusted for the resolver and the 'start' iterator being one object. (WebCore::skipNonBreakingSpace): Made the parameter const. (WebCore::requiresLineBox): Ditto. (WebCore::RenderBlock::generatesLineBoxesForInlineChild): Adjusted for the change to BidiIterator::increment(). (WebCore::RenderBlock::skipWhitespace): Made two versions of this method, one for BidiIterator and one for BidiState. (WebCore::shouldSkipWhitespaceAfterStartObject): Removed the resolver parameter. (WebCore::RenderBlock::findNextLineBreak): Removed the resolver parameter. Removed calls to setAdjustEmbedding(). Removed the 'previous' variable and changed the 'last' variable to do its job.
  • rendering/bidi.h:
11:19 Developer Tools Hitlist edited by aroben@apple.com
(diff)
11:08 Google Summer of Code 2008 edited by aroben@apple.com
(diff)
10:38 Developer Tools Hitlist edited by aroben@apple.com
Made high-level list unordered, since they were only rough priorities … (diff)
10:38 Developer Tools Hitlist edited by aroben@apple.com
Changed a bug number (diff)
10:35 Developer Tools Hitlist edited by aroben@apple.com
Added bugs for the unfiled high-level tasks (diff)
10:24 Developer Tools Hitlist edited by aroben@apple.com
Added a list of high-level improvements (some still need bugs filed) (diff)
10:11 Developer Tools Hitlist edited by aroben@apple.com
Shuffling some priorities (diff)
10:02 Developer Tools Hitlist edited by aroben@apple.com
(diff)
10:01 Developer Tools Hitlist edited by aroben@apple.com
(diff)
09:55 Developer Tools Hitlist edited by aroben@apple.com
Added a link to DeveloperToolsHitList bugs (diff)
09:46 Developer Tools Hitlist edited by aroben@apple.com
Added the Inspector UI Refresh (diff)
09:43 Developer Tools Hitlist created by aroben@apple.com
Initial version
09:06 WikiStart edited by aroben@apple.com
Added a link to a new Developer Tools Hitlist page (and moved dev. tools … (diff)
08:54 Changeset [30962] by aroben@apple.com

Part of Bug 17224: DOM nodes/attributes should be editable

<http://bugs.webkit.org/show_bug.cgi?id=17224>
<rdar://problem/5732825>

This patch makes text nodes editable via double-click.

Reviewed by Tim.

  • page/inspector/DocumentPanel.js: (WebInspector.DOMNodeTreeElement._startEditing):
    • Moved most of this code to _startEditingAttribute
    • Calls _startEditingTextNode or _startEditingAttribute as appropriate

(WebInspector.DOMNodeTreeElement._startEditingAttribute): Added. Code
came from _startEditing.
(WebInspector.DOMNodeTreeElement._startEditingTextNode): Added.
(WebInspector.DOMNodeTreeElement._textNodeEditingCommitted): Added.
(WebInspector.DOMNodeTreeElement._editingCancelled): Renamed from
_attributeEditingCancelled.

  • page/inspector/utilities.js: (nodeTitleInfo): Wrap text nodes in a webkit-html-text-node span so that we can easily recognize/edit them.
08:38 Changeset [30961] by zecke@webkit.org

r25512 inlined the urlIcon to improve the startup time of Safari on Mac. Inlining is
not suitable for platforms where this icon is themable. E.g. the Qt platform is allowing
to theme this icon and the Gtk+ platform will probably end up with themable icons
as well.

Remove dead code from the windows port and move the urlIcon from the windows
directory to the Resource directory to be used by Qt and other ports.

Ifdef the usage of the built-in icon in IconDatabase.cpp and for Qt do not use
it. Gtk+ currently has no proper implementation of Image::loadPlatformResource but
once it does it wants to use this for getting the urlIcon as well.

07:59 Changeset [30960] by hausmann@webkit.org

2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Darin.

Implemented HTML media element support for QtWebKit, using Phonon.

http://bugs.webkit.org/show_bug.cgi?id=17766

06:50 Changeset [30959] by hausmann@webkit.org

Fix the Qt build (silly typo).

05:52 Changeset [30958] by hausmann@webkit.org

2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Moved obscuring progress bar to the lower right corner.

05:51 Changeset [30957] by hausmann@webkit.org

2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>

Reviewed by Simon.

Added reload action and grouped stop and reload actions together.

04:38 Changeset [30956] by hausmann@webkit.org

Holger Hans Peter Freyther <holger.freyther@trolltech.com>

  • Set a Icon on the QAction if we have one.
01:17 Changeset [30955] by hausmann@webkit.org

Fix the Qt build.

00:20 Changeset [30954] by weinig@apple.com

WebCore:

Reviewed by Beth Dakin.

Throw a SECURITY_ERR when accessing a tainted canvas
by CanvasRenderingContext2D::getImageData() and
HTMLCanvasElement::toDataURL().

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::getImageData):
  • html/CanvasRenderingContext2D.h:
  • html/CanvasRenderingContext2D.idl:
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::toDataURL):
  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl:

LayoutTests:

Reviewed by Beth Dakin.

Update test to catch the SECURITY_ERR thrown by
CanvasRenderingContext2D::getImageData() and
HTMLCanvasElement::toDataURL() on a tainted canvas

  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image.html:

03/10/08:

23:28 Changeset [30953] by darin@apple.com
  • Windows build fix
  • kjs/function.cpp: (KJS::decode): Initialize variable.
21:42 Changeset [30952] by justin.garcia@apple.com

WebCore:

Reviewed by Sam.

<rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::hasCSSPropertyNamePrefix): Fixed a typo. The code was only comparing the first character of the prefix to the first character of the property name.

LayoutTests:

Reviewed by Sam.


<rdar://problem/5779984> REGRESSION (r30391): GMail: Safari won't display the Edit Link dialog

  • editing/pasteboard/5780697-2-expected.txt: Added.
  • editing/pasteboard/5780697-2.html: Added.
  • editing/selection/5779984-1-expected.txt: Added.
  • editing/selection/5779984-1.html: Added.
20:40 Changeset [30951] by bdakin@apple.com

Reviewed by Beth.

Hold off on initializing the frame to avoid the RenderView getting
a null FrameView. This could potentially cause problems.

  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::dataChanged):
17:48 Changeset [30950] by darin@apple.com
  • try to fix Qt build
  • bridge/qt/qt_runtime.cpp: (KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
17:45 Changeset [30949] by darin@apple.com

Reviewed by Antti.

We now mark all links on a page as "changed" at the appropriate times.

  • WebCore.base.exp: Update since I made completeURL be a const member function.
  • css/CSSStyleSelector.cpp: Got rid of some unneeded globals that could be turned into locals. Also changed some static data members to file-scoped globals with internal linkage. Renamed the globals to get rid of the m_ prefix. Changed the prefix on m_styleNotYetAvailable to s_styleNotYetAvailable. (WebCore::CSSStyleSelector::CSSStyleSelector): Updated for name changes. (WebCore::parseUASheet): Tweak the comment. (WebCore::CSSStyleSelector::loadDefaultStyle): Updated for name changes and to use local variables instead of globals where possible. (WebCore::CSSStyleSelector::checkPseudoState): Made this a member function so it can store the link in a hash. Also changed it to have a return value instead of having it modify a global variable. Added code to put the hash into a set so we can tell later if this is one of the links that affects this page. (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for the change to checkPseudoState. (WebCore::CSSStyleSelector::matchUARules): Updated for name changes. (WebCore::CSSStyleSelector::styleForElement): Ditto. (WebCore::CSSStyleSelector::adjustRenderStyle): Ditto. (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): Changed code to read the SVG style sheet to use a boolean global and put it right here in the function since this is the only code that needs to know about it. (WebCore::CSSStyleSelector::checkOneSelector): Updated for name changes. (WebCore::colorForCSSValue): Moved code inside the function that is not needed anywhere else. (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Updaed for the change to checkPseudoState. (WebCore::CSSStyleSelector::allVisitedStateChanged): Added. Calls setChanged on all links if there were any in the set. (WebCore::CSSStyleSelector::visitedStateChanged): Added. Calls setChanged on all links if the one that changed is in the set.
  • css/CSSStyleSelector.h: Removed unused StyleSelector class and State enum. Made CSSStyleSelector derive from Noncopyable. Made lots of member functions private that didn't need to be public, and removed others that could be made into non-member functions. Changed pseudoStyleRulesForElement to take a const String& instead of a StringImpl*. Added new allVisitedStateChanged and visitedStateChanged functions. Got rid of unneeded friend declarations.
  • dom/Document.cpp: (WebCore::Document::completeURL): Made const. (WebCore::findSlashDotDotSlash): Moved here from PageGroup. (WebCore::findSlashSlash): Ditto. (WebCore::findSlashDotSlash): Ditto. (WebCore::containsColonSlashSlash): (WebCore::cleanPath): Ditto. (WebCore::matchLetter): Ditto. (WebCore::needsTrailingSlash): Ditto. (WebCore::Document::visitedLinkHash): Moved this here from PageGroup. This is the poor-man's completeURL function. The idea of putting it here is that this way it can be alongside the real completeURL function. Later we should figure out a way to make this function share more code with the real thing and match behavior.
  • dom/Document.h: Marked completeURL function const. Added visitedLinkHash function.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::getMatchedCSSRules): Updated for change to CSSStyleSelector.
  • page/Page.cpp: (WebCore::Page::allVisitedStateChanged): Added. Calls allVisitedStateChanged on all style selectors. (WebCore::Page::visitedStateChanged): Ditto.
  • page/Page.h: Added the above functions.
  • page/PageGroup.cpp: (WebCore::PageGroup::isLinkVisited): Changed to take a visitedLinkHash parameter. The CSSStyleSelector now handles actually computing the hash, and it does so by calling code in Document. (WebCore::PageGroup::addVisitedLink): Refactored so the two overloaded copies share a bit more code. Added code that calls visitedStateChanged if a new link was added. (WebCore::PageGroup::removeVisitedLinks): Added code to call allVisitedStateChanged if any visited links are removed.
  • page/PageGroup.h: Include StringHash.h instead of having the AlreadyHashed struct definition here.
  • platform/text/StringHash.h: (WebCore::CaseFoldingHash::hash): Tweaked to make this a bit more consistent with the StringImpl::computeHash function, using the same technique for avoiding 0. (WebCore::AlreadyHashed::hash): Added. Was formerly in PageGroup.h. (WebCore::AlreadyHashed::avoidDeletedValue): Added. Was formerly in PageGroup.cpp.
  • rendering/RenderStyle.cpp: (WebCore::RenderStyle::isStyleAvailable): Changed to use an inline function instead of getting directly at a data member so the data member could be made private.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scrollToAnchor): Added call to updateHistoryForAnchorScroll. (WebCore::FrameLoader::updateHistoryForAnchorScroll): Added.
  • loader/FrameLoader.h: Added updateHistoryForAnchorScroll.
17:36 Changeset [30948] by eric@webkit.org

No review, build fix only.

Speculative fix for Windows build, use ::UChar instead of KJS::UChar

  • WebScriptCallFrame.cpp: (WebScriptCallFrame::valueForVariable): (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
17:14 Changeset [30947] by aroben@apple.com

Part of Bug 17224: DOM nodes/attributes should be editable

<http://bugs.webkit.org/show_bug.cgi?id=17224>
<rdar://problem/5732825>

This patch makes DOM attributes editable via double-click.

Reviewed by Tim.

  • page/inspector/DocumentPanel.js: (WebInspector.DOMNodeTreeElement.onmousedown): Don't do anything if we're being edited, since we want default editing behaviors to work. (WebInspector.DOMNodeTreeElement.ondblclick): Try to start editing before doing anything else. (WebInspector.DOMNodeTreeElement._startEditing): Added. Currently only lets you edit attributes. (WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added. Uses a scratch element to get the new attribute(s) parsed, then sets the attribute(s) on the node in the inspected document. (WebInspector.DOMNodeTreeElement._attributeEditingCancelled): Added. (WebInspector.DOMNodeTreeElement._updateTitle): Added. Refreshes the representation of the node in the Inspector's DOM tree to reflect the node's current state.
  • page/inspector/inspector.css: Made the .editing class apply everywhere.
  • page/inspector/utilities.js: (nodeTitleInfo): Changed to surround attribute name/value pairs in a webkit-html-attribute span so that we can easily edit the pair as a whole.
16:39 Changeset [30946] by aroben@apple.com

2008-03-10 Brent Fulgham <bfulgham@gmail.com>

Windows build fix

Reviewed by Adam.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make: Set the PATH to include Cygwin before running touch.
16:02 Changeset [30945] by ddkilzer@apple.com

Fix 64-bit builds.

Reviewed by Stephanie.

WebCore.exp only gets generated once for both 32-bit and 64-bit builds,
so we must exclude the _NPN symbols when creating WebCore.LP64.exp.

  • WebCore.xcodeproj/project.pbxproj: Reverted build phase shell code to r30826 to remove _NPN symbols from 64-bit builds in WebCore.LP64.exp.
15:57 Changeset [30944] by eric@webkit.org

Reviewed by NOBODY.

Build fix for JSC on windows.

  • API/JSStringRefCF.cpp: (JSStringCreateWithCFString):
  • kjs/function.cpp: (KJS::decode):
  • kjs/nodes2string.cpp: (KJS::escapeStringForPrettyPrinting):
15:44 Changeset [30943] by eric@webkit.org

No review, build fix only.

Attempt to fix the windows build?

  • kjs/ustring.h: change unsigned short to UChar
15:06 Changeset [30942] by eric@webkit.org

Reviewed by Darin.

Remove KJS::UChar, use ::UChar instead
http://bugs.webkit.org/show_bug.cgi?id=17017

To functional changes, thus no tests.

  • bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::hasCSSPropertyNamePrefix): (WebCore::cssPropertyName):
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::windowProtoFuncAToB): (WebCore::windowProtoFuncBToA):
  • bindings/js/JSSVGPODTypeWrapper.h:
  • bindings/js/kjs_proxy.cpp: (WebCore::KJSProxy::evaluate):
  • bridge/objc/objc_utility.mm: (KJS::Bindings::throwError):
  • dom/Document.cpp: (WebCore::Document::parseQualifiedName):
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::add):
  • platform/text/String.cpp: (WebCore::String::String): (WebCore::String::operator Identifier): (WebCore::String::operator UString):
  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::decode):
  • svg/SVGAnimatedTemplate.h:
11:58 Changeset [30941] by sfalken@apple.com

Fix build break caused by r30920.


Serialize remaining dependent builds by adding dependencies.
Visual Studio per-vcproj parallelization doesn't add a lot of value
since so many of our builds are dependent - this just enforces that.
We do our parallelization via pdevenv, which works much better.

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.submit.sln:
11:25 Changeset [30940] by alp@webkit.org

2008-03-10 Xan Lopez <xan@gnome.org>

Reviewed by Alp Toker.

Fix "missing braces" compiler warning.

  • webkit/webkitwebview.cpp:
10:37 Changeset [30939] by darin@apple.com

WebCore:

Reviewed by Sam.

  • eliminate keyboard UI mode method from WebCoreFrameBridge
  • page/ChromeClient.h: Added keyboardUIMode function. (WebCore::ChromeClient::keyboardUIMode): Ditto.
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllControls): Call chrome client function instead of bridge function.
  • page/mac/WebCoreFrameBridge.h: Removed keyboardUIMode method, and other unused ones.
  • WebCore.xcodeproj/project.pbxproj: Allowed Xcode to change the project. Do not try to fight the Xcode.

WebKit/mac:

Reviewed by Sam.

  • eliminate keyboard UI mode method from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
  • WebCoreSupport/WebFrameBridge.h: Removed unused things, including the fields for keyboard UI mode.
  • WebCoreSupport/WebFrameBridge.mm: (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini method. (-[WebFrameBridge finalize]): Ditto.
  • WebView/WebView.mm: Moved the keyboard mode code in here. (-[WebView _close]): Remove observer from the distributed notification center as well as the normal one. (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved here from the bridge. (-[WebView _keyboardUIMode]): Ditto.
  • WebView/WebViewInternal.h: Added _keyboardUIMode method.
10:36 Changeset [30938] by weinig@apple.com

Reviewed by Beth Dakin.

Add Tiger specific results for toDataURL-supportedTypes.html as the image
encoders have slightly changed between releases.

  • platform/mac-tiger/fast/canvas: Added.
  • platform/mac-tiger/fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
10:29 Changeset [30937] by darin@apple.com
  • oops, forgot to save last couple changes from the editor
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObjectWrapper): Tweaked a tiny bit. (WebCore::JSDOMWindow::mark): Sorted alphabetically.
10:26 Changeset [30936] by darin@apple.com

Reviewed by Geoff.

  • fix failing regression test (window.navigator is getting garbage collected and thus losing its custom properties)
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::markDOMObject): Added helper function. (WebCore::JSDOMWindow::mark): Added. Marks the wrappers for all the objects that hang off the window object.
  • page/DOMWindow.h: (WebCore::DOMWindow::optionalScreen): Added so we can get the Screen object without creating it if it's already there. (WebCore::DOMWindow::optionalSelection): Ditto. (WebCore::DOMWindow::optionalHistory): Ditto. (WebCore::DOMWindow::optionalLocationbar): Ditto. (WebCore::DOMWindow::optionalMenubar): Ditto. (WebCore::DOMWindow::optionalPersonalbar): Ditto. (WebCore::DOMWindow::optionalScrollbars): Ditto. (WebCore::DOMWindow::optionalStatusbar): Ditto. (WebCore::DOMWindow::optionalToolbar): Ditto. (WebCore::DOMWindow::optionalConsole): Ditto. (WebCore::DOMWindow::optionalNavigator): Ditto.
  • page/DOMWindow.idl: Added the CustomMarkFunction flag. Sorted the flags in alphabetical order since there are a lot of them.
10:01 Changeset [30935] by darin@apple.com

WebCore:

Reviewed by Sam.

  • eliminate Java applet methods from WebCoreFrameBridge
  • loader/FrameLoaderClient.h: Added a javaApplet function.
  • page/mac/FrameMac.mm: (WebCore::Frame::createScriptInstanceForWidget): Streamlined the code. Use the loader client instead of the bridge to get the applet.
  • page/mac/WebCoreFrameBridge.h: Removed the getAppletInView and pollForAppletInView methods. Also removed other unused things.

WebKit/mac:

Reviewed by Sam.

  • eliminate Java applet methods from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
  • WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including the ones that load Java applets.
  • WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
  • WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
09:33 Changeset [30934] by darin@apple.com

Reviewed and landed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=17581
Bug 17581: Use of uninitialized value in string ne at WebKitTools/Scripts/run-webkit-tests line 1576.

Remove the previous warning which occurs when the --random option is used.

  • Scripts/run-webkit-tests: verify that $component[0] is defined before checking for its inequality
09:28 Changeset [30933] by darin@apple.com

Reviewed by Eric, landed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=16095
Move GraphicsContextPrivate to its own header file.

Moves GraphicsContextState and GraphicsContextPrivate to its
own header

  • WebCore.vcproj/WebCore.vcproj:
  • platform/graphics/GraphicsContext.cpp:
  • platform/graphics/GraphicsContextPrivate.h: Added. (WebCore::GraphicsContextState::GraphicsContextState): (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
09:25 Changeset [30932] by darin@apple.com

WebCore:

Reviewed and landed by Darin.

bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

Removed reference to PERMISSION_DENIED (previous non standard exception) and replaced it
by DOM exception SECURITY_ERR. Updated XMLHttpRequest::open to raise SECURITY_ERR.

  • bindings/js/kjs_binding.cpp: (WebCore::setDOMException): Removed PERMISSION_DENIED code.
  • dom/ExceptionCode.cpp: Added SECURITY_ERR exception.
  • dom/ExceptionCode.h: Ditto.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): Returns SECURITY_ERR now.
  • xml/XMLHttpRequestException.h: Removed PERMISSION_DENIED.

LayoutTests:

Reviewed and landed by Darin.

bug 12182 : XMLHttpRequest should raise SECURITY_ERR for same-origin policy violations

  • http/tests/xmlhttprequest/exceptions-expected.txt: Updated results
09:17 Changeset [30931] by aroben@apple.com

Refactor CSS editing code so we can share it with DOM editing

Add WebInspector.startEditing, which takes the element to be edited, a
committedCallback, a cancelledCallback, and a context parameter. This
function takes care of setting up the element for editing, and calls
either the cancelledCallback or committedCallback when editing ends.

Reviewed by Tim.

(WebInspector.StylePropertyTreeElement.editingEnded):

  • Renamed from endEditing
  • Removed code now handled by WebInspector.startEditing

(WebInspector.StylePropertyTreeElement.editingCancelled):

  • Renamed from cancelEditing
  • Changed parameters to match WebInspector.startEditing's cancelledCallback

(WebInspector.StylePropertyTreeElement.editingCommitted):

  • Renamed from commitEditing
  • Changed parameters to match WebInspector.startEditing's committedCallback
  • page/inspector/inspector.js: (WebInspector.changeFocus): Changed a call to firstParentWithClassName to firstParentOrSelfWithClassName so that if the focusable element itself is the target it will be recognized. I don't know why this change wasn't needed before this. (WebInspector.isBeingEdited): Added. (WebInspector.startEditing): Added.
09:17 Changeset [30930] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of $(WebKitOutputDir) instead of hard-coding WebKitBuild.
09:15 Changeset [30929] by darin@apple.com
  • DerivedSources.make: Merge plug-in-related changes with the new way of handling autogenerated DOM classes.
08:38 Changeset [30928] by ap@webkit.org

Reviewed, tweaked and landed by Alexey.

We didn't have a fallback to frame encoding in the case of loading a script via
changing its src attribute.

Test: fast/dom/HTMLScriptElement/script-decoding-error-after-setting-src.html

  • html/HTMLScriptElement.cpp: (WebCore::HTMLScriptElement::parseMappedAttribute): Use a helper function to get proper charset for correct decoding of script content. (WebCore::HTMLScriptElement::insertedIntoDocument): (WebCore::HTMLScriptElement::scriptCharset): A helper function for getting proper charset for the script (as much as can be determined prior to loading it).
  • html/HTMLScriptElement.h:
  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::parseTag): Use a helper function to get proper charset for correct decoding of script content.
06:59 Changeset [30927] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Lars.

Fix reference counting of returned MimeType and Plugin objects
created in the array wrappers.

05:29 Changeset [30926] by hausmann@webkit.org

Wx linking fix.

Added missing stubs for PluginData.

05:20 Changeset [30925] by hausmann@webkit.org

Windows build fix that I forgot to merge earlier ;(

Forward declare Page as class, not struct.

05:09 Changeset [30924] by hausmann@webkit.org

Attempt to fix the Wx build.

04:52 Changeset [30923] by hausmann@webkit.org

2008-03-07 Simon Hausmann <hausmann@webkit.org>

http://bugs.webkit.org/show_bug.cgi?id=16815

Reviewed by Darin.

Done with Lars.

WebCore:

Ported the manually written JS bindings of window.navigator,
window.navigator.plugins and window.navigator.mimeTypes to
auto-generated bindings.

Moved the globally cached plugin and mimetype information to a
per WebCore::Page shared PluginData structure.

Implemented window.navigator.plugins.refresh() in a
platform-independent way.

LayoutTests:

Added a testcase for http://bugs.webkit.org/show_bug.cgi?id=16815

WebKit/qt:

Replaced the QWebObjectPlugin interfaces with QWebPluginFactory.

WebKit/mac:

Simplified WebViewFactory's refreshPlugins method to only refresh the
plugins and not reload the frames anymore since that's now done in a
platform independent manner by WebCore::Page.

Also removed the now unused pluginNameForMIMEType and
pluginSupportsMIMEType methods.

WebKitTools/DumpRenderTree/qt:

Ported the netscape test plugin to QWebPluginFactory.

04:29 Changeset [30922] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Holger.

Replace two printfs() in the Qt port with notImplemented().

04:23 Changeset [30921] by hausmann@webkit.org

2008-03-10 Simon Hausmann <hausmann@webkit.org>

Reviewed by Alp.

Compilation fix with gcc 4.3: Include stdio.h for printf.

03/09/08:

22:35 Changeset [30920] by sfalken@apple.com

JavaScriptCore:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

WebCore:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreGenerated.vcproj:

WebKit/win:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • WebKit.vcproj/Interfaces.vcproj:
  • WebKit.vcproj/InterfacesGenerated.vcproj:
  • WebKit.vcproj/WebKit.vcproj:
  • WebKit.vcproj/WebKitGUID.vcproj:

WebKitTools:

Stop Windows build if an error occurs in a prior project.

Rubber stamped by Darin.

  • Drosera/win/Drosera.vcproj/Drosera.vcproj:
  • DumpRenderTree/win/DumpRenderTree.vcproj:
  • DumpRenderTree/win/ImageDiff.vcproj:
  • DumpRenderTree/win/TestNetscapePlugin/TestNetscapePlugin.vcproj:
20:10 Changeset [30919] by darin@apple.com
  • DerivedSources.make: Third try at fixing the build.
  • bindings/js/JSRGBColor.cpp: And touching this file.
20:03 Changeset [30918] by darin@apple.com
  • DerivedSources.make: One *more* try at fixing the build.
19:58 Changeset [30917] by darin@apple.com
  • DerivedSources.make: One more try at fixing the build.
19:53 Changeset [30916] by darin@apple.com
  • DerivedSources.make: Re-land the change, fixed, and with an attempt to fix the bots by removing the incorrect file.
19:44 Changeset [30915] by alp@webkit.org

2008-03-09 Alp Toker <alp@atoker.com>

GTK+ build fix for r30913.

Use UNICODE_CFLAGS for C++ sources as well as C sources.

  • GNUmakefile.am:
17:49 Changeset [30914] by oliver@apple.com

Roll out r30909 -- it breaks the build and is a non-trivial fix (according to weinig)

RS=Mark Rowe

17:49 Changeset [30913] by alp@webkit.org

2008-03-09 J?rg Billeter <j@bitron.ch>

Reviewed by Alp Toker.

Conditionalise ICU for Unicode in the GTK+ port.

16:01 Changeset [30912] by aroben@apple.com

Make WebInspectorClient use WindowMessageBroadcaster instead of manual subclassing

Reviewed by Darin.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::WebInspectorClient): Removed m_orignalWebViewWndProc member. (WebInspectorClient::attachWindow): Register as a listener with WindowMessageBroadcaster instead of subclassing. (WebInspectorClient::detachWindow): Deregister as a listener with WindowMessageBroadcaster instead of unsubclassing. (WebInspectorClient::windowReceivedMessage): Renamed from SubclassedWebViewWndProc. Also added a missing break statement after the call to onWebViewWindowPosChanging.
  • WebCoreSupport/WebInspectorClient.h:
16:01 Changeset [30911] by aroben@apple.com

Make the node highlight not obscure the tab bar when it first appears

Reviewed by Darin.

  • WebNodeHighlight.cpp: (WebNodeHighlight::onWebViewWindowPosChanged): Added. Listens for changes to the WebView's size and resizes the highlight window to match. (WebNodeHighlight::onRootWindowPosChanged): Added. Listens for changes to the WebView's root window's position and moves the highlight window to match. (WebNodeHighlight::windowReceivedMessage): Call onWebViewWindowPosChanged/onRootWindowPosChanged as appropriate.
  • WebNodeHighlight.h:
16:00 Changeset [30910] by aroben@apple.com

Fix Bug 14254: Inspector node highlight applied to all tabs

<http://bugs.webkit.org/show_bug.cgi?id=14254>
<rdar://problem/5322306>

WebNodeHighlight now listens for the WM_SHOWWINDOW message being sent
to the inspected WebView so that it can hide/show itself as the
WebView is hidden/shown.

Reviewed by Anders.

  • WebNodeHighlight.cpp: (WebNodeHighlight::~WebNodeHighlight): Remove ourselves as a listener for our inspected WebView's window's messages. (WebNodeHighlight::show): Add ourselves as a listener for our inspected WebView's window's messages. (WebNodeHighlight::onWebViewShowWindow): Added. Hide ourselves when the WebView hides, show ourselves when the WebView is shown. (WebNodeHighlight::windowReceivedMessage): Added a separate switch statement to handle the inspected WebView's window's messages.
  • WebNodeHighlight.h:
13:36 Changeset [30909] by darin@apple.com

Reviewed by Adam.

  • DerivedSources.make: Put the list of DOM classes into its own variable, and generate the JavaScript bindings and Objective-C bindings dependencies from that. Added some separators to make it a little easier to see the sections of the file. Moved all the Mac-specific rules (except for the SVG conditional part) down to the bottom of the file in a separate section.
11:06 ProposedWebInspectorUIRefresh edited by aroben@apple.com
Added a section about the Scripts view with a new mockup from Tim (diff)
11:05 New Inspector - Scripts.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Scripts view
10:47 Changeset [30908] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Make sure all Cairo files are excluded from all three CG-based configurations: Debug, Release, and Debug_Internal.

03/08/08:

23:59 Changeset [30907] by darin@apple.com

Fix stray executable bit.

23:00 Changeset [30906] by mrowe@apple.com

Attempt to fix the Qt build.

22:48 Changeset [30905] by oliver@apple.com

Bug 16516: canvas image patterns stop working with some transformations

Reviewed by Sam W.

Simple fix. We used x/yStep of FLT_MAX to fake a no-repeat-x/y pattern
with CG. However any transforms involving FLT_MAX immediately get
consumed by the introduced floating point error. yStep had already been
clamped to a much smaller arbitrary value, and this patch makes us use
that clamp value for xStep as well.

18:39 Changeset [30904] by oliver@apple.com

Bug 17728: Canvas.createPattern with null repeat argument throws an exception

Reviewed by Mitz

Trivial fix, we were calling toString on null which produces the string "null",
we just needed to switch to using valueToStringWithNullCheck rather than
JSValue::toString directly

Test: fast/canvas/canvas-pattern-behaviour.html

17:57 Changeset [30903] by mrowe@apple.com

2008-03-08 Julien Chaffraix <julien.chaffraix@gmail.com>

Reviewed by Mark Rowe.

DRT build fix for Tiger.

  • DumpRenderTree/mac/DumpRenderTreeMac.h: Define BUILDING_ON_TIGER.
17:57 Changeset [30902] by mrowe@apple.com

2008-03-08 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

  • bindings/objc/WebScriptObject.mm: Use NSUInteger in place of unsigned where required.
  • platform/mac/SharedBufferMac.mm: Ditto.

2008-03-08 Mark Rowe <mrowe@apple.com>

Reviewed by Darin Adler.

Fix 64-bit build with GCC 4.2.

  • DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
  • DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
  • History/WebHistoryItem.mm: Ditto.
  • Misc/WebElementDictionary.mm: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the variable being unused in 64-bit.
  • WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
  • WebView/WebHTMLView.mm: (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required. (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
15:10 Changeset [30901] by mitz@apple.com

Reviewed by Oliver Hunt.

  • fix garbage in transparent areas in canvas.toDataURL results
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::toDataURL): Clear the bitmap context before painting the canvas image onto it.
06:09 Changeset [30900] by darin@apple.com

WebCore:

Reviewed by Adele.

  • eliminate custom highlight methods from WebCoreFrameBridge
  • page/Chrome.cpp: (WebCore::ChromeClient::customHighlightRect): Added. (WebCore::ChromeClient::paintCustomHighlight): Added.
  • page/ChromeClient.h: Added custom highlight functions.
  • page/Frame.h: Removed custom highlight functions.
  • page/mac/FrameMac.mm: Ditto.
  • page/mac/WebCoreFrameBridge.h: Removed custom highlight methods.
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintCustomHighlight): Changed code to use the ChromeClient instead of WebCoreFrameBridge to do the custom highlight.
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintCustomHighlight): Ditto.
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::addHighlightOverflow): Ditto. (WebCore::RootInlineBox::paintCustomHighlight): Ditto.

WebKit/mac:

Reviewed by Adele.

  • eliminate custom highlight methods from WebCoreFrameBridge
  • WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::customHighlightRect): Moved code here from bridge. (WebChromeClient::paintCustomHighlight): Ditto.
  • WebCoreSupport/WebFrameBridge.mm: Removed code here.
06:05 Changeset [30899] by darin@apple.com
  • platform/win/Skipped: Fixed some typos (stray "s" characters).
00:09 Changeset [30898] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver.

Fix Windows build.

  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::toDataURL):

03/07/08:

23:54 Changeset [30897] by ddkilzer@apple.com

JavaScriptCore:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

  • wtf/Platform.h: Define ENABLE_NETSCAPE_PLUGIN_API here.

WebCore:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

No test cases since there is no change in functionality.

  • DerivedSources.make: Added check for ENABLE_NETSCAPE_PLUGIN_API macro. If defined as "1", add WebCore.NPAPI.exp to WEBCORE_EXPORT_DEPENDENCIES.
  • WebCore.NPAPI.exp: Added.
  • WebCore.base.exp: Moved exported NPAPI methods to WebCore.NPAPI.exp.
  • WebCore.xcodeproj/project.pbxproj: Removed changes in r30826 (except comments) since we now handle exported NPAPI methods via DerivedSources.make.
  • config.h: Removed USE(NPOBJECT) since we now use ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
  • bindings/objc/DOM.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (-[DOMElement _NPObject]):
bridge/NP_jsobject.cpp: Replaced !PLATFORM(DARWIN)
!defined(LP64) with

ENABLE(NETSCAPE_PLUGIN_API).

  • bridge/NP_jsobject.h: Ditto.
  • bridge/c/c_class.cpp: Ditto.
  • bridge/c/c_class.h: Ditto.
  • bridge/c/c_instance.cpp: Ditto.
  • bridge/c/c_instance.h: Ditto.
  • bridge/c/c_runtime.cpp: Ditto.
  • bridge/c/c_runtime.h: Ditto.
  • bridge/c/c_utility.cpp: Ditto.
  • bridge/c/c_utility.h: Ditto.
  • bridge/npruntime.cpp: Ditto.
  • bridge/npruntime_impl.h: Ditto.
  • bridge/npruntime_priv.h: Ditto.
  • bridge/runtime.cpp: Ditto. (KJS::Bindings::Instance::createBindingForLanguageInstance):
  • html/HTMLPlugInElement.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::HTMLPlugInElement::HTMLPlugInElement): (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
  • html/HTMLPlugInElement.h: Ditto.
  • page/Frame.cpp: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::Frame::clearScriptObjects): (WebCore::FramePrivate::FramePrivate): Also added #if ENABLE(NETSCAPE_PLUGIN_API) guard around m_windowScriptNPObject.
  • page/Frame.h: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API).
  • page/FramePrivate.h: Added #if ENABLE(NETSCAPE_PLUGIN_API) guard around m_windowScriptNPObject.
  • page/mac/FrameMac.mm: Replaced USE(NPOBJECT) with ENABLE(NETSCAPE_PLUGIN_API). (WebCore::Frame::createScriptInstanceForWidget):

WebKit/mac:

Unify concept of enabling Netscape Plug-in API (NPAPI).

Reviewed by Darin.

  • WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
  • WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
  • Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef LP64 with #if ENABLE(NETSCAPE_PLUGIN_API).
  • Plugins/WebBaseNetscapePluginStream.mm: Ditto.
  • Plugins/WebBaseNetscapePluginView.h: Ditto.
  • Plugins/WebBaseNetscapePluginView.mm: Ditto.
  • Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
  • Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
  • Plugins/WebBasePluginPackage.h: Ditto.
  • Plugins/WebBasePluginPackage.m: Ditto. (+[WebBasePluginPackage pluginWithPath:]):
  • Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
  • Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
  • Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
  • Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
  • Plugins/WebNetscapePluginPackage.h: Ditto.
  • Plugins/WebNetscapePluginPackage.m: Ditto.
  • Plugins/WebNetscapePluginStream.h: Ditto.
  • Plugins/WebNetscapePluginStream.mm: Ditto.
  • Plugins/WebPluginDatabase.m: Ditto. (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
  • Plugins/npapi.m: Ditto.
  • WebCoreSupport/WebFrameLoaderClient.mm: Ditto. (WebFrameLoaderClient::objectContentType): (WebFrameLoaderClient::createPlugin):
  • WebView/WebHTMLView.mm: Ditto. (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
  • WebView/WebHTMLViewInternal.h: Ditto.
  • WebView/WebFrame.mm: Replaced #ifndef LP64 with #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate) category to (WebInternal) category so we don't expose the ENABLE() macro from the private header. (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
  • WebView/WebFrameInternal.h: Ditto.
  • WebView/WebFramePrivate.h: Ditto.
23:46 Changeset [30896] by ap@webkit.org

Reviewed by Darin.

<rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites

  • WebView/WebPreferences.m: (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match the one used in Safari.
23:25 Changeset [30895] by mrowe@apple.com

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • WebKit.xcodeproj/project.pbxproj: Mark WebTypesInternal.h as a private header so that DumpRenderTree can use it.

2008-03-07 Mark Rowe <mrowe@apple.com>

Reviewed by Oliver Hunt.

Fix WebKit build with GCC 4.2.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm: Use correct argument type in method signature.
23:11 Changeset [30894] by ap@webkit.org

Reviewed by Darin.

REGRESSION: Korean decoding doesn't support extended EUC-KR.

Test: fast/encoding/char-decoding.html

  • platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): Untangle the system of duplicate ICU encoding names by manually registering windows-939-2000, and mapping all other related encodings to it.
22:19 Changeset [30893] by slewis@apple.com

2008-03-07 Dan Bernstein <mitz@apple.com>

Reviewed by Stephanie.

  • try to fix leaks seen on Tiger after r30840
  • css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::~CSSStyleSelector): Use the default operator delete, rather than arena delete, to deallocate the root default style.
22:07 Changeset [30892] by alp@webkit.org

2008-03-07 Pierre-Luc Beaudoin <pierre-luc.beaudoin@collabora.co.uk>

Reviewed by Alp Toker.

http://bugs.webkit.org/show_bug.cgi?id=17681
GtkLauncher fails to render an element with position: fixed

Implement the required parts of PlatformScreenGtk.

  • ChangeLog:
  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::screenDepth): (WebCore::screenIsMonochrome): (WebCore::screenRect):
21:58 Changeset [30891] by oliver@apple.com

Bug 16610: <canvas> restore() removes path segments created before it

Reviewed by Darin Adler (code) and Mark Rowe (tests)

The problem here is that WebKit stored the Path as part of the state, so
restore would incorrectly lose changes made to the canvas path. To match
Firefox and HTML5 we make two real changes:

  • Move the context path from the state object directly onto the context. This is responsible for all the changes to the path manipulation functions
  • Add transform tracking to each state -- this is needed to correctly transform the current path when restore()-ing to a prior state.

Test: fast/canvas/canvas-save-restore-with-path.html

19:43 Changeset [30890] by oliver@apple.com

Fix for crash caused by FrameLoader incorrectly assuming it has
a RenderWidget

Reviewed by Ada

In some circumstances an application embedding a WebView may
choose to prevent a webview from loading a resource. If that
resource was requested by an <object> element then we may
fallback to different content which may not produce a RenderWidget.
Unfortunately FrameLoader::loadSubframe was assuming that if a
renderer was produced it would always be a RenderWidget, and arbitrarily
performed what could be an incorrect cast. This could then lead to
a crash.

We currently don't have anyway of making a test for this.

19:25 Changeset [30889] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

Reviewed by Oliver.

Add Windows part of <rdar://problem/5693690>

  • DumpRenderTree/win/DumpRenderTree.cpp: (dump): (main):
19:08 Changeset [30888] by weinig@apple.com

WebCore:

Reviewed by Oliver Hunt.

Fix for http://bugs.webkit.org/show_bug.cgi?id=16673
<canvas> lacks toDataURL()

Tests: fast/canvas/toDataURL-noData.html

fast/canvas/toDataURL-supportedTypes.html

  • html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::printSecurityExceptionMessage): Make message non-global.
  • html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::printSecurityExceptionMessage): Log error message indicating that toDataURL has been called on a tainted canvas. (WebCore::HTMLCanvasElement::toDataURL): This does the tainted canvas check, ensures that the canvas has pixel data, checks to see if the MIME type is supported. Unsupported MIME types and the null string (which is made by passing no argument/null/undefined in JavaScript) are treated as being PNG, as per the spec. The actual toDataURL logic is actually done in the ImageBuffer class.
  • html/HTMLCanvasElement.h: Add function declarations.
  • html/HTMLCanvasElement.idl: Add function declaration.
  • platform/MIMETypeRegistry.cpp: (WebCore::initializeSupportedImageMIMETypes): (WebCore::initializeSupportedImageMIMETypesForEncoding): (WebCore::initializeSupportedJavaScriptMIMETypes): (WebCore::initializeSupportedNonImageMimeTypes): (WebCore::initializeSupportedMediaMIMETypes): (WebCore::initializeMIMETypeRegistry): (WebCore::MIMETypeRegistry::getMIMETypeForPath): (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
  • platform/MIMETypeRegistry.h: Clean up and add new supportedImageMIMETypesForEncoding set which contains the set of MIME types the platform knows how to encode. Currently only implemented for CG and Qt.
  • platform/graphics/ImageBuffer.h: Add toDataURL method.
  • platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::ImageBuffer::create): (WebCore::ImageBuffer::getImageData): (WebCore::ImageBuffer::putImageData): (WebCore::ImageBuffer::toDataURL): Converts the current context to a data: url of the specified MIME type. This method unfortunately has to flip the context, resulting in less than optimal code.
  • platform/graphics/qt/ImageBufferQt.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.
  • platform/graphics/wx/ImageBufferWx.cpp: (WebCore::ImageBuffer::toDataURL): Add stub.

LayoutTests:

Reviewed by Oliver Hunt.

Tests for http://bugs.webkit.org/show_bug.cgi?id=16673
<canvas> lacks toDataURL()

  • fast/canvas/toDataURL-noData-expected.txt: Added.
  • fast/canvas/toDataURL-noData.html: Added.
  • fast/canvas/toDataURL-supportedTypes-expected.txt: Added.
  • fast/canvas/toDataURL-supportedTypes.html: Added.
17:30 Changeset [30887] by alp@webkit.org

2008-03-07 Alp Toker <alp@atoker.com>

Back out the r30818, r30819 build fix attempts now the GTK+ build
server has been upgraded.

  • Scripts/webkitdirs.pm:
17:28 Changeset [30886] by sfalken@apple.com

Build fix.

  • WebCore.vcproj/WebCore.vcproj:
16:19 Changeset [30885] by adele@apple.com

Removing duplicate entry for hasFocus.html

16:09 Changeset [30884] by slewis@apple.com

2008-03-07 Stephanie Lewis <slewis@apple.com>

update Windows Skipped List

  • platform/win/Skipped:
15:29 Changeset [30883] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Mark Rowe.

Correct build intermediary output
(http://bugs.webkit.org/show_bug.cgi?id=17713)

  • WebKit/win/WebKit.vcproj/WebKit.vcproj: Correct output and intermediary paths

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Mark Rowe.

Correct build intermediary output
(http://bugs.webkit.org/show_bug.cgi?id=17713)

  • WebCore/WebCore.vcproj: Correct intermediary paths
14:56 Changeset [30882] by adele@apple.com

Adding fast/dom/HTMLDocument/hasFocus.html to the skipped list, while I investigate the failure.

  • platform/win/Skipped:
14:32 Changeset [30881] by slewis@apple.com

2008-03-07 Stephanie <slewis@apple.com>

Reviewed by Geoff.

<rdar://problem/5693690> run-webkit-tests swallows STDERR output, including WebCore LEAK messages

  • DumpRenderTree/mac/DumpRenderTree.mm: (dump): push EOF to stderr after every test
  • Scripts/run-webkit-tests: collect stderr output and print it
14:23 Changeset [30880] by mrowe@apple.com

Versioning.

14:21 Changeset [30879] by mrowe@apple.com

Fix the 64-bit build.

14:18 Changeset [30878] by mrowe@apple.com

New tag.

13:23 ProposedWebInspectorUIRefresh edited by aroben@apple.com
Added images inline (diff)
13:18 New Inspector - Resources 3.1.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Resources view showing a resource's source
13:17 New Inspector - Resources 3.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Resources view showing the Time graph
13:15 New Inspector - Elements.png attached to ProposedWebInspectorUIRefresh by aroben@apple.com
Mockup of the Inspector's Elements view
13:15 Changeset [30877] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Adam Roben.

Do not link (or attempt to initialize) the SafariTheme.dll
when not building with USE(SAFARI_THEME) enabled.
(http://bugs.webkit.org/show_bug.cgi?id=17707)

  • WebKit/win/WebKitClassFactory.cpp: Conditionalize use of SafariTheme.dll
13:15 ProposedWebInspectorUIRefresh created by aroben@apple.com
Initial version copied from Tim's emails
13:13 Changeset [30876] by mrowe@apple.com

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Steve Falkenburg.

Add Cairo build requirements to WebCore.vcproj under a new
set of targets. Exclude Cairo elements from normal CG build.
Exclude CG elements from Cairo builds.
(http://bugs.webkit.org/show_bug.cgi?id=17300)

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/webcore.vsprops: Added.

2008-03-07 Brent Fulgham <bfulgham@gmail.com>

Reviewed by Steve Falkenburg.

Update solution to understand Cairo build target. Add
library dependencies for Cairo build target.
(http://bugs.webkit.org/show_bug.cgi?id=17300)

  • WebKit.vcproj/WebKit.sln:
  • WebKit.vcproj/WebKit.vcproj:
13:09 Web Inspector edited by aroben@apple.com
Add a link to a new page about Inspector UI improvements (diff)
13:00 Changeset [30875] by darin@apple.com

WebCore:

Reviewed by Adam.

  • eliminated WebCoreFrameBridge runOpenPanel
  • page/ChromeClient.h: Added runOpenPanel function.
  • page/mac/ChromeMac.mm: (WebCore::ChromeClient::runOpenPanel): Added.
  • platform/FileChooser.cpp: (WebCore::FileChooser::FileChooser): Moved this here. It's no longer platform-specific. Also start the refcount at 1. (WebCore::FileChooser::create): Added adoptRef since the refcount no starts at one. (WebCore::FileChooser::~FileChooser): Moved here. No longer platform-specific.
  • platform/FileChooser.h: Removed m_controller, which was Macintosh-specific.
  • platform/gtk/FileChooserGtk.cpp: Removed FileChooser constructor and destructor, since they are no longer platform-specific.
  • platform/qt/FileChooserQt.cpp: Ditto.
  • platform/win/FileChooserWin.cpp: Ditto.
  • platform/wx/TemporaryLinkStubs.cpp: Ditto.
  • platform/mac/FileChooserMac.mm: (WebCore::FileChooser::openFileChooser): Call the chrome client instead of the bridge to run the open panel. Allows us to get rid of the WebCoreOpenPanelController class and m_controller data member and move the cosntrutor/destructor to platform- independent code.

WebKit/mac:

Reviewed by Adam.

  • eliminated WebCoreFrameBridge runOpenPanel
  • WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
  • WebCoreSupport/WebChromeClient.mm: (WebChromeClient::runOpenPanel): Added. (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the FileChooser so it can get a result from the UI delegate. (-[WebOpenPanelResultListener dealloc]): Added. (-[WebOpenPanelResultListener finalize]): Added. (-[WebOpenPanelResultListener cancel]): Added. (-[WebOpenPanelResultListener chooseFilename:]): Added.
12:51 Changeset [30874] by aroben@apple.com

Add WebCore::JavaScriptDebugServer and use it from WebKit/win

WebCore:

Add JavaScriptDebugServer

This class is a singleton which allows one or more
JavaScriptDebugListeners to receive callbacks during JavaScript
execution.

Right now all listeners receive callbacks for all Pages in the
process. Eventually we will want to support listeners registering for
callbacks for specific Pages (e.g., the Inspector will want to listen
for execution in just the Page it's inspecting).

Pages notify the JavaScriptDebugServer when they are created so that
it can install itself as the Page's debugger.

Reviewed by Darin.

  • GNUMakefile.am: Added new files to project.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • WebCoreSources.bkl: Ditto.
  • page/JavaScriptDebugListener.h: Added.
  • page/JavaScriptDebugServer.cpp: Added. (WebCore::toFrame): (WebCore::JavaScriptDebugServer::shared): (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): (WebCore::JavaScriptDebugServer::addListener): Registers as the debugger for all Pages if we're adding our first listener. (WebCore::JavaScriptDebugServer::removeListener): Deregisters as the debugger for all Pages if we're removing our last listner. (WebCore::JavaScriptDebugServer::pageCreated): Registers as the debugger for the newly created Page if we have any listeners. (WebCore::dispatchDidParseSource): Helper function. (WebCore::dispatchFailedToParseSource): Ditto. (WebCore::JavaScriptDebugServer::sourceParsed): Call dispatchDidParseSource or dispatchFailedToParseSource depending on whether there was an error or not. (WebCore::JavaScriptDebugServer::dispatchFunctionToListeners): Calls the passed-in JavaScriptExecutionCallback on each listener, guarding against re-entry. (WebCore::JavaScriptDebugServer::callEvent): Dispatch didEnterCallFrame. (WebCore::JavaScriptDebugServer::atStatement): Dispatch willExecuteStatement. (WebCore::JavaScriptDebugServer::returnEvent): Dispatch willLeaveCallFrame. (WebCore::JavaScriptDebugServer::exception): Dispatch exceptionWasRaised.
  • page/JavaScriptDebugServer.h: Added.
  • page/Page.cpp: (WebCore::Page::Page): Tell the shared JavaScriptDebugServer we were created so it can register as our debugger if needed.

WebKit/win:

Change WebScriptDebugServer to use WebCore::JavaScriptDebugServer

WebScriptDebugServer is now a JavaScriptDebugListener.

Reviewed by Darin.

  • WebScriptDebugServer.cpp: (WebScriptDebugServer::WebScriptDebugServer): Removed initialization of m_callingListeners member. (WebScriptDebugServer::addListener): Register as a listener with JavaScriptDebugServer if we've just added our first listener. (WebScriptDebugServer::removeListener): Deregister as a listener with JavaScriptDebugServer if we've just removed our last listener. (WebScriptDebugServer::didParseSource): Added. Code came from the old sourceParsed method. Removed m_callingListeners code because JavaScriptDebugServer guards against re-entry for us. (WebScriptDebugServer::failedToParseSource): Ditto. (WebScriptDebugServer::didEnterCallFrame): Ditto for callEvent. (WebScriptDebugServer::willExecuteStatement): Ditto for atStatement. (WebScriptDebugServer::willLeaveCallFrame): Ditto for willLeaveCallFrame. (WebScriptDebugServer::exceptionWasRaised): Ditto for exception.
  • WebScriptDebugServer.h: Changed to inherit from WebCore::JavaScriptDebugListener.
  • WebView.cpp: (WebView::initWithFrame): Removed call to WebScriptDebugServer::pageCreated. This is now handled by WebCore.
12:39 Changeset [30873] by darin@apple.com

Reviewed by Brady.

  • fix a theoretical problem with the visited-link hash table by avoiding collision with the special "deleted" value
  • improve efficiency of with the visited-link hash table by not hashing twice
  • page/PageGroup.cpp: (WebCore::avoidDeletedValue): Added. Makes sure we never try to use the "all ones" value, since the hash table uses that for deleted hash table entries. (WebCore::PageGroup::isLinkVisited): Call avoidDeletedValue before using the hash value with the HashSet. (WebCore::PageGroup::addVisitedLink): Ditto.
  • page/PageGroup.h: Added a new hash function, AlreadyHashed, for unsigned integer values. This assumes that the value is already a hash value, and doesn't try to hash it again. Used this for m_visitedLinkHashes.
12:15 Changeset [30872] by sfalken@apple.com

Get pdevenv working with Visual Studio Express.


Reviewed by Adam.

  • Scripts/pdevenv:
11:46 Changeset [30871] by ggaren@apple.com

JavaScriptCore:

Reviewed by Darin Adler.


Fixed <rdar://problem/5689093> Stricter (ES4) eval semantics


The basic rule is:


  • "eval(s)" is treated as an operator that gives the ES3 eval behavior.

... but only if there is no overriding declaration of "eval" in scope.

  • All other invocations treat eval as a function that evaluates a script in the context of its "this" object.

... but if its "this" object is not the global object it was
originally associated with, eval throws an exception.


Because only expressions of the form "eval(s)" have access to local
scope, the compiler can now statically determine whether a function
needs local scope to be dynamic.

  • kjs/nodes.h: Added FunctionCallEvalNode. It works just like FuncationCallResolveNode, except it statically indicates that the node may execute eval in the ES3 way.
  • kjs/nodes.cpp:
  • kjs/nodes2string.cpp:
  • tests/mozilla/expected.html: This patch happens to fix a Mozilla JS test, but it's a bit of a pyrrhic victory. The test intends to test Mozilla's generic API for calling eval on any object, but, in reality, we only support calling eval on the global object.

LayoutTests:

Reviewed by Darin Adler.

Tests for <rdar://problem/5689093> Stricter (ES4) eval semantics


  • fast/js/eval-cross-window-expected.txt: Added.
  • fast/js/eval-cross-window.html: Added.
  • fast/js/eval-keyword-vs-function-expected.txt: Added.
  • fast/js/eval-keyword-vs-function.html: Added.
  • fast/js/eval-overriding-expected.txt: Added.
  • fast/js/eval-overriding.html: Added.


Tests to make sure not to regress security:

  • http/tests/security/resources/xss-eval2.html: Added.
  • http/tests/security/resources/xss-eval3.html: Added.
  • http/tests/security/xss-eval-expected.txt: Added.
  • http/tests/security/xss-eval.html: Added.

I removed these tests because we no longer match the behavior they
expected, and the new tests are more comprehensive:


  • fast/js/window-eval-context-expected.txt: Removed.
  • fast/js/window-eval-context.html: Removed.
  • fast/js/window-eval-tearoff-expected.txt: Removed.
  • fast/js/window-eval-tearoff.html: Removed.
05:09 Changeset [30870] by hausmann@webkit.org

Fix the Qt build.

03/06/08:

23:45 Changeset [30869] by oliver@apple.com

Implement the HTML5 canvas tainting rules to prevent potential data leakage

Reviewed by Mitz

Added originClean to HTMLCanvasElement and CanvasPattern
to track whether a canvas (or pattern) is tainted by remote
data.
Use originClean flag to determine whether getImageData should
return, well, image data.

Test: http/tests/security/canvas-remote-read-remote-image.html

Note: See TracTimeline for information about the timeline view.