1 2008-03-23 Oliver Hunt <oliver@apple.com>
5 Bug 17670: Key events may improperly propagate from iframe to parent frame
6 <http://bugs.webkit.org/show_bug.cgi?id=17670>
7 Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
8 <http://bugs.webkit.org/show_bug.cgi?id=16381>
10 Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
11 as that results in us dispatching the key events for each frame going up the frame
14 * WebView/WebHTMLView.mm:
15 (-[WebHTMLView keyDown:]):
16 (-[WebHTMLView keyUp:]):
17 (-[WebHTMLView flagsChanged:]):
19 2008-03-21 Timothy Hatcher <timothy@apple.com>
21 Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
22 http://bugs.webkit.org/show_bug.cgi?id=17980
26 The new highlight drawing was not honoring the fade value, so it was
27 always drawing at full opacity. The animation code didn't match Windows
28 and the new highlight anyway, so it has been removed. The highlight
29 how just detaches when it is hidden.
31 * WebCoreSupport/WebInspectorClient.mm:
32 (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
33 (-[WebInspectorWindowController close]): Ditto.
34 (-[WebInspectorWindowController highlightNode:]): Call attach.
35 (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
36 * WebInspector/WebNodeHighlight.h:
37 * WebInspector/WebNodeHighlight.m:
38 (-[WebNodeHighlight initWithTargetView:inspectorController:]):
39 (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
40 (-[WebNodeHighlight attach]): Renamed from attachHighlight.
41 (-[WebNodeHighlight detach]): Renamed from detachHighlight.
42 (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
43 * WebInspector/WebNodeHighlightView.h:
44 * WebInspector/WebNodeHighlightView.m:
45 (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
47 2008-03-20 Mark Rowe <mrowe@apple.com>
49 Reviewed by Sam Weinig.
51 Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
52 This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
55 * Configurations/WebKit.xcconfig:
57 2008-03-20 Adam Roben <aroben@apple.com>
59 Make WebNodeHighlightView use InspectorController to do its painting
61 Reviewed by Tim Hatcher.
63 * WebCoreSupport/WebInspectorClient.mm:
64 (-[WebInspectorWindowController highlightNode:]): Pass the
65 InspectorController to the WebNodeHighlight, and don't call
66 setHighlightedNode: (which has been removed).
67 (-[WebInspectorWindowController hideHighlight]): Removed call to
69 * WebInspector/WebNodeHighlight.h:
70 - Replaced _highlightNode with _inspectorController
71 - Removed _highlightedNode accessors
72 - Added -inspectorController method
73 * WebInspector/WebNodeHighlight.m:
74 (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
75 takes an InspectorController* and stores it in _inspectorController.
76 (-[WebNodeHighlight dealloc]): Removed code dealing with
78 (-[WebNodeHighlight inspectorController]): Added.
79 * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
80 (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
81 GraphicsContexts to be based on a flipped CGContext, so we have to
82 specify that this view is flipped.
83 (-[WebNodeHighlightView drawRect:]): Changed to create a
84 GraphicsContext and pass it to InspectorController::drawNodeHighlight.
86 2008-03-18 David Hyatt <hyatt@apple.com>
88 Add support for a preference in WebKit that can be used in nightly builds to test full page
93 * WebView/WebPreferenceKeysPrivate.h:
95 (-[WebView setTextSizeMultiplier:]):
96 (-[WebView canMakeTextSmaller]):
97 (-[WebView makeTextSmaller:]):
98 (-[WebView canMakeTextLarger]):
99 (-[WebView makeTextLarger:]):
100 (-[WebView canMakeTextStandardSize]):
101 (-[WebView makeTextStandardSize:]):
103 2008-03-17 Eric Seidel <eric@webkit.org>
107 Export _NPN_IntFromIdentifier as part of our NPAPI interface
109 * Plugins/WebNetscapePluginPackage.m:
110 (-[WebNetscapePluginPackage load]):
112 2008-03-14 Brady Eidson <beidson@apple.com>
114 Reviewed by Brian Dash's rubberstamp
116 Remove a class declaration for a class that has never existed
118 * WebView/WebResource.h:
120 2008-03-14 David D. Kilzer <ddkilzer@apple.com>
122 Unify concept of enabling the Mac Java bridge.
124 Reviewed by Darin and Anders.
126 * Plugins/WebPluginJava.h: Removed unused file.
127 * WebCoreSupport/WebFrameLoaderClient.h:
128 (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
129 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
130 (WebFrameLoaderClient::javaApplet): Ditto.
132 2008-03-13 Antti Koivisto <antti@apple.com>
136 * ForwardingHeaders/wtf/Deque.h: Added.
138 2008-03-13 Anders Carlsson <andersca@apple.com>
142 Call originalRequest, not initialRequest.
144 * WebView/WebDataSource.mm:
145 (-[WebDataSource initialRequest]):
147 2008-03-12 Darin Adler <darin@apple.com>
149 Reviewed by John Sullivan.
151 - cleanup after removing the bridge
153 * DOM/WebDOMOperations.mm:
154 (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
156 * Misc/WebCoreStatistics.mm:
157 (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
159 * Plugins/WebBaseNetscapePluginView.mm:
160 (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
162 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
164 * Plugins/WebPluginController.mm:
165 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
167 * WebCoreSupport/WebFrameLoaderClient.mm:
168 (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
169 method. Without this we could leave a stale frame pointer around.
170 (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
171 caller of the _isMainFrame method.
172 (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
174 (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
176 * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
177 turned out to be unused.
178 (core): Added overload for DocumentFragment.
180 (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
181 to FrameLoader with _private->coreFrame->loader().
182 (-[WebFrame _attachScriptDebugger]): Ditto.
183 (-[WebFrame _clearCoreFrame]): Added.
184 (-[WebFrame _updateBackground]): More of the same.
185 (-[WebFrame _unmarkAllBadGrammar]): Ditto.
186 (-[WebFrame _unmarkAllMisspellings]): Ditto.
187 (-[WebFrame _hasSelection]): Ditto.
188 (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
189 (-[WebFrame _findFrameWithSelection]): Ditto.
190 (-[WebFrame _dataSource]): Ditto.
191 (-[WebFrame _addData:]): Streamlined code a bit.
192 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
193 (-[WebFrame _receivedData:textEncodingName:]): Ditto.
194 (-[WebFrame _isDescendantOfFrame:]): Ditto.
195 (-[WebFrame _bodyBackgroundColor]): Ditto.
196 (-[WebFrame _isFrameSet]): Ditto.
197 (-[WebFrame _firstLayoutDone]): Ditto.
198 (-[WebFrame _loadType]): Ditto.
199 (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
200 (-[WebFrame name]): Ditto.
201 (-[WebFrame DOMDocument]): Ditto.
202 (-[WebFrame frameElement]): Ditto.
203 (-[WebFrame provisionalDataSource]): Ditto.
204 (-[WebFrame dataSource]): Ditto.
205 (-[WebFrame loadRequest:]): Ditto.
206 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
207 (-[WebFrame loadArchive:]): Ditto.
208 (-[WebFrame stopLoading]): Ditto.
209 (-[WebFrame reload]): Ditto.
210 (-[WebFrame findFrameNamed:]): Ditto.
211 (-[WebFrame parentFrame]): Ditto.
212 (-[WebFrame childFrames]): Ditto.
213 (-[WebFrame windowObject]): Ditto.
214 (-[WebFrame globalContext]): Ditto.
216 * WebView/WebFrameInternal.h: Added overloads of core and kit.
217 Removed method declarations.
219 * WebView/WebHTMLRepresentation.mm:
220 (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
221 (formElementFromDOMElement): Ditto.
222 (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
223 (inputElementFromDOMElement): Ditto.
224 (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
225 (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
226 (-[WebHTMLRepresentation formForElement:]): Ditto.
227 (-[WebHTMLRepresentation currentForm]): Ditto.
228 (-[WebHTMLRepresentation controlsInForm:]): Ditto.
229 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
230 (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
232 * WebView/WebHTMLView.mm:
233 (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
234 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
235 Call createFragmentFromText directly instead of via WebFrame.
236 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
237 Moved layout calls here from WebFrame.
238 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
239 (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
240 (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
241 (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
242 (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
243 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
244 Moved code here from WebFrame.
245 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
246 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
247 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
248 (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
249 (-[WebHTMLView unmarkAllTextMatches]): Ditto.
250 (-[WebHTMLView rectsForTextMatches]): Ditto.
252 * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
254 * WebView/WebPDFView.mm:
255 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
258 * WebView/WebRenderNode.mm:
259 (copyRenderNode): Moved code here from WebFrame.
260 (-[WebRenderNode initWithWebFrameView:]): Ditto.
262 * WebView/WebResource.mm:
263 (-[WebResource _stringValue]): Moved code here from WebFrame.
265 * WebView/WebView.mm:
266 (-[WebView _close]): Use core function intsead of _frameLoader method.
267 (-[WebView setCustomTextEncodingName:]): Ditto.
268 (-[WebView setHostWindow:]): Moved code here from WebFrame.
269 (aeDescFromJSValue): Moved this here from WebFrame.
270 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
272 2008-03-12 Darin Adler <darin@apple.com>
276 - http://bugs.webkit.org/show_bug.cgi?id=17640
277 eliminate WebCoreFrameBridge
279 Moved all the code from the bridge into WebFrame. This need not be the final
280 home of these methods -- they can be moved closer to their callers and improved
281 further -- but it eliminates the bridge without requiring a rewrite of the code.
282 It's a fairly mechanical process (just adding underscores to method names really).
284 There's even a chance that some of the methods are unused. Those we can remove
285 after checking if that's so.
287 * DOM/WebDOMOperations.mm:
288 (-[DOMNode markupString]): Use WebFrame rather than bridge.
289 (-[DOMDocument webFrame]): Changed to use the core and kit functions
290 instead of using the bridge.
291 (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
292 (-[DOMRange markupString]): Ditto.
293 * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
295 * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
296 * History/WebHistoryItem.mm: Ditto.
298 * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
299 * Misc/WebCoreStatistics.mm:
300 (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
302 * Misc/WebElementDictionary.mm: Removed unneeded import.
304 * Misc/WebKitStatistics.m:
305 (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
306 * Misc/WebKitStatisticsPrivate.h: Ditto.
308 * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
309 * Misc/WebNSPasteboardExtras.mm: Ditto.
311 * Plugins/WebBaseNetscapePluginView.mm:
312 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
315 * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
316 * Plugins/WebNetscapePluginStream.mm: Ditto.
318 * Plugins/WebPluginContainerCheck.mm:
319 (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
320 bridge to get to the WebCore::Frame.
322 * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
323 * Plugins/WebPluginController.mm:
324 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
327 * WebCoreSupport/WebEditorClient.mm:
328 (selectorForKeyEvent): Tweaked comment.
330 * WebCoreSupport/WebFrameBridge.h: Removed.
331 * WebCoreSupport/WebFrameBridge.mm: Removed.
333 * WebCoreSupport/WebFrameLoaderClient.mm:
334 (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
335 (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
336 I could remove this function entirely, but it looks like the Qt port is using it.
338 * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
340 * WebView/WebArchiver.mm:
341 (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
342 (+[WebArchiver archiveNode:]): Ditto.
343 (+[WebArchiver archiveSelectionInFrame:]): Ditto.
345 * WebView/WebDataSource.mm:
346 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
347 (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
348 (-[WebDataSource subresources]): Ditto.
349 (-[WebDataSource subresourceForURL:]): Ditto.
351 * WebView/WebDataSourceInternal.h: Removed _bridge method.
353 * WebView/WebFrame.mm:
354 (-[WebFramePrivate dealloc]): Removed code to release the bridge.
355 (core): Go directly to the core frame, not via the bridge.
356 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
357 Remove the code to deal with the bridge.
358 (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
359 shouldCreateRenderers flag, formerly on the bridge.
360 (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
361 (aeDescFromJSValue): Moved here from bridge.
362 (-[WebFrame _domain]): Ditto.
363 (-[WebFrame _addData:]): Ditto.
364 (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
365 (-[WebFrame _nodesFromList:]): Ditto.
366 (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
367 (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
368 (-[WebFrame _selectedString]): Ditto.
369 (-[WebFrame _stringForRange:]): Ditto.
370 (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
371 (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
372 (-[WebFrame _sendScrollEvent]): Ditto.
373 (-[WebFrame _drawRect:]): Ditto.
374 (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
375 (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
376 (-[WebFrame _copyRenderNode:copier:]): Ditto.
377 (-[WebFrame _copyRenderTree:]): Ditto.
378 (inputElementFromDOMElement): Ditto.
379 (formElementFromDOMElement): Ditto.
380 (-[WebFrame _elementWithName:inForm:]): Ditto.
381 (-[WebFrame _elementDoesAutoComplete:]): Ditto.
382 (-[WebFrame _elementIsPassword:]): Ditto.
383 (-[WebFrame _formForElement:]): Ditto.
384 (-[WebFrame _currentForm]): Ditto.
385 (-[WebFrame _controlsInForm:]): Ditto.
386 (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
387 (-[WebFrame _matchLabels:againstElement:]): Ditto.
388 (-[WebFrame _URLWithAttributeString:]): Ditto.
389 (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
390 (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
391 (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
392 (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
393 (-[WebFrame _unmarkAllTextMatches]): Ditto.
394 (-[WebFrame _rectsForTextMatches]): Ditto.
395 (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
396 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
397 (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
398 (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
399 (-[WebFrame _firstRectForDOMRange:]): Ditto.
400 (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
401 (-[WebFrame _baseURL]): Ditto.
402 (-[WebFrame _stringWithData:]): Ditto.
403 (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
404 (-[WebFrame _needsLayout]): Ditto.
405 (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
406 (-[WebFrame _accessibilityTree]): Ditto.
407 (-[WebFrame _setBaseBackgroundColor:]): Ditto.
408 (-[WebFrame _setDrawsBackground:]): Ditto.
409 (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
411 (-[WebFrame _selectionGranularity]): Ditto.
412 (-[WebFrame _convertToNSRange:]): Ditto.
413 (-[WebFrame _convertToDOMRange:]): Ditto.
414 (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
415 (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
416 (-[WebFrame _markDOMRange]): Ditto.
417 (-[WebFrame _markedTextNSRange]): Ditto.
418 (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
419 (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
420 (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
421 (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
422 (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
423 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
424 (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
425 (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
426 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
427 (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
428 (-[WebFrame _visiblePositionForPoint:]): Ditto.
429 (-[WebFrame _characterRangeAtPoint:]): Ditto.
430 (-[WebFrame _typingStyle]): Ditto.
431 (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
432 (-[WebFrame _fontForSelection:]): Ditto.
433 (-[WebFrame _dragSourceMovedTo:]): Ditto.
434 (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
435 (-[WebFrame _getData:andResponse:forURL:]): Ditto.
436 (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
437 (-[WebFrame _canProvideDocumentSource]): Ditto.
438 (-[WebFrame _canSaveAsWebArchive]): Ditto.
439 (-[WebFrame _receivedData:textEncodingName:]): Ditto.
440 (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
441 function. Couldn't just keep the bridge method because this was already here with the same name.
442 (-[WebFrame _selectedNSRange]): Ditto.
443 (-[WebFrame _selectNSRange:]): Ditto.
444 (-[WebFrame dealloc]): Remove bridge-related code.
445 (-[WebFrame finalize]): Ditto.
447 * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
448 Removed the bridge parameter from the init method. Removed the #if blocks that
449 tried to make this header work in non-C++ ObjC files -- they were broken and unused.
450 Removed the _bridge method.
452 * WebView/WebFrameView.mm: Removed the _bridge method.
454 * WebView/WebHTMLRepresentation.mm:
455 (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
457 (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
458 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
459 (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
460 (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
461 (-[WebHTMLRepresentation documentSource]): Ditto.
462 (-[WebHTMLRepresentation DOMDocument]): Ditto.
463 (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
464 (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
465 (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
466 (-[WebHTMLRepresentation formForElement:]): Ditto.
467 (-[WebHTMLRepresentation currentForm]): Ditto.
468 (-[WebHTMLRepresentation controlsInForm:]): Ditto.
469 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
470 (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
472 * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
474 * WebView/WebHTMLView.mm:
475 (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
476 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
477 (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
478 (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
479 (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
480 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
481 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
482 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
483 (-[WebHTMLView drawSingleRect:]): Ditto.
484 (-[WebHTMLView draggedImage:movedTo:]): Ditto.
485 (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
486 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
487 (-[WebHTMLView knowsPageRange:]): Ditto.
488 (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
489 (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
490 (-[WebHTMLView accessibilityHitTest:]): Ditto.
491 (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
492 (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
493 (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
494 (-[WebHTMLView _changeSpellingToWord:]): Ditto.
495 (-[WebHTMLView startSpeaking:]): Ditto.
496 (-[WebHTMLView _updateFontPanel]): Ditto.
497 (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
498 (-[WebHTMLView _layoutIfNeeded]): Ditto.
499 (-[WebHTMLView characterIndexForPoint:]): Ditto.
500 (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
501 (-[WebHTMLView selectedRange]): Ditto.
502 (-[WebHTMLView markedRange]): Ditto.
503 (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
504 (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
505 (-[WebHTMLView insertText:]): Ditto.
506 (-[WebTextCompleteController _insertMatch:]): Ditto.
507 (-[WebTextCompleteController doCompletion]): Ditto.
508 (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
509 (-[WebHTMLView string]): Ditto.
510 (-[WebHTMLView selectedString]): Ditto.
511 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
512 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
513 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
514 (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
515 (-[WebHTMLView unmarkAllTextMatches]): Ditto.
516 (-[WebHTMLView rectsForTextMatches]): Ditto.
517 * WebView/WebRenderNode.mm:
518 (-[WebRenderNode initWithWebFrameView:]): Ditto.
519 * WebView/WebResource.mm:
520 (-[WebResource _stringValue]): Ditto.
522 * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
524 * WebView/WebView.mm:
525 (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
526 (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
527 (-[WebView _setInViewSourceMode:]): Ditto.
528 (-[WebView _inViewSourceMode]): Ditto.
529 (-[WebView _executeCoreCommandByName:value:]): Ditto.
530 (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
531 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
532 (-[WebView scrollDOMRangeToVisible:]): Ditto.
533 (-[WebView setSelectedDOMRange:affinity:]): Ditto.
534 (-[WebView setEditable:]): Ditto.
535 (-[WebView setTypingStyle:]): Ditto.
536 (-[WebView typingStyle]): Ditto.
537 (-[WebView replaceSelectionWithNode:]): Ditto.
538 (-[WebView replaceSelectionWithText:]): Ditto.
539 (-[WebView replaceSelectionWithMarkupString:]): Ditto.
540 (-[WebView replaceSelectionWithArchive:]): Ditto.
541 (-[WebView _insertNewlineInQuotedContent]): Ditto.
542 (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
544 2008-03-12 David Hyatt <hyatt@apple.com>
546 Make the zoom factor a float and not a percent.
550 * WebView/WebView.mm:
551 (-[WebView _setZoomMultiplier:isTextOnly:]):
553 2008-03-11 David Hyatt <hyatt@apple.com>
555 This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
556 New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you
557 can zoom the page in, out or reset it to the standard size.
559 In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
560 and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always
565 * WebCoreSupport/WebFrameBridge.mm:
566 (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
567 * WebView/WebDocumentInternal.h:
568 * WebView/WebHTMLView.mm:
569 (-[WebHTMLView viewDidMoveToSuperview]):
570 * WebView/WebPDFView.h:
571 * WebView/WebPDFView.mm:
572 (-[WebPDFView _zoomOut:]):
573 (-[WebPDFView _zoomIn:]):
574 (-[WebPDFView _resetZoom:]):
575 (-[WebPDFView _canZoomOut]):
576 (-[WebPDFView _canZoomIn]):
577 (-[WebPDFView _canResetZoom]):
578 * WebView/WebView.mm:
579 (-[WebViewPrivate init]):
580 (-[WebView setTextSizeMultiplier:]):
581 (-[WebView textSizeMultiplier]):
582 (-[WebView _setZoomMultiplier:isTextOnly:]):
583 (-[WebView _zoomMultiplier:]):
584 (-[WebView _realZoomMultiplier]):
585 (-[WebView _realZoomMultiplierIsTextOnly]):
586 (-[WebView _canZoomOut:]):
587 (-[WebView _canZoomIn:]):
588 (-[WebView _zoomOut:isTextOnly:]):
589 (-[WebView _zoomIn:isTextOnly:]):
590 (-[WebView _canResetZoom:]):
591 (-[WebView _resetZoom:isTextOnly:]):
592 (-[WebView canMakeTextSmaller]):
593 (-[WebView makeTextSmaller:]):
594 (-[WebView canMakeTextLarger]):
595 (-[WebView makeTextLarger:]):
596 (-[WebView canMakeTextStandardSize]):
597 (-[WebView makeTextStandardSize:]):
598 (-[WebView setPageSizeMultiplier:]):
599 (-[WebView pageSizeMultiplier]):
600 (-[WebView canZoomPageIn]):
601 (-[WebView zoomPageIn:]):
602 (-[WebView canZoomPageOut]):
603 (-[WebView zoomPageOut:]):
604 (-[WebView canResetPageZoom]):
605 (-[WebView resetPageZoom:]):
606 (-[WebView _searchWithSpotlightFromMenu:]):
607 * WebView/WebViewInternal.h:
608 * WebView/WebViewPrivate.h:
610 2008-03-12 Dan Bernstein <mitz@apple.com>
612 Reviewed by Darin Adler and Sam Weinig.
614 - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
616 * WebCoreSupport/WebSystemInterface.m:
617 (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
618 WKGetNSFontATSUFontId Tiger-only.
620 2008-03-12 Darin Adler <darin@apple.com>
622 - fix http://bugs.webkit.org/show_bug.cgi?id=17794
623 REGRESSION (r30980): 23 tests hanging on the Mac buildbot
625 * WebView/WebFrame.mm:
626 (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
627 up pointer from the bridge to the frame. (My next check-in removes the bridge
628 entirely, but we need this until then.)
630 2008-03-11 Darin Adler <darin@apple.com>
634 - remove all bridge-related things from WebCore except the bridge itself
636 * DOM/WebDOMOperations.mm:
637 (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
639 * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
641 * Plugins/WebPluginController.mm: Ditto.
643 * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
644 init and close methods. Added a setWebFrame: method.
646 * WebCoreSupport/WebFrameBridge.mm:
647 (-[WebFrameBridge setWebFrame:]): Added.
649 * WebCoreSupport/WebFrameLoaderClient.mm:
650 (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
651 (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
652 bridge here. Soon we will be able to remove this entirely!
653 (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
654 into WebFrame from the bridge.
656 * WebView/WebFrame.mm:
657 (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
658 now owned by the frame.
659 (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
660 debugger under GC without this!
661 (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
662 use WebFrameLoaderClient instead of the bridge.
663 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
664 This is code that used to live in the bridge's init function.
665 (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
666 (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
667 (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
668 the WebView is now the bridge's owner.
669 (-[WebFrame _updateBackground]): Changed this one call site that was calling the
670 WebCore::Frame::bridge function directly to use the kit function instead.
671 (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
672 This code won't last long -- we're eliminating the bridge soon.
673 (-[WebFrame finalize]): Ditto.
675 * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
678 * WebView/WebView.mm:
679 (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
680 the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
681 where we have to allocate a WebFrameBridge and then immediately release it.
683 2008-03-11 Darin Adler <darin@apple.com>
687 - remove code depending on the bridge to get from an NSView to a WebCore::Frame
689 * WebCoreSupport/WebFrameLoaderClient.mm:
690 (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
691 to setView. A couple lines later, there is a call to _install, which sets the
692 view to the scroll view.
694 * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
696 * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
697 this file, since it's used by Safari.
698 * WebView/WebDynamicScrollBarsViewInternal.h: Added.
699 * WebView/WebDynamicScrollBarsView.m:
700 (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
701 (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
702 (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
703 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
704 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
705 (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
706 (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
707 (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
708 (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
709 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
710 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
711 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
712 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
713 (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
714 (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
716 * WebView/WebFrameView.mm:
717 (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
719 * WebView/WebView.mm:
720 (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
721 (-[WebView alwaysShowVerticalScroller]): Ditto.
722 (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
723 (-[WebView alwaysShowHorizontalScroller]): Ditto.
725 2008-03-11 Darin Adler <darin@apple.com>
729 - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
731 * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
733 * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
734 to recently-created functions.
735 (WebChromeClient::firstResponder): Moved code here from the bridge.
736 (WebChromeClient::makeFirstResponder): Ditto.
737 (WebChromeClient::runOpenPanel): Ditto.
738 (WebChromeClient::willPopUpMenu): Ditto.
740 * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
741 is related to creating the bridge and connecting it to WebCore, which will
742 go next when I eliminate use of the bridge to get to/from the Frame*.
743 * WebCoreSupport/WebFrameBridge.mm:
744 (-[WebFrameBridge close]): Moved the code to track the bridge count here
745 instead of the dealloc and finalize methods.
747 2008-03-11 Darin Adler <darin@apple.com>
751 - update code affected by Range changes
753 * Misc/WebNSAttributedStringExtras.mm:
754 (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
755 * WebView/WebHTMLRepresentation.mm:
756 (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
758 * WebView/WebHTMLView.mm:
759 (-[WebHTMLView attributedString]): Ditto.
761 2008-03-10 Darin Adler <darin@apple.com>
765 - eliminate keyboard UI mode method from WebCoreFrameBridge
767 * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
768 * WebCoreSupport/WebChromeClient.mm:
769 (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
770 * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
771 fields for keyboard UI mode.
772 * WebCoreSupport/WebFrameBridge.mm:
773 (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
775 (-[WebFrameBridge finalize]): Ditto.
776 * WebView/WebView.mm: Moved the keyboard mode code in here.
777 (-[WebView _close]): Remove observer from the distributed notification
778 center as well as the normal one.
779 (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
780 here from the bridge.
781 (-[WebView _keyboardUIMode]): Ditto.
782 * WebView/WebViewInternal.h: Added _keyboardUIMode method.
784 2008-03-10 Darin Adler <darin@apple.com>
788 - eliminate Java applet methods from WebCoreFrameBridge
790 * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
791 * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
792 the ones that load Java applets.
793 * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
794 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
796 2008-03-07 Simon Hausmann <hausmann@webkit.org>
802 Simplified WebViewFactory's refreshPlugins method to only refresh the
803 plugins and not reload the frames anymore since that's now done in a
804 platform independent manner by WebCore::Page.
806 Also removed the now unused pluginNameForMIMEType and
807 pluginSupportsMIMEType methods.
809 * WebCoreSupport/WebViewFactory.mm:
810 * WebView/WebFrame.mm:
811 * WebView/WebFrameInternal.h:
812 * WebView/WebView.mm:
814 2008-03-08 Mark Rowe <mrowe@apple.com>
816 Reviewed by Darin Adler.
818 Fix 64-bit build with GCC 4.2.
820 * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
821 * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
822 * History/WebHistoryItem.mm: Ditto.
823 * Misc/WebElementDictionary.mm: Ditto.
824 * WebCoreSupport/WebFrameLoaderClient.mm:
825 (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
826 variable being unused in 64-bit.
827 * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
828 * WebView/WebHTMLView.mm:
829 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
830 (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
832 2008-03-08 Darin Adler <darin@apple.com>
836 - eliminate custom highlight methods from WebCoreFrameBridge
838 * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
839 * WebCoreSupport/WebChromeClient.mm:
840 (WebChromeClient::customHighlightRect): Moved code here from bridge.
841 (WebChromeClient::paintCustomHighlight): Ditto.
842 * WebCoreSupport/WebFrameBridge.mm: Removed code here.
844 2008-03-07 David D. Kilzer <ddkilzer@apple.com>
846 Unify concept of enabling Netscape Plug-in API (NPAPI).
850 * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
852 * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
853 ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
855 * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
856 #if ENABLE(NETSCAPE_PLUGIN_API).
857 * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
858 * Plugins/WebBaseNetscapePluginView.h: Ditto.
859 * Plugins/WebBaseNetscapePluginView.mm: Ditto.
860 * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
861 * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
862 * Plugins/WebBasePluginPackage.h: Ditto.
863 * Plugins/WebBasePluginPackage.m: Ditto.
864 (+[WebBasePluginPackage pluginWithPath:]):
865 * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
866 * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
867 * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
868 * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
869 * Plugins/WebNetscapePluginPackage.h: Ditto.
870 * Plugins/WebNetscapePluginPackage.m: Ditto.
871 * Plugins/WebNetscapePluginStream.h: Ditto.
872 * Plugins/WebNetscapePluginStream.mm: Ditto.
873 * Plugins/WebPluginDatabase.m: Ditto.
874 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
875 * Plugins/npapi.m: Ditto.
876 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
877 (WebFrameLoaderClient::objectContentType):
878 (WebFrameLoaderClient::createPlugin):
879 * WebView/WebHTMLView.mm: Ditto.
880 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
881 * WebView/WebHTMLViewInternal.h: Ditto.
883 * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
884 #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
885 category to (WebInternal) category so we don't expose the ENABLE() macro
886 from the private header.
887 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
888 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
889 * WebView/WebFrameInternal.h: Ditto.
890 * WebView/WebFramePrivate.h: Ditto.
892 2008-03-07 Alexey Proskuryakov <ap@webkit.org>
896 <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
897 changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
899 * WebView/WebPreferences.m:
900 (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
901 the one used in Safari.
903 2008-03-07 Mark Rowe <mrowe@apple.com>
905 Reviewed by Oliver Hunt.
907 Fix WebKit build with GCC 4.2.
909 * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
911 2008-03-07 Darin Adler <darin@apple.com>
915 - eliminated WebCoreFrameBridge runOpenPanel
917 * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
918 * WebCoreSupport/WebChromeClient.mm:
919 (WebChromeClient::runOpenPanel): Added.
920 (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
921 FileChooser so it can get a result from the UI delegate.
922 (-[WebOpenPanelResultListener dealloc]): Added.
923 (-[WebOpenPanelResultListener finalize]): Added.
924 (-[WebOpenPanelResultListener cancel]): Added.
925 (-[WebOpenPanelResultListener chooseFilename:]): Added.
927 2008-03-06 Darin Adler <darin@apple.com>
931 - fix regression test failures from the visited-link change
933 * History/WebHistory.mm:
934 (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
935 to turn off visited links if there is no history object. Also call
936 removeAllVisitedLinks so we can start over from scratch with the new history.
938 2008-03-06 Dan Bernstein <mitz@apple.com>
940 Reviewed by Darin Adler.
942 - fix a regression from r30741: a crash under
943 WebFrameLoaderClient::createPlugin() when showing a Mail message with
946 * WebCoreSupport/WebFrameLoaderClient.mm:
947 (WebFrameLoaderClient::createPlugin):
949 2008-03-06 Darin Adler <darin@apple.com>
953 * History/WebHistory.mm: Added include of WebTypesInternal.h.
955 2008-03-06 Darin Adler <darin@apple.com>
959 * History/WebHistory.mm:
960 (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
961 (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
962 (-[WebHistoryPrivate saveToURL:error:]): Ditto.
964 2008-03-06 Darin Adler <darin@apple.com>
968 - fix http://bugs.webkit.org/show_bug.cgi?id=17526
969 REGRESSION: iframes are added to Safari's History menu
970 by separating the visited link machinery from global history
972 * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
973 (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
974 method name, since it's on a private object.
975 (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
976 PageGroup::removeAllVisitedLinks function if the last URL was removed.
977 (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
978 method name, since it's on a private object.
979 (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
980 (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
981 method name, since it's on a private object.
982 (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
984 (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
985 to correctly return the error by using the newer version of writeToURL: and
986 removed the FIXME about that.
987 (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
988 for every link in the history.
989 (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
990 (-[WebHistory addItem:]): Moved into the WebPrivate category.
991 (-[WebHistory addItemForURL:]): Ditto.
992 (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
993 create an item and already know its title.
994 (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
995 (-[WebHistory containsItemForURLString:]): Ditto.
996 (-[WebHistory removeItem:]): Ditto.
997 (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
998 (-[WebHistory _itemForURLString:]): Ditto.
999 (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
1001 * History/WebHistoryInternal.h: Added.
1002 * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
1003 * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
1004 Also reorganized what was left behind.
1006 * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
1007 * WebCoreSupport/WebChromeClient.mm:
1008 (WebChromeClient::populateVisitedLinks): Added a call to the new
1009 -[WebHistory _addVisitedLinksToPageGroup:] method.
1011 * WebCoreSupport/WebFrameLoaderClient.mm:
1012 (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
1013 -[WebHistory _addItemForURL:title:] method.
1015 2008-03-05 Adam Roben <aroben@apple.com>
1017 Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
1019 Reviewed by Kevin M.
1021 * WebView/WebFrame.mm:
1022 * WebView/WebScriptDebugDelegate.mm:
1023 * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
1024 * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
1026 2008-03-05 Adam Roben <aroben@apple.com>
1028 Rename WebCoreScriptDebuggerImp to WebScriptDebugger
1030 Reviewed by Kevin M.
1032 * WebView/WebCoreScriptDebuggerImp.h:
1033 * WebView/WebCoreScriptDebuggerImp.mm:
1034 * WebView/WebFrame.mm:
1035 (-[WebFrame _attachScriptDebugger]):
1036 * WebView/WebFrameInternal.h:
1038 2008-03-05 Adam Roben <aroben@apple.com>
1040 Remove WebScriptDebugger
1042 Uses of WebScriptDebugger have been replaced with
1043 WebCoreScriptDebuggerImp.
1045 Reviewed by Kevin M.
1047 * WebView/WebFrame.mm:
1048 (-[WebFramePrivate dealloc]): Use delete instead of release since
1049 WebCoreScriptDebuggerImp is a C++ class.
1050 (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
1051 WebCoreScriptDebuggerImp.
1052 (-[WebFrame _detachScriptDebugger]): Ditto.
1053 * WebView/WebFrameInternal.h:
1054 * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
1055 * WebView/WebScriptDebugDelegatePrivate.h: Removed.
1056 * WebView/WebView.mm:
1058 2008-03-05 Adam Roben <aroben@apple.com>
1060 Remove -webFrame and -globalObject from WebScriptDebugger
1062 WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
1064 Reviewed by Kevin M.
1066 * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
1067 parameter to the constructor.
1068 * WebView/WebCoreScriptDebuggerImp.mm:
1069 (toWebFrame): Added.
1070 (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
1071 (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
1072 WindowScriptObject ourselves instead of asking WebScriptDebugger for
1074 (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
1075 (WebCoreScriptDebuggerImp::returnEvent): Ditto.
1076 (WebCoreScriptDebuggerImp::exception): Ditto.
1077 * WebView/WebScriptDebugDelegate.mm:
1078 (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
1079 WebScriptDebuggerImp's constructor.
1080 * WebView/WebScriptDebugDelegatePrivate.h: Removed
1081 -webFrame/-globalObject.
1083 2008-03-05 Adam Roben <aroben@apple.com>
1085 Remove -enterFrame: and -leaveFrame from WebScriptDebugger
1087 Reviewed by Kevin M.
1089 * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
1090 in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
1092 * WebView/WebCoreScriptDebuggerImp.mm:
1093 - Added declaration of -[WebScriptCallFrame
1094 _initWithGlobalObject:caller:state:].
1095 - Changed most uses of m_topCallFrame to m_topCallFrame.get()
1096 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
1097 now-unnecessary initialization of m_topCallFrame.
1098 (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
1099 with its implementation. The one difference between this
1100 implementation and the old enterFrame: method is that we don't hand
1101 our reference to m_topCallFrame to _initWithGlobalObject: -- that
1102 method must now retain the passed-in WebScriptCallFrame manually.
1103 (WebCoreScriptDebuggerImp::atStatement):
1104 (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
1105 with its implementation.
1106 (WebCoreScriptDebuggerImp::exception):
1107 * WebView/WebScriptDebugDelegate.mm: Removed declaration of
1108 -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
1109 (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
1110 to retain the passed-in caller.
1111 * WebView/WebScriptDebugDelegatePrivate.h:
1112 - Removed _current ivar
1113 - Removed enterFrame:/leaveFrame declarations.
1115 2008-03-05 Adam Roben <aroben@apple.com>
1117 Remove -parsedSource: from WebScriptDebugger
1119 Reviewed by Kevin M.
1121 * WebView/WebCoreScriptDebuggerImp.mm:
1122 (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
1123 -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
1124 * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
1125 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
1127 2008-03-05 Adam Roben <aroben@apple.com>
1129 Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
1131 Reviewed by Kevin M.
1133 * WebView/WebCoreScriptDebuggerImp.mm:
1134 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
1135 trhough to callEvent instead of duplicating its code here.
1136 (WebCoreScriptDebuggerImp::callEvent): Moved code from
1137 -[WebScriptDebugger enteredFrame:sourceId:line:] here.
1138 (WebCoreScriptDebuggerImp::returnEvent): Moved code from
1139 -[WebScriptDebugger leavingFrame:sourceId:line:] here.
1140 (WebCoreScriptDebuggerImp::exception): Moved code from
1141 -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
1142 * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
1143 -leavingFrame:, and -exceptionRaised:.
1144 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
1146 2008-03-05 Adam Roben <aroben@apple.com>
1148 Remove -[WebScriptDebugger hitStatement:sourceId:line:]
1150 Reviewed by Kevin M.
1152 * WebView/WebCoreScriptDebuggerImp.mm:
1153 (WebCoreScriptDebuggerImp::atStatement): Moved code here from
1154 -[WebScriptDebugger hitStatement:sourceId:line:].
1155 * WebView/WebScriptDebugDelegate.mm:
1156 (-[WebScriptDebugger webFrame]): Added.
1157 * WebView/WebScriptDebugDelegatePrivate.h:
1159 2008-03-05 Adam Roben <aroben@apple.com>
1161 Remove WebCoreScriptDebugger
1163 Reviewed by Kevin M.
1165 * WebView/WebCoreScriptDebugger.h: Removed.
1166 * WebView/WebCoreScriptDebugger.mm: Removed.
1167 * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
1168 with WebScriptDebugger.
1169 * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
1170 delegate] with just m_debugger.
1171 (toNSString): Moved here from WebCoreScriptDebugger.mm.
1173 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
1174 (WebCoreScriptDebuggerImp::sourceParsed):
1175 (WebCoreScriptDebuggerImp::callEvent):
1176 (WebCoreScriptDebuggerImp::atStatement):
1177 (WebCoreScriptDebuggerImp::returnEvent):
1178 (WebCoreScriptDebuggerImp::exception):
1179 * WebView/WebScriptDebugDelegate.mm:
1180 (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
1181 WebCoreScriptDebuggerImp, so initialize it properly.
1182 * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
1183 WebCoreScriptDebuggerImp.
1185 2008-03-05 Adam Roben <aroben@apple.com>
1187 Move WebCoreScriptDebuggerImp to its own source files
1189 Also changed WebCoreScriptDebuggerImp coding style to match our style
1192 Reviewed by Kevin M.
1194 * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
1196 * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
1198 (toNSURL): Made no longer static.
1199 * WebView/WebCoreScriptDebuggerImp.h: Added.
1200 * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
1201 WebCoreScriptDebugger.mm and cleaned up.
1202 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
1203 (WebCoreScriptDebuggerImp::sourceParsed):
1204 (WebCoreScriptDebuggerImp::callEvent):
1205 (WebCoreScriptDebuggerImp::atStatement):
1206 (WebCoreScriptDebuggerImp::returnEvent):
1207 (WebCoreScriptDebuggerImp::exception):
1209 2008-03-05 Adam Roben <aroben@apple.com>
1211 Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
1213 Reviewed by Kevin M.
1215 * WebView/WebCoreScriptDebugger.h:
1216 - Removed newFrameWithGlobalObject:caller:state: from
1217 WebScriptDebugger protocol
1218 - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
1219 - Removed _current ivar from WebCoreScriptDebugger
1220 * WebView/WebCoreScriptDebugger.mm:
1221 (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
1223 (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
1224 * WebView/WebScriptDebugDelegate.mm:
1225 (-[WebScriptDebugger dealloc]): Added code to release _current.
1226 (-[WebScriptDebugger enterFrame:]): Added. Code came from
1227 WebCoreScriptDebugger.
1228 (-[WebScriptDebugger leaveFrame]): Ditto.
1229 * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
1231 2008-03-05 Adam Roben <aroben@apple.com>
1233 Remove WebCoreScriptCallFrame
1237 * WebView/WebCoreScriptDebugger.h:
1238 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
1239 - Replaced -newWrapperForFrame: with
1240 -newFrameWithGlobalObject:caller:state:
1241 - Removed WebCoreScriptCallFrame interface.
1242 * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
1243 with WebScriptCallFrame.
1244 (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
1245 -newFrameWithGlobalObject:caller:state.
1246 (-[WebCoreScriptDebugger _leaveFrame]):
1247 * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
1248 _private ivar to be of type WebScriptCallFramePrivate*.
1249 * WebView/WebScriptDebugDelegate.mm:
1250 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
1251 - Added WebScriptCallFramePrivate
1252 (-[WebScriptDebugger enteredFrame:sourceId:line:]):
1253 (-[WebScriptDebugger hitStatement:sourceId:line:]):
1254 (-[WebScriptDebugger leavingFrame:sourceId:line:]):
1255 (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
1256 (-[WebScriptCallFramePrivate dealloc]): Added.
1257 (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
1258 Code came from WebCoreScriptCallFrame.
1259 (-[WebScriptCallFrame dealloc]): Added a call to release the _private
1261 (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
1262 _private with direct access of _private's ivars.
1263 (-[WebScriptCallFrame caller]): Ditto.
1264 (-[WebScriptCallFrame scopeChain]): Ditto.
1265 (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
1267 2008-03-05 Adam Roben <aroben@apple.com>
1269 Move -_convertValueToObjcValue to WebScriptCallFrame
1273 * WebView/WebCoreScriptDebugger.h: Removed declaration of
1274 -_convertValueToObjcValue.
1275 * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
1276 * WebView/WebScriptDebugDelegate.mm:
1277 (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
1278 from -[WebCoreScriptCallFrame _convertValueToObjcValue].
1279 (-[WebScriptCallFrame scopeChain]): Changed to call
1280 -_convertValueToObjcValue on self instead of _private.
1281 (-[WebScriptCallFrame exception]): Ditto.
1282 (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
1284 2008-03-05 Adam Roben <aroben@apple.com>
1286 Move -exception and -evaluateWebScript: to WebScriptCallFrame
1290 * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
1291 and -evaluateWebScript:.
1292 * WebView/WebCoreScriptDebugger.mm: Removed -exception and
1293 -evaluateWebScript:.
1294 * WebView/WebScriptDebugDelegate.mm:
1295 (-[WebScriptCallFrame exception]): Added. Code came from
1296 -[WebCoreScriptCallFrame exception].
1297 (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
1298 -[WebCoreScriptCallFrame evaluateWebScript:].
1300 2008-03-05 Adam Roben <aroben@apple.com>
1302 Move -scopeChain to WebScriptCallFrame
1306 * WebView/WebCoreScriptDebugger.h:
1307 - Added declarations of -globalObject and -_convertValueToObjcValue:
1308 to WebCoreScriptCallFrame
1309 - Removed declaration of -scopeChain.
1310 * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
1311 within the main WebCoreScriptCallFrame implementation.
1312 (-[WebCoreScriptCallFrame globalObject]): Added.
1313 * WebView/WebScriptDebugDelegate.mm:
1314 (-[WebScriptCallFrame scopeChain]): Added. Code came from
1315 -[WebCoreScriptCallFrame scopeChain].
1317 2008-03-05 Adam Roben <aroben@apple.com>
1319 Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
1323 * WebView/WebCoreScriptDebugger.h:
1324 - Removed #else case of #ifdef __cplusplus since this file is only
1325 ever used by C++ Objective-C files
1326 - Removed 'using KJS::ExecState' statement since we prefer not to
1327 have using statements in header files
1328 - Consequently prefixed uses of ExecState with KJS::
1329 - Added declaration of toNSString method that takes a const
1331 - Added declaration of -[WebCoreScriptCallFrame state]
1332 - Removed declaration of -[WebCoreScriptCallFrame functionName]
1333 * WebView/WebCoreScriptDebugger.mm:
1334 (toNSString): Made this no longer static.
1335 (-[WebCoreScriptCallFrame state]): Added.
1336 * WebView/WebScriptDebugDelegate.mm:
1337 (-[WebScriptCallFrame functionName]): Added. Code came from
1338 -[WebCoreScriptCallFrame functionName], though I changed some nested
1339 ifs into early returns.
1341 2008-03-05 Adam Roben <aroben@apple.com>
1343 Move WebCoreScriptDebugger to WebKit
1347 * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
1348 * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
1351 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
1352 (WebCoreScriptDebuggerImp::sourceParsed):
1353 (WebCoreScriptDebuggerImp::callEvent):
1354 (WebCoreScriptDebuggerImp::atStatement):
1355 (WebCoreScriptDebuggerImp::returnEvent):
1356 (WebCoreScriptDebuggerImp::exception):
1357 (+[WebCoreScriptDebugger initialize]):
1358 (-[WebCoreScriptDebugger initWithDelegate:]):
1359 (-[WebCoreScriptDebugger dealloc]):
1360 (-[WebCoreScriptDebugger finalize]):
1361 (-[WebCoreScriptDebugger delegate]):
1362 (-[WebCoreScriptDebugger _enterFrame:]):
1363 (-[WebCoreScriptDebugger _leaveFrame]):
1364 (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
1365 (-[WebCoreScriptCallFrame _setWrapper:]):
1366 (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
1367 (-[WebCoreScriptCallFrame dealloc]):
1368 (-[WebCoreScriptCallFrame wrapper]):
1369 (-[WebCoreScriptCallFrame caller]):
1370 (-[WebCoreScriptCallFrame scopeChain]):
1371 (-[WebCoreScriptCallFrame functionName]):
1372 (-[WebCoreScriptCallFrame exception]):
1373 (-[WebCoreScriptCallFrame evaluateWebScript:]):
1374 * WebView/WebScriptDebugDelegate.mm: Updated header path.
1375 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
1377 2008-03-05 Anders Carlsson <andersca@apple.com>
1381 Include file changes.
1383 * Plugins/WebBaseNetscapePluginView.mm:
1384 * Plugins/WebNetscapePluginPackage.m:
1386 2008-03-04 Timothy Hatcher <timothy@apple.com>
1388 Reviewed by Darin Adler.
1390 <rdar://problem/5720160> Browser windows "do nothing" while modal
1391 dialog or menu is up due to run loop modes (or while scrolling)
1393 Add new API that lets a WebView be scheduled with multiple runloops and modes.
1394 This lets loading continue when in a nested runloop or in a different mode.
1396 * Misc/WebKitVersionChecks.h: Add a new version define:
1397 WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
1398 * WebView/WebView.mm:
1399 (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
1400 the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
1401 (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
1402 (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
1403 * WebView/WebViewPrivate.h: Add the new pending API methods.
1405 2008-03-04 Anders Carlsson <andersca@apple.com>
1409 Fix crash that happens when trying to load a page with a Java applet.
1411 * WebCoreSupport/WebFrameLoaderClient.mm:
1412 Don't release the names and values array - the kit method returns an autoreleased array.
1414 2008-03-04 Darin Adler <darin@apple.com>
1418 - fix 200+ failing regression tests
1419 - fix http://bugs.webkit.org/show_bug.cgi?id=17668
1420 Vertical scrollbar at slashdot.org is randomly not shown
1422 * WebCoreSupport/WebFrameLoaderClient.mm:
1423 (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
1424 code here to exactly match the way it was before it was moved from WebCore. I had
1425 introduced a storage leak and that was causing problems with scroll bars!
1427 2008-03-04 Darin Adler <darin@apple.com>
1431 - remove WebCoreFrameBridge reapplyStyles method
1433 * WebView/WebHTMLView.mm:
1434 (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
1436 2008-03-04 Darin Adler <darin@apple.com>
1440 - eliminate WebCoreFrameBridge createFrameViewWithNSView
1442 * WebCoreSupport/WebFrameLoaderClient.mm:
1443 (WebFrameLoaderClient::transitionToCommittedForNewPage):
1444 Moved code here from createFrameViewWithNSView.
1446 2008-03-04 Darin Adler <darin@apple.com>
1450 - removed WebCoreFrameBridge scrollOverflowInDirection
1452 * WebView/WebFrameView.mm:
1453 (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
1454 EventHandler directly instead of using the bridge.
1455 (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
1456 of the ones from the bridge.
1457 (-[WebFrameView scrollToEndOfDocument:]): Ditto.
1458 (-[WebFrameView _pageVertically:]): Ditto.
1459 (-[WebFrameView _pageHorizontally:]): Ditto.
1460 (-[WebFrameView _scrollLineVertically:]): Ditto.
1461 (-[WebFrameView _scrollLineHorizontally:]): Ditto.
1463 2008-03-04 Darin Adler <darin@apple.com>
1467 - remove WebCoreFrameBridge installInFrame: method
1469 * WebCoreSupport/WebFrameLoaderClient.mm:
1470 (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
1471 -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
1472 * WebView/WebFrameView.mm:
1473 (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
1474 (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
1475 method isn't nested inside an if statement. Call
1476 -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
1477 * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
1478 used in WebFrameLoaderClient.mm.
1480 2008-03-04 Darin Adler <darin@apple.com>
1484 - remove WebCoreFrameBridge window method
1486 * WebCoreSupport/WebFrameBridge.mm: Removed window method.
1488 2008-03-04 Darin Adler <darin@apple.com>
1492 - move code from WebFrameBridge into WebFrameLoaderClient
1494 * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
1495 to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
1496 removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
1497 redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
1498 * WebCoreSupport/WebFrameBridge.mm:
1499 (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
1500 Changed to use WebCore::String.
1501 (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
1502 (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
1504 * WebCoreSupport/WebFrameLoaderClient.mm:
1505 (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
1507 (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
1508 (WebFrameLoaderClient::objectContentType): Ditto.
1509 (parameterValue): Added. Helper function, based on code originally in WebFrameBridge.
1510 (pluginView): Ditto.
1511 (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
1513 2008-03-04 Darin Adler <darin@apple.com>
1517 - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
1519 * WebCoreSupport/WebChromeClient.h:
1520 * WebCoreSupport/WebChromeClient.mm:
1521 (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
1522 The WebCore side now calls this only when there's an actual change.
1523 * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
1524 * WebCoreSupport/WebFrameBridge.mm:
1525 (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
1526 Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
1528 2008-03-04 Darin Adler <darin@apple.com>
1532 - remove WebCoreFrameBridge issuePasteComand method
1534 * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
1535 * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
1537 2008-03-03 Darin Adler <darin@apple.com>
1541 - some "cleanup" on the path to removing WebCoreFrameBridge
1543 * Storage/WebDatabaseManager.mm: Tweak includes.
1544 * Storage/WebDatabaseTrackerClient.mm: Ditto.
1545 * Storage/WebSecurityOrigin.mm: Ditto.
1546 * Storage/WebSecurityOriginInternal.h: Ditto.
1548 * WebView/WebFrame.mm:
1549 (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
1550 match WebCore::EditableLinkBehavior.
1551 * WebView/WebFrameInternal.h: Removed unused kit function.
1553 * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
1554 * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
1555 * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
1557 * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
1559 2008-03-01 Mark Rowe <mrowe@apple.com>
1561 Reviewed by Tim Hatcher.
1563 Update Xcode configuration to support building debug and release from the mysterious future.
1565 * Configurations/DebugRelease.xcconfig:
1567 2008-02-29 Mark Rowe <mrowe@apple.com>
1569 Reviewed by Anders Carlsson.
1571 Replace use of WKPathFromFont with implementation in terms of public API.
1573 * WebCoreSupport/WebSystemInterface.m:
1574 (InitWebCoreSystemInterface): Remove unused symbol.
1576 2008-02-29 Mark Rowe <mrowe@apple.com>
1578 Reviewed by Oliver Hunt.
1580 Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
1582 * Misc/WebNSURLExtras.mm:
1583 (-[NSURL _webkit_canonicalize]):
1586 2008-02-29 Mark Rowe <mrowe@apple.com>
1588 Reviewed by Oliver Hunt.
1590 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
1592 * WebCoreSupport/WebSystemInterface.m:
1593 (InitWebCoreSystemInterface):
1595 2008-02-29 Mark Rowe <mrowe@apple.com>
1597 Reviewed by Oliver Hunt.
1599 Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
1601 * Misc/WebNSViewExtras.m: Remove _web_superviewOfClass:stoppingAtClass:.
1602 * Misc/WebNSWindowExtras.m: Remove _webkit_displayThrottledWindows.
1603 * Misc/WebSearchableTextView.m: Remove selectionImageForcingWhiteText:.
1604 * WebCoreSupport/WebImageRendererFactory.m: Update comment to mention the last version of Safari that
1605 requires this class.
1606 * WebInspector/WebInspector.mm: Remove sharedWebInspector and update comments to mention the last version
1607 of Safari that calls other obsolete methods.
1608 * WebView/WebDocumentPrivate.h: Remove selectionImageForcingWhiteText:.
1609 * WebView/WebHTMLView.mm: Ditto.
1610 * WebView/WebPDFView.mm: Ditto.
1611 * WebView/WebView.mm: Update comment to mentoin the last version of Safari that requires the obsolete method.
1613 2008-02-29 Mark Rowe <mrowe@apple.com>
1615 Rubber-stamped by Eric Seidel.
1617 Remove unneeded includes of WebKitSystemInterface.h.
1619 * History/WebHistoryItem.mm:
1620 * Misc/WebNSViewExtras.m:
1621 * WebCoreSupport/WebFrameLoaderClient.mm:
1622 * WebView/WebDataSource.mm:
1623 * WebView/WebPDFView.mm:
1625 2008-02-29 Mark Rowe <mrowe@apple.com>
1627 Reviewed by Oliver Hunt and Oliver Hunt.
1629 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
1631 * WebCoreSupport/WebSystemInterface.m:
1632 (InitWebCoreSystemInterface): Remove unused symbol.
1633 * WebKit.order: Ditto.
1635 2008-02-28 Mark Rowe <mrowe@apple.com>
1637 Reviewed by Dave Hyatt.
1639 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
1641 * WebCoreSupport/WebSystemInterface.m:
1642 (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
1644 2008-02-27 Brady Eidson <beidson@apple.com>
1646 Reviewed by Mark Rowe (code) and Darin (concept)
1648 Much better fix for <rdar://problem/4930688> (see r19549)
1649 Original fix for <rdar://problem/3947312> (and 14 dupes)
1651 Let me tell you a story:
1652 A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
1653 WebArchive code was intertwined with that code in bizarre and complex ways.
1654 During the months long loader re-factoring where we pushed much loader code down into WebCore,
1655 many portions of the WebKit loader were thinned out until they ceased to exist. Others remained
1656 with a sole purpose.
1658 One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
1659 to WebLoader was originally rooted in the method [WebLoader loadRequest:]. This method was the
1660 single entry point for almost all loading (network or web archives)
1662 This method would check various headers and other fields on the NSURLRequest and NSURLResponse
1663 to make decisions about the load. If the cache control fields were expired or other conditions
1664 in the headers were met, the load would be forced to go out to the network.
1666 As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.
1667 At some point, all that remained was the special cases for loading WebArchives.
1669 Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
1670 to be WebArchive specific, further cementing the assumed design.
1672 Problem is, the design was bad. A WebArchive is meant to be a static snapshot of a WebPage at a
1673 specific point in time. Referring to the request to see if the resource should be reloaded seems
1674 nonsensical, as does referring to the response headers to see if the resource is "expired". In the
1675 context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
1676 during the initial load!
1678 After discovering the secret to reproducing all of these bugs is both emptying our your Foundation
1679 cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases
1680 that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
1682 * WebCoreSupport/WebFrameLoaderClient.h:
1683 * WebCoreSupport/WebFrameLoaderClient.mm:
1684 (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
1685 inspect the request or response objects - We are loading from a WebArchive, and we should never
1686 make the decision to go out to the network when we actually have the resource available.
1688 * WebCoreSupport/WebSystemInterface.m:
1689 (InitWebCoreSystemInterface): Remove two methods that are no longer used anywhere in WebKit
1691 2008-02-27 Matt Lilek <webkit@mattlilek.com>
1693 Reviewed by Adam Roben.
1695 Bug 14348: Messing up the inspector by dragging an URL into it
1696 http://bugs.webkit.org/show_bug.cgi?id=14348
1697 <rdar://problem/5283620> and <rdar://problem/5712808>
1699 * WebCoreSupport/WebInspectorClient.mm:
1700 (-[WebInspectorWindowController init]): Remove duplicate preference setting.
1701 (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
1703 2008-02-25 Darin Adler <darin@apple.com>
1707 * WebView/WebArchiver.mm:
1708 (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
1709 * WebView/WebFrame.mm:
1710 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
1711 variable name URL to avoid clashing with the renamed KURL in the future. Also use
1713 (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
1714 (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
1715 (-[WebFrame loadHTMLString:baseURL:]): Ditto.
1716 (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
1718 2008-02-24 Darin Adler <darin@apple.com>
1722 - remove separate client calls for "standard" and "reload' history
1724 * WebCoreSupport/WebFrameLoaderClient.h:
1725 * WebCoreSupport/WebFrameLoaderClient.mm:
1726 (WebFrameLoaderClient::updateGlobalHistory):
1728 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
1732 Move basic threading support from WebCore to WTF.
1734 * ForwardingHeaders/wtf/Threading.h: Added.
1735 * ForwardingHeaders/wtf/Locker.h: Added.
1737 2008-02-23 David Kilzer <ddkilzer@apple.com>
1739 Please clarify licensing for some files
1740 <http://bugs.webkit.org/show_bug.cgi?id=14970>
1744 * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
1745 and added Apple BSD-style license.
1746 * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
1748 2008-02-22 John Sullivan <sullivan@apple.com>
1750 Reviewed by Adam Roben
1752 Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
1753 pasteAsPlainText: has the same behavior.
1755 * WebView/WebHTMLView.mm:
1756 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
1757 (-[WebHTMLView readSelectionFromPasteboard:]):
1758 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
1759 (-[WebHTMLView pasteAsRichText:]):
1760 (-[WebHTMLView paste:]):
1761 * WebView/WebView.mm:
1762 * WebView/WebViewPrivate.h:
1764 2008-02-21 Anders Carlsson <andersca@apple.com>
1768 Use BackForwardList::create instead.
1770 * History/WebBackForwardList.mm:
1771 (-[WebBackForwardList init]):
1773 2008-02-21 John Sullivan <sullivan@apple.com>
1775 Reviewed by Jessica Kahn
1777 support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
1779 * WebView/WebHTMLView.mm:
1780 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
1781 added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
1782 (-[WebHTMLView readSelectionFromPasteboard:]):
1783 pass NO for new matchStyle parameter to match old behavior
1784 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
1785 validate pasteAndMatchStyle the same way as pasteAsRichText
1786 (-[WebHTMLView pasteAndMatchStyle:]):
1787 just like pasteAsRichText but passes YES for matchStyle
1788 (-[WebHTMLView pasteAsRichText:]):
1789 pass NO for new matchStyle parameter to match old behavior
1790 (-[WebHTMLView paste:]):
1793 * WebView/WebView.mm:
1794 added macro(pasteAndMatchStyle)
1796 * WebView/WebViewPrivate.h:
1797 added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
1799 2008-02-20 Sam Weinig <sam@webkit.org>
1801 Reviewed by Darin and Geoff.
1803 - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
1805 * WebView/WebView.mm:
1806 (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
1807 There are currently no site-specific quirks on Mac, but we will propagate the state
1808 to WebCore to avoid possible mistakes later.
1810 2008-02-19 Anders Carlsson <andersca@apple.com>
1814 Move back WebKit methods that were unused in WebCore.
1816 * Misc/WebNSURLExtras.mm:
1817 (+[NSURL _web_URLWithData:]):
1818 (+[NSURL _web_URLWithData:relativeToURL:]):
1819 (-[NSURL _web_originalData]):
1820 (-[NSURL _web_originalDataAsString]):
1821 (-[NSURL _web_isEmpty]):
1822 (-[NSURL _webkit_canonicalize]):
1823 (-[NSURL _webkit_URLByRemovingComponent:]):
1824 (-[NSURL _webkit_URLByRemovingFragment]):
1825 (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
1826 (-[NSURL _webkit_isFileURL]):
1827 (-[NSString _webkit_isFileURL]):
1828 * WebCoreSupport/WebFrameLoaderClient.mm:
1829 (WebFrameLoaderClient::setTitle):
1830 * WebCoreSupport/WebSystemInterface.m:
1831 (InitWebCoreSystemInterface):
1833 2008-02-18 Darin Adler <darin@apple.com>
1837 * Misc/WebNSAttributedStringExtras.mm:
1838 (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
1841 2008-02-17 Sam Weinig <sam@webkit.org>
1843 Reviewed by Dan Bernstein.
1845 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
1846 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
1848 * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
1849 mistakenly not migrated.
1851 2008-02-15 Dan Bernstein <mitz@apple.com>
1853 Reviewed by Alexey Proskuryakov.
1855 - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
1856 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
1858 * WebView/WebDataSource.mm:
1859 (+[WebDataSource _representationClassForMIMEType:]):
1860 (-[WebDataSource _responseMIMEType]):
1861 (-[WebDataSource subresources]):
1862 (-[WebDataSource subresourceForURL:]):
1863 * WebView/WebResource.mm:
1864 (-[WebResource _initWithData:URL:response:]):
1865 * WebView/WebResourcePrivate.h:
1867 2008-02-15 Adam Roben <aroben@apple.com>
1869 Make WebKit's FEATURE_DEFINES match WebCore's
1873 * Configurations/WebKit.xcconfig:
1875 2008-02-14 Darin Adler <darin@apple.com>
1877 Reviewed by Eric Seidel.
1879 - updated for WebCore KURL changes
1881 * History/WebHistoryItem.mm:
1882 (-[WebHistoryItem URL]): Removed getNSURL call.
1883 * Misc/WebElementDictionary.mm:
1884 (-[WebElementDictionary _absoluteImageURL]): Ditto.
1885 (-[WebElementDictionary _absoluteLinkURL]): Ditto.
1886 * Misc/WebNSAttributedStringExtras.mm:
1887 (fileWrapperForElement): Ditto.
1888 (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
1889 * Misc/WebNSURLExtras.mm:
1890 (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
1891 for function name change.
1892 * WebCoreSupport/WebContextMenuClient.mm:
1893 (WebContextMenuClient::downloadURL): Removed getNSURL call.
1894 * WebCoreSupport/WebDragClient.mm:
1895 (WebDragClient::createDragImageForLink): Ditto.
1896 * WebCoreSupport/WebFrameLoaderClient.mm:
1897 (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
1898 (WebFrameLoaderClient::startDownload): Ditto.
1899 (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
1900 (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
1901 (WebFrameLoaderClient::cancelledError): Ditto.
1902 (WebFrameLoaderClient::blockedError): Ditto.
1903 (WebFrameLoaderClient::cannotShowURLError): Ditto.
1904 (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
1905 (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
1906 (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
1907 (WebFrameLoaderClient::willUseArchive): Ditto.
1908 (WebFrameLoaderClient::setTitle): Ditto.
1909 (WebFrameLoaderClient::actionDictionary): Ditto.
1910 (WebFrameLoaderClient::createFrame): Ditto.
1911 (WebFrameLoaderClient::objectContentType): Ditto.
1912 (WebFrameLoaderClient::createPlugin): Ditto.
1913 (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
1914 * WebView/WebDataSource.mm:
1915 (-[WebDataSource _URL]): Ditto.
1916 (-[WebDataSource _initWithDocumentLoader:]): Ditto.
1917 (-[WebDataSource unreachableURL]): Ditto.
1918 * WebView/WebHTMLView.mm:
1919 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
1921 2008-02-14 Stephanie Lewis <slewis@apple.com>
1929 2008-02-14 Alexey Proskuryakov <ap@webkit.org>
1931 Reviewed by Adam Roben.
1933 http://bugs.webkit.org/show_bug.cgi?id=17207
1934 Database example doesn't work (requires not-yet-released Safari)
1936 * WebCoreSupport/WebChromeClient.mm:
1937 (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
1940 2008-02-11 Darin Adler <darin@apple.com>
1942 - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
1943 incorrectly due to visibility fix
1945 Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
1947 * Misc/WebKitVersionChecks.h: Removed the constant.
1949 * WebView/WebView.mm:
1950 (-[WebView _needsXcodeVisibilityQuirk]): Removed.
1951 (-[WebView _preferencesChangedNotification:]): Removed call to
1952 setNeedsXcodeVisibilityQuirk.
1954 2008-02-12 Anders Carlsson <andersca@apple.com>
1958 * WebCoreSupport/WebFrameBridge.mm:
1959 * WebCoreSupport/WebViewFactory.mm:
1960 (-[WebViewFactory imageTitleForFilename:size:]):
1961 Move implementation from WebFrameBridge to WebViewFactory.
1963 2008-02-11 Darin Adler <darin@apple.com>
1967 - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
1968 incorrectly due to visibility fix
1970 Added an Xcode-specific quirk.
1972 * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
1975 * WebView/WebView.mm:
1976 (-[WebView _needsXcodeVisibilityQuirk]): Added.
1977 (-[WebView _preferencesChangedNotification:]): Added a call to
1978 setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
1980 2008-02-10 Darin Adler <darin@apple.com>
1982 - fix http://bugs.webkit.org/show_bug.cgi?id=17274
1983 REGRESSION: User Agent string broken in r30119
1985 * WebView/WebView.mm:
1986 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
1987 Fix wrong variable name. Doh!
1989 2008-02-09 Darin Adler <darin@apple.com>
1991 Reviewed by Tim Hatcher.
1993 - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
1995 * WebView/WebView.mm:
1996 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
1997 garbage collector's Objective C++ support by not initializing a static to an object
1998 that needs to be marked when running under GC.
2000 2008-02-05 Dan Bernstein <mitz@apple.com>
2002 Reviewed by Darin Adler.
2004 - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
2006 The key bindings are Command-Control-left arrow and
2007 Command-Control-right arrow. To match AppKit, the bindings are enabled
2008 only when certain user defaults are set.
2010 * WebView/WebHTMLView.mm:
2011 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2012 (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
2013 Frame::baseWritingDirectionForSelectionStart() and
2014 Editor::setBaseWritingDirection() directly.
2015 (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
2016 (writingDirectionKeyBindingsEnabled): Added.
2017 (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
2019 (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
2020 (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
2021 * WebView/WebView.mm:
2023 2008-02-05 Mark Rowe <mrowe@apple.com>
2025 Unreviewed build fix.
2027 * WebView/WebView.mm: Add missing #import.
2029 2008-02-05 Mark Rowe <mrowe@apple.com>
2031 Reviewed by Oliver Hunt.
2033 Update versioning to support the mysterious future.
2035 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
2037 2008-01-30 Justin Garcia <justin.garcia@apple.com>
2039 Reviewed by Darin Adler.
2041 <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
2043 * WebView/WebHTMLView.mm:
2044 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought
2045 this back, it's used by Mail.
2046 (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
2047 also used by Mail. Moved to WebPrivate.
2048 * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
2049 accidently remove them in the future.
2051 2008-01-30 Mark Rowe <mrowe@apple.com>
2053 Reviewed by Oliver Hunt.
2055 Move off deprecated NSTableView methods.
2057 * WebView/WebHTMLView.mm:
2058 (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
2059 (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
2060 (-[WebTextCompleteController filterKeyDown:]): Ditto.
2062 2008-01-26 Mark Rowe <mrowe@apple.com>
2064 Reviewed by Darin Adler.
2066 Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
2068 * Misc/WebNSDataExtras.m:
2069 (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
2070 to the new CFString so that they will be freed when no longer needed.
2072 2008-01-26 Greg Bolsinga <bolsinga@apple.com>
2074 <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
2078 * WebCoreSupport/WebDashboardRegion.h: Removed.
2079 * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
2081 2008-01-21 Darin Adler <darin@apple.com>
2083 Reviewed by John Sullivan.
2085 - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
2086 - add a missing export of WebDatabaseExpectedSizeKey
2087 - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
2089 * Storage/WebDatabaseManager.mm:
2090 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
2091 name instead of calling isValid().
2092 (-[WebDatabaseManager deleteOrigin:]): Implemented.
2093 (WebKitInitializeDatabasesIfNecessary): Updated for name change.
2095 * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
2097 * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
2098 * WebCoreSupport/WebChromeClient.mm:
2099 (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
2100 we had before with a single one.
2102 * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
2104 * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
2105 * WebView/WebPreferences.m:
2106 (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
2107 * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
2108 setDefaultDatabaseQuota:.
2110 * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
2111 methods we had before with a single one.
2113 * WebView/WebView.mm:
2114 (-[WebView _preferencesChangedNotification:]): Removed the code to set the
2115 default database origin quota in WebCore::Settings based on WebPreferences.
2117 * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
2118 types of parameters that the database UI delegate methods had before.
2120 2008-01-20 Mark Rowe <mrowe@apple.com>
2122 Reviewed by Dan Bernstein.
2124 Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
2125 interested in supporting Safari 2 with TOT WebKit.
2127 * WebView/WebView.mm:
2128 (+[WebView initialize]):
2130 2008-01-17 Timothy Hatcher <timothy@apple.com>
2132 Reviewed by Adam Roben.
2134 <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
2135 and inactive text selection after loading a page
2136 Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
2138 The problem was other frames were changing the FocusController's active
2139 status to false after the first responder frame set it to true. The last
2140 frame to call _updateActiveState would win.
2142 * WebView/WebHTMLView.mm:
2143 (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
2144 if the first responder is the current WebHTMLView or the WebFrameView.
2145 (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
2147 2008-01-18 Adam Roben <aroben@apple.com>
2149 Rename _updateActiveState to _updateFocusedAndActiveState
2151 Also renamed any related methods/members similarly.
2155 * WebView/WebHTMLView.mm:
2156 (-[WebHTMLViewPrivate dealloc]):
2157 (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
2158 (-[WebHTMLView close]):
2159 (_updateFocusedAndActiveStateTimerCallback):
2160 (-[WebHTMLView viewWillMoveToWindow:]):
2161 (-[WebHTMLView viewDidMoveToWindow]):
2162 (-[WebHTMLView windowDidBecomeKey:]):
2163 (-[WebHTMLView windowDidResignKey:]):
2164 (-[WebHTMLView becomeFirstResponder]):
2165 (-[WebHTMLView resignFirstResponder]):
2166 * WebView/WebHTMLViewInternal.h:
2167 * WebView/WebHTMLViewPrivate.h:
2169 2008-01-17 John Sullivan <sullivan@apple.com>
2173 - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
2175 * WebView/WebFrameView.mm:
2176 (-[WebFrameView initWithCoder:]):
2177 override to bump the global WebFrameView count
2179 2008-01-16 Adam Roben <aroben@apple.com>
2181 Updated for renames/removal of WebCore methods.
2185 * Plugins/WebPluginController.mm:
2186 (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
2187 ask isFocusedAndActive directly, instead of going through the frame
2189 * WebView/WebHTMLView.mm:
2190 (-[WebHTMLView _updateActiveState]): Updated for method renames.
2192 2008-01-16 John Sullivan <sullivan@apple.com>
2194 Reviewed by Adam and Dan
2196 - cleaned up some existing logging
2198 * WebView/WebHTMLView.mm:
2199 (-[WebHTMLView setNeedsDisplay:]):
2200 add method name to log, use "YES" and "NO" instead of (int)flag
2201 (-[WebHTMLView setNeedsLayout:]):
2203 (-[WebHTMLView setNeedsToApplyStyles:]):
2206 2008-01-15 Geoffrey Garen <ggaren@apple.com>
2208 Reviewed by Andre Boule.
2210 Fixed <rdar://problem/5667627> [WebCache empty] implementation should
2211 not disable/enable the cache
2213 Toggle the cache model instead -- toggling disable/enable just causes
2214 the cache to forget about resources, not reclaim their memory.
2217 (+[WebCache empty]):
2218 * WebView/WebView.mm:
2219 * WebView/WebViewInternal.h:
2221 2008-01-15 Adele Peterson <adele@apple.com>
2223 Reviewed by Adam and Antti.
2225 WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
2227 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2228 Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack.
2230 2008-01-10 Geoffrey Garen <ggaren@apple.com>
2232 Reviewed by John Sullivan.
2234 Fixed some world leak reports:
2235 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
2236 Interpreter after running cvs-base suite
2238 * <rdar://problem/5669423> PLT complains about world leak if browser
2239 window is open when PLT starts
2241 These were both bugs in the reporting mechanism, so I took the
2242 opportunity to do some house cleaning there.
2244 * Misc/WebCoreStatistics.h: Did a little renaming, to match
2245 JavaScriptCore better. I kept the methods with the old names around,
2246 though, because old versions of Safari need them.
2248 * Misc/WebCoreStatistics.mm: Removed dependence on
2249 WebCore::JavaScriptStatistics, which is gone now.
2251 These two methods are now distinct, for the sake of world leak reporting:
2252 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
2253 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
2255 2008-01-10 Maciej Stachowiak <mjs@apple.com>
2257 Not reviewed. Build fix.
2259 - Attempt to fix mac build.
2261 * Storage/WebDatabaseManager.mm:
2263 2008-01-10 Maciej Stachowiak <mjs@apple.com>
2267 - remove SecurityOriginData and fold its functionality into SecurityOrigin
2269 * Storage/WebDatabaseManager.mm:
2270 (-[WebDatabaseManager origins]):
2271 (-[WebDatabaseManager databasesWithOrigin:]):
2272 (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
2273 (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
2274 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
2275 * Storage/WebDatabaseTrackerClient.h:
2276 * Storage/WebDatabaseTrackerClient.mm:
2277 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
2278 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
2279 * Storage/WebSecurityOrigin.mm:
2280 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
2281 (-[WebSecurityOrigin protocol]):
2282 (-[WebSecurityOrigin domain]):
2283 (-[WebSecurityOrigin port]):
2284 (-[WebSecurityOrigin usage]):
2285 (-[WebSecurityOrigin quota]):
2286 (-[WebSecurityOrigin setQuota:]):
2287 (-[WebSecurityOrigin isEqual:]):
2288 (-[WebSecurityOrigin dealloc]):
2289 (-[WebSecurityOrigin finalize]):
2290 (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
2291 (-[WebSecurityOrigin _core]):
2292 * Storage/WebSecurityOriginInternal.h:
2293 * WebCoreSupport/WebChromeClient.h:
2294 * WebCoreSupport/WebChromeClient.mm:
2295 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2296 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2298 2008-01-10 Sam Weinig <sam@webkit.org>
2300 Reviewed by Anders Carlsson.
2302 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
2303 <rdar://problem/5657355>
2305 * Plugins/WebBaseNetscapePluginView.mm:
2306 (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
2307 to ensure the shouldAllowNavigation check is made.
2309 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
2313 Enable SVG_FONTS by default.
2315 * Configurations/WebKit.xcconfig:
2317 2008-01-07 Adele Peterson <adele@apple.com>
2319 Reviewed by Antti, Adam, and Mitz.
2321 WebKit part of fix for
2322 <rdar://problem/5619073> Updated look for <video> controls
2323 <rdar://problem/5619057> Add volume control to video controls
2325 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
2327 2008-01-07 Dan Bernstein <mitz@apple.com>
2329 Reviewed by Dave Hyatt.
2331 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
2333 * Misc/WebNSAttributedStringExtras.mm:
2335 2008-01-03 Alexey Proskuryakov <ap@webkit.org>
2339 <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
2341 * WebView/WebView.mm:
2342 (-[WebView _executeCoreCommandByName:value:]):
2343 * WebView/WebViewPrivate.h:
2344 Added an SPI to implement layoutTestController.execCommand.
2346 2008-01-03 Kevin Decker <kdecker@apple.com>
2350 Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
2352 * Misc/WebNSFileManagerExtras.h:
2353 * Misc/WebNSFileManagerExtras.m:
2354 (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
2355 "Where from:" metadata information.
2356 * WebView/WebHTMLView.mm:
2357 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
2359 2008-01-03 Alice Liu <alice.liu@apple.com>
2363 This fixes pageup/down in iframes. test for this is fast/frames/iframe-scroll-page-up-down.html
2365 * WebView/WebHTMLView.mm:
2366 (-[WebHTMLView doCommandBySelector:]):
2367 Have the editor handle all the commands it supports instead of just text commands.
2368 If not handled by the editor, the webview will handle the command.
2370 2008-01-02 Kevin Decker <kdecker@apple.com>
2374 Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
2376 * Plugins/WebBaseNetscapePluginView.mm:
2377 (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
2378 to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
2380 2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
2384 - fix http://bugs.webkit.org/show_bug.cgi?id=16700
2385 Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
2387 * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
2388 -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
2391 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
2395 Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
2397 * MigrateHeaders.make:
2399 2007-12-25 Dan Bernstein <mitz@apple.com>
2401 Reviewed by Oliver Hunt.
2403 - fix an assertion failure when pressing the num lock key
2405 * WebView/WebHTMLView.mm:
2406 (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
2409 2007-12-20 Darin Adler <darin@apple.com>
2413 - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
2415 * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
2416 selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
2417 deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
2418 moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
2419 selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
2422 2007-12-20 Kevin Decker <kdecker@apple.com>
2426 Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
2428 * Plugins/WebBaseNetscapePluginView.mm:
2429 (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
2430 writing to the window backing store. The problem was that change-set 28400 introduced an early return
2431 which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
2432 plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
2434 2007-12-19 Geoffrey Garen <ggaren@apple.com>
2436 Reviewed by Oliver Hunt.
2440 * ForwardingHeaders/kjs/SymbolTable.h: Added.
2441 * ForwardingHeaders/wtf/VectorTraits.h: Added.
2443 2007-12-16 Mark Rowe <mrowe@apple.com>
2445 Reviewed by Maciej Stachowiak.
2447 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
2449 * Plugins/WebBaseNetscapePluginStream.h:
2450 * Plugins/WebNetscapePluginStream.h:
2451 * Plugins/WebNetscapePluginStream.mm:
2452 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
2453 (-[WebNetscapePluginStream dealloc]):
2454 (-[WebNetscapePluginStream finalize]):
2455 * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
2456 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
2457 (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
2458 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
2459 (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
2460 (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
2461 (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
2462 (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
2464 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
2468 http://bugs.webkit.org/show_bug.cgi?id=14140
2469 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
2471 * WebView/WebHTMLView.mm:
2472 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
2473 when handling keypress, too.
2474 (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
2475 (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
2476 restore the state for additional commands to be saved correctly.
2478 2007-12-14 David D. Kilzer <ddkilzer@apple.com>
2480 <rdar://problem/5647272> Remove user agent string hack for flickr.com
2484 * WebView/WebView.mm:
2485 (-[WebView _userAgentForURL:]): Removed hack.
2487 2007-12-14 David D. Kilzer <ddkilzer@apple.com>
2489 <rdar://problem/5647261> Remove user agent string hack for yahoo.com
2493 * WebView/WebView.mm:
2494 (-[WebView _userAgentForURL:]): Removed hack.
2496 2007-12-14 Darin Adler <darin@apple.com>
2500 - fix http://bugs.webkit.org/show_bug.cgi?id=16296
2501 <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
2503 * WebView/WebView.mm:
2504 (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
2505 a didReceiveIcon method is present.
2507 2007-12-14 Darin Adler <darin@apple.com>
2511 - Changed a few more editing operations to use WebCore instead of WebKit.
2512 - Removed some obsolete unused code.
2514 * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
2515 defined and used on the WebKit side to here. These no longer belong on the bridge
2516 and should be moved to the WebFrame class (or elsewhere).
2517 * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
2519 * WebView/WebFrameView.mm:
2520 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
2522 * WebView/WebHTMLView.mm:
2523 (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
2524 (-[WebHTMLViewPrivate clear]): Ditto.
2525 (-[WebHTMLView _setMouseDownEvent:]): Ditto.
2526 (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
2527 pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
2528 to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
2529 disambiguated with the word "Move"). Added deleteBackward:,
2530 deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
2531 deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
2532 pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
2533 selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
2534 forwarded to WebCore.
2535 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
2536 operations that we forward to WebCore. Instead, look up any command that WebCore can
2537 handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
2538 an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
2539 would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
2540 (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
2541 (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
2542 (-[WebHTMLView resignFirstResponder]): Ditto.
2543 (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
2545 * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
2546 firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
2547 _willMakeFirstResponderForNodeFocus.
2549 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
2553 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
2555 * Misc/WebKitVersionChecks.h:
2556 * WebView/WebView.mm:
2557 (-[WebView _needsKeyboardEventHandlingQuirks]):
2558 (-[WebView _preferencesChangedNotification:]):
2560 2007-12-12 Brady Eidson <beidson@apple.com>
2562 Reviewed by Sam Weinig
2564 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
2566 * WebCoreSupport/WebCachedPagePlatformData.h: Added.
2567 (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
2568 (WebCachedPagePlatformData::clear):
2569 (WebCachedPagePlatformData::webDocumentView):
2571 * WebCoreSupport/WebFrameLoaderClient.h:
2572 * WebCoreSupport/WebFrameLoaderClient.mm:
2573 (WebFrameLoaderClient::savePlatformDataToCachedPage):
2574 (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
2575 because that is now done in WebCore.
2576 (WebFrameLoaderClient::transitionToCommittedForNewPage):
2578 2007-12-12 Mark Rowe <mrowe@apple.com>
2580 Reviewed by Dave Kilzer.
2582 Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
2584 * Configurations/WebKit.xcconfig:
2586 2007-12-11 Sam Weinig <sam@webkit.org>
2588 Reviewed by Darin Adler.
2590 Scrub URL out of the tree in preparation for renaming KURL to URL.
2592 * WebCoreSupport/WebFrameLoaderClient.mm:
2593 (WebFrameLoaderClient::actionDictionary):
2594 * WebView/WebDataSource.mm:
2595 (-[WebDataSource _URL]):
2596 * WebView/WebView.mm:
2597 (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2599 2007-12-11 Darin Adler <darin@apple.com>
2603 - change more editing commands to use WebCore::Editor
2604 - change to use the new WebCore::Editor::command() function
2606 * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
2607 alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
2608 insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
2609 subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
2610 to use the "forward to WebCore" macro instead of having hand-written implementations.
2611 (kit): Added function to change a TriState to an AppKit-style tri-state value.
2612 (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
2613 first character or copies the selector name, since the Editor commands are not case
2614 sensitive any more. Returns a command object.
2615 (-[WebHTMLView coreCommandByName:]): Added.
2616 (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
2617 and changed to use the new coreCommandBySelector: method.
2618 (-[WebHTMLView executeCoreCommandByName:]): Added.
2619 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
2620 methods that call through to WebCore to also use the state() and isEnabled()
2621 functions on the commands for the menu item state and user interface item enabling.
2622 (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
2623 name rather than having local methods for them; no need for methods with a single
2625 (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
2626 than the deprecated execCommand().
2627 (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
2628 than the deprecated execCommand().
2629 * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
2631 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
2635 <rdar://problem/5535636>
2636 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
2638 http://bugs.webkit.org/show_bug.cgi?id=13916
2639 JavaScript detects Tab as a character input on a textfield validation
2641 * WebCoreSupport/WebEditorClient.h:
2642 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2643 Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
2644 * WebCoreSupport/WebEditorClient.mm:
2645 (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
2646 to get tests working. I guess Mac keyboard event handling needs further refactoring.
2648 * WebView/WebHTMLView.mm:
2649 (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
2650 from callWebCoreCommand:.
2651 (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
2653 * WebView/WebPDFView.mm:
2654 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2655 Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
2657 2007-12-10 Brady Eidson <beidson@apple.com>
2659 Reviewed by John Sullivan
2661 Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
2663 This is because a common UI case is to want to know the originating URL of a Database
2665 * WebCoreSupport/WebChromeClient.mm:
2666 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
2667 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
2669 * WebView/WebUIDelegatePrivate.h:
2671 * WebView/WebView.mm:
2672 (CallDelegateReturningUnsignedLongLong):
2673 (CallUIDelegateReturningUnsignedLongLong):
2674 * WebView/WebViewInternal.h:
2676 2007-12-10 Timothy Hatcher <timothy@apple.com>
2678 Reviewed by Mark Rowe.
2680 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2682 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2683 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2685 2007-12-10 Kevin Decker <kdecker@apple.com>
2689 Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
2691 * WebView/WebHTMLView.mm:
2692 (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
2694 2007-12-08 Oliver Hunt <oliver@apple.com>
2698 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2700 Fixes <rdar://problem/5620249> Must disable SVG animation
2701 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2703 Minor updates to the feature flags used.
2705 * Configurations/WebKit.xcconfig:
2706 * DOM/WebDOMOperations.mm:
2708 2007-12-07 Darin Adler <darin@apple.com>
2710 Reviewed by Kevin Decker and Tim Hatcher.
2712 - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
2713 in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
2715 * WebView/WebHTMLView.mm:
2716 (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
2717 and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
2718 (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
2719 window goes away, and the view is never removed from the window.
2720 (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
2722 2007-12-07 Darin Adler <darin@apple.com>
2726 - http://bugs.webkit.org/show_bug.cgi?id=15981
2727 speed up visited-link code a bit
2729 * History/WebHistory.mm: Removed unused Latin-1 code path.
2730 (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
2732 2007-12-07 Geoffrey Garen <ggaren@apple.com>
2734 Reviewed by Sam Weinig.
2736 Added a forwarding header, since we now #include nodes.h through some
2737 JavaScriptCore headers.
2739 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
2741 2007-12-06 Brady Eidson <beidson@apple.com>
2743 Reviewed by Oliver's rubber stamp
2745 Let's go ahead and call the correct UI Delegate method, shall we?
2747 * WebCoreSupport/WebChromeClient.mm:
2748 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
2750 2007-12-06 Adam Roben <aroben@apple.com>
2752 Remove some assertions we know can fire and replace them with a FIXME
2756 * WebCoreSupport/WebFrameLoaderClient.mm:
2758 2007-12-06 Timothy Hatcher <timothy@apple.com>
2760 Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
2761 Only assert if the major version is zero, since zero is handled in the other cases.
2763 * WebView/WebView.mm:
2764 (callGestalt): Remove the ASSERT.
2765 (createMacOSXVersionString): ASSERT that major is not zero.
2767 2007-12-06 Darin Adler <darin@apple.com>
2769 Reviewed by Tim Hatcher.
2771 - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
2773 * WebView/WebView.mm:
2774 (callGestalt): Added.
2775 (createMacOSXVersionString): Added.
2776 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
2777 right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
2778 "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
2779 (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
2781 2007-12-04 Geoffrey Garen <ggaren@apple.com>
2783 Reviewed by Darin Adler.
2785 Third step in refactoring JSGlobalObject: Moved data members and data
2786 member access from Interpreter to JSGlobalObject.
2788 * WebView/WebFrame.mm:
2789 (-[WebFrame _attachScriptDebugger]):
2791 2007-12-04 Kevin McCullough <kmccullough@apple.com>
2796 - Security Fix. Instead of having it off by default, WebKit now must
2797 explicitly turn off local-resource restriction when needed for backwards
2798 coimpatibility reasons.
2800 * WebView/WebView.mm:
2801 (-[WebView _commonInitializationWithFrameName:groupName:]):
2803 2007-12-05 Brady Eidson <beidson@apple.com>
2805 Reviewed by Kevin Deckers rubberstamp
2807 Disclose and export the Databases Directory defaults key
2809 * Storage/WebDatabaseManager.mm:
2810 * Storage/WebDatabaseManagerPrivate.h:
2813 2007-12-04 Kevin Decker <kdecker@apple.com>
2817 <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
2819 * WebCoreSupport/WebViewFactory.mm:
2820 (-[WebViewFactory pluginNameForMIMEType:]): Added.
2822 2007-12-04 Brady Eidson <beidson@apple.com>
2824 Reviewed by Mark Rowe
2826 Tweaked the way we typedef and cast these objc_msgSend calls
2828 * WebView/WebView.mm:
2829 (CallDelegateReturningUnsignedLongLong):
2831 2007-12-04 John Sullivan <sullivan@apple.com>
2833 Reviewed by Brady Eidson (with help from Mark Rowe)
2835 Fixed return values for unsigned-long-long delegate methods
2837 * WebView/WebView.mm:
2838 (CallDelegateReturningUnsignedLongLong):
2839 redid the change that Brady did at home over the weekend but forgot to check in
2841 2007-11-27 Adam Roben <aroben@apple.com>
2843 Remove -[WebFrameBridge setNeedsReapplyStyles]
2845 This functionality is now WebCore's responsibility.
2849 * WebCoreSupport/WebFrameBridge.mm:
2852 2007-12-04 John Sullivan <sullivan@apple.com>
2856 Added deleteOrigin: SPI, which isn't fully implemented
2858 * Storage/WebDatabaseManagerPrivate.h:
2859 * Storage/WebDatabaseManager.mm:
2860 (-[WebDatabaseManager deleteOrigin:]):
2861 just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
2863 2007-12-04 Timothy Hatcher <timothy@apple.com>
2865 Reviewed by Mark Rowe.
2867 Remove a check for early versions of Leopard CFNetwork now that
2868 Leopard has shipped.
2870 * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
2871 * WebView/WebView.mm:
2872 (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
2874 2007-12-04 Kevin Decker <kdecker@apple.com>
2878 Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
2880 This fix is exactly the same as chageset 28359 with the exception of an added early return in
2881 updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
2883 The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
2884 only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with
2885 Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context
2886 regardless of whether or not it actually needs to draw.
2888 * Plugins/WebBaseNetscapePluginView.mm:
2889 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
2890 down an ASSERT that was too strict.
2891 (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
2892 which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
2893 function. Also tweaked a comment and added an early return if the plug-in can't draw.
2895 2007-12-04 Darin Adler <darin@apple.com>
2897 Reviewed by Kevin Decker.
2899 * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
2900 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
2901 * WebKit.order: Ditto.
2903 2007-12-03 Dan Bernstein <mitz@apple.com>
2905 Reviewed by Dave Hyatt.
2907 - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
2909 * WebView/WebHTMLView.mm:
2910 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
2911 that checked if the view had resized and sent the resize event, since
2912 FrameView sends resize events now.
2913 * WebView/WebHTMLViewInternal.h:
2915 2007-12-03 Timothy Hatcher <timothy@apple.com>
2919 Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
2920 to return a pointer to the implementation struct instead of a copy of the struct. This changes
2921 all of the callers to dereference the pointer to access the struct fields.
2923 * Plugins/WebNullPluginView.mm:
2924 (-[WebNullPluginView reportFailure]):
2925 * WebCoreSupport/WebFrameBridge.mm:
2926 * WebCoreSupport/WebFrameLoaderClient.mm:
2927 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2928 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2929 (WebFrameLoaderClient::dispatchWillSendRequest):
2930 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2931 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2932 (WebFrameLoaderClient::dispatchDidReceiveResponse):
2933 (WebFrameLoaderClient::willCacheResponse):
2934 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2935 (WebFrameLoaderClient::dispatchDidFinishLoading):
2936 (WebFrameLoaderClient::dispatchDidFailLoading):
2937 (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
2938 (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
2939 (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
2940 (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
2941 (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
2942 (WebFrameLoaderClient::dispatchWillClose):
2943 (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2944 (WebFrameLoaderClient::dispatchDidReceiveTitle):
2945 (WebFrameLoaderClient::dispatchDidCommitLoad):
2946 (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
2947 (WebFrameLoaderClient::dispatchDidFailLoad):
2948 (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
2949 (WebFrameLoaderClient::dispatchDidFinishLoad):
2950 (WebFrameLoaderClient::dispatchDidFirstLayout):
2951 * WebView/WebView.mm:
2952 (WebViewGetResourceLoadDelegateImplementations):
2953 (WebViewGetFrameLoadDelegateImplementations):
2954 (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
2955 * WebView/WebViewInternal.h:
2957 2007-12-03 Timothy Hatcher <timothy@apple.com>
2959 Reviewed by Brady Eidson.
2961 <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
2962 <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
2963 <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
2964 WebViewGetResourceLoadDelegateImplementations + 28
2966 * WebView/WebView.mm:
2967 (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
2968 implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
2969 (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
2970 (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
2971 if the WebView is nil. This fixes the crashes.
2972 (WebViewGetFrameLoadDelegateImplementations): Ditto.
2974 2007-12-02 Geoffrey Garen <ggaren@apple.com>
2976 Reviewed by Eric Seidel.
2978 Updated to match the JavaScriptCore change to move virtual methods from
2979 Interpreter to JSGlobalObject.
2981 * WebView/WebFrame.mm:
2982 (-[WebFrame globalContext]): Use the toRef function instead of manually
2985 2007-12-01 Brady Eidson <beidson@apple.com>
2989 Added a default database quota of 5mb to the default WebPreferences
2991 * WebView/WebPreferences.m:
2992 (+[WebPreferences initialize]):
2994 2007-11-30 John Sullivan <sullivan@apple.com>
2996 Reviewed by Geoff Garen
2998 Added another symbol for WebDatabaseManager clients
3001 added .objc_class_name_WebSecurityOrigin
3003 2007-11-30 Brady Eidson <beidson@apple.com>
3007 Add isEqual operator to WebSecurityOrigin
3009 * Storage/WebSecurityOrigin.mm:
3010 (-[WebSecurityOrigin isEqual:]):
3012 2007-11-30 John Sullivan <sullivan@apple.com>
3016 Tweaks to newly-declared NSString * constants to make them usable from clients
3018 * Storage/WebDatabaseManagerPrivate.h:
3019 * Storage/WebDatabaseManager.mm:
3020 removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
3023 export new NSNotification names and userInfo keys so clients can use them
3025 2007-11-29 Anders Carlsson <andersca@apple.com>
3029 Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
3031 This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
3032 is using the setter and not messing around with NSUserDefaults.
3034 * WebView/WebPreferenceKeysPrivate.h:
3035 * WebView/WebPreferences.m:
3036 (+[WebPreferences initialize]):
3037 (-[WebPreferences shrinksStandaloneImagesToFit]):
3038 (-[WebPreferences setShrinksStandaloneImagesToFit:]):
3040 2007-11-29 Brady Eidson <beidson@apple.com>
3044 Support for <rdar://problem/5556381> and <rdar://problem/5556379>
3046 Hook up UI Delegate calls for the database engine feature and other small tweaks
3048 * Storage/WebDatabaseManager.mm:
3049 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
3050 (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
3051 * Storage/WebDatabaseManagerPrivate.h:
3053 * Storage/WebDatabaseTrackerClient.h:
3054 * Storage/WebDatabaseTrackerClient.mm:
3055 (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
3057 * WebCoreSupport/WebChromeClient.h:
3058 * WebCoreSupport/WebChromeClient.mm:
3059 (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
3060 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
3062 * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
3064 * WebView/WebView.mm:
3065 (CallDelegateReturningUnsignedLongLong):
3066 (CallUIDelegateReturningUnsignedLongLong):
3067 * WebView/WebViewInternal.h:
3069 2007-11-28 Kevin McCullough <kmccullough@apple.com>
3073 - Added recursive runloop guards.
3075 * DefaultDelegates/WebScriptDebugServer.m:
3076 (-[WebScriptDebugServer suspendProcessIfPaused]):
3078 2007-11-29 Mark Rowe <mrowe@apple.com>
3080 Reviewed by Oliver Hunt.
3082 Fix an assertion failure seen on the layout tests, and when closing the window after
3083 visiting <http://www.coudal.com/losalamos/>.
3085 * Plugins/WebBaseNetscapePluginStream.mm:
3086 (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
3087 descriptor even when the stream is being destroyed without the load completing. This
3088 avoids leaking the path and file descriptor, and leaving the temporary file on disk.
3090 2007-11-28 Adele Peterson <adele@apple.com>
3094 Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
3096 The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
3097 WebHTMLView to prevent future problems in other methods as well.
3099 * WebView/WebHTMLView.mm:
3100 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
3101 (-[WebHTMLView keyDown:]):
3102 (-[WebHTMLView keyUp:]):
3103 (-[WebHTMLView flagsChanged:]):
3104 (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
3105 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
3106 (-[WebHTMLView checkSpelling:]):
3107 (-[WebHTMLView showGuessPanel:]):
3108 (-[WebHTMLView indent:]):
3109 (-[WebHTMLView outdent:]):
3110 (-[WebHTMLView paste:]):
3111 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3112 (-[WebHTMLView insertText:]):
3113 (-[WebHTMLView selectionTextRects]):
3115 2007-11-28 Dan Bernstein <mitz@apple.com>
3117 Reviewed by Maciej Stachowiak.
3119 - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
3121 * WebView/WebHTMLView.mm:
3122 (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
3123 because addMouseMovedObserver returns early if the dataSource
3124 is not nil. But if the dataSource is already set (which happens when
3125 a WebHTMLView is being reused) then addMouseMovedObserver must not
3128 2007-11-27 Anders Carlsson <andersca@apple.com>
3132 * Storage/WebDatabaseManager.mm:
3133 * Storage/WebDatabaseManagerPrivate.h:
3134 * Storage/WebDatabaseTrackerClient.mm:
3135 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
3136 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
3137 * Storage/WebSecurityOrigin.mm:
3138 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
3139 * Storage/WebSecurityOriginInternal.h:
3141 2007-11-27 Kevin Decker <kdecker@apple.com>
3143 Reviewed by Darin, landed by Anders.
3145 Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
3147 The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
3148 shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
3149 database will compare bundle versions and always load the latest version.
3151 * Plugins/WebBasePluginPackage.h:
3152 * Plugins/WebBasePluginPackage.m:
3153 (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
3154 but we think for now it's good enough for us.
3155 * Plugins/WebPluginDatabase.m:
3156 (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
3157 If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
3158 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
3160 2007-11-26 Timothy Hatcher <timothy@apple.com>
3162 Reviewed by Dave Hyatt.
3164 <rdar://problem/5569233> Add the ability to disable author and user CSS styles
3166 * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
3167 * WebView/WebPreferences.m:
3168 (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
3169 (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
3170 (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
3171 * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
3172 * WebView/WebView.mm:
3173 (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
3175 2007-11-26 Brady Eidson <beidson@apple.com>
3177 Reviewed by Mark Rowe
3179 Provide API for setting the default storage quota per database origin
3181 * Misc/WebNSDictionaryExtras.h:
3182 * Misc/WebNSDictionaryExtras.m:
3183 (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
3185 * WebView/WebPreferenceKeysPrivate.h:
3186 * WebView/WebPreferences.m:
3187 (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
3188 (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
3189 (-[WebPreferences defaultDatabaseQuota]):
3190 (-[WebPreferences setDefaultDatabaseQuota:]):
3191 * WebView/WebPreferencesPrivate.h:
3193 * WebView/WebView.mm:
3194 (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
3196 2007-11-26 Darin Adler <darin@apple.com>
3200 - some middle-mouse-button-related fixes
3202 These don't affect Safari since it maps the middle mouse button to the command key,
3203 but that might not always be the case for future versions.
3205 * WebView/WebHTMLView.mm:
3206 (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
3207 (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
3208 (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
3210 * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
3212 2007-11-26 Anders Carlsson <andersca@apple.com>
3216 Get rid of the WebSecurityOriginPrivate object and store
3217 the WebCore::SecurityOriginData pointer in the _private field of
3218 the WebSecurityOrigin object instead.
3220 * Storage/WebDatabaseManager.mm:
3221 (-[WebDatabaseManager databasesWithOrigin:]):
3222 (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
3223 (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
3224 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
3225 * Storage/WebSecurityOrigin.mm:
3226 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
3227 (-[WebSecurityOrigin protocol]):
3228 (-[WebSecurityOrigin domain]):
3229 (-[WebSecurityOrigin port]):
3230 (-[WebSecurityOrigin usage]):
3231 (-[WebSecurityOrigin quota]):
3232 (-[WebSecurityOrigin setQuota:]):
3233 (-[WebSecurityOrigin dealloc]):
3234 (-[WebSecurityOrigin finalize]):
3235 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
3236 (-[WebSecurityOrigin _core]):
3237 * Storage/WebSecurityOriginInternal.h:
3239 2007-11-26 Timothy Hatcher <timothy@apple.com>
3241 Reviewed by Adam Roben.
3243 Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
3244 http://bugs.webkit.org/show_bug.cgi?id=16137
3246 Create the Web Inspector window with the textured style. Set the content border
3247 thickness for the top of the window or the height of the toolbar. Also make the
3248 window's bottom corners square, since a normal textured window normally has
3249 rounded bottom corners.
3251 * WebCoreSupport/WebInspectorClient.mm:
3252 (-[WebInspectorWindowController window]):
3254 2007-11-24 Mark Rowe <mrowe@apple.com>
3258 * Plugins/WebBaseNetscapePluginStream.mm:
3259 (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
3261 2007-11-24 Mark Rowe <mrowe@apple.com>
3263 Reviewed by Tim Hatcher.
3265 Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
3266 http://bugs.webkit.org/show_bug.cgi?id=13705
3268 Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
3269 dumping the data to disk in a single go when the stream has completed loading. On a test case
3270 involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
3271 on page load from around 400MB to 22MB.
3273 The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
3274 example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
3276 * Plugins/WebBaseNetscapePluginStream.h:
3277 * Plugins/WebBaseNetscapePluginStream.mm:
3278 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
3279 (-[WebBaseNetscapePluginStream dealloc]):
3280 (-[WebBaseNetscapePluginStream finalize]):
3281 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
3282 (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
3283 (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
3285 (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
3286 that the file exists before _destroyStream passes it to the plugin. Simulating the arrival of an empty data block
3287 ensure that the file will be created if it has not already.
3288 (-[WebBaseNetscapePluginStream receivedData:]):
3289 (CarbonPathFromPOSIXPath):
3290 * Plugins/WebBaseNetscapePluginView.mm:
3291 (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
3292 it to finishedLoading.
3293 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
3295 2007-11-23 Oliver Hunt <oliver@apple.com>
3297 Reviewed by Mark Rowe.
3299 Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
3301 * WebView/WebHTMLView.mm:
3302 (-[WebHTMLView mouseDown:]):
3304 2007-11-22 Dan Bernstein <mitz@apple.com>
3306 Reviewed by Antti Koivisto.
3308 - http://bugs.webkit.org/show_bug.cgi?id=15811
3309 WebKit plug-ins can re-enter WebKit under attach()
3310 <rdar://problem/5577978>
3312 * Plugins/WebNullPluginView.mm:
3313 (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
3314 above bug that added as part of fixing
3315 <http://bugs.webkit.org/show_bug.cgi?id=15804>.
3317 2007-11-21 Mark Rowe <mrowe@apple.com>
3321 Fix WebKit to build without warnings under GCC 4.2.
3323 * Configurations/Base.xcconfig:
3325 2007-11-21 Mark Rowe <mrowe@apple.com>
3327 Reviewed by Tim Hatcher.
3329 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
3331 Update format strings to use format specifiers that match the argument types.
3333 * Misc/WebGraphicsExtras.c:
3334 (WebConvertBGRAToARGB):
3336 2007-11-19 Brady Eidson <beidson@apple.com>
3340 Finished hooking up the WebKit API for database management.
3341 Most of the API is actually implemented in WebCore and some of those methods might
3342 only be stubs for now.
3344 * Storage/WebDatabaseManager.mm:
3345 (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
3346 (-[WebDatabaseManager databasesWithOrigin:]): Ditto
3347 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
3349 * Storage/WebSecurityOrigin.mm:
3350 (-[WebSecurityOrigin usage]): Call through to WebCore
3351 (-[WebSecurityOrigin quota]): Ditto
3352 (-[WebSecurityOrigin setQuota:]): Ditto
3353 (-[WebSecurityOrigin _core]): Get WebCore version of this object
3354 * Storage/WebSecurityOriginInternal.h:
3356 2007-11-17 Timothy Hatcher <timothy@apple.com>
3358 Reviewed by Mark Rowe.
3360 Bug 13470: i18n: The Web Inspector is not localizable
3361 http://bugs.webkit.org/show_bug.cgi?id=13470
3363 Implement the localizedStringsURL() client method to return the
3364 localized URL of InspectorLocalizedStrings.js in WebCore.
3366 * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
3367 * WebCoreSupport/WebInspectorClient.mm:
3368 (WebInspectorClient::localizedStringsURL): Added.
3369 (WebInspectorClient::updateWindowTitle): Localized the window title.
3370 (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
3371 (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
3373 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
3377 http://bugs.webkit.org/show_bug.cgi?id=15969
3378 Eliminate Editor::deleteRange()
3380 * WebView/WebHTMLView.mm:
3381 (+[WebHTMLView initialize]):
3382 (-[WebHTMLView yank:]):
3383 (-[WebHTMLView yankAndSelect:]):
3384 (-[WebHTMLView setMark:]):
3385 (-[WebHTMLView deleteToMark:]):
3386 (-[WebHTMLView selectToMark:]):
3387 (-[WebHTMLView swapWithMark:]):
3388 Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
3390 2007-11-16 Mark Rowe <mrowe@apple.com>
3392 Reviewed by Tim Hatcher.
3394 Build WebCore as a sub-framework of WebKit in all configurations.
3396 * Configurations/WebKit.xcconfig:
3398 2007-11-16 John Sullivan <sullivan@apple.com>
3403 Exported some new database-related symbols
3405 2007-11-16 Brady Eidson <beidson@apple.com>
3409 Database management API tweaks
3411 Fleshed out "WebSecurityOrigin" to be the API object representing an origin. This relieves some
3412 burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
3414 Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
3417 * Misc/WebSecurityOrigin.mm: Removed.
3418 * Misc/WebSecurityOriginInternal.h: Removed.
3419 * Misc/WebSecurityOriginPrivate.h: Removed.
3421 * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
3422 * Storage/WebDatabaseManagerPrivate.h:
3424 * Storage/WebSecurityOrigin.mm: Added.
3425 (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
3426 (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
3427 (-[WebSecurityOriginPrivate finalize]):
3428 (-[WebSecurityOriginPrivate dealloc]):
3429 (-[WebSecurityOrigin initWithProtocol:domain:]):
3430 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
3431 (-[WebSecurityOrigin protocol]):
3432 (-[WebSecurityOrigin domain]):
3433 (-[WebSecurityOrigin port]):
3434 (-[WebSecurityOrigin usage]):
3435 (-[WebSecurityOrigin quota]):
3436 (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
3437 (-[WebSecurityOrigin dealloc]):
3438 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
3439 * Storage/WebSecurityOriginInternal.h: Added.
3440 * Storage/WebSecurityOriginPrivate.h: Added.
3442 2007-11-15 Brady Eidson <beidson@apple.com>
3446 Stubbing out everything required for a WebKit API for databases
3448 These interfaces seem to provide everything we need for UI and management at the browser level
3450 * Misc/WebDatabaseManager.h: Removed.
3451 * Misc/WebDatabaseManager.mm: Removed.
3452 * Misc/WebDatabaseManagerPrivate.h: Removed.
3454 * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
3455 (protocol, domain, and port)
3456 (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
3457 (-[WebSecurityOriginPrivate dealloc]):
3458 (-[WebSecurityOrigin initWithProtocol:domain:]):
3459 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
3460 (-[WebSecurityOrigin protocol]):
3461 (-[WebSecurityOrigin domain]):
3462 (-[WebSecurityOrigin port]):
3463 (-[WebSecurityOrigin dealloc]):
3464 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
3465 * Misc/WebSecurityOriginInternal.h: Added.
3466 * Misc/WebSecurityOriginPrivate.h: Added.
3468 * Storage/WebDatabaseManager.mm: Added.
3469 (+[WebDatabaseManager sharedWebDatabaseManager]):
3470 (-[WebDatabaseManager origins]): Get a list of all origins currently tracked
3471 (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
3472 (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
3473 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
3474 (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
3475 (-[WebDatabaseManager deleteAllDatabases]):
3476 (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
3477 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
3478 * Storage/WebDatabaseManagerPrivate.h: Added.
3479 * Storage/WebDatabaseManagerInternal.h: Added.
3480 (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
3482 * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
3483 * Storage/WebDatabaseTrackerClient.mm: Added.
3484 (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
3485 (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
3486 (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
3487 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
3488 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
3490 * WebView/WebView.mm:
3491 (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
3492 Database-related things here
3494 2007-11-13 Geoffrey Garen <ggaren@apple.com>
3496 Reviewed by Anders Carlsson.
3498 Renamed Shared to RefCounted.
3500 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
3501 * ForwardingHeaders/wtf/Shared.h: Removed.
3502 * WebCoreSupport/WebContextMenuClient.h:
3504 2007-11-13 Geoffrey Garen <ggaren@apple.com>
3506 Reviewed by Sam Weinig.