weinig@apple.com [Thu, 13 Mar 2008 07:11:26 +0000 (07:11 +0000)]
Reviewed by Darin Adler.
Fix <rdar://problem/5784773>
Crash loading QT movies @ apple.com/ipodtouch/features.html with a PAC file (WebKitThreadingException)
Make bridged RuntimeObjects get collected on the main thread only. This is necessary
because clients of the bridged objects are unlikely to prepared for a collection on
non-main thread, which can happen with a PAC file.
* bridge/runtime_object.cpp:
(RuntimeObjectImp::RuntimeObjectImp):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31026
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 13 Mar 2008 06:13:32 +0000 (06:13 +0000)]
Fix Bug 17815: Inspector's DOM tree should descend into subframes
<http://bugs.webkit.org/show_bug.cgi?id=17815>
Reviewed by Tim.
* page/inspector/DocumentPanel.js:
(WebInspector.DocumentPanel.revealNode): Changed to provide
_isAncestorIncludingParentFramesWithinPanel and
_parentNodeOrFrameElementWithinPanel for the isAncestor and getParent
parameters to findTreeElement so that parent frames will be searched.
(WebInspector.DocumentPanel.updateBreadcrumb):
- Changed while loop to for loop
- Use _parentNodeOrFrameElementWithinPanel instead of
Node.parentNode to move to the next node
- The loop now ends when we reach the DocumentPanel's document node
- Traversal past other Document nodes is now allowed
- We add the "start" class to the final crumb after the loop exits
(WebInspector.DocumentPanel._getDocumentForNode): Added. Simple helper
that returns the node itself if the node is a Document node, or the
node's ownerDocument otherwise.
(WebInspector.DocumentPanel._parentNodeOrFrameElementWithinPanel):
Added. Returns the node's parent node or, in the case of a Document
node, the node's window's owning frame element, but will not return a
node that is in a parent frame of the DocumentPanel's Document.
(WebInspector.DocumentPanel._isAncestorIncludingParentFramesWithinPanel):
Added. Returns true if a is an ancestor of b if a is an ancestor of a
frame element whose subframe(s) contain b.
(WebInspector.DOMNodeTreeElement): We now consider ourselves to have
children if we have a contentDocument.
(WebInspector.DOMNodeTreeElement.onpopulate): Moved the appendChild
loop into a function so that we can add both children of our
contentDocument and children of our node to the tree.
(WebInspector.DOMNodeTreeElement.ondblclick): Changed so that we get
the rootDOMNode by traversing the tree outline hierarchy instead of
the DOM hierarchy so that we can easily jump up to a parent frame.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31025
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Thu, 13 Mar 2008 06:13:02 +0000 (06:13 +0000)]
Update the styles/metrics panes and breadcrumb after editing DOM attributes
Reviewed by Tim.
* page/inspector/DocumentPanel.js:
(WebInspector.DocumentPanel.set focusedDOMNode): Moved code to update
the parts of the DocumentPanel other than the DOM tree into a new
function, _focusedNodeChanged.
(WebInspector.DocumentPanel._focusedNodeChanged): Added. The
forceUpdate parameter specifies whether the update should occur even
if the focused node hasn't changed since the last update.
(WebInspector.DocumentPanel.updateBreadcrumb): Added a forceUpdate
parameter. If forceUpdate is true, we always rebuild the breadcrumbs.
(WebInspector.DocumentPanel.updateStyles): Added a forceUpdate
parameter. If forceUpdate is true, we always rebuild the styles pane.
(WebInspector.DOMNodeTreeElement._attributeEditingCommitted): Added a
call to DocumentPanel._focusedNodeChanged. We have to force the update
because we haven't changed the focused node (the attributes of the
node have changed).
* page/inspector/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.update): Added a forceUpdate
parameter. If forceUpdate is true we always rebuild the styles.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31024
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Mar 2008 06:05:32 +0000 (06:05 +0000)]
Fix build.
* WebKit.vcproj/WebKit.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31023
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Mar 2008 05:49:03 +0000 (05:49 +0000)]
New version of WebKitSystemInterface.lib with
more compiler warnings suppressed.
* win/lib/WebKitSystemInterface.lib:
* win/tools/vsprops/common.vsprops:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31022
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 13 Mar 2008 05:40:12 +0000 (05:40 +0000)]
Further Gtk and Qt build fixes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31021
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Mar 2008 05:39:17 +0000 (05:39 +0000)]
Touch file to build WebKit.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31020
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 13 Mar 2008 05:30:41 +0000 (05:30 +0000)]
Fix Gtk and Qt builds.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31019
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Thu, 13 Mar 2008 05:26:54 +0000 (05:26 +0000)]
Mac build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31018
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Mar 2008 05:02:50 +0000 (05:02 +0000)]
Build fix.
* page/win/FrameWin.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31017
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Thu, 13 Mar 2008 04:20:06 +0000 (04:20 +0000)]
Build fix.
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::bindingInstance):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31016
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Thu, 13 Mar 2008 03:50:40 +0000 (03:50 +0000)]
<rdar://problem/5795843>
CFURLDownload needs to be cancelled if we don't have a destination path
to save resume information.
Reviewed by Brady.
* WebDownload.cpp:
(WebDownload::cancelForResume):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31015
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Thu, 13 Mar 2008 03:48:28 +0000 (03:48 +0000)]
WebCore:
Reviewed by Anders.
- http://bugs.webkit.org/show_bug.cgi?id=17640
eliminate WebCoreFrameBridge
* WebCore.base.exp: Added more exports, needed by code moved from WebCoreFrameBridge
to WebFrame in WebKit.
* WebCore.xcodeproj/project.pbxproj: Added more headers, same reason. Also deleted
WebCoreFrameBridge.h and WebCoreFrameBridge.mm.
* page/Frame.cpp:
(WebCore::Frame::Frame): Added call to initJavaJSBindings(), formerly handled by
the WebCoreFrameBridge.
* page/Frame.h: Added initJavaJSBindings function.
* page/mac/FrameMac.mm:
(WebCore::updateRenderingForBindings): Moved here from WebCoreFrameBridge.
(WebCore::Frame::initJavaJSBindings): Ditto; code was in the init function.
* page/mac/WebCoreFrameBridge.h: Removed.
* page/mac/WebCoreFrameBridge.mm: Removed.
WebKit:
Reviewed by Anders.
- http://bugs.webkit.org/show_bug.cgi?id=17640
eliminate WebCoreFrameBridge
* StringsNotToBeLocalized.txt: Updated for recent changes.
* WebKit.xcodeproj/project.pbxproj: Removed WebFrameBridge.h and WebFrameBridge.mm.
WebKit/mac:
Reviewed by Anders.
- http://bugs.webkit.org/show_bug.cgi?id=17640
eliminate WebCoreFrameBridge
Moved all the code from the bridge into WebFrame. This need not be the final
home of these methods -- they can be moved closer to their callers and improved
further -- but it eliminates the bridge without requiring a rewrite of the code.
It's a fairly mechanical process (just adding underscores to method names really).
There's even a chance that some of the methods are unused. Those we can remove
after checking if that's so.
* DOM/WebDOMOperations.mm:
(-[DOMNode markupString]): Use WebFrame rather than bridge.
(-[DOMDocument webFrame]): Changed to use the core and kit functions
instead of using the bridge.
(-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
(-[DOMRange markupString]): Ditto.
* DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
* DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
* History/WebHistoryItem.mm: Ditto.
* MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
* Misc/WebCoreStatistics.mm:
(-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
* Misc/WebElementDictionary.mm: Removed unneeded import.
* Misc/WebKitStatistics.m:
(+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
* Misc/WebKitStatisticsPrivate.h: Ditto.
* Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
* Misc/WebNSPasteboardExtras.mm: Ditto.
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
rather than bridge.
* Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
* Plugins/WebNetscapePluginStream.mm: Ditto.
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
bridge to get to the WebCore::Frame.
* Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
rather than bridge.
* WebCoreSupport/WebEditorClient.mm:
(selectorForKeyEvent): Tweaked comment.
* WebCoreSupport/WebFrameBridge.h: Removed.
* WebCoreSupport/WebFrameBridge.mm: Removed.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
(WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
I could remove this function entirely, but it looks like the Qt port is using it.
* WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
* WebView/WebArchiver.mm:
(+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
(+[WebArchiver archiveNode:]): Ditto.
(+[WebArchiver archiveSelectionInFrame:]): Ditto.
* WebView/WebDataSource.mm:
(-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
(-[WebDataSource _documentFragmentWithArchive:]): Ditto.
(-[WebDataSource subresources]): Ditto.
(-[WebDataSource subresourceForURL:]): Ditto.
* WebView/WebDataSourceInternal.h: Removed _bridge method.
* WebView/WebFrame.mm:
(-[WebFramePrivate dealloc]): Removed code to release the bridge.
(core): Go directly to the core frame, not via the bridge.
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
Remove the code to deal with the bridge.
(-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
shouldCreateRenderers flag, formerly on the bridge.
(-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
(aeDescFromJSValue): Moved here from bridge.
(-[WebFrame _domain]): Ditto.
(-[WebFrame _addData:]): Ditto.
(-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
(-[WebFrame _nodesFromList:]): Ditto.
(-[WebFrame _markupStringFromNode:nodes:]): Ditto.
(-[WebFrame _markupStringFromRange:nodes:]): Ditto.
(-[WebFrame _selectedString]): Ditto.
(-[WebFrame _stringForRange:]): Ditto.
(-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
(-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
(-[WebFrame _sendScrollEvent]): Ditto.
(-[WebFrame _drawRect:]): Ditto.
(-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
(-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
(-[WebFrame _copyRenderNode:copier:]): Ditto.
(-[WebFrame _copyRenderTree:]): Ditto.
(inputElementFromDOMElement): Ditto.
(formElementFromDOMElement): Ditto.
(-[WebFrame _elementWithName:inForm:]): Ditto.
(-[WebFrame _elementDoesAutoComplete:]): Ditto.
(-[WebFrame _elementIsPassword:]): Ditto.
(-[WebFrame _formForElement:]): Ditto.
(-[WebFrame _currentForm]): Ditto.
(-[WebFrame _controlsInForm:]): Ditto.
(-[WebFrame _searchForLabels:beforeElement:]): Ditto.
(-[WebFrame _matchLabels:againstElement:]): Ditto.
(-[WebFrame _URLWithAttributeString:]): Ditto.
(-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
(-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
(-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
(-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
(-[WebFrame _unmarkAllTextMatches]): Ditto.
(-[WebFrame _rectsForTextMatches]): Ditto.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
(-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
(-[WebFrame _firstRectForDOMRange:]): Ditto.
(-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
(-[WebFrame _baseURL]): Ditto.
(-[WebFrame _stringWithData:]): Ditto.
(+[WebFrame _stringWithData:textEncodingName:]): Ditto.
(-[WebFrame _needsLayout]): Ditto.
(-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
(-[WebFrame _accessibilityTree]): Ditto.
(-[WebFrame _setBaseBackgroundColor:]): Ditto.
(-[WebFrame _setDrawsBackground:]): Ditto.
(-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
Ditto.
(-[WebFrame _selectionGranularity]): Ditto.
(-[WebFrame _convertToNSRange:]): Ditto.
(-[WebFrame _convertToDOMRange:]): Ditto.
(-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
(-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
(-[WebFrame _markDOMRange]): Ditto.
(-[WebFrame _markedTextNSRange]): Ditto.
(-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
(-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
(-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
(-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
(-[WebFrame _visiblePositionForPoint:]): Ditto.
(-[WebFrame _characterRangeAtPoint:]): Ditto.
(-[WebFrame _typingStyle]): Ditto.
(-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
(-[WebFrame _fontForSelection:]): Ditto.
(-[WebFrame _dragSourceMovedTo:]): Ditto.
(-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
(-[WebFrame _getData:andResponse:forURL:]): Ditto.
(-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
(-[WebFrame _canProvideDocumentSource]): Ditto.
(-[WebFrame _canSaveAsWebArchive]): Ditto.
(-[WebFrame _receivedData:textEncodingName:]): Ditto.
(-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
function. Couldn't just keep the bridge method because this was already here with the same name.
(-[WebFrame _selectedNSRange]): Ditto.
(-[WebFrame _selectNSRange:]): Ditto.
(-[WebFrame dealloc]): Remove bridge-related code.
(-[WebFrame finalize]): Ditto.
* WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
Removed the bridge parameter from the init method. Removed the #if blocks that
tried to make this header work in non-C++ ObjC files -- they were broken and unused.
Removed the _bridge method.
* WebView/WebFrameView.mm: Removed the _bridge method.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
field.
(-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
(-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
(-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
(-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
(-[WebHTMLRepresentation documentSource]): Ditto.
(-[WebHTMLRepresentation DOMDocument]): Ditto.
(-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
(-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
(-[WebHTMLRepresentation elementIsPassword:]): Ditto.
(-[WebHTMLRepresentation formForElement:]): Ditto.
(-[WebHTMLRepresentation currentForm]): Ditto.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.
(-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
(-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
* WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
(-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
(-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
(-[WebHTMLView _frameOrBoundsChanged]): Ditto.
(-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
(-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
(-[WebHTMLView drawSingleRect:]): Ditto.
(-[WebHTMLView draggedImage:movedTo:]): Ditto.
(-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
(-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
(-[WebHTMLView knowsPageRange:]): Ditto.
(-[WebHTMLView accessibilityAttributeValue:]): Ditto.
(-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
(-[WebHTMLView accessibilityHitTest:]): Ditto.
(-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
(-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
(-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
(-[WebHTMLView _changeSpellingToWord:]): Ditto.
(-[WebHTMLView startSpeaking:]): Ditto.
(-[WebHTMLView _updateFontPanel]): Ditto.
(-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
(-[WebHTMLView _layoutIfNeeded]): Ditto.
(-[WebHTMLView characterIndexForPoint:]): Ditto.
(-[WebHTMLView firstRectForCharacterRange:]): Ditto.
(-[WebHTMLView selectedRange]): Ditto.
(-[WebHTMLView markedRange]): Ditto.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
(-[WebHTMLView insertText:]): Ditto.
(-[WebTextCompleteController _insertMatch:]): Ditto.
(-[WebTextCompleteController doCompletion]): Ditto.
(-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
(-[WebHTMLView string]): Ditto.
(-[WebHTMLView selectedString]): Ditto.
(-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
(-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
(-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
(-[WebHTMLView unmarkAllTextMatches]): Ditto.
(-[WebHTMLView rectsForTextMatches]): Ditto.
* WebView/WebRenderNode.mm:
(-[WebRenderNode initWithWebFrameView:]): Ditto.
* WebView/WebResource.mm:
(-[WebResource _stringValue]): Ditto.
* WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
* WebView/WebView.mm:
(-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
(-[WebView setProhibitsMainFrameScrolling:]): Ditto.
(-[WebView _setInViewSourceMode:]): Ditto.
(-[WebView _inViewSourceMode]): Ditto.
(-[WebView _executeCoreCommandByName:value:]): Ditto.
(-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
(-[WebView scrollDOMRangeToVisible:]): Ditto.
(-[WebView setSelectedDOMRange:affinity:]): Ditto.
(-[WebView setEditable:]): Ditto.
(-[WebView setTypingStyle:]): Ditto.
(-[WebView typingStyle]): Ditto.
(-[WebView replaceSelectionWithNode:]): Ditto.
(-[WebView replaceSelectionWithText:]): Ditto.
(-[WebView replaceSelectionWithMarkupString:]): Ditto.
(-[WebView replaceSelectionWithArchive:]): Ditto.
(-[WebView _insertNewlineInQuotedContent]): Ditto.
(-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31014
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Thu, 13 Mar 2008 03:40:47 +0000 (03:40 +0000)]
Reviewed by Anders Carlsson.
Don't go through the Document just to get the frame Element.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::frameElement):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31013
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 13 Mar 2008 03:18:33 +0000 (03:18 +0000)]
Reviewed by Geoff and Sam.
More Instance cleanup:
* Make Instance inherit from RefCounted instead of doing its own refcounting.
* Make all Instance subclasses private, add static create methods.
* Have Instance start out with a refcount of 1.
* Get rid of Instance::createBindingForLanguageInstance and call the individual
instance constructor methods instead.
* Fix many methods to take and return PassRefPtr<Instance> to ensure that the
refcounting is done correctly.
* bridge/c/c_instance.h:
(KJS::Bindings::CInstance::create):
* bridge/c/c_utility.cpp:
(KJS::Bindings::convertNPVariantToValue):
* bridge/jni/jni_instance.cpp:
(JavaInstance::invokeMethod):
* bridge/jni/jni_instance.h:
(KJS::Bindings::JavaInstance::create):
* bridge/jni/jni_jsobject.cpp:
(JavaJSObject::convertJObjectToValue):
* bridge/jni/jni_runtime.cpp:
(JavaField::valueFromInstance):
(JavaArray::valueAt):
* bridge/objc/objc_instance.h:
(KJS::Bindings::ObjcInstance::create):
* bridge/objc/objc_utility.mm:
(KJS::Bindings::convertObjcValueToValue):
* bridge/qt/qt_instance.cpp:
(KJS::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
(KJS::Bindings::QtInstance::getQtInstance):
(KJS::Bindings::QtInstance::getRuntimeObject):
* bridge/qt/qt_instance.h:
* bridge/runtime.cpp:
(KJS::Bindings::Instance::Instance):
(KJS::Bindings::Instance::createRuntimeObject):
* bridge/runtime.h:
* bridge/runtime_object.cpp:
(RuntimeObjectImp::RuntimeObjectImp):
* bridge/runtime_object.h:
* page/Frame.h:
* page/mac/FrameMac.mm:
(WebCore::Frame::createScriptInstanceForWidget):
* page/win/FrameWin.cpp:
(WebCore::Frame::createScriptInstanceForWidget):
* plugins/PluginView.h:
* plugins/win/PluginViewWin.cpp:
(WebCore::PluginView::bindingInstance):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31012
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Thu, 13 Mar 2008 00:25:55 +0000 (00:25 +0000)]
Suggested by Darin Adler. Reviewed by Dave Hyatt.
- speed up BidiIterator::direction()
* rendering/bidi.cpp:
(WebCore::BidiIterator::current): Made inline and corrected the
out-of-bounds condition to work with 0-length text and offsets beyond
the end of the text.
(WebCore::BidiIterator::direction): Changed to call current() and not
call the virtual method isListMarker() most of the time.
(WebCore::addMidpoint): Removed unnecessary null-check of smidpoints.
(WebCore::appendRunsForObject): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31011
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Wed, 12 Mar 2008 23:00:34 +0000 (23:00 +0000)]
Make URLs not be underlined while editing them in the DOM view
Reviewed by Tim.
* page/inspector/inspector.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31010
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Wed, 12 Mar 2008 23:00:00 +0000 (23:00 +0000)]
Part of Bug 17224: DOM nodes/attributes should be editable
<http://bugs.webkit.org/show_bug.cgi?id=17224>
<rdar://problem/5732825>
We now start editing if the user single-clicks on an attribute,
attribute value, or text node while the parent element is selected.
Previously, we started editing on double-click regardless of the
selection state of the element.
URLs in the DOM tree are now followed on Alt/Option-click, rather than
on just click.
Reviewed by Tim.
* English.lproj/InspectorLocalizedStrings.js: Added four new localized
strings.
* page/inspector/DocumentPanel.js:
(WebInspector.DOMNodeTreeElement.onattach): Call new
_makeURLSActivateOnModifiedClick.
(WebInspector.DOMNodeTreeElement._makeURLsActivateOnModifiedClick):
Added. Changes the tooltip of each link in this element to indicate
that Alt/Option-click will follow the URL, and sets the
followOnAltClick property on each link.
(WebInspector.DOMNodeTreeElement.onselect): Mark that we're being
selected.
(WebInspector.DOMNodeTreeElement.onmousedown): If we're not currently
being selected, start editing.
(WebInspector.DOMNodeTreeElement.ondblclick): We no longer start
editing here. We block re-rooting of the tree if we're currently
editing.
(WebInspector.DOMNodeTreeElement._startEditing):
- Don't do anything if we're not focused
- Pass the event down to _startEditingAttribute.
(WebInspector.DOMNodeTreeElement._startEditingAttribute): Don't do
anything if the event target is a URL and the Alt/Option key is
pressed -- in this case we want to follow the link.
(WebInspector.DOMNodeTreeElement._updateTitle): Call
_makeURLsActivateOnClick again since the anchor elements have all been
recreated.
* page/inspector/inspector.js:
(WebInspector.documentClick): If the anchor as a followOnAltClick
property and the Alt/Option key is not pressed, do nothing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31009
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
adachan@apple.com [Wed, 12 Mar 2008 22:23:15 +0000 (22:23 +0000)]
Fixed the initial value of zoom factor.
Reviewed by Adam.
* page/Frame.cpp:
(WebCore::FramePrivate::FramePrivate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31008
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 12 Mar 2008 21:41:12 +0000 (21:41 +0000)]
Make full page zoom vaguely work. This patch uses the CSS transform system to turn on full page zoom at the
document level. There are many many bugs that I'm going to file to track all the issues (most of the issues
are just bugs with transforms themselves).
Reviewed by Adam Roben
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* dom/Document.cpp:
(WebCore::Document::recalcStyle):
* page/Frame.cpp:
(WebCore::Frame::shouldApplyTextZoom):
(WebCore::Frame::shouldApplyPageZoom):
* page/Frame.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
* rendering/RenderLayer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31007
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 21:33:57 +0000 (21:33 +0000)]
Touch file to force WebKit rebuild
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31006
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 20:57:13 +0000 (20:57 +0000)]
Build fix.
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31005
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 19:40:15 +0000 (19:40 +0000)]
2008-03-12 Tommi Komulainen <tommi.komulainen@iki.fi>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=17799
WebView signals should use more specific types
* webkit/webkitwebview.cpp: Use WEBKIT_TYPE_WEB_FRAME argument
type in "script-alert", "script-confirm", "script-script-prompt"
signals so that it gets more clearly documented rather than just
plain GObject.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31004
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 12 Mar 2008 19:14:44 +0000 (19:14 +0000)]
WebCore:
Make the zoom factor a float and not a percent.
Reviewed by antti
* WebCore.base.exp:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
(WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
* page/Frame.cpp:
(WebCore::Frame::zoomFactor):
(WebCore::Frame::setZoomFactor):
* page/Frame.h:
* page/FramePrivate.h:
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::currentScale):
(WebCore::SVGSVGElement::setCurrentScale):
WebKit/mac:
Make the zoom factor a float and not a percent.
Reviewed by antti
* WebView/WebView.mm:
(-[WebView _setZoomMultiplier:isTextOnly:]):
WebKit/win:
Make the zoom factor a float and not a percent.
Reviewed by antti
* WebFrame.cpp:
(WebFrame::setTextSizeMultiplier):
WebKit/wx:
Make the zoom factor a float and not a percent.
Reviewed by antti
* WebView.cpp:
(wxWebView::IncreaseTextSize):
(wxWebView::DecreaseTextSize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31003
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 19:10:19 +0000 (19:10 +0000)]
Build fix.
* WebKit.vcproj/WebKit.pgd:
* WebKit.vcproj/WebKit.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31002
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 12 Mar 2008 18:50:32 +0000 (18:50 +0000)]
Speculative fix for build bustage. Will be another 20-30 mins before I can get compiled enough to know for sure.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31001
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 18:50:18 +0000 (18:50 +0000)]
VSExpress build fix
* WinLauncher/WinLauncher.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@31000
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hyatt@apple.com [Wed, 12 Mar 2008 18:33:37 +0000 (18:33 +0000)]
WebCore:
Eliminate setTextMultiplier from the bridge. Make Webkit just call setZoomFactor on the frame directly.
Reviewed by Tim H.
* WebCore.base.exp:
* page/mac/WebCoreFrameBridge.h:
* page/mac/WebCoreFrameBridge.mm:
WebKit/mac:
This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you
can zoom the page in, out or reset it to the standard size.
In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always
win.
Reviewed by Tim H.
* WebCoreSupport/WebFrameBridge.mm:
(-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
* WebView/WebDocumentInternal.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView viewDidMoveToSuperview]):
* WebView/WebPDFView.h:
* WebView/WebPDFView.mm:
(-[WebPDFView _zoomOut:]):
(-[WebPDFView _zoomIn:]):
(-[WebPDFView _resetZoom:]):
(-[WebPDFView _canZoomOut]):
(-[WebPDFView _canZoomIn]):
(-[WebPDFView _canResetZoom]):
* WebView/WebView.mm:
(-[WebViewPrivate init]):
(-[WebView setTextSizeMultiplier:]):
(-[WebView textSizeMultiplier]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView _zoomMultiplier:]):
(-[WebView _realZoomMultiplier]):
(-[WebView _realZoomMultiplierIsTextOnly]):
(-[WebView _canZoomOut:]):
(-[WebView _canZoomIn:]):
(-[WebView _zoomOut:isTextOnly:]):
(-[WebView _zoomIn:isTextOnly:]):
(-[WebView _canResetZoom:]):
(-[WebView _resetZoom:isTextOnly:]):
(-[WebView canMakeTextSmaller]):
(-[WebView makeTextSmaller:]):
(-[WebView canMakeTextLarger]):
(-[WebView makeTextLarger:]):
(-[WebView canMakeTextStandardSize]):
(-[WebView makeTextStandardSize:]):
(-[WebView setPageSizeMultiplier:]):
(-[WebView pageSizeMultiplier]):
(-[WebView canZoomPageIn]):
(-[WebView zoomPageIn:]):
(-[WebView canZoomPageOut]):
(-[WebView zoomPageOut:]):
(-[WebView canResetPageZoom]):
(-[WebView resetPageZoom:]):
(-[WebView _searchWithSpotlightFromMenu:]):
* WebView/WebViewInternal.h:
* WebView/WebViewPrivate.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30998
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Wed, 12 Mar 2008 18:31:25 +0000 (18:31 +0000)]
WebCore:
Reviewed by Darin Adler and Sam Weinig.
- <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
Use CTFontCopyGraphicsFont and CTFontGetPlatformFont on Leopard instead
of wkGetCGFontFromNSFont and wkGetNSFontATSUFontId, relying on NSFont
and CTFontRef being toll-free bridged.
* WebCore.Tiger.exp:
* WebCore.base.exp:
* platform/graphics/mac/FontMac.mm:
(WebCore::Font::drawGlyphs): Changed to use the cgFont() accessor.
* platform/graphics/mac/FontPlatformData.h:
Made m_cgFont a RetainPtr on Leopard.
(WebCore::toCTFontRef): Added a function that encapsulates the
toll-free bridging.
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::cgFont): Added this accessor method.
* platform/graphics/mac/FontPlatformDataMac.mm:
(WebCore::FontPlatformData::FontPlatformData): Changed to use
CoreText API on Leopard.
(WebCore::FontPlatformData::setFont): Ditto.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::initFontData):
(WebCore::pathFromFont):
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformWidthForGlyph):
* platform/mac/WebCoreSystemInterface.mm:
WebKit/mac:
Reviewed by Darin Adler and Sam Weinig.
- <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
* WebCoreSupport/WebSystemInterface.m:
(InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
WKGetNSFontATSUFontId Tiger-only.
WebKitLibraries:
Reviewed by Darin Adler and Sam Weinig.
- <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30997
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 18:06:54 +0000 (18:06 +0000)]
2008-03-12 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Alp Toker.
Run testkjs in the correct productsDir in the GTK+ port.
* Scripts/run-javascriptcore-tests:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30996
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 17:56:13 +0000 (17:56 +0000)]
Re-enabled PGO.
Rubber stamped by Mark Rowe.
* WebKit.vcproj/WebKit.pgd:
* WebKit.vcproj/WebKit.vcproj:
* WebKitPrefix.cpp: touched this file to force a re-build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30995
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 17:20:23 +0000 (17:20 +0000)]
2008-03-12 Alp Toker <alp@atoker.com>
Another autotools testkjs build fix attempt.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30994
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 16:38:25 +0000 (16:38 +0000)]
- fix bugs.webkit.org/show_bug.cgi?id=17794
REGRESSION (r30980): 23 tests hanging on the Mac buildbot
* WebView/WebFrame.mm:
(-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
up pointer from the bridge to the frame. (My next check-in removes the bridge
entirely, but we need this until then.)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30993
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
harrison@apple.com [Wed, 12 Mar 2008 16:16:40 +0000 (16:16 +0000)]
Reviewed by Darin.
<rdar://problem/5607382> CrashTracer: [REGRESSION] 2290 crashes in Safari at com.apple.WebCore: -[WebCoreAXObject isWebArea] + 8
The problem was that we lost track of the AX cache for a subframe when Frame::disconnectOwnerElement() was
called, so we were unable to locate the AXObjects to de-register from AppKit's accessibility registry.
Also saw that cache clearing was missing from Document::detach(), and fixed that.
Also added a debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
Lastly, RenderWidget::destroy() now skips trying to remove the AXObject if accessibility has never been enabled.
* dom/Document.cpp:
(WebCore::Document::attach):
Assert that there is no AX cache (since there is no renderer).
(WebCore::Document::detach):
Destroy the AX cache installed on this document.
(WebCore::Document::clearAXObjectCache):
New. Destroy the AX cache associated with this document.
(WebCore::Document::axObjectCache):
Added some comments.
* dom/Document.h:
Declare clearAXObjectCache().
* page/Frame.cpp:
(WebCore::Frame::disconnectOwnerElement):
Destroy the AX cache associated with this frame's document.
* page/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::remove):
* page/mac/WebCoreAXObject.mm:
(-[WebCoreAXObject initWithRenderer:]):
(-[WebCoreAXObject detach]):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::~RenderObject):
* rendering/RenderObject.h:
(WebCore::RenderObject::setHasAXObject):
(WebCore::RenderObject::hasAXObject):
Add debug-only check that AXObjectCache::remove() not finding the AXObject is expected.
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::destroy):
Skip call to remove the AXObject if accessibility has never been enabled. A simple speed optimization in the
very common case that the accessibility APIs are not being used. Same as in RenderObject::destroy().
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30992
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 16:12:46 +0000 (16:12 +0000)]
2008-03-12 Alp Toker <alp@atoker.com>
Attempt to fix the autotools testkjs build on systems with
non-standard include paths.
* GNUmakefile.am:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30991
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 15:08:01 +0000 (15:08 +0000)]
Credit the original patch author in the r30989 ChangeLogs
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30990
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Wed, 12 Mar 2008 15:03:17 +0000 (15:03 +0000)]
2008-03-12 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
http://bugs.webkit.org/show_bug.cgi?id=15229
Add Pango font backend.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30989
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Wed, 12 Mar 2008 08:47:47 +0000 (08:47 +0000)]
Fix compilation against Qt 4.3
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30988
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Wed, 12 Mar 2008 08:12:37 +0000 (08:12 +0000)]
WebCore:
Reviewed by Oliver.
<rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
Fixes some (but not all) of the instances of:
<rdar://problem/5659795> CrashTracer: [REGRESSION] 187 crashes in Safari at com.apple.WebCore: WebCore::InsertTextCommand::prepareForTextInsertion + 241
<rdar://problem/5779631> CrashTracer: [USER] 25 crashes in Mail at WebCore::InsertTextCommand::prepareForTextInsertion
* editing/InsertLineBreakCommand.cpp:
(WebCore::InsertLineBreakCommand::doApply): applyStyle may have destroyed content that held
the old endingSelection(), so we must recompute it. Added a FIXME. Added a few comments.
* editing/RemoveFormatCommand.cpp:
(WebCore::RemoveFormatCommand::doApply): Added a FIXME.
LayoutTests:
Reviewed by Oliver.
<rdar://problem/5770834> Crash at InsertTextCommand::prepareForTextInsertion() doing RemoveFormat in a certain list
* editing/execCommand/5770834-1-expected.txt: Added.
* editing/execCommand/5770834-1.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30987
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Wed, 12 Mar 2008 08:07:26 +0000 (08:07 +0000)]
Reviewed by Darin.
<rdar://problem/5640615> REGRESSION (Safari 2-3): Changing subframe encoding rules broke
some sites.
Other browsers' behavior keeps changing; let's implement what Firefox and Opera do now:
if the frame and subframe belong to the same site, then the encoding is inherited from parent
frame to subframe. Otherwise, it is not.
Always inheriting the encoding would cause a security problem.
Tests: http/tests/misc/frame-default-enc-different-domain.html
http/tests/misc/frame-default-enc-same-domain.html
fast/encoding/frame-default-enc.html
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::write): Also removed a check for m_frame->document() being non-null -
this function also has code that uses it without checking, so it must be safe.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30986
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 08:04:44 +0000 (08:04 +0000)]
Fix build.
* WebKit.vcproj/WebKit.vcproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30985
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Wed, 12 Mar 2008 07:51:44 +0000 (07:51 +0000)]
Gtk build fix.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30984
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Wed, 12 Mar 2008 07:40:16 +0000 (07:40 +0000)]
Reviewed by Darin.
<rdar://problem/5787743> REGRESSION: Crash at WTF::Collator::CreateCollator() running fast/js/kde/StringObject.html on Windows
* wtf/unicode/icu/CollatorICU.cpp:
(WTF::Collator::createCollator): Check for null (== user default) m_locale before calling strcmp.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30983
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 07:00:09 +0000 (07:00 +0000)]
Touch a file in WebKitWin to cause it to build
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30982
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Wed, 12 Mar 2008 05:40:03 +0000 (05:40 +0000)]
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.
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.make:
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30981
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 05:27:19 +0000 (05:27 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30980
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 05:13:21 +0000 (05:13 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30979
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 03:51:53 +0000 (03:51 +0000)]
- 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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30978
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 01:31:36 +0000 (01:31 +0000)]
- fix Release build
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::setContentsPos): Don't use NSMakePoint.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30977
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 01:23:29 +0000 (01:23 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30976
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Wed, 12 Mar 2008 00:48:00 +0000 (00:48 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30975
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Wed, 12 Mar 2008 00:28:37 +0000 (00:28 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30974
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 11 Mar 2008 23:43:12 +0000 (23:43 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30973
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 11 Mar 2008 23:32:43 +0000 (23:32 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30972
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 11 Mar 2008 23:06:39 +0000 (23:06 +0000)]
Fix version comparison from previous checkin
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30971
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Tue, 11 Mar 2008 23:06:38 +0000 (23:06 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30970
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 11 Mar 2008 22:53:38 +0000 (22:53 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30969
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mrowe@apple.com [Tue, 11 Mar 2008 21:43:43 +0000 (21:43 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30968
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
pewtermoose@webkit.org [Tue, 11 Mar 2008 21:28:22 +0000 (21:28 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30967
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 11 Mar 2008 19:59:29 +0000 (19:59 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30966
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 11 Mar 2008 19:59:04 +0000 (19:59 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30965
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 11 Mar 2008 19:58:35 +0000 (19:58 +0000)]
Roll out r30961 since it breaks the default site icon on Windows
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30964
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mitz@apple.com [Tue, 11 Mar 2008 18:30:36 +0000 (18:30 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30963
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 11 Mar 2008 15:54:16 +0000 (15:54 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30962
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zecke@webkit.org [Tue, 11 Mar 2008 15:38:58 +0000 (15:38 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30961
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 14:59:58 +0000 (14:59 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30960
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 13:50:31 +0000 (13:50 +0000)]
Fix the Qt build (silly typo).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30959
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 12:52:00 +0000 (12:52 +0000)]
2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Moved obscuring progress bar to the lower right corner.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30958
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 12:51:47 +0000 (12:51 +0000)]
2008-03-11 Tor Arne Vestbø <tavestbo@trolltech.com>
Reviewed by Simon.
Added reload action and grouped stop and reload actions together.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30957
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 11:38:07 +0000 (11:38 +0000)]
Holger Hans Peter Freyther <holger.freyther@trolltech.com>
* Set a Icon on the QAction if we have one.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30956
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Tue, 11 Mar 2008 08:17:07 +0000 (08:17 +0000)]
Fix the Qt build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30955
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Tue, 11 Mar 2008 07:20:35 +0000 (07:20 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30954
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 11 Mar 2008 06:28:48 +0000 (06:28 +0000)]
- Windows build fix
* kjs/function.cpp: (KJS::decode): Initialize variable.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30953
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
justin.garcia@apple.com [Tue, 11 Mar 2008 04:42:14 +0000 (04:42 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30952
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bdakin@apple.com [Tue, 11 Mar 2008 03:40:59 +0000 (03:40 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30951
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 11 Mar 2008 00:48:25 +0000 (00:48 +0000)]
- try to fix Qt build
* bridge/qt/qt_runtime.cpp:
(KJS::Bindings::convertQVariantToValue): Change KJS::UChar to UChar.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30950
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Tue, 11 Mar 2008 00:45:47 +0000 (00:45 +0000)]
Reviewed by Antti.
- fix <rdar://problem/3059610> VIP: links opened in new frame, window, or tab
should be redrawn as visited immediately
- fix <rdar://problem/4382809> Going "back" a page doesn't change the color of
the visited URL at directory.umi
- fix http://bugs.webkit.org/show_bug.cgi?id=4941
Visited links should be marked as visited
- fix http://bugs.webkit.org/show_bug.cgi?id=7960
REGRESSION: Visited link color doesn't displayed after loading page from cache
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30949
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Tue, 11 Mar 2008 00:36:26 +0000 (00:36 +0000)]
No review, build fix only.
Speculative fix for Windows build, use ::UChar instead of KJS::UChar
* WebScriptCallFrame.cpp:
(WebScriptCallFrame::valueForVariable):
(WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30948
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Tue, 11 Mar 2008 00:14:39 +0000 (00:14 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30947
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 10 Mar 2008 23:39:06 +0000 (23:39 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30946
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Mon, 10 Mar 2008 23:02:43 +0000 (23:02 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30945
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 10 Mar 2008 22:57:14 +0000 (22:57 +0000)]
Reviewed by NOBODY.
Build fix for JSC on windows.
* API/JSStringRefCF.cpp:
(JSStringCreateWithCFString):
* kjs/function.cpp:
(KJS::decode):
* kjs/nodes2string.cpp:
(KJS::escapeStringForPrettyPrinting):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30944
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 10 Mar 2008 22:44:33 +0000 (22:44 +0000)]
No review, build fix only.
Attempt to fix the windows build?
* kjs/ustring.h: change unsigned short to UChar
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30943
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric@webkit.org [Mon, 10 Mar 2008 22:06:44 +0000 (22:06 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30942
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sfalken@apple.com [Mon, 10 Mar 2008 18:58:59 +0000 (18:58 +0000)]
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:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30941
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
alp@webkit.org [Mon, 10 Mar 2008 18:25:08 +0000 (18:25 +0000)]
2008-03-10 Xan Lopez <xan@gnome.org>
Reviewed by Alp Toker.
Fix "missing braces" compiler warning.
* webkit/webkitwebview.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30940
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 17:37:19 +0000 (17:37 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30939
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
weinig@apple.com [Mon, 10 Mar 2008 17:36:54 +0000 (17:36 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30938
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 17:29:00 +0000 (17:29 +0000)]
- 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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30937
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 17:26:42 +0000 (17:26 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30936
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 17:01:00 +0000 (17:01 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30935
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 16:33:06 +0000 (16:33 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30934
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 16:28:55 +0000 (16:28 +0000)]
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):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30933
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 16:25:12 +0000 (16:25 +0000)]
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
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30932
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 10 Mar 2008 16:17:38 +0000 (16:17 +0000)]
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.
* page/inspector/StylesSidebarPane.js:
(WebInspector.StylePropertyTreeElement.startEditing):
- Call WebInspector.isBeingEdited and WebInspector.startEditing
- Removed code now handled by WebInspector.startEditing
(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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30931
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aroben@apple.com [Mon, 10 Mar 2008 16:17:12 +0000 (16:17 +0000)]
Windows build fix
* WebCore.vcproj/WebCore.vcproj: Pick up generated source files out of
$(WebKitOutputDir) instead of hard-coding WebKitBuild.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30930
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
darin@apple.com [Mon, 10 Mar 2008 16:15:50 +0000 (16:15 +0000)]
* DerivedSources.make: Merge plug-in-related changes with the new way of handling
autogenerated DOM classes.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30929
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@webkit.org [Mon, 10 Mar 2008 15:38:04 +0000 (15:38 +0000)]
Reviewed, tweaked and landed by Alexey.
- fix http://bugs.webkit.org/show_bug.cgi?id=17732
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30928
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Mon, 10 Mar 2008 13:59:37 +0000 (13:59 +0000)]
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.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30927
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
hausmann@webkit.org [Mon, 10 Mar 2008 12:29:59 +0000 (12:29 +0000)]
Wx linking fix.
Added missing stubs for PluginData.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30926
268f45cc-cd09-0410-ab3c-
d52691b4dbfc