1 2007-03-15 Brady Eidson <beidson@apple.com>
5 <rdar://problem/4429701>
6 Implements a port blocking black list that matches Firefox's
8 * English.lproj/Localizable.strings: Added localizable string for port blocked error code
10 * Misc/WebKitErrors.h:
11 * Misc/WebKitErrors.m:
12 (registerErrors): Add new port blocked error code to WebKitErrorDomain
14 * WebCoreSupport/WebFrameLoaderClient.h:
15 * WebCoreSupport/WebFrameLoaderClient.mm:
16 (WebFrameLoaderClient::cancelledError): Fixed coding style
17 (WebFrameLoaderClient::blockedError): Return a ResourceError with the new custom error code
19 2007-03-15 Timothy Hatcher <timothy@apple.com>
23 * Fixes: <rdar://problem/4927747> WebKit's Current Library Version number should match the Info.plist Version
24 * Factored out most of our common build settings into .xcconfig files. Anything that was common in
25 each build configuration was factored out into the shared .xcconfig file.
26 * Adds a Version.xcconfig file to define the current framework version, to be used in other places.
27 * Use the new $(BUNDLE_VERSION) (defined in Version.xcconfig) in the preprocessed Info.plist.
28 * Use the versions defined in Version.xcconfig to set $(DYLIB_CURRENT_VERSION).
29 * Make WebKit use the same warning flags as the other projects. This required two casts to be added to fix new warnings.
31 * Configurations/Base.xcconfig: Added.
32 * Configurations/DebugRelease.xcconfig: Added.
33 * Configurations/Version.xcconfig: Added.
34 * Configurations/WebKit.xcconfig: Added.
36 * Misc/WebKitVersionChecks.h:
37 * Plugins/WebBaseNetscapePluginStream.m:
38 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
39 * WebKit.xcodeproj/project.pbxproj:
41 2007-03-15 Kevin Decker <kdecker@apple.com>
45 Fixed: <rdar://problem/5001428> stationery background images do not display
47 Change 19244 fixed the method -[WebResource _shouldIgnoreWhenUnarchiving], but also broke Mail stationery.
49 The problem was that with archivedResourceForURL now fixed, the engine will try to decode the images. These images wouldn't decode because
50 Mail re-encodes and directly manipulates the image data in such a way that prevented WebKit from decoding the image. Because Mail was giving
51 us bad data, the images wouldn't render. This was never an issue before because archivedResourceForURL (broken) always returned nil, thus the
52 engine would never attempt to decode the resource, therefore the responsibility was delegated to Mail's protocol handler, which would do the
53 right thing and load the image.
55 Since Mail is relying on the fact it can store arbitrary data in WebArchives, I've introduced SPI that acts as a hint for us to ignore certain
56 subresources while unarchiving. This SPI is -[WebResource _shouldIgnoreWhenUnarchiving].
58 * WebView/WebResource.mm: Addd private ivar shouldIgnoreWhenUnarchiving.
59 (-[WebResource _ignoreWhenUnarchiving]): Added.
60 (-[WebResource _shouldIgnoreWhenUnarchiving]): Added.
61 * WebView/WebResourcePrivate.h: Added two methods to private header.
62 * WebView/WebUnarchivingState.m:
63 (-[WebUnarchivingState archivedResourceForURL:]): Check if we should ignore the resource.
65 2007-03-15 Mark Rowe <mrowe@apple.com>
69 Fix for <rdar://problem/5065060> ASSERTION FAILURE: newUsername && newPassword
70 when submitting an authentication form without password.
72 * WebCoreSupport/WebFrameLoaderClient.mm:
73 (WebFrameLoaderClient::dispatchWillSubmitForm): Don't omit form fields with empty values from the dictionary
74 passed to the delegate.
76 2007-03-14 Anders Carlsson <acarlsson@apple.com>
78 Reviewed by Dave Hyatt.
80 Don't add the data twice, it's also done by didReceiveData.
82 * WebCoreSupport/WebFrameLoaderClient.mm:
83 (WebFrameLoaderClient::deliverArchivedResources):
85 2007-03-14 Anders Carlsson <acarlsson@apple.com>
87 Fix segmentation fault when running layout tests.
89 Remove bogus check that that I added on purpose to see how good Geoff is at spotting mistakes when reviewing code.
90 (Turns out he's not that good!)
92 * WebView/WebDocumentLoaderMac.mm:
93 (WebDocumentLoaderMac::increaseLoadCount):
95 2007-03-14 Anders Carlsson <acarlsson@apple.com>
99 http://bugs.webkit.org/show_bug.cgi?id=13076
100 REGRESSION: Multiple loading tabs cause assertion in WebDocumentLoaderMac::decreaseLoadCount(unsigned long)
102 Store the identifier set in the document loader since identifiers are per-webview and not global.
104 * WebView/WebDocumentLoaderMac.h:
105 * WebView/WebDocumentLoaderMac.mm:
106 (WebDocumentLoaderMac::WebDocumentLoaderMac):
107 (WebDocumentLoaderMac::attachToFrame):
108 (WebDocumentLoaderMac::increaseLoadCount):
109 (WebDocumentLoaderMac::decreaseLoadCount):
111 2007-03-14 David Harrison <harrison@apple.com>
115 <rdar://problem/5009625> REGRESSION: Aperture 1.5: Can't select entire line of text after correcting a misspelled word
117 * WebCoreSupport/WebEditorClient.mm:
118 (WebEditorClient::respondToChangedSelection):
119 * WebCoreSupport/WebFrameBridge.mm:
120 Provide compatibility by not sending WebViewDidChangeSelectionNotification if
121 the app is Aperture and is linked against WebKit 2.0.
123 === Safari-5522.4 ===
125 2007-03-14 Anders Carlsson <acarlsson@apple.com>
129 <rdar://problem/5058714>
130 http://bugs.webkit.org/show_bug.cgi?id=13050
132 World leaks seen on Leopard after opening then closing tab (13050)
134 Add a hash set to prevent the load count to be increased twice for the same resource.
136 * WebCoreSupport/WebFrameLoaderClient.mm:
137 (WebFrameLoaderClient::dispatchWillSendRequest):
138 (WebFrameLoaderClient::dispatchDidFinishLoading):
139 (WebFrameLoaderClient::dispatchDidFailLoading):
140 * WebView/WebDocumentLoaderMac.h:
141 * WebView/WebDocumentLoaderMac.mm:
143 (WebDocumentLoaderMac::increaseLoadCount):
144 (WebDocumentLoaderMac::decreaseLoadCount):
146 2007-03-14 Adele Peterson <adele@apple.com>
150 Removed _insertTextWithEvent, _insertNewlineWithEvent, and _insertTextWithEvent.
151 Instead, use execCommand and insertText methods on the Editor.
153 * WebView/WebHTMLView.mm:
154 (-[WebHTMLView insertTab:]):
155 (-[WebHTMLView insertBacktab:]):
156 (-[WebHTMLView insertNewline:]):
157 (-[WebHTMLView insertLineBreak:]):
158 (-[WebHTMLView insertParagraphSeparator:]):
159 (-[WebHTMLView insertNewlineIgnoringFieldEditor:]):
160 (-[WebHTMLView insertTabIgnoringFieldEditor:]):
161 (-[WebHTMLView yank:]):
162 (-[WebHTMLView yankAndSelect:]):
163 (-[WebHTMLView doCommandBySelector:]):
164 (-[WebHTMLView insertText:]):
166 2007-03-14 David Hyatt <hyatt@apple.com>
168 Fixes to ensure that the resource loader's shared buffer can always be used.
170 Reviewed by olliej, mjs
172 * Misc/WebIconDatabase.mm:
173 (-[WebIconDatabase _convertToWebCoreFormat]):
174 * WebCoreSupport/WebFrameLoaderClient.mm:
175 (WebFrameLoaderClient::deliverArchivedResources):
177 2007-03-13 Oliver Hunt <oliver@apple.com>
181 Modify subresourceForURL to take NSString argument
182 so we can avoid [NSURL absoluteString]
184 * WebView/WebDataSource.mm:
185 (-[WebDataSource subresourceForURL:]):
187 2007-03-13 Brady Eidson <beidson@apple.com>
189 Rubberstamped by Alice
191 Meant to be part of my previous checkin... pruning unused code from WebKit
193 * WebView/WebFrame.mm: Removed _canCachePage
194 * WebView/WebFrameInternal.h: Ditto
196 2007-03-13 Beth Dakin <bdakin@apple.com>
200 Fix for <rdar://problem/4277074> 8F32: Help Viewer crashed on
201 clicking link - KHTMLView::viewportMouseReleaseEvent (12647)
203 Re-set the DocumentLoader's frame when loading it from the page
204 cache before setting the document view.
206 * WebCoreSupport/WebFrameLoaderClient.mm:
207 (WebFrameLoaderClient::setDocumentViewFromPageCache):
209 2007-03-13 Timothy Hatcher <timothy@apple.com>
213 <rdar://problem/5057117> Spoof user agent on Yahoo.com with Safari and WebKit as version 4xx
215 * Plugins/WebBaseNetscapePluginView.mm:
216 (-[WebBaseNetscapePluginView userAgent]): Stop using the deprecated lossyCString method.
217 * WebCoreSupport/WebFrameBridge.mm: Removed dead code, userAgentForURL: wasn't used.
218 * WebCoreSupport/WebFrameLoaderClient.mm:
219 (WebFrameLoaderClient::userAgent): Call WebView's _userAgentForURL:.
220 * WebView/WebView.mm:
221 (-[WebView _cachedResponseForURL:]): Call userAgentForURL: instead of _userAgent.
222 (-[WebView userAgentForURL:]): Call _userAgentForURL:.
223 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): New method to construct a UA.
224 (-[WebView _computeUserAgent]): Ractored out into _userAgentWithApplicationName:andWebKitVersion:
225 (-[WebView _userAgentForURL:]): Tail compare for Yahoo.com, and return a UA with an older WebKit version.
226 * WebView/WebViewInternal.h: Declare _userAgentForURL:.
228 2007-03-12 David Harrison <harrison@apple.com>
232 <rdar://problem/4743256> ctrl-y key binding (yank) should do nothing when kill ring is empty
235 * editing/pasteboard/emacs-cntl-y-001.html:
237 * WebView/WebHTMLView.mm:
238 (-[WebHTMLView yank:]):
239 (-[WebHTMLView yankAndSelect:]):
240 Do nothing if the killring is empty.
242 2007-03-12 Darin Adler <darin@apple.com>
244 Reviewed by Tim Hatcher.
246 - update for the new naming scheme for the Objective-C wrapper-creation
247 functions: _wrapElement: instead of _elementWith:, etc.
249 * WebCoreSupport/WebEditorClient.mm:
250 (WebEditorClient::textFieldDidBeginEditing):
251 (WebEditorClient::textFieldDidEndEditing):
252 (WebEditorClient::textDidChangeInTextField):
253 (WebEditorClient::doTextFieldCommandFromEvent):
254 (WebEditorClient::textWillBeDeletedInTextField):
255 (WebEditorClient::textDidChangeInTextArea):
256 * WebCoreSupport/WebFrameLoaderClient.mm:
257 (WebFrameLoaderClient::createPlugin):
258 (WebFrameLoaderClient::createJavaAppletWidget):
259 * WebView/WebFrame.mm: (kit):
260 Use the _wrapElement-style functions.
262 2007-03-12 Anders Carlsson <acarlsson@apple.com>
266 <rdar://problem/5057575>
267 REGRESSION: Repro Crash in FrameLoader::frame loading about:blank in PLT
269 Always get the web view from the current web frame, since the document loader's frame can have been zeroed out
270 (for example when detaching the document loader).
272 * WebCoreSupport/WebFrameLoaderClient.mm:
273 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
274 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
275 (WebFrameLoaderClient::dispatchWillSendRequest):
276 (WebFrameLoaderClient::dispatchDidReceiveResponse):
277 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
278 (WebFrameLoaderClient::dispatchDidFinishLoading):
280 2007-03-11 Oliver Hunt <oliver@apple.com>
284 Moved respondToChangedSelection from FrameBridge to EditorClient
286 * WebCoreSupport/WebEditorClient.h:
287 * WebCoreSupport/WebEditorClient.mm:
288 (WebEditorClient::respondToChangedSelection):
289 * WebCoreSupport/WebFrameBridge.mm:
290 Removed respondToChangedSelection from bridge
292 2007-03-11 Darin Adler <darin@apple.com>
296 - fix http://bugs.webkit.org/show_bug.cgi?id=12964
297 <rdar://problem/5045717> REGRESSION: crash in -[WebBaseNetscapePluginStream _deliverData]
298 at simpsonsmovie.com (12964)
300 * Plugins/WebBaseNetscapePluginStream.m:
301 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
302 At every place we call the plug-in, since it could destroy the stream, get pluginView into a local
303 variable; it will be set to nil if the stream is destroyed.
304 (-[WebBaseNetscapePluginStream _destroyStream]): Added calls to retain/release to handle the case where
305 one of the calls to the plug-in destroys the stream. Added a call to cancelPreviousPerformRequestsWithTarget
306 in case _deliverData has been scheduled but not yet delivered. Also get pluginView into a local variable
307 as mentioned above, and check at strategic points and exit if the stream was already destroyed to avoid
308 multiple calls to NPP_DestroyStream or NPP_URLNotify.
309 (-[WebBaseNetscapePluginStream _deliverData]): Ditto.
311 2007-03-10 Geoffrey Garen <ggaren@apple.com>
313 Reviewed by Darin Adler.
315 Fixed <rdar://problem/4587763> PAC file: lock inversion between QT and
316 JSCore causes a hang @ www.panoramas.dk
318 See JavaScriptCore ChangeLog for details.
320 Drop the JSLock before making calls through the plug-in API from functions
321 that may have been called by JavaScript.
323 * Plugins/WebBaseNetscapePluginView.mm:
324 (-[WebBaseNetscapePluginView sendEvent:]):
325 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
326 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
327 (-[WebBaseNetscapePluginView createPluginScriptableObject]):
328 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
329 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
330 (-[WebBaseNetscapePluginView loadPluginRequest:]):
331 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
332 * Plugins/WebPluginController.mm:
333 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
334 (-[WebPluginController startAllPlugins]):
335 (-[WebPluginController stopAllPlugins]):
336 (-[WebPluginController addPlugin:]):
337 (-[WebPluginController destroyPlugin:]):
338 (-[WebPluginController destroyAllPlugins]):
340 2007-03-10 David Kilzer <ddkilzer@webkit.org>
344 - fix http://bugs.webkit.org/show_bug.cgi?id=9609
345 REGRESSION: Missing image icon needs to be moved back to WebKit
347 * WebView/WebHTMLView.mm:
348 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
349 Use WebCore::Image::loadPlatformResource(const char*) to load the missingImage image.
351 2007-03-10 Mark Rowe <mrowe@apple.com>
355 <rdar://problem/5051827> HIWebView handling of kEventControlGetData is broken in 64-bit
357 On Leopard the kEventParamControlDataBufferSize event parameter is of type typeByteCount.
358 The 32-bit implementation of GetEventParameter will coerce between integer types and
359 typeByteCount while the 64-bit version will return a failure. As typeByteCount is new
360 in Leopard we must continue using typeSInt32 when building for Tiger.
362 * Carbon/HIWebView.m:
363 (HIWebViewEventHandler):
365 2007-03-09 Timothy Hatcher <timothy@apple.com>
369 <rdar://problem/4976254> Please get off _NSSoftLinkingGetFrameworkFuncPtr
371 Use dlopen and dlsym to access the DCSShowDictionaryServiceWindow function.
373 * WebView/WebHTMLView.mm:
374 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
376 2007-03-09 Darin Adler <darin@apple.com>
380 - fix http://bugs.webkit.org/show_bug.cgi?id=8928
381 <rdar://problem/5045708> REPRODUCIBLE ASSERT: Cannot paste HTML into a
382 contenteditable region in an XHTML document (8928)
384 * WebView/WebHTMLView.mm:
385 (-[WebHTMLView _hasHTMLDocument]): Added.
386 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
387 Don't call AppKit's conversion from the DOM to an attributed string if the document
388 is not an HTML document, to work around an AppKit limitation (Radar 5052390).
390 2007-03-09 Darin Adler <darin@apple.com>
392 * English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
394 2007-03-08 Mark Rowe <mrowe@apple.com>
396 Reviewed by Tim Hatcher.
398 <rdar://problem/5051616> Mouse clicks and movement are ignored in HIWebView on 64-bit
400 Mouse events are not being handled correctly as GetControlKind is returning an error
401 on 64-bit. The more modern HIObjectIsOfClass behaves correctly for this use.
403 * Carbon/HIWebView.m:
404 (HIWebViewDestructor):
405 (WindowHandler): Use HIObjectIsOfClass in place of GetControlKind.
406 (HIWebViewEventHandler): Don't leak the NSEvent.
408 2007-03-08 Bruce Q Hammond <bruceq@apple.om>
412 Fix for http://bugs.webkit.org/show_bug.cgi?id=13009
413 Console spews "CGContextGetType: invalid context" non-stop on web site
415 * Plugins/WebBaseNetscapePluginView.mm:
416 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
417 (-[WebBaseNetscapePluginView restorePortState:]):
419 2007-03-08 Mark Rowe <mrowe@apple.com>
421 Reviewed by Tim Hatcher.
423 <rdar://problem/4561772> HIWebView does not exist for 64-bit
425 Update HIWebView and friends to work without QuickDraw.
427 Changes are gleaned from the 64-bit support inside HICocoaView. The main
428 fact of interest are that all Carbon windows must have compositing enabled
429 so the code paths that aren't accessible are #ifdef'd out. Conveniently
430 these are the exact code paths that make use of QuickDraw.
432 There are currently minor event-handling and invalidation issues running as
433 64-bit that are not present in 32-bit.
435 * Carbon/CarbonUtils.m:
436 * Carbon/CarbonWindowAdapter.m:
437 * Carbon/CarbonWindowFrame.m:
438 * Carbon/HIViewAdapter.m:
439 (SetViewNeedsDisplay):
440 * Carbon/HIWebView.m:
444 (StartUpdateObserver):
445 (StopUpdateObserver):
447 * WebKit.LP64.exp: Removed.
448 * WebKit.xcodeproj/project.pbxproj: Always use WebKit.exp.
450 2007-03-08 Timothy Hatcher <timothy@apple.com>
454 <rdar://problem/4664697> highlighter SPI needs a node parameter to give more context
456 Added new methods to the WebHTMLHighlighter protocol that include the DOMNode being painted.
458 * WebCoreSupport/WebFrameBridge.mm:
459 (-[WebFrameBridge customHighlightRect:forLine:representedNode:WebCore::]):
460 (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:representedNode:WebCore::]):
461 * WebKit.xcodeproj/project.pbxproj:
462 * WebView/WebHTMLViewPrivate.h:
464 2007-03-08 Anders Carlsson <acarlsson@apple.com>
466 Try fixing the buildbot build.
468 * Plugins/WebBaseNetscapePluginView.mm:
469 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
471 2007-03-07 Anders Carlsson <acarlsson@apple.com>
475 * Plugins/WebBaseNetscapePluginView.mm:
477 2007-03-07 Bruce Q Hammond <bruceq@apple.com>
481 - fix http://bugs.webkit.org/show_bug.cgi?id=12515
482 Plug-ins that draw through the Quickdraw interface fail in a CGBitmapContex.
483 <rdar://problem/4975122>
485 This fixes a problem with Netscape-style Plug-ins which draw through the Quickdraw APIs
486 being unable to render into offscreen bitmap contexts.
488 This patches both saveAndSetNewPortStateForUpdate: and restorePortState:
489 These methods now check the current context and see if appropriate setup/cleanup needs to be done
490 for offscreen rendering.
492 * Plugins/WebBaseNetscapePluginView.mm:
493 (QDPixelFormatFromCGBitmapInfo):
494 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
495 (-[WebBaseNetscapePluginView restorePortState:]):
497 2007-03-07 Anders Carlsson <acarlsson@apple.com>
501 Use HardRetain/HardRelease.
503 * WebView/WebDocumentLoaderMac.mm:
504 (WebDocumentLoaderMac::setDataSource):
505 (WebDocumentLoaderMac::attachToFrame):
506 (WebDocumentLoaderMac::detachFromFrame):
507 (WebDocumentLoaderMac::increaseLoadCount):
508 (WebDocumentLoaderMac::decreaseLoadCount):
510 2007-03-07 Anders Carlsson <acarlsson@apple.com>
514 <rdar://problem/4961259>
515 REGRESSION: Bumper Car 2.1.1 - Crash at WebCore::FrameLoader::receivedMainResourceError when encountering a invalid URL address
517 (The crash was already fixed, this actually makes Bumper Car load the error page correctly.)
519 This adds a "load counter" to the document loader and keeps the data source retained for as long as something is loading.
521 * WebCoreSupport/WebFrameLoaderClient.mm:
522 (WebFrameLoaderClient::dispatchWillSendRequest):
523 Increase the load counter.
525 (WebFrameLoaderClient::dispatchDidFinishLoading):
526 (WebFrameLoaderClient::dispatchDidFailLoading):
527 Decrease the load counter,
529 * WebView/WebDocumentLoaderMac.h:
530 * WebView/WebDocumentLoaderMac.mm:
531 (WebDocumentLoaderMac::WebDocumentLoaderMac):
533 (WebDocumentLoaderMac::attachToFrame):
534 If the document loader has been detached, make sure to retain its data source here.
536 (WebDocumentLoaderMac::detachFromFrame):
537 Release the data source.
539 (WebDocumentLoaderMac::increaseLoadCount):
540 Retain the data source if load count was 0.
542 (WebDocumentLoaderMac::decreaseLoadCount):
543 Release the data source if load count becomes 0
545 2007-03-07 Adele Peterson <adele@apple.com>
549 WebKit part of fix for:
550 http://bugs.webkit.org/show_bug.cgi?id=10871
551 http://bugs.webkit.org/show_bug.cgi?id=12677
552 <rdar://problem/4823129> REGRESSION: IME key events different in nightly
553 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm a clause in kotoeri
555 * WebView/WebHTMLView.mm:
556 (-[WebHTMLView _interceptEditingKeyEvent: shouldSaveCommand:]): Added shouldSaveCommand field to WebHTMLViewInterpretKeyEventsParameters.
557 When shouldSaveCommand is true, we call interpretKeyEvents and in doCommandBySelector and insertText, we just save the information without performing any action.
558 When shouldSaveCommand is false, we used the saved information and call doCommandBySelector and insertText directly.
559 If there's no saved command data in the KeyboardEvent, call interpretKeyEvents, and honor the shouldSaveCommand argument. This allows repeating keypress events
560 to function normally.
561 (-[WebHTMLView doCommandBySelector:]): If the WebHTMLViewInterpretKeyEventsParameters shouldSaveCommand field is set, then
562 just save the selector information in the KeyboardEvent, and don't perform the action.
563 (-[WebHTMLView insertText:]): ditto.
564 insertText can be called from an input method or from normal key event processing
565 If its from an input method, then we should go ahead and insert the text now.
566 The only way we know if its from an input method is to check hasMarkedText. There might be a better way to do this.
568 * WebView/WebHTMLViewInternal.h: Added shouldSaveCommand argument.
569 * WebView/WebViewInternal.h: ditto.
571 * WebCoreSupport/WebEditorClient.h:
572 * WebCoreSupport/WebEditorClient.mm:
573 (WebEditorClient::handleKeypress): Changed handleKeyPress to handleKeypress. Call _interceptEditingKeyEvent with shouldSaveCommand:NO.
574 (WebEditorClient::handleInputMethodKeypress): Call _interceptEditingKeyEvent with shouldSaveCommand:YES.
576 2007-03-07 Anders Carlsson <acarlsson@apple.com>
580 Update to match WebCore.
582 * Plugins/WebNetscapePluginStream.mm:
583 (-[WebNetscapePluginStream start]):
585 2007-03-07 Jim Correia <jim.correia@pobox.com>
589 - WebCore part of fix for http://bugs.webkit.org/show_bug.cgi?id=12463
590 WebArchiver - attempt to insert nil exception when archive empty iframe
592 When dealing with an iframe element with no src attribute, the element contains
593 a src attribute in the DOM with a URL of "about:blank" and some HTML to implement
594 the blank page. In the original page source, however, the iframe element does
595 not include a src attribute, which caused a nil archive to be returned for the
596 childFrameArchive and thus caused the bug. The fix is a simple nil check.
598 Test: webarchive/archive-empty-frame-source.html
600 * WebView/WebArchiver.mm:
601 (+ (NSArray *)_subframeArchivesForFrame:(WebFrame *)frame): Don't add childFrameArchive
602 to the subframeArchives array if it is nil.
604 2007-03-06 John Sullivan <sullivan@apple.com>
608 Made WebAuthenticationHandler.h SPI so Safari can call it directly.
611 added .objc_class_name_WebPanelAuthenticationHandler
612 * WebKit.xcodeproj/project.pbxproj:
613 changed status of WebAuthenticationHandler.h from "project" to "private"
615 2007-03-06 Kevin McCullough <kmccullough@apple.com>
619 - Rename a function to clarify its purpose.
621 * WebView/WebView.mm:
622 (+[WebView registerURLSchemeAsLocal:]):
623 * WebView/WebViewPrivate.h:
625 2007-03-06 Anders Carlsson <acarlsson@apple.com>
629 Update for WebCore changes.
631 * WebCoreSupport/WebFrameLoaderClient.h:
632 * WebCoreSupport/WebFrameLoaderClient.mm:
633 (WebFrameLoaderClient::userAgent):
635 2007-03-05 Anders Carlsson <acarlsson@apple.com>
637 Reviewed by Adam, Darin.
639 <rdar://problem/5025212>
640 In Mail, a crash occurs at WebCore::Frame::tree() when clicking on embedded flash object
642 * Plugins/WebBaseNetscapePluginView.mm:
643 (-[WebBaseNetscapePluginView loadPluginRequest:]):
644 Handle the case where the web view returned from the delegate method is null. Also, send out an error notification
645 in that case so we can catch it.
647 2007-03-05 John Sullivan <sullivan@apple.com>
649 Reviewed by Darin and Kevin D
651 - fixed <rdar://problem/5038087> Header and footer on printed page are too large after certain steps
653 * WebView/WebView.mm:
654 (-[WebView _adjustPrintingMarginsForHeaderAndFooter]):
655 This method was modifying the margins in the NSPrintInfo object without any sort of check whether
656 this had already been done. In some cases this can be called multiple times with the same
657 NSPrintInfo, so now we stash information in the NSPrintInfo's dictionary such that we always
658 start with a fresh copy of the original margins.
660 2007-03-02 Kevin McCullough <kmccullough@apple.com>
664 - rdar://problem/4922454
665 - This fixes a security issue by making remote referrers not able to access local
666 resources, unless they register their schemes to be treated as local. The result is
667 that those schemes can access local resources and cannot be accessed by remote
669 Because this behavior is new a link-on-or-after check is made to determine if the
670 app should use the older, less safe, behavior.
672 * Misc/WebKitVersionChecks.h: added linked-on-or-after check
673 * Misc/WebNSAttributedStringExtras.mm: Moved functionalit into the base class.
674 (fileWrapperForElement):
675 * Plugins/WebNetscapePluginStream.mm: uses new canLoad functions
676 * Plugins/WebPluginContainerCheck.mm: uses new canLoad functions
677 (-[WebPluginContainerCheck _isForbiddenFileLoad]):
678 * WebView/WebView.mm: make linked-on-or-after check and cache value, exposes SPI
679 for registering a scheme as local.
680 (-[WebView _commonInitializationWithFrameName:groupName:]):
681 (+[WebView registerSchemeAsLocal:]):
682 * WebView/WebViewPrivate.h: exposes SPI for registering a scheme as local.
684 2007-03-01 Justin Garcia <justin.garcia@apple.com>
688 <rdar://problem/4838199>
689 Integrate Mail and WebKit paste operations
691 Provide subresources used to create the fragment as a
694 * WebView/WebHTMLView.mm:
695 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
696 Update the calls to the changed method.
697 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
698 Give the caller the subresources in the WebArchive and RTF cases.
699 * WebView/WebHTMLViewPrivate.h:
701 2007-02-28 Oliver Hunt <oliver@apple.com>
705 Fixes <rdar://problem/5012009>
707 When looking for a requested resource we should also check
708 the set of manually added subresources if WebCore can't find it.
710 * WebView/WebDataSource.mm:
711 (-[WebDataSource subresourceForURL:]):
713 2007-02-28 Brady Eidson <beidson@apple.com>
717 Start using the Thread Safety Check implemented in WebCore for the DOM bindings in the rest of
718 the WebKit API instead of the ASSERT_MAIN_THREAD() hack
720 * History/WebBackForwardList.mm:
721 (-[WebBackForwardList initWithWebCoreBackForwardList:]):
722 (-[WebBackForwardList init]):
723 (-[WebBackForwardList dealloc]):
724 (-[WebBackForwardList finalize]):
725 * History/WebHistoryItem.mm:
726 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
727 (-[WebHistoryItem dealloc]):
728 (-[WebHistoryItem finalize]):
729 (-[WebHistoryItem copyWithZone:]):
730 (-[WebHistoryItem initWithWebCoreHistoryItem:]):
731 * Misc/WebIconDatabase.mm:
732 (-[WebIconDatabase init]):
734 2007-02-28 Adele Peterson <adele@apple.com>
738 Fix for <rdar://problem/4887423> REGRESSION: search results popup menu strings are not localized
739 and <rdar://problem/3517227> accessibility-related strings in WebCore are not localized
741 * WebCoreSupport/WebViewFactory.mm:
742 (-[WebViewFactory searchMenuNoRecentSearchesText]):
743 (-[WebViewFactory searchMenuRecentSearchesText]):
744 (-[WebViewFactory searchMenuClearRecentSearchesText]):
745 (-[WebViewFactory AXWebAreaText]):
746 (-[WebViewFactory AXLinkText]):
747 (-[WebViewFactory AXListMarkerText]):
748 (-[WebViewFactory AXImageMapText]):
749 (-[WebViewFactory AXHeadingText]):
751 2007-02-28 Mark Rowe <mrowe@apple.com>
755 <rdar://problem/5028473> WebKit allocates a huge number of NSCalendarDates while loading history file
757 * History/WebHistory.mm:
758 (-[WebHistoryPrivate insertItem:atDateIndex:]): Use lastVisitedTimeInterval rather than _lastVisitedDate to avoid allocating NSCalendarDates.
760 2007-02-28 Mark Rowe <mrowe@apple.com>
762 Reviewed by Tim Hatcher.
764 <rdar://problem/4985524> Problem with Blot and ToT WebKit (decoding WebCoreScrollView)
766 References to WebCoreScrollView as a subview of a WebHTMLView may be present in some NIB
767 files, so NSUnarchiver must be still able to look up the WebCoreScrollView class.
769 * WebKit.exp: Export WebCoreScrollView symbol.
770 * WebView/WebHTMLView.mm: Add empty WebCoreScrollView class.
772 2007-02-27 Adam Roben <aroben@apple.com>
776 Fix <rdar://problem/5011905> REGRESSION: "Open Link" contextual menu
779 * WebCoreSupport/WebContextMenuClient.mm:
780 (fixMenusToSendToOldClients): Remove the "Open Link" item from the
781 default menu items array before sending it off to Tiger Mail.
782 (WebContextMenuClient::getCustomMenuFromDefaultItems): Set the
783 representedObject on every NSMenuItem to match our old (correct) API
786 2007-02-27 Mitz Pettel <mitz@webkit.org>
790 - http://bugs.webkit.org/show_bug.cgi?id=12906
791 REGRESSION: Canvas is pixelated when the page is opened in a background tab
793 * WebCoreSupport/WebChromeClient.mm:
794 (WebChromeClient::scaleFactor): If the view is not in a window, use the main
795 screen's scale factor as a best guess.
797 2007-02-26 John Sullivan <sullivan@apple.com>
799 Reviewed by Darin and Geoff
801 * WebView/WebHTMLView.mm:
802 (coreGraphicsScreenPointForAppKitScreenPoint):
803 This method was copied from WebBrowser, and it was wrong. Fixed it. This only
804 affects the Dictionary pop-up panel.
806 2007-02-26 David Hyatt <hyatt@apple.com>
808 Update web inspector to account for border-fit.
812 * WebInspector/webInspector/inspector.js:
814 2007-02-26 Geoffrey Garen <ggaren@apple.com>
816 Reviewed by Darin Adler.
818 Re-arranged things to put deprecated methods at the bottom.
820 * Misc/WebCoreStatistics.h:
821 * Misc/WebCoreStatistics.mm:
822 (+[WebCoreStatistics javaScriptNoGCAllowedObjectsCount]):
823 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
824 (+[WebCoreStatistics javaScriptRootObjectClasses]):
825 * WebKit.xcodeproj/project.pbxproj:
827 2007-02-26 Maciej Stachowiak <mjs@apple.com>
829 Rubber stamped by Mitz.
831 - fix layout tests by fixing discrepancy in feature macros.
833 * WebInspector/WebInspector.m:
834 (-[WebInspector _highlightNode:]):
835 * WebKit.xcodeproj/project.pbxproj:
837 2007-02-23 Mitz Pettel <mitz@webkit.org>
841 - fix http://bugs.webkit.org/show_bug.cgi?id=11573
842 REGRESSION: pressing option-left arrow while in suggestion popup moves the insertion point to the left
844 * WebView/WebHTMLView.mm:
845 (-[WebTextCompleteController endRevertingChange:moveLeft:]):
847 2007-02-23 Timothy Hatcher <timothy@apple.com>
851 <rdar://problem/5016395> _recursive_pauseNullEventsForAllNetscapePlugins still gone
853 * WebView/WebFrameInternal.h: Remove _recursive_pauseNullEventsForAllNetscapePlugins
854 * WebView/WebFramePrivate.h: Add _recursive_pauseNullEventsForAllNetscapePlugins
855 * WebView/WebFrame.mm: More _recursive_pauseNullEventsForAllNetscapePlugins
857 2007-02-22 Adele Peterson <adele@apple.com>
861 Updating this image to match the one in WebCore.
863 * WebKit.vcproj/textAreaResizeCorner.png:
865 2007-02-22 Beth Dakin <bdakin@apple.com>
869 Fix for http://bugs.webkit.org/show_bug.cgi?id=12399 REGRESSION:
870 Unable to prevent default context menu from appearing. <rdar://
873 * WebView/WebHTMLView.mm:
874 (-[WebHTMLView menuForEvent:]): Clear the controller's context menu
875 before propagating a new context menu event through the DOM.
877 2007-02-22 John Sullivan <sullivan@apple.com>
881 Removed some unused keyView-related code that I happened to run across.
882 Replacement code is now in WebChromeClient.
884 * WebCoreSupport/WebFrameBridge.h:
885 * WebCoreSupport/WebFrameBridge.mm:
888 2007-02-22 Mitz Pettel <mitz@webkit.org>
892 - fix http://bugs.webkit.org/show_bug.cgi?id=12804
893 REGRESSION (r19043-r19063): suggestion popup doesn't work after pressing Option+Esc
895 This patch also fixes a bug where using the arrow keys while
896 the suggestion popup is open moves the caret instead of changing the
897 selection in the popup (for up/down) or accepting the selection and
898 closing the popup (for left/right).
900 * WebView/WebHTMLView.mm:
901 (-[WebHTMLView keyDown:]): Changed to close the popup only if it was open
902 before the current event, so that the Option-Esc that opens the popup will
903 not close it immediately.
904 (-[WebHTMLView _interceptEditingKeyEvent:]): Give the completion popup a
905 chance to intercept keydown events.
906 (-[WebTextCompleteController popupWindowIsOpen]): Added. Returns whether the
907 suggestion popup is open.
909 2007-02-22 Mitz Pettel <mitz@webkit.org>
911 Reviewed by Mark (age 21).
913 - fix http://bugs.webkit.org/show_bug.cgi?id=12805
914 REGRESSION: suggestion popup has a disabled scroll bar
916 * WebView/WebHTMLView.mm:
917 (-[WebTextCompleteController _buildUI]): Uncommented the call to the NSWindow
918 SPI that forces the scroll bar to look active. Also replaced a call to
919 the deprecated NSTableView method setAutoresizesAllColumnsToFit: with
920 the new method setColumnAutoresizingStyle: to eliminate console spew.
922 2007-02-20 Beth Dakin <bdakin@apple.com>
926 WebKit changes needed to implement writeImage() in WebCore's
929 * Misc/WebKitNSStringExtras.m: Call into WebCore for these
931 (-[NSString _webkit_hasCaseInsensitiveSuffix:]):
932 (-[NSString _webkit_hasCaseInsensitiveSubstring:]):
933 (-[NSString _webkit_filenameByFixingIllegalCharacters]):
934 * Misc/WebNSURLExtras.m: Same.
935 (-[NSURL _webkit_suggestedFilenameWithMIMEType:]):
936 * WebCoreSupport/WebContextMenuClient.h: Remove
937 copyImageToClipboard()
938 * WebCoreSupport/WebContextMenuClient.mm:
939 * WebCoreSupport/WebSystemInterface.m: Expose
940 GetExtensionsForMIMEType and GetPreferredExtensionForMIMEType to
942 (InitWebCoreSystemInterface):
943 * WebCoreSupport/WebViewFactory.mm: New localized string for
945 (-[WebViewFactory copyImageUnknownFileLabel]):
947 2007-02-20 Adam Roben <aroben@apple.com>
949 Reviewed by Darin and Anders.
951 Update WebKit for WebCore fix for <rdar://problem/4736215> Make
952 WebCoreStringTruncator use WebCore types.
954 * Misc/WebStringTruncator.m:
955 (defaultMenuFont): Moved from WebCoreStringTruncator.mm.
957 (+[WebStringTruncator centerTruncateString:toWidth:]):
958 (+[WebStringTruncator centerTruncateString:toWidth:withFont:]):
959 (+[WebStringTruncator rightTruncateString:toWidth:withFont:]):
960 (+[WebStringTruncator widthOfString:font:]):
961 * WebKit.xcodeproj/project.pbxproj: Changed WebStringTruncator to ObjC++.
963 2007-02-20 Timothy Hatcher <timothy@apple.com>
967 Fixes the version number returned when using a CFBundleVersion of "420+".
969 * WebView/WebView.mm:
970 (-[WebView _userVisibleBundleVersionFromFullVersion:]): Check the length up to the first
971 non-decimal digit, so this works with versions that have "." and "+".
973 2007-02-20 John Sullivan <sullivan@apple.com>
975 Reviewed by Kevin Decker
977 - fixed <rdar://problem/4989344> REGRESSION: After clicking on page, Find
978 won't find anything if all hits are before the clicked point
980 This was caused by a mismatch between WebCore's search code's notion of "selection" and
981 WebView's search code's notion of "selection". WebCore's search code was starting
982 just before or just after the "selection", which included collapsed, zero-length
983 selections. WebKit's search code was only considering non-zero-length selections,
984 and would not search all of the content when there was a zero-length selection.
985 The fix was to make WebKit ignore the selection. This has a side effect of increasing
986 the amount of redundantly-searched content in the case where no matches are found. To
987 compensate for that, I special-cased the most common case of WebViews with a single frame,
988 to avoid ever searching redundantly in those.
990 * WebView/WebView.mm:
991 (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
992 remove startHasSelection ivar; special-case WebViews with only one frame; clarify the
993 code that leads to redundant searching with comments.
995 2007-02-20 Timothy Hatcher <timothy@apple.com>
999 <rdar://problem/4900579> WebKit -finalize methods are not thread-safe; design change needed
1001 Call WebCoreObjCFinalizeOnMainThread from the initialize method of all the classes
1002 that have a finalizer that needs called on the main thread. Assert in finalize that we
1003 are on the main thread.
1005 * Carbon/CarbonWindowAdapter.m:
1006 (+[CarbonWindowAdapter initialize]):
1007 (-[CarbonWindowAdapter finalize]):
1008 * History/WebBackForwardList.mm:
1009 (+[WebBackForwardList initialize]):
1010 (-[WebBackForwardList finalize]):
1011 * History/WebHistoryItem.mm:
1012 (+[WebHistoryItem initialize]):
1013 * Misc/WebElementDictionary.mm:
1014 (+[WebElementDictionary initialize]):
1015 (-[WebElementDictionary finalize]):
1016 * Plugins/WebBaseNetscapePluginStream.m:
1017 (+[WebBaseNetscapePluginStream initialize]):
1018 (-[WebBaseNetscapePluginStream finalize]):
1019 * Plugins/WebBaseNetscapePluginView.mm:
1020 (+[WebBaseNetscapePluginView initialize]):
1021 (-[WebBaseNetscapePluginView finalize]):
1022 * Plugins/WebBasePluginPackage.m:
1023 (+[WebBasePluginPackage initialize]):
1024 (-[WebBasePluginPackage finalize]):
1025 * Plugins/WebNetscapePluginStream.mm:
1026 (-[WebNetscapePluginStream finalize]):
1027 * WebCoreSupport/WebEditorClient.mm:
1028 (+[WebEditCommand initialize]):
1029 (-[WebEditCommand finalize]):
1030 * WebCoreSupport/WebFrameBridge.mm:
1031 (+[WebFrameBridge initialize]):
1032 (-[WebFrameBridge finalize]):
1033 * WebCoreSupport/WebFrameLoaderClient.mm:
1034 (+[WebFramePolicyListener initialize]):
1035 (-[WebFramePolicyListener finalize]):
1036 * WebView/WebHTMLView.mm:
1037 (+[WebHTMLView initialize]):
1038 (-[WebHTMLView finalize]):
1039 * WebView/WebView.mm:
1040 (+[WebViewPrivate initialize]):
1041 (-[WebViewPrivate finalize]):
1043 2007-02-20 Justin Garcia <justin.garcia@apple.com>
1047 <rdar://problem/4838199>
1048 Integrate Mail and WebKit paste operations
1050 Mail overrides paste: because it has different
1051 preferred pasteboard types, but it should use our
1052 fragment creation code.
1054 * WebView/WebHTMLView.mm:
1055 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1056 Moved fragment creation code into a new method.
1057 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:]):
1058 Moved fragment creation code here.
1059 * WebView/WebHTMLViewPrivate.h: Exposed
1060 _documentFragmentFromPasteboard:forType:inContext: as SPI.
1062 2007-02-20 John Sullivan <sullivan@apple.com>
1064 Reviewed by Tim Hatcher
1066 * Misc/WebKitNSStringExtras.h:
1067 * Misc/WebKitNSStringExtras.m:
1068 removed _webkit_userVisibleBundleVersionFromFullVersion; we decided to do this without
1071 * WebView/WebView.mm:
1072 (-[WebView _userVisibleBundleVersionFromFullVersion:]):
1073 new method, moved here from WebKitNSStringExtras, and is now a WebView method rather than
1075 (-[WebView _computeUserAgent]):
1076 updated for method signature change
1078 2007-02-20 Timothy Hatcher <timothy@apple.com>
1082 * Misc/WebKitNSStringExtras.h: Added _webkit_userVisibleBundleVersionFromFullVersion.
1083 * Misc/WebKitNSStringExtras.m:
1084 (-[NSString _webkit_userVisibleBundleVersionFromFullVersion]): If the version is 4 digits long or longer,
1085 then the first digit represents the version of the OS. Our user agent string should not
1086 include this first digit, so strip it off and report the rest as the version.
1087 * WebView/WebView.mm:
1088 (-[WebView _computeUserAgent]): Call _webkit_userVisibleBundleVersionFromFullVersion on the CFBundleVersion.
1090 2007-02-20 Darin Adler <darin@apple.com>
1094 * Plugins/WebPluginController.mm: (-[WebPluginController pluginView:receivedResponse:]):
1095 Call cancelMainResourceLoad on the document loader instead of the frame loader.
1097 2007-02-20 Anders Carlsson <acarlsson@apple.com>
1101 <rdar://problem/5009627> REGRESSION: Repro overrelease of WebView in failed load, seen in DumpRenderTree
1103 * WebView/WebView.mm:
1104 (-[WebView _removeObjectForIdentifier:]):
1105 Return early if the identifier can't be found in the map.
1107 2007-02-19 Timothy Hatcher <timothy@apple.com>
1109 Reviewed by Darin Adler.
1111 <rdar://problem/4841078> Remove the Mail.app editable link clicking behavior workaround when it is no longer needed
1113 * WebKit.xcodeproj/project.pbxproj:
1114 * WebView/WebView.mm:
1115 (-[WebView setPreferences:]):
1117 2007-02-19 Anders Carlsson <acarlsson@apple.com>
1121 <rdar://problem/4868242>
1122 http://bugs.webkit.org/show_bug.cgi?id=12670
1123 REGRESSION: Many 3rd Party Apps crash in WebCore::DocumentLoader::frameLoader() (12670)
1125 Bring back the semantic we had that a web view should be retained for as long as something is loading. Use the identifier
1126 to object hash map for this.
1128 * WebView/WebView.mm:
1129 (-[WebView _addObject:forIdentifier:]):
1130 (-[WebView _removeObjectForIdentifier:]):
1132 2007-02-18 Brady Eidson <beidson@apple.com>
1136 <rdar://problem/4985321> - Can't edit templates for Web Gallery/Web Page Export in Aperture
1138 * Misc/WebKitVersionChecks.h: Add a #define for this APERTURE quirk
1139 * WebView/WebView.mm:
1140 (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
1141 If the current app is Aperture and it was linked against Tiger WebKit, always allow selection change
1143 2007-02-17 Lars Knoll <lars@trolltech.com>
1147 Additional coding by Maciej, additional review by Oliver.
1149 Added implementations for the new callbacks in EditorClient
1150 and ChromeClient (basically moved from WebFrameBridge).
1151 Cleaned up some code paths that are not called anymore
1152 and done fully inside WebCore now.
1154 * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
1155 * Misc/WebElementDictionary.mm:
1156 * Misc/WebNSAttributedStringExtras.mm:
1157 * Plugins/WebBaseNetscapePluginView.mm:
1158 (-[WebBaseNetscapePluginView getVariable:value:]):
1159 * Plugins/WebNetscapePluginEmbeddedView.mm:
1160 * Plugins/WebNetscapePluginStream.mm:
1161 * Plugins/WebPluginContainerCheck.mm:
1162 * WebCoreSupport/WebChromeClient.h:
1163 * WebCoreSupport/WebChromeClient.mm:
1164 (WebChromeClient::shouldInterruptJavaScript):
1165 * WebCoreSupport/WebEditorClient.h:
1166 * WebCoreSupport/WebEditorClient.mm:
1167 (WebEditorClient::shouldChangeSelectedRange):
1168 * WebCoreSupport/WebFrameBridge.mm:
1169 (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
1170 (-[WebFrameBridge fini]):
1171 * WebCoreSupport/WebFrameLoaderClient.mm:
1172 * WebView/WebArchiver.mm:
1173 * WebView/WebFrame.mm:
1176 (-[WebFrame _updateBackground]):
1177 * WebView/WebFrameInternal.h:
1178 * WebView/WebFrameView.mm:
1179 * WebView/WebHTMLRepresentation.mm:
1180 * WebView/WebHTMLView.mm:
1181 (-[WebHTMLView _updateMouseoverWithEvent:]):
1182 (-[WebHTMLView _isEditable]):
1183 (-[WebHTMLView validateUserInterfaceItem:]):
1184 (-[WebHTMLView maintainsInactiveSelection]):
1185 (-[WebHTMLView scrollWheel:]):
1186 (-[WebHTMLView acceptsFirstMouse:]):
1187 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
1188 (-[WebHTMLView cut:]):
1189 (-[WebHTMLView paste:]):
1190 (-[WebHTMLView selectedAttributedString]):
1191 * WebView/WebScriptDebugDelegate.mm:
1192 * WebView/WebView.mm:
1193 (-[WebView _dashboardRegions]):
1194 (-[WebView setProhibitsMainFrameScrolling:]):
1195 (-[WebView _setInViewSourceMode:]):
1196 (-[WebView _inViewSourceMode]):
1197 (-[WebView shouldClose]):
1198 (-[WebView setEditable:]):
1200 2007-02-18 Oliver Hunt <oliver@apple.com>
1204 Moving the drag initiation logic to WebCore.
1205 The redundant code in webkit will be moved out in a later patch.
1207 * WebCoreSupport/WebDragClient.h:
1208 * WebCoreSupport/WebDragClient.mm:
1211 (WebDragClient::willPerformDragSourceAction):
1212 (WebDragClient::startDrag):
1213 (WebDragClient::createDragImageForLink):
1214 Implemented new DragClient methods
1215 (WebDragClient::declareAndWriteDragImage):
1216 Helper function for the Mac to allow new drag and drop
1217 code to match behaviour
1219 * WebView/WebHTMLView.mm:
1220 (-[WebHTMLView _dragImageForURL:withLabel:]):
1221 (-[WebHTMLView _dragImageForLinkElement:]):
1222 Refactoring old _dragImageForLinkElement function so that
1223 the link drag image can be created with just a URL and label,
1224 rather than requiring the original element
1225 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
1226 Removed logic that is no longer necessary
1227 (-[WebHTMLView _mouseDownEvent]):
1228 The WebDragClient may need the original mouseDownEvent of a drag when initiating
1230 * WebView/WebHTMLViewInternal.h:
1231 Declaring _mouseDownEvent
1233 * WebView/WebHTMLViewPrivate.h:
1234 Declaring _dragImageForURL
1236 2007-02-16 John Sullivan <sullivan@apple.com>
1238 Reviewed by Tim Hatcher
1240 - fixed <rdar://problem/4811446> "Check Grammar" checkbox in Spelling+Grammar window doesn't
1241 live update with menu change in WebKit
1243 * WebView/WebView.mm:
1244 (-[WebView setGrammarCheckingEnabled:]):
1245 Use sekrit AppKit knowledge to tell NSSpellChecker about the change, since there's no API
1246 for this yet. Also restructured a little to avoid extra work when the value hasn't changed.
1248 2007-02-15 Brady Eidson <beidson@apple.com>
1252 Save scroll state for back/forward navigation in FrameLoader, not the client
1254 * WebCoreSupport/WebFrameLoaderClient.h: Renamed the save/restore methods
1255 * WebCoreSupport/WebFrameLoaderClient.mm:
1256 (WebFrameLoaderClient::saveViewStateToItem): Save viewstate only
1257 (WebFrameLoaderClient::restoreViewState): Restore viewstate only
1259 2007-02-14 Alexey Proskuryakov <ap@webkit.org>
1263 http://bugs.webkit.org/show_bug.cgi?id=12643
1264 NPN_Status is using latin-1 encoding for the message instead of UTF-8
1266 * Plugins/WebBaseNetscapePluginView.mm:
1267 (-[WebBaseNetscapePluginView status:]): Check for possible conversion failure.
1269 2007-02-13 Oliver Hunt <oliver@apple.com>
1273 Modify entry point ASSERTs for dragging functions to allow for the case
1274 where a load has occurred mid-drag. The load may detach the HTMLView
1275 from the WebView so it is no longer possible to check _isTopHTMLView.
1277 The assertion changes match that of revision 14897 which fixed the
1278 more common case ([WebHTMLView draggedImage:endedAt:operation:])
1280 It's also necessary to check for a null Page now prior to accessing
1281 the DragController, which is necessary in all of these methods.
1283 See rdar://problem/4994870
1285 * WebView/WebHTMLView.mm:
1286 (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
1287 (-[WebHTMLView draggedImage:movedTo:]):
1288 (-[WebHTMLView draggedImage:endedAt:operation:]):
1289 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
1291 2007-02-13 Alexey Proskuryakov <ap@webkit.org>
1295 http://bugs.webkit.org/show_bug.cgi?id=12643
1296 NPN_Status is using latin-1 encoding for the message instead of UTF-8
1298 * Plugins/WebBaseNetscapePluginView.mm:
1299 (-[WebBaseNetscapePluginView status:]): Use kCFStringEncodingUTF8.
1301 2007-02-13 Mark Rowe <mrowe@apple.com>
1303 Reviewed by Timothy Hatcher.
1305 Fix http://bugs.webkit.org/show_bug.cgi?id=12745
1306 Bug 12745: REGRESSION: Webkit will not load a plugin that Safari can load (symbol missing _objc_msgSend_fpret)
1308 Treat libobjc as a sub-library of WebKit in Debug/Release so that plugins and applications linked against an
1309 umbrella framework version of WebKit that expect to find libobjc symbols in WebKit can do so.
1311 * WebKit.xcodeproj/project.pbxproj:
1313 2007-02-12 Kevin McCullough <kmccullough@apple.com>
1317 - reverting change to not cause regressions and performance problems.
1319 * Misc/WebNSAttributedStringExtras.mm:
1320 (fileWrapperForElement):
1322 2007-02-12 Darin Adler <darin@apple.com>
1326 - fix http://bugs.webkit.org/show_bug.cgi?id=12677
1327 <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
1328 a clause in kotoeri (12677)
1330 - fix http://bugs.webkit.org/show_bug.cgi?id=12596
1331 <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
1332 navigating prediction window (12596)
1334 - fix http://bugs.webkit.org/show_bug.cgi?id=10010
1335 <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
1336 Hangul inserts carriage return (10010)
1338 - fix http://bugs.webkit.org/show_bug.cgi?id=12531
1339 <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
1340 latest nightly (r19336) (12531)
1342 - fix http://bugs.webkit.org/show_bug.cgi?id=12539
1343 <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
1344 area moves to the previous page in history (12539)
1346 * WebCoreSupport/WebEditorClient.h:
1347 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
1350 * WebView/WebHTMLView.mm:
1351 (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
1352 function takes a const&.
1353 (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
1354 since advanceFocus now works fine with 0 for a DOM event.
1355 (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
1356 selection controller function instead of selectRange.
1357 (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
1359 (-[WebHTMLView insertBacktab:]): Ditto.
1360 (-[WebHTMLView insertNewline:]): Ditto.
1361 (-[WebHTMLView insertLineBreak:]): Ditto.
1362 (-[WebHTMLView insertParagraphSeparator:]): Ditto.
1363 (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
1364 (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
1365 (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
1366 code now works via a text input event which is not what we want for paste-like
1367 things such as yank.
1368 (-[WebHTMLView yankAndSelect:]): Ditto.
1369 (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
1370 function instead of selectRange, which also allows us to remove the ObjC exception
1372 (-[WebHTMLView swapWithMark:]): Ditto.
1373 (-[WebHTMLView transpose:]): Ditto.
1374 (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
1375 manager, added code to set the "event was handled" flag. Moved the actual work
1376 into the Editor class in WebCore and just call that from here.
1377 (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
1378 controller function instead of selectRange.
1379 (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
1380 back from the input manager, added code to set the "event was handled" flag.
1381 Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
1382 WebCore side, since we moved it there and to call selectMarkedText over on
1383 the WebCore side too.
1384 (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
1385 selectors so that the event is passed along. These selectors are special because
1386 they are ones that turn into text input events.
1387 (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
1388 Editor class in WebCore and just call that from here.
1389 (-[WebHTMLView insertText:]): Added code to send a text input event instead of
1390 calling the editor to do text insertion. The insertion is then done in the
1391 default handler for the text input event.
1392 (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
1394 (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
1395 (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
1396 ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
1398 * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
1400 * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
1401 use the normal selection controller function instead of selectRange.
1403 2007-02-11 Sam Weinig <sam@webkit.org>
1407 Switch the initial value of box-sizing property from "border-box" to "content-box".
1409 * WebInspector/webInspector/inspector.js:
1411 2007-02-10 Mitz Pettel <mitz@webkit.org>
1415 - fix http://bugs.webkit.org/show_bug.cgi?id=11847
1416 REGRESSION (SearchField): Dragging to select in the Web Inspector's search fields drags the inspector window
1418 * WebInspector/webInspector/inspector.css: Added the search field to the
1419 undraggable dashboard-region.
1421 2007-02-09 Kevin Decker <kdecker@apple.com>
1423 Reviewed by Darin & Maciej.
1425 Fixed: <rdar://problem/4930688> REGRESSION: missing images when reloading webarchives (11962)
1427 * WebCoreSupport/WebFrameLoaderClient.mm:
1428 (WebFrameLoaderClient::canUseArchivedResource): The bug here is that because a reload sets a cache
1429 policy of NSURLRequestReloadIgnoringCacheData (rightfully so), this method was refusing to load
1430 subresources in WebArchives. It's OK to use archive subresources for the NSURLRequestReloadIgnoringCacheData
1431 cache policy because we're not worried about the actual contents of a WebArchive changing on disk.
1433 2007-02-09 Justin Garcia <justin.garcia@apple.com>
1437 <rdar://problem/4975120>
1438 REGRESSION: double-cursor after switching window away/back (11770)
1439 <http://bugs.webkit.org/show_bug.cgi?id=11328>
1440 Gmail Editor: Caret can simultaneously appear in both the TO: and message body fields
1442 * WebCoreSupport/WebFrameBridge.mm: Removed unused methods.
1443 * WebView/WebHTMLView.mm: Ditto.
1444 (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Don't
1445 appear focused if a descendant view is firstResponder.
1446 (-[WebHTMLView _updateActiveState]): Removed the check for a BOOL
1447 that was always false.
1448 * WebView/WebHTMLViewInternal.h: Removed a BOOL that's always false.
1450 2007-02-09 Beth Dakin <bdakin@apple.com>
1454 Fix for <rdar://problem/4674537> REGRESSION: Adobe Acrobat 8 - Text
1455 blinks when mouse is moved, and is invisible otherwise
1457 Allow quirk if the Application was linked before 3.0 and if the
1458 application is Adobe Acrobat.
1460 * Misc/WebKitVersionChecks.h:
1461 * WebView/WebView.mm:
1462 (-[WebView _updateWebCoreSettingsFromPreferences:]):
1464 2007-02-09 Timothy Hatcher <timothy@apple.com>
1468 * WebKit.exp: Add WebBaseNetscapePluginView to the export list.
1470 2007-02-09 John Sullivan <sullivan@apple.com>
1474 - WebKit part of fix for radar 4939636, problems with context menu items and binaries linked
1477 * WebKit.xcodeproj/project.pbxproj:
1478 Changed DYLIB_CURRENT_VERSION to 2 (was 1)
1480 * Misc/WebKitVersionChecks.h:
1481 Added constant WEBKIT_FIRST_VERSION_WITH_3_0_CONTEXT_MENU_TAGS, which is 2 but in the weird
1482 format that these version checks use.
1484 * WebView/WebUIDelegatePrivate.h:
1485 Tweaked comments; included the old values for three tags for context menu items that changed
1486 from SPI to API in 3.0; renamed WEBMENUITEMTAG_SPI_START to WEBMENUITEMTAG_WEBKIT_3_0_SPI_START
1487 for clarity, and bumped its value to avoid conflict with the three old values
1489 * WebCoreSupport/WebContextMenuClient.mm:
1491 new helper function that checks the bundle identifier
1492 (fixMenusToSendToOldClients):
1493 Removed return value for clarity; now checks linked-on version and also makes special case
1494 for Mail; now replaces three API tags with their old SPI values for clients that linked
1495 against old WebKit version, in addition to replacing new API with WebMenuItemTagOther for
1496 items that had no specific tag before.
1497 (fixMenusReceivedFromOldClients):
1498 Removed return value for clarity; removed defaultMenuItems parameter because it's no longer
1499 necessary; removed code that tried to recognize menus that got confused by the SPI -> API
1500 change (we now pass the old SPI values to these clients to avoid confusing them); now
1501 restores the tags for the items whose tags were replaced in fixMenusToSendToOldClients
1502 (this used to restore the tags of the default items rather than the new items, which was
1503 incorrect but happened to work since the clients we tested were using the objects from the
1504 default items array in their new items array)
1505 (WebContextMenuClient::getCustomMenuFromDefaultItems):
1506 Updated to account for the removed return values for the two fix-up methods; moved the
1507 autorelease of newItems here, which is clearer and was the source of a leak before.
1509 2007-02-08 Kevin McCullough <KMcCullough@apple.com>
1513 - fixing a build breakage.
1515 * Misc/WebNSAttributedStringExtras.mm:
1516 (fileWrapperForElement):
1518 2007-02-07 Charles Ying <charles_ying@yahoo.com>
1522 Code suggestion by aroben
1524 Fix http://bugs.webkit.org/show_bug.cgi?id=12688
1526 REGRESSION (r19469): ASSERT when right clicking on hyperlinks! in TOT webkit
1528 * WebCoreSupport/WebContextMenuClient.mm:
1529 (fixMenusReceivedFromOldClients):
1531 - fixMenusReceivedFromOldClients was hitting an ASSERT incorrectly
1532 because it could not match [item title] to any of the contentMenuItemTags
1533 using pointer comparison ==. Instead, it needs to do a string comparison
1534 between [item title] and the various contentMenuItemTags using
1535 isEqualToString instead of ==. You would encounter this whenever the
1536 context menu was activated, e.g., from a hyperlink right click (or
1540 2007-02-07 Anders Carlsson <acarlsson@apple.com>
1544 Move shouldInterruptJavaScript to the Chrome.
1546 * WebCoreSupport/WebChromeClient.h:
1547 * WebCoreSupport/WebChromeClient.mm:
1548 (WebChromeClient::shouldInterruptJavaScript):
1549 * WebCoreSupport/WebFrameBridge.mm:
1551 2007-02-07 John Sullivan <sullivan@apple.com>
1553 Reviewed by Kevin Decker
1555 - fixed all places in WebKit where _web_userVisibleString was used where
1556 _web_originalDataAsString should have been used instead.
1558 * History/WebURLsWithTitles.m:
1559 (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]):
1560 use _web_originalDataAsString when writing since these aren't displayed to the user
1561 (+[WebURLsWithTitles URLsFromPasteboard:]):
1562 use _web_URLWithDataAsString when reading, to match what we used when writing
1564 * Misc/WebNSPasteboardExtras.mm:
1565 (-[NSPasteboard _web_writeURL:andTitle:types:]):
1566 use _web_originalDataAsString when writing the NSURL type; continue using
1567 _web_userVisibleString when writing the plain text type
1569 * WebView/WebHTMLView.mm:
1570 (-[WebHTMLView _documentFragmentWithPaths:]):
1571 added comment about why _web_userVisibleString is appropriate here
1572 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1573 use _web_originalDataAsString when setting the href attribute of an anchor tag
1575 2007-02-07 David Harrison <harrison@apple.com>
1579 <rdar://problem/4943650> REGRESSION: insertion point blink redraws entire web page, making everything slow
1581 Problem is that AppKit recently changed NSControl to trigger a full redraw if the control has a focus ring.
1582 WebHTMLView is a subclass of NSControl, but the focus ring type was the default value, though we actually
1583 draw no focus ring. Fix is to formally set our focus ring type.
1585 * WebView/WebHTMLView.mm:
1586 (-[WebHTMLView initWithFrame:]):
1587 Send [self setFocusRingType:NSFocusRingTypeNone].
1589 2007-02-07 John Sullivan <sullivan@apple.com>
1591 Undid changes that I hadn't intended to check in
1593 * WebView/WebHTMLView.mm:
1594 (-[WebHTMLView _documentFragmentWithPaths:]):
1595 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
1597 2007-02-07 John Sullivan <sullivan@apple.com>
1599 Reviewed by Ollie and Geoff
1601 - fixed <rdar://problem/4982345> KURL::createCFURL leak inside -[WebFrameBridge startDraggingImage...]
1602 reported by buildbot
1604 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
1605 don't retain the imageURL we pass to the drag controller -- it's just automagically
1606 converted to a KURL anyway
1608 2007-02-07 John Sullivan <sullivan@apple.com>
1612 - fixed <rdar://problem/4974420> REGRESSION: Dragging a saved image into the browser window
1613 displays a error (No File exists at the address "null") (12662)
1615 * WebCoreSupport/WebPasteboardHelper.mm:
1616 (WebPasteboardHelper::urlFromPasteboard):
1617 use _web_originalDataAsString instead of _web_userVisibleString, since _web_userVisibleString
1618 can return a string with non-ASCII characters -- suitable for display but not for code
1620 2007-02-07 John Sullivan <sullivan@apple.com>
1624 - added some clarity to some menu-handling shenanigans
1626 * WebCoreSupport/WebContextMenuClient.mm:
1627 (fixMenusToSendToOldClients):
1628 renamed from fixMenusForOldClients; added comments, FIXME, and assertion
1629 (fixMenusReceivedFromOldClients):
1630 renamed from fixMenusFromOldClients; added comments, FIXME, and assertion
1631 (WebContextMenuClient::getCustomMenuFromDefaultItems):
1632 updated for name changes
1634 2007-02-06 Kevin Decker <kdecker@apple.com>
1636 Fixed: <rdar://problem/4976681> ASSERTION failure on quit @ talkcrunch.com in _NPN_ReleaseObject
1640 * Plugins/WebPluginDatabase.m:
1641 (+[WebPluginDatabase sharedDatabase]): Removed NSApplicationWillTerminateNotification observer and thus
1642 also removed code that would unload the entire plug-in database when receiving that notification.
1644 The bug here was that this notification callback would happen first before anything else thus unloading
1645 plug-ins and releasing plug-in memory. That was crash prone because the JavaScriptCore collector would at
1646 a later time attempt to release its CInstance references (references that point to plug-in memory)
1647 without knowing WebKit already unloaded the plug-in out from underneath it. The WebPluginDatabase simply
1648 does not have enough context to make this decision.
1650 * WebView/WebView.mm: Added two statics: applicationIsTerminating, pluginDatabaseClientCount.
1651 (+[WebView initialize]): Added NSApplicationWillTerminateNotification observer.
1652 (+[WebView _applicationWillTerminate]): Added.
1653 (-[WebView _close]): WebKit has both a global plug-in database and a separate, per WebView plug-in database.
1654 We need to release both sets of plug-ins because Netscape plug-ins have "destructor functions" that should be
1655 called when the browser unloads the plug-in. These functions can do important things, such as closing/deleting
1656 files so it is important to ensure that they are properly called when the application terminates.
1658 The new change is that on app shutdown, we unload WebKit's global plug-in database if and only if the last WebView
1659 was closed. To do so otherwise would unload plug-ins out from underneath other WebViews.
1661 2007-02-06 Darin Adler <darin@apple.com>
1663 Reviewed by John Sullivan.
1665 - fix http://bugs.webkit.org/show_bug.cgi?id=11080
1666 <rdar://problem/4826648> REGRESSION: Incorrect vertical positioning of Safari
1667 status bar text containing @ character (11080)
1669 * Misc/WebKitNSStringExtras.m:
1670 (canUseFastRenderer): Fix code that mistakenly used the slow renderer for strings
1671 that have a direction of "other neutral", which includes the "@" character.
1672 (-[NSString _web_drawAtPoint:font:textColor:]): Add code to make the baseline of
1673 the text in the status bar right. AppKit's rule for rounding is complicated enough
1674 that this is obviously not perfectly correct, but it does make both code paths
1675 use the same baseline in all the places this is currently used in AppKit.
1677 2007-02-06 Darin Adler <darin@apple.com>
1681 * Misc/WebNSURLExtras.m:
1682 (-[NSString _web_mapHostNameWithRange:encode:makeString:]):
1683 Fix obvious logic mistake I introduced back in revision 8255.
1684 I can't see how to exercise this code path, but I also can't
1685 bear to leave this obviously-broken code as-is.
1687 2007-02-05 David Kilzer <ddkilzer@webkit.org>
1691 http://bugs.webkit.org/show_bug.cgi?id=7266
1692 Webarchive format saves duplicate WebSubresources to .webarchive file
1694 Tests: webarchive/test-duplicate-resources.html
1695 webarchive/test-frameset.html
1697 * WebView/WebArchiver.mm:
1698 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]): Use an NSMutableSet to prevent
1699 duplicate subresources from being added to the webarchive.
1701 2007-02-06 Mark Rowe <mrowe@apple.com>
1703 Roll out incomplete support for font-stretch (r19350) at Dave Hyatt's request.
1704 See http://bugs.webkit.org/show_bug.cgi?id=12530#c9 for more info.
1706 * WebInspector/webInspector/inspector.js:
1707 * WebView/WebHTMLView.mm:
1708 (-[WebHTMLView _addToStyle:fontA:fontB:]):
1710 2007-02-05 Beth Dakin <bdakin@apple.com>
1714 Fix for <rdar://problem/4975161> REGRESSION: With BumperCar 2.1.1,
1715 the contextual menu fails to appear when I ctrl-click on page
1717 * WebCoreSupport/WebContextMenuClient.mm:
1718 (WebContextMenuClient::getCustomMenuFromDefaultItems): If the
1719 delegate does not respond to contextMenuItemsForElement, return the
1720 default menu instead of nil.
1722 2007-02-01 Geoffrey Garen <ggaren@apple.com>
1724 Reviewed by Maciej Stachowiak.
1726 Added support for selectively ignoring WebCore::Node leaks during layout
1727 tests, so that we can ignore known leaks in other components.
1729 * Misc/WebCoreStatistics.h:
1730 * Misc/WebCoreStatistics.mm:
1731 (+[WebCoreStatistics startIgnoringWebCoreNodeLeaks]):
1732 (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
1734 2007-02-01 Nicholas Shanks <webkit@nickshanks.com>
1738 Add support for CSS2 font-stretch property.
1740 * WebInspector/webInspector/inspector.js:
1741 * WebView/WebHTMLView.mm:
1742 (-[WebHTMLView _addToStyle:fontA:fontB:]):
1744 2007-02-01 Maciej Stachowiak <mjs@apple.com>
1748 <rdar://problem/4730469> REGRESSION: Assertion failure in -[WebDataSource(WebInternal) _bridge] when forwarding message
1750 * WebView/WebDataSource.mm:
1751 (-[WebDataSource subresources]): Check for being uncommitted and return emtpy result.
1752 (-[WebDataSource subresourceForURL:]): ditto
1754 2007-01-31 Oliver Hunt <oliver@apple.com>
1758 Migrating methods to WebCore
1760 * WebCoreSupport/WebFrameBridge.mm:
1761 * WebView/WebHTMLView.mm:
1762 * WebView/WebHTMLViewPrivate.h:
1764 2007-01-31 Anders Carlsson <acarlsson@apple.com>
1768 <rdar://problem/4886776>
1769 REGRESSION: After opening a web archive, location shows the actual URL, not the webarchive file
1771 "Revert" the change done in 13734.
1773 * WebView/WebHTMLRepresentation.mm:
1774 (-[WebHTMLRepresentation loadArchive]):
1775 Don't do a new load here, as this would cancel the current load and call the resource load
1776 delegate's didFailLoadingWithError: method. Instead, call continueLoadWithData.
1778 2007-02-01 Nikolas Zimmermann <zimmermann@kde.org>
1782 Fix run-pageloadtest to actually work again.
1784 * Misc/WebNSWindowExtras.m:
1785 (+[NSWindow _webkit_displayThrottledWindows]):
1787 2007-01-31 Adele Peterson <adele@apple.com>
1791 WebKit part of fix for <rdar://problem/4521461> REGRESSION: when keyPress event changes form focus, inserted key goes to wrong control
1793 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Instead of using the selected frame, use the
1794 frame for the target of the keyboard event. Also, don't do the canEdit check here, since the target's frame might not
1795 have a selection at this point. Do the canEdit check within Editor::insertText, where we determine which selection to use
1797 * WebView/WebEditingDelegatePrivate.h: Added forward declaration of DOMHTMLElement. This is needed after reordering includes in WebEditorClient.mm.
1799 2007-01-31 Alice Liu <alice.liu@apple.com>
1801 Reviewed by Tim Hatcher.
1803 Turning an accidental API change to an SPI change
1805 * WebView/WebEditingDelegate.h:
1806 * WebView/WebEditingDelegatePrivate.h:
1807 move some declarations into private header.
1809 2007-01-31 Darin Adler <darin@apple.com>
1813 * ForwardingHeaders/wtf/ListHashSet.h: Added.
1815 2007-01-31 Maciej Stachowiak <mjs@apple.com>
1819 - related fix for <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
1821 * WebView/WebFrame.mm:
1822 (-[WebFrame loadArchive:]): This method also needs to add the lame WebDataRequest property or other things, like
1823 Mail Contents of Page, break.
1825 2007-01-31 Maciej Stachowiak <mjs@apple.com>
1829 - add back no-op version of silly method so that shipping Safari can still run the PLT
1831 * Misc/WebNSWindowExtras.m:
1832 (-[NSWindow _webkit_displayThrottledWindows]):
1834 2007-01-31 Mark Rowe <mrowe@apple.com>
1838 * Misc/WebKitLogging.h: Use !defined() rather than !.
1839 * Plugins/WebNetscapePluginStream.h: Remove #if __cplusplus as this file is only included from Obj-C++ files.
1840 * WebView/WebHTMLView.mm:
1841 (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Use #ifdef rather than #if.
1842 * WebView/WebView.mm:
1843 (-[WebView isGrammarCheckingEnabled]): Ditto.
1845 2007-01-31 Mark Rowe <mrowe@apple.com>
1849 * WebView/WebView.mm:
1850 (-[WebView initWithFrame:frameName:groupName:]):
1852 2007-01-31 Mark Rowe <mrowe@apple.com>
1856 Enable -Wundef in WebKit, and change misuses of #if to #ifdef or #ifndef as appropriate.
1858 * Misc/WebKitLogging.h:
1859 * WebKit.xcodeproj/project.pbxproj:
1860 * WebView/WebFrame.mm:
1861 * WebView/WebFrameInternal.h:
1862 * WebView/WebHTMLView.mm:
1863 (-[WebHTMLView validateUserInterfaceItem:]):
1864 (-[WebHTMLView delete:]):
1865 (-[WebHTMLView showGuessPanel:]):
1866 (-[WebHTMLView copy:]):
1867 (-[WebHTMLView cut:]):
1868 (-[WebHTMLView paste:]):
1869 * WebView/WebHTMLViewInternal.h:
1870 * WebView/WebView.mm:
1871 (-[WebViewPrivate init]):
1872 (-[WebView validateUserInterfaceItem:]):
1873 * WebView/WebViewPrivate.h:
1875 2007-01-30 Brady Eidson <beidson@apple.com>
1879 This is a corollary to <rdar://problem/4944887> where certain things happened on an alternate thread.
1880 To help catch such behavior in the future, add ASSERT_MAIN_THREAD() to key WebKit API points
1882 * History/WebHistoryItem.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
1883 (-[WebHistoryItem dealloc]):
1884 (-[WebHistoryItem finalize]):
1885 (-[WebHistoryItem copyWithZone:]):
1886 (-[WebHistoryItem URLString]):
1887 (-[WebHistoryItem originalURLString]):
1888 (-[WebHistoryItem title]):
1889 (-[WebHistoryItem lastVisitedTimeInterval]):
1890 (-[WebHistoryItem isEqual:]):
1891 (-[WebHistoryItem description]):
1892 (-[WebHistoryItem initWithWebCoreHistoryItem:]):
1893 (-[WebHistoryItem initFromDictionaryRepresentation:]):
1894 (-[WebHistoryItem scrollPoint]):
1895 (-[WebHistoryItem dictionaryRepresentation]):
1896 (-[WebHistoryItem target]):
1897 (-[WebHistoryItem visitCount]):
1898 (-[WebHistoryItem children]):
1899 (-[WebHistoryItem URL]):
1900 (-[WebHistoryItem _lastVisitedDate]):
1901 (-[WebHistoryItem targetItem]):
1903 * Misc/WebIconDatabase.mm: Added ASSERT_MAIN_THREAD() to suspected API entry points
1904 (-[WebIconDatabase iconForURL:withSize:cache:]):
1905 (-[WebIconDatabase iconURLForURL:]):
1906 (-[WebIconDatabase defaultIconWithSize:]):
1907 (-[WebIconDatabase retainIconForURL:]):
1908 (-[WebIconDatabase releaseIconForURL:]):
1909 (-[WebIconDatabase removeAllIcons]):
1910 (-[WebIconDatabase _iconForFileURL:withSize:]):
1913 * Misc/WebKitLogging.h: Added ASSERT_MAIN_THREAD()
1914 * Misc/WebKitLogging.m:
1915 (WebKitRunningOnMainThread): Added
1917 * WebKit.xcodeproj/project.pbxproj: Define DISABLE_THREAD_CHECK until it is
1918 safe to run with ASSERT_MAIN_THREAD() active
1920 2007-01-30 Timothy Hatcher <timothy@apple.com>
1924 <rdar://problem/4961953> Stop using NSString deprecated methods like initWithCString:
1926 * Misc/WebNSImageExtras.m:
1927 (-[NSImage _web_saveAndOpen]):
1928 * WebKit.xcodeproj/project.pbxproj:
1930 2007-01-30 Mitz Pettel <mitz@webkit.org>
1934 - fix http://bugs.webkit.org/show_bug.cgi?id=12050
1935 REGRESSION: Assertion failure in -[WebBaseNetscapePluginView willCallPlugInFunction] (plugin)
1937 Test: plugins/createScriptableObject-before-start.html
1939 * Plugins/WebBaseNetscapePluginView.mm:
1940 (-[WebBaseNetscapePluginView createPluginScriptableObject]): Return NULL if
1941 the plugin is not started.
1943 2007-01-30 Maciej Stachowiak <mjs@apple.com>
1947 <rdar://problem/4964407> REGRESSION: Mail hangs when replying, forwarding , or creating a new message
1949 * WebView/WebFrame.mm:
1950 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Set WebDataRequest property on data
1951 load requests since Mail specifically checks for this.
1953 2007-01-30 Graham Dennis <graham.dennis@gmail.com>
1957 Part of fix for http://bugs.webkit.org/show_bug.cgi?id=10725
1958 Image data in from RTFD clipboard data thrown away
1960 The URLs for images in RTFD data must not be loaded until the resources
1961 have been added to the WebUnarchivingState. This can't happen until
1962 after the RTFD data has been parsed, so we must delay loading while this
1963 RTFD data is being parsed to a document fragment.
1965 * WebView/WebHTMLView.mm:
1966 (uniqueURLWithRelativePart):
1967 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]): defer loading the resources while RTFD data is being parsed.
1968 (+[NSURL _web_uniqueWebDataURL]): Added this back because AppKit uses it.
1969 * WebView/WebUnarchivingState.m:
1970 (-[WebUnarchivingState archivedResourceForURL:]): orkaround for workaround for rdar://problem/4699166 so that other people can use archivedResourceForURL: too.
1972 2007-01-29 Jim Correia <jim.correia@pobox.com>
1976 Added support for -allowsUndo/-setAllowsUndo: to allow editable WebView
1977 clients to completely disable undo registration. This is functionally
1978 equivalent to the methods with the same names on NSTextView.
1980 * WebView/WebView.mm:
1981 (-[WebViewPrivate init]):
1982 (-[WebView initWithCoder:]):
1983 (-[WebView encodeWithCoder:]):
1984 (-[WebView allowsUndo]):
1985 (-[WebView setAllowsUndo:]):
1986 (-[WebView undoManager]):
1987 * WebView/WebViewPrivate.h:
1989 2007-01-29 Ada Chan <adachan@apple.com>
1993 Moved the update of the title of the current entry in the backforward list to WebCore.
1995 * WebCoreSupport/WebFrameLoaderClient.mm:
1996 (WebFrameLoaderClient::setTitle):
1998 2007-01-29 Adele Peterson <adele@apple.com>
2002 More preparation for event handling fixes.
2004 * WebCoreSupport/WebEditorClient.h: Removed EventTargetNode parameter, since you can
2005 just get this from the KeyboardEvent.
2006 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): ditto.
2008 * WebView/WebHTMLViewInternal.h: Added interpretKeyEventsParameters struct.
2009 * WebView/WebViewInternal.h: Changed parameter from NSEvent to WebCoreKeyboardEvent in _interceptEditingKeyEvent.
2010 * WebView/WebHTMLView.mm:
2011 (-[WebHTMLView yankAndSelect:]): Updated for new triggeringEvent parameter.
2012 (-[WebHTMLView _interceptEditingKeyEvent:]): Set the WebHTMLViewInterpretKeyEventsParameters.
2013 (-[WebHTMLView doCommandBySelector:]): Access WebHTMLViewInterpretKeyEventsParameters.
2014 (-[WebHTMLView insertText:]): ditto.
2015 (-[WebHTMLView _insertText:selectInsertedText:triggeringEvent:]): Added parameter for triggeringEvent.
2017 2007-01-29 Oliver Hunt <oliver@apple.com>
2021 * WebView/WebHTMLView.mm:
2022 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2024 2007-01-25 Oliver Hunt <oliver@apple.com>
2028 Migrated drag state and logic to WebCore, removed superfluous methods
2031 * WebCoreSupport/WebDragClient.h:
2032 * WebCoreSupport/WebDragClient.mm:
2033 (WebDragClient::dragSourceActionMaskForPoint):
2034 * WebCoreSupport/WebFrameBridge.mm:
2035 allowDHTMLDrag move to WebCore::EventHandler
2036 * WebView/WebHTMLView.mm:
2037 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2038 (-[WebHTMLView draggedImage:movedTo:]):
2039 (-[WebHTMLView draggedImage:endedAt:operation:]):
2040 dragOffset and dragSourecAction is now stored in WebCore::DragController
2041 migrated _delegateDragSourceActionMask to WebCore::DragController
2042 * WebView/WebHTMLViewInternal.h:
2043 Removed dragOffset declaration, migrated to WebCore::DragController
2044 * WebView/WebView.mm:
2045 removed unnecessary method, _loadingDragOperationForDraggingInfo
2047 2007-01-29 Maciej Stachowiak <mjs@apple.com>
2051 - updated for cross-platform data loading support
2053 * WebCoreSupport/WebFrameLoaderClient.h:
2054 * WebCoreSupport/WebFrameLoaderClient.mm:
2055 (WebFrameLoaderClient::createDocumentLoader):
2056 * WebView/WebDataSource.mm:
2057 (-[WebDataSource initWithRequest:]):
2058 * WebView/WebDocumentLoaderMac.h:
2059 * WebView/WebDocumentLoaderMac.mm:
2060 (WebDocumentLoaderMac::WebDocumentLoaderMac):
2061 * WebView/WebFrame.mm:
2062 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2063 (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]):
2064 (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]):
2065 (-[WebFrame loadArchive:]):
2066 * WebView/WebFrameInternal.h:
2067 * WebView/WebHTMLView.mm:
2068 (uniqueURLWithRelativePart):
2069 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
2071 2007-01-27 David Kilzer <ddkilzer@webkit.org>
2075 - fix http://bugs.webkit.org/show_bug.cgi?id=12260
2076 Windows platform build is not maintained
2078 * COM/ChromeClientWin.cpp:
2079 (ChromeClientWin::canTakeFocus):
2080 (ChromeClientWin::takeFocus):
2081 * COM/ChromeClientWin.h:
2082 * COM/ContextMenuClientWin.cpp:
2083 (ContextMenuClientWin::getCustomMenuFromDefaultItems):
2084 (ContextMenuClientWin::searchWithGoogle):
2085 * COM/ContextMenuClientWin.h:
2086 * COM/WebFrameLoaderClient.cpp:
2087 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2088 (WebFrameLoaderClient::dispatchWillSendRequest):
2089 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2090 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2091 (WebFrameLoaderClient::dispatchDidReceiveResponse):
2092 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2093 (WebFrameLoaderClient::dispatchDidFinishLoading):
2094 (WebFrameLoaderClient::dispatchDidFailLoading):
2095 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
2096 (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
2097 (WebFrameLoaderClient::dispatchDidFailLoad):
2098 (WebFrameLoaderClient::dispatchCreatePage):
2099 (WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
2100 (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
2101 (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
2102 (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
2103 (WebFrameLoaderClient::setMainDocumentError):
2104 (WebFrameLoaderClient::incrementProgress):
2105 (WebFrameLoaderClient::completeProgress):
2106 (WebFrameLoaderClient::startDownload):
2107 (WebFrameLoaderClient::committedLoad):
2108 (WebFrameLoaderClient::cancelledError):
2109 (WebFrameLoaderClient::cannotShowURLError):
2110 (WebFrameLoaderClient::interruptForPolicyChangeError):
2111 (WebFrameLoaderClient::cannotShowMIMETypeError):
2112 (WebFrameLoaderClient::fileDoesNotExistError):
2113 (WebFrameLoaderClient::shouldFallBack):
2114 (WebFrameLoaderClient::willUseArchive):
2115 (WebFrameLoaderClient::createDocumentLoader):
2116 (WebFrameLoaderClient::download):
2117 * COM/WebFrameLoaderClient.h:
2119 2007-01-27 David Harrison <harrison@apple.com>
2123 <rdar://problem/4958902> REGRESSION: Dashboard widgets fail to load
2125 This was caused by the WebView preferences rework in r18417. Specifically, in
2126 _updateWebCoreSettingsFromPreferences when calling setUserStyleSheetLocation,
2127 [NSURL URLWithString:] is now messaged directly with the result of
2128 [[preferences userStyleSheetLocation] _web_originalDataAsString]], which will
2129 be nil if the userStyleSheetLocation has not been set yet. [NSURL URLWithString:]
2130 throws an exception when the string is nil. DashboardClient.app calls
2131 setUserStyleSheetEnabled *before* calling setUserStyleSheetLocation.
2133 * WebView/WebView.mm:
2134 (-[WebView _updateWebCoreSettingsFromPreferences:]):
2135 Pass empty string instead of nil string to [NSURL URLWithString:].
2137 2007-01-26 Darin Adler <darin@apple.com>
2139 Reviewed by Timothy.
2141 Fixes crash drawing avatar on mail.yahoo.com.
2143 * Plugins/WebBaseNetscapePluginStream.m: Retain the object since destroyStreamWithError: might
2144 release the last reference to it.
2146 2007-01-26 Darin Adler <darin@apple.com>
2150 * WebInspector/webInspector/inspector.js: Updated for new computed style properties.
2152 2007-01-26 Kevin Decker <kdecker@apple.com>
2154 Reviewed by andersca.
2156 Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
2157 http://bugs.webkit.org/show_bug.cgi?id=11523
2159 * Plugins/WebBaseNetscapePluginStream.m:
2160 (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView disconnectStream:]
2161 * Plugins/WebBaseNetscapePluginView.h: Added disconnectStream: to header.
2162 * Plugins/WebBaseNetscapePluginView.mm:
2163 (-[WebBaseNetscapePluginView stop]): Make a copy of the streams collection prior to calling stop all streams.
2164 This is necessary because calling stop has the side effect of removing the stream from this same collection.
2165 (-[WebBaseNetscapePluginView disconnectStream:]): Added. Removes the stream from the streams collection.
2167 2007-01-25 Kevin Decker <kdecker@apple.com>
2169 Backed out my last patch because it crashes espn.com. Stay tuned for a newer version..
2171 * Plugins/WebBaseNetscapePluginStream.m:
2172 (-[WebBaseNetscapePluginStream setPlugin:]): Removed call to streamIsDead.
2173 * Plugins/WebBaseNetscapePluginView.h: Removed streamIsDead.
2174 * Plugins/WebBaseNetscapePluginView.mm: Ditto.
2176 2007-01-25 Darin Adler <darin@apple.com>
2180 - fix <rdar://problem/4952766> Safari has a top secret color picker that can be used to... uhh... I don't know
2182 * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Let Interface Builder have its way.
2183 * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Remove the NSColorWell that was
2184 in here (for no good reason).
2186 2007-01-25 Kevin Decker <kdecker@apple.com>
2188 Reviewed by andersca.
2190 A few tweaks with of a fix done by Steve Gehrman.
2192 Fixed: <rdar://problem/4946922> WebBaseNetscapePluginView leaks memory
2193 http://bugs.webkit.org/show_bug.cgi?id=11523
2195 * Plugins/WebBaseNetscapePluginStream.m:
2196 (-[WebBaseNetscapePluginStream setPlugin:]): Calls -[WebBaseNetscapePluginView streamIsDead:]
2197 * Plugins/WebBaseNetscapePluginView.h: Added streamIsDead to header.
2198 * Plugins/WebBaseNetscapePluginView.mm:
2199 (-[WebBaseNetscapePluginView streamIsDead:]): Added. Removes the stream from the streams collection.
2201 2007-01-25 John Sullivan <sullivan@apple.com>
2203 Reviewed by Kevin, Geoff, Brady, and Darin
2205 - fixed <rdar://problem/4918446> Safari's temp files (PDF's) should be in a sub-folder when calling Preview
2207 * WebView/WebPDFView.mm:
2208 (-[WebPDFView _path]):
2209 use _temporaryPDFDirectoryPath method instead of #defines for hardwiring strings; stop bad practice
2210 of modifying the const char* returned by fileSystemRepresentation
2211 (-[WebPDFView _temporaryPDFDirectoryPath]):
2212 new method, lazily creates and returns a secure temporary directory created with NSTemporaryDirectory()
2215 * English.lproj/StringsNotToBeLocalized.txt:
2216 Updated for these and other recent changes
2218 2007-01-24 Oliver Hunt <oliver@apple.com>
2222 * WebView/WebHTMLView.mm:
2223 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2224 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2226 2007-01-24 Oliver Hunt <ioliver@apple.com>
2230 Migrating more drag state information to WebCore
2232 * WebKit.xcodeproj/project.pbxproj:
2233 * WebView/WebHTMLView.mm:
2234 (-[WebHTMLViewPrivate dealloc]):
2235 (-[WebHTMLViewPrivate clear]):
2236 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2237 (-[WebHTMLView _mayStartDragAtEventLocation:]):
2238 (-[WebHTMLView close]):
2239 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
2240 (-[WebHTMLView _delegateDragSourceActionMask]):
2241 * WebView/WebHTMLViewInternal.h:
2243 2007-01-24 Adele Peterson <adele@apple.com>
2247 Small improvement to my last checkin to prevent the keyEventWasInterpreted bool from
2248 being overwritten by reentrancy.
2250 * WebView/WebHTMLView.mm:
2251 (-[WebHTMLView _interceptEditingKeyEvent:]): Point keyEventWasInterpreted pointer to local variable.
2252 (-[WebHTMLView doCommandBySelector:]):
2253 (-[WebHTMLView insertText:]):
2254 * WebView/WebHTMLViewInternal.h: Added BOOL pointer that will point to the local variable on the stack in _interceptEditingKeyEvent
2256 2007-01-24 Adele Peterson <adele@apple.com>
2260 - Fix for <rdar://problem/4950527> REGRESSION: Can't use arrow keys (left/right) to navigate caret in input (type=text) or textarea fields
2262 Keep track of whether interpretKeyEvents handles the key event based on whether or not we get
2263 called in insertText or doCommandBySelector.
2265 Test: fast/events/arrow-navigation.html
2267 * WebView/WebHTMLView.mm:
2268 (-[WebHTMLView performKeyEquivalent:]):
2269 (-[WebHTMLView _interceptEditingKeyEvent:]):
2270 (-[WebHTMLView doCommandBySelector:]):
2271 (-[WebHTMLView insertText:]):
2272 * WebView/WebHTMLViewInternal.h:
2274 2007-01-25 Mark Rowe <mrowe@apple.com>
2278 * Info.plist: Update copyright string.
2280 2007-01-24 Darin Adler <darin@apple.com>
2282 Reviewed by Mark Rowe.
2284 * WebKit.xcodeproj/project.pbxproj: Changed to /usr/sbin/sysctl
2285 so we don't rely on people's paths.
2287 2007-01-24 Darin Adler <darin@apple.com>
2291 - fix small regression and GC problems noticed by code inspection
2293 * WebView/WebHTMLView.mm: Move global declarations to the start of the file.
2294 (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
2295 Add a CFRetain here for GC compatibility.
2296 (+[WebHTMLView _insertablePasteboardTypes]): Ditto.
2297 (-[WebHTMLView performKeyEquivalent:]): Fix small logic mistake that prevents
2298 super from being called if EventHandler::keyEvent returns false. Reformatted
2299 the code a bit and added a local variable for the frame.
2300 (-[WebHTMLView _interceptEditingKeyEvent:]): Added some comments.
2301 (-[WebHTMLView validAttributesForMarkedText]): Add a CFRetain here for
2304 2007-01-23 Adele Peterson <adele@apple.com>
2308 Fixed 2 layout tests that I broke with my last checkin.
2310 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleKeyPress): Use the selected frame to get the WebHTMLView.
2311 * WebView/WebHTMLView.mm:
2312 (-[WebHTMLView performKeyEquivalent:]): Added global to keep track of NSEvent used here.
2313 (-[WebHTMLView _interceptEditingKeyEvent:]): Check NSEvent against the event used in performKeyEquivalent.
2314 We don't want to intercept these events.
2316 2007-01-23 Adele Peterson <adele@apple.com>
2320 WebKit part of fix for <rdar://problem/4946753>REGRESSION: Inserting tabs is broken in Mail
2322 In addition to this fix, I also reorganized some event handling code for keyPress events to
2323 prepare for another fix.
2325 * WebCoreSupport/WebEditorClient.h: Added handleKeyPress method.
2326 * WebCoreSupport/WebEditorClient.mm:
2327 (WebEditorClient::handleKeyPress): Added. Code moved from WebHTMLView keyDown method.
2328 This is called from the defaultEventHandler so that in the future, we can make the right
2329 decision about which selection the keyPress should apply to.
2330 * WebView/WebHTMLView.mm:
2331 (-[WebHTMLView keyDown:]): Moved _interceptEditingKeyEvent call to handleKeyPress.
2332 (-[WebHTMLView _interceptEditingKeyEvent:]): Prevents intercepting keys for cmd-modified events. Removed tabCycling checks
2333 since this is now handled in WebCore.
2334 * WebView/WebHTMLViewInternal.h: Made _interceptEditingKeyEvent SPI.
2335 * WebView/WebView.mm: Use new tabKeyCyclesThroughElements methods on the page.
2336 (-[WebViewPrivate init]): ditto.
2337 (-[WebView setTabKeyCyclesThroughElements:]): ditto.
2338 (-[WebView tabKeyCyclesThroughElements]): ditto.
2339 (-[WebView setEditable:]): ditto
2341 2007-01-23 Lars Knoll <lars@trolltech.com>
2345 Make the last remaining pieces of the FrameLoader platform
2346 independent. Move most of the code over to WebFrameLoaderClient.
2347 Some smaller cleanups in the WebFrameBridge, and moved some
2348 platform independent functionality over to the shared code
2351 * Webcoresupport/WebFrameBridge.mm:
2352 (-[WebFrameBridge finishInitializingWithPage:frameName:frameView:ownerElement:]):
2353 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
2354 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2355 * WebCoreSupport/WebFrameLoaderClient.h:
2356 * WebCoreSupport/WebFrameLoaderClient.mm:
2357 (WebFrameLoaderClient::setTitle):
2358 (WebFrameLoaderClient::createFrame):
2359 (WebFrameLoaderClient::objectContentType):
2361 (WebFrameLoaderClient::createPlugin):
2362 (WebFrameLoaderClient::redirectDataToPlugin):
2364 (WebFrameLoaderClient::createJavaAppletWidget):
2365 (WebFrameLoaderClient::overrideMediaType):
2366 (WebFrameLoaderClient::windowObjectCleared):
2368 2007-01-23 Oliver Hunt <oliver@apple.com>
2372 Drop logic bindings for WebKit
2374 * WebCoreSupport/WebDragClient.h: Added.
2375 * WebCoreSupport/WebDragClient.mm: Added.
2376 (WebDragClient::WebDragClient):
2377 (WebDragClient::actionMaskForDrag):
2378 (WebDragClient::willPerformDragDestinationAction):
2379 Standard client impl
2380 * WebCoreSupport/WebFrameBridge.mm:
2381 (-[WebFrameBridge startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2382 Updated to use DragController to track drag state
2384 * WebCoreSupport/WebPasteboardHelper.h: Added.
2385 (WebPasteboardHelper::WebPasteboardHelper):
2386 A *temporary* Helper class to access NSPasteboard access and
2387 manipulation functions present in WebKit
2388 * WebCoreSupport/WebPasteboardHelper.mm: Added.
2389 (WebPasteboardHelper::urlFromPasteboard):
2390 (WebPasteboardHelper::plainTextFromPasteboard):
2391 (WebPasteboardHelper::fragmentFromPasteboard):
2392 (WebPasteboardHelper::insertablePasteboardTypes):
2394 * WebKit.xcodeproj/project.pbxproj:
2395 * WebView/WebDocumentInternal.h:
2396 Remove unnecessary protocol
2397 * WebView/WebFrameView.mm:
2398 (-[WebFrameView _setDocumentView:]):
2399 Updating to use DragController to track drag state
2400 * WebView/WebHTMLView.mm:
2401 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2403 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
2405 (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2407 (-[WebHTMLView draggedImage:endedAt:operation:]):
2409 (-[WebHTMLView _documentFragmentForPasteboard:]):
2410 Helper method to generate DocumentFragment from NSPasteboard without regressing
2411 (-[WebHTMLView _canProcessDragWithDraggingInfo:]):
2412 Updating to use DragController to track drag state
2413 (-[WebHTMLView _isMoveDrag:]):
2414 (-[WebHTMLView _isNSColorDrag:]):
2415 * WebView/WebHTMLViewInternal.h:
2416 Removing unnecessary fields and methods
2417 * WebView/WebView.mm:
2418 (-[WebViewPrivate dealloc]):
2419 Remove obsolete ASSERT
2420 (-[WebView _setInitiatedDrag:]):
2421 Now passes directly through to DragController
2422 (-[WebView _commonInitializationWithFrameName:groupName:]):
2423 (-[WebView _loadingDragOperationForDraggingInfo:]):
2425 (-[WebView draggingEntered:]):
2426 Updated to use DragController
2427 (-[WebView draggingUpdated:]):
2429 (-[WebView draggingExited:]):
2431 (-[WebView performDragOperation:]):
2433 (-[WebView _hitTest:dragTypes:]):
2434 * WebView/WebViewInternal.h:
2435 remove unnecessary method def
2437 2007-01-22 John Sullivan <sullivan@apple.com>
2439 * WebView/WebHTMLView.mm:
2440 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2441 Tiger build fix: remove unused variable for return value of dictionaryServiceWindowShow
2443 2007-01-22 John Sullivan <sullivan@apple.com>
2445 Reviewed by Adam and Darin
2447 - fixed <rdar://problem/4794320> "Look Up in Dictionary" does nothing in WebKit
2448 (need to adopt new API)
2450 * Misc/WebNSURLExtras.m:
2451 (-[NSString _web_isUserVisibleURL]):
2452 random typo correction in comment
2454 * English.lproj/StringsNotToBeLocalized.txt:
2455 updated for these changes
2457 * WebView/WebHTMLView.mm:
2458 (coreGraphicsScreenPointForAppKitScreenPoint):
2459 new function to convert an AppKit screen point to a CG screen point
2460 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
2461 on Leopard now uses new API. There's something of an impedance mismatch between
2462 this API and WebKit, but that was true for the SPI we were using in Tiger also.
2463 Bug 4945808 covers the ways in which this is not perfect.
2465 2007-01-21 Darin Adler <darin@apple.com>
2469 * WebInspector/webInspector/inspector.css: Use row-resize for the splitter cursor
2470 instead of move. It's a horizontal splitter resizer.
2472 2007-01-19 Adam Roben <aroben@apple.com>
2476 Fix <rdar://problem/4942294> REGRESSION: "Spelling and Grammar",
2477 "Font", "Speech", and "Writing Direction" are missing from contextual
2480 * WebCoreSupport/WebContextMenuClient.mm:
2481 (fixMenusForOldClients): Change our new SPI tags to
2482 WebMenuItemTagOther because old clients aren't expecting the new tags.
2483 (fixMenusFromOldClients): Use each menu item's title to figure out its
2485 (WebContextMenuClient::getCustomMenuFromDefaultItems): Call
2486 fixMenusForOldClients before calling up to the delegate.
2487 * WebView/WebUIDelegatePrivate.h: Define WEBMENUITEMTAG_SPI_START so
2488 that we can use it in WebContextMenuClient.
2490 2007-01-19 John Sullivan <sullivan@apple.com>
2494 - WebKit part of fix for: <rdar://problem/4451715> REGRESSION: On some sites, have to
2495 type a character before username/password autofill kicks in
2497 Added new webView:didFinishDocumentLoadForFrame: SPI and wired it up
2499 * WebView/WebViewPrivate.h:
2500 declare new delegate method
2502 * WebCoreSupport/WebFrameLoaderClient.h:
2503 declare dispatchDidFinishDocumentLoad()
2505 * WebCoreSupport/WebFrameLoaderClient.mm:
2506 (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
2507 new method, calls new delegate method
2509 * DefaultDelegates/WebDefaultFrameLoadDelegate.m:
2510 (-[WebDefaultFrameLoadDelegate webView:didFinishDocumentLoadForFrame:]):
2511 empty default implementation of new delegate method
2513 2007-01-19 Anders Carlsson <acarlsson@apple.com>
2515 Reviewed by John Sullivan.
2517 http://bugs.webkit.org/show_bug.cgi?id=12308
2518 REGRESSION(r18910): Crash in WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError
2520 * Plugins/WebBaseNetscapePluginView.mm:
2521 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2522 Move code from initWithFrame in here.
2524 2007-01-19 Anders Carlsson <acarlsson@apple.com>
2526 Yet another build fix.
2528 * WebCoreSupport/WebChromeClient.h:
2529 * WebCoreSupport/WebChromeClient.mm:
2530 (WebChromeClient::setStatusbarText):
2532 2007-01-18 Anders Carlsson <acarlsson@apple.com>
2536 Move functions from the bridge to the chrome client.
2538 * WebCoreSupport/WebChromeClient.h:
2539 * WebCoreSupport/WebChromeClient.mm:
2540 (WebChromeClient::runJavaScriptAlert):
2541 (WebChromeClient::runJavaScriptConfirm):
2542 (WebChromeClient::runJavaScriptPrompt):
2543 (WebChromeClient::setStatusBarText):
2544 * WebCoreSupport/WebFrameBridge.mm:
2546 2007-01-18 Adam Roben <aroben@apple.com>
2550 Fix <rdar://problem/4939672> REGRESSION: With text selected that is
2551 not a link, the "Remove Link" contextual menu item remains active
2553 * WebView/WebHTMLView.mm:
2554 (-[WebHTMLView menuForEvent:]): Leave autoenabling of menu items on so
2555 that clients can implement validateMenuItem:.
2557 2007-01-18 Brady Eidson <beidson@apple.com>
2561 <rdar://problem/4917290> -
2562 Null deref in WebFrameLoaderClient::restoreScrollPositionAndViewState()
2563 after regaining network connection
2565 * WebCoreSupport/WebFrameLoaderClient.mm:
2566 (WebFrameLoaderClient::restoreScrollPositionAndViewState): Bail early with a null currentItem, preventing
2567 a crash in release builds. Leave the ASSERT to help find other cases where this might happen in debug builds.
2569 2007-01-18 Kevin Decker <kdecker@apple.com>
2573 <rdar://problem/4939511> WebKit should set the CG clip path for plug-ins that draw using CoreGraphics
2575 * Plugins/WebBaseNetscapePluginView.mm:
2576 (-[WebBaseNetscapePluginView drawRect:]): Set the CG clip path to the plug-in dirty rect. This allows plug-ins to obtain their
2577 dirty rect using functions like CGContextGetClipBoundingBox().
2579 2007-01-17 Alice Liu <alice.liu@apple.com>
2581 Reviewed by Harrison.
2583 Fix for <rdar://problem/4894155> REGRESSION: Extra line break is pasted with content into message body after choosing File - Paste
2585 Migration of some editing code from WebHTMView to WebCore::Editor
2586 resulted in not calling pasteboardTypesForSelection, which Mail was
2587 overriding for the special purpose of adding a type to the
2588 pasteboard after WebKit did. This patch adds 2 separate code paths
2589 for Tiger and Leopard. On Tiger we give in and call the WebView's
2590 pasteboardTypesForSelection. On Leopard we call a delegate after
2591 the pasteboard types are set.
2593 * DefaultDelegates/WebDefaultEditingDelegate.m:
2594 (-[WebDefaultEditingDelegate webView:didSetSelectionTypesForPasteboard:]):
2595 * WebCoreSupport/WebEditorClient.h:
2596 * WebCoreSupport/WebEditorClient.mm:
2597 (WebEditorClient::didSetSelectionTypesForPasteboard):
2598 (WebEditorClient::pasteboardTypesForSelection):
2599 * WebView/WebEditingDelegate.h:
2601 2007-01-17 John Sullivan <sullivan@apple.com>
2605 - WebKit part of fix for <rdar://problem/4462420> REGRESSION: Mail hangs during
2606 Replace All if the replacement string contains the search string
2608 * Misc/WebKitVersionChecks.h:
2609 Added extern "C" so this can be used from .mm files. I don't need this change anymore for
2610 this fix, but it's still worth fixing now so it doesn't bite anyone later.
2612 * WebView/WebDocumentPrivate.h:
2613 Invented new private protocol WebDocumentIncrementalSearching, that has one method. The one
2614 method is just like the one WebDocumentSearching method, but with an additional parameter.
2615 We hope to eliminate this dependence on protocols someday, but adding another one as SPI
2616 seems like it won't make anything worse.
2618 * WebView/WebHTMLView.mm:
2619 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:]):
2620 now calls through to new method that has one additional parameter, passing NO to match old behavior
2621 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2622 pass new parameter to bridge
2624 * WebView/WebPDFView.h:
2625 Declare conformance to WebDocumentIncrementalSearching protocol
2627 * WebView/WebPDFView.mm:
2628 (-[WebPDFView searchFor:direction:caseSensitive:wrap:]):
2629 now calls through to new method that has one additional parameter, passing NO to match old behavior
2630 (-[WebPDFView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2631 new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
2634 * WebView/WebViewPrivate.h:
2635 Declare new searchFor:direction:caseSensitive:wrap:startInSelection: method, just like existing
2636 method but with one additional parameter
2638 * WebView/WebView.mm:
2639 (-[WebView searchFor:direction:caseSensitive:wrap:]):
2640 now calls through to new method that has one additional parameter, passing NO to match old behavior
2641 (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]):
2642 new method, former guts of searchFor:direction:caseSensitive:wrap: but now handles startInSelection
2645 2007-01-17 Brady Eidson <beidson@apple.com>
2647 Reviewed by Deth Bakin and Brian Dash
2649 Drop Panther Support (?!?) and change the comment explaining some SPI forward decls
2651 * Misc/WebDownload.m:
2653 2007-01-17 Darin Adler <darin@apple.com>
2657 - fix http://bugs.webkit.org/show_bug.cgi?id=12278
2658 <rdar://problem/4928705> REGRESSION(r13070): Dragged image size includes padding (12278)
2660 * Misc/WebElementDictionary.mm: (-[WebElementDictionary _imageRect]):
2661 Call HitTestResult::imageRect, not HitTestResult::boundingBox.
2663 2007-01-17 Anders Carlsson <acarlsson@apple.com>
2665 Reviewed by John Sullivan.
2667 Move all code in WebNetscapePluginEmbeddedView down to WebBaseNetscapePluginView.
2669 * Plugins/WebBaseNetscapePluginView.h:
2670 * Plugins/WebBaseNetscapePluginView.mm:
2671 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
2672 (-[WebBaseNetscapePluginView didStart]):
2673 (-[WebBaseNetscapePluginView dataSource]):
2674 (-[WebBaseNetscapePluginView dealloc]):
2675 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
2676 (-[WebBaseNetscapePluginView pluginView:receivedData:]):
2677 (-[WebBaseNetscapePluginView pluginView:receivedError:]):
2678 (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
2679 (-[WebBaseNetscapePluginView _redeliverStream]):
2680 * Plugins/WebNetscapePluginEmbeddedView.h:
2681 * Plugins/WebNetscapePluginEmbeddedView.mm:
2683 2007-01-17 Maciej Stachowiak <mjs@apple.com>
2687 <rdar://problem/4887781> Seed: Repro Safari crash in -[WebHTMLRepresentation receivedData:withDataSource:] (music.aol.com)
2689 * WebView/WebDataSource.mm:
2690 (-[WebDataSource _receivedData:]): Protect self against destruction partway through this method.
2692 2007-01-16 Alice Liu <alice.liu@apple.com>
2694 Reviewed by harrison.
2696 Fixed <rdar://problem/4921134> WebKit needs extensible cut/copy to allow additional types to be written to pasteboard
2698 * DefaultDelegates/WebDefaultEditingDelegate.m:
2699 (-[WebDefaultEditingDelegate webView:didWriteSelectionToPasteboard:]):
2700 * WebCoreSupport/WebEditorClient.h:
2701 * WebCoreSupport/WebEditorClient.mm:
2702 (WebEditorClient::didWriteSelectionToPasteboard):
2703 * WebKit.xcodeproj/project.pbxproj:
2704 * WebView/WebEditingDelegate.h:
2706 2007-01-15 Justin Garcia <justin.garcia@apple.com>
2710 <rdar://problem/4810960>
2711 Gmail Editor: window.focus() called on keyDown (9640)
2713 The window's keydown event handler was being called
2714 instead of the editable subframe's if there was a key binding
2717 * WebView/WebHTMLView.mm:
2718 (-[WebHTMLView performKeyEquivalent:]): Don't send the event
2719 to WebCore unless this WebHTMLView is the firstResponder.
2721 2007-01-15 Anders Carlsson <acarlsson@apple.com>
2725 Update to match WebCore.
2727 * WebCoreSupport/WebFrameLoaderClient.h:
2728 * WebCoreSupport/WebFrameLoaderClient.mm:
2729 (WebFrameLoaderClient::willChangeEstimatedProgress):
2730 (WebFrameLoaderClient::didChangeEstimatedProgress):
2731 (WebFrameLoaderClient::postProgressStartedNotification):
2732 (WebFrameLoaderClient::postProgressEstimateChangedNotification):
2733 (WebFrameLoaderClient::postProgressFinishedNotification):
2734 Post the correct notifications.
2736 * WebView/WebView.mm:
2737 (-[WebViewPrivate init]):
2738 (-[WebViewPrivate dealloc]):
2739 Get rid of all progress tracking code.
2741 (-[WebView estimatedProgress]):
2742 Call ProgressTracker::estimatedProgress()
2744 2007-01-15 Adam Roben <aroben@apple.com>
2748 Fix: http://bugs.webkit.org/show_bug.cgi?id=12134
2749 REGRESSION: Assertion failure and crash when right clicking selection
2752 * WebCoreSupport/WebContextMenuClient.mm:
2753 (fixMenusFromOldApps): Static helper to fix up menus from applications
2754 compiled against Tiger WebKit.
2755 (WebContextMenuClient::getCustomMenuFromDefaultItems): Call helper to
2757 * WebView/WebUIDelegatePrivate.h: Fixed typo.
2759 2007-01-14 David Kilzer <ddkilzer@kilzer.net>
2763 - fix http://bugs.webkit.org/show_bug.cgi?id=12251
2764 REGRESSION (r18822-r18823): Assertion failure opening document with non-existent resources
2765 (dom/xhtml/level2/html/HTMLIFrameElement11.xhtml)
2767 * WebView/WebView.mm:
2768 (-[WebView _objectForIdentifier:]): Removed assertion.
2769 (-[WebView _removeObjectForIdentifier:]): Removed assertion.
2771 2007-01-12 Anders Carlsson <acarlsson@apple.com>
2775 Add a HashMap between unsigned longs and Objective-C objects and use it for
2776 the resource load delegate.
2778 * WebCoreSupport/WebFrameLoaderClient.h:
2779 * WebCoreSupport/WebFrameLoaderClient.mm:
2780 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
2781 (WebFrameLoaderClient::dispatchIdentifierForInitialRequest):
2782 (WebFrameLoaderClient::dispatchWillSendRequest):
2783 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2784 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2785 (WebFrameLoaderClient::dispatchDidReceiveResponse):
2786 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
2787 (WebFrameLoaderClient::dispatchDidFinishLoading):
2788 (WebFrameLoaderClient::dispatchDidFailLoading):
2789 (WebFrameLoaderClient::incrementProgress):
2790 (WebFrameLoaderClient::completeProgress):
2791 * WebView/WebView.mm:
2792 (-[WebViewPrivate init]):
2793 (-[WebViewPrivate dealloc]):
2794 (-[WebView _addObject:forIdentifier:]):
2795 (-[WebView _objectForIdentifier:]):
2796 (-[WebView _removeObjectForIdentifier:]):
2797 * WebView/WebViewInternal.h:
2799 2007-01-11 Brady Eidson <beidson@apple.com>
2803 Rewrites HTTP Authentication setting up a more platform-independent structure
2805 * WebCoreSupport/WebFrameLoaderClient.h:
2806 * WebCoreSupport/WebFrameLoaderClient.mm:
2807 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2808 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
2809 * WebKit.xcodeproj/project.pbxproj:
2811 2007-01-11 Darin Adler <darin@apple.com>
2815 - fix http://bugs.webkit.org/show_bug.cgi?id=12180
2816 REGRESSION: Double-clicking on JS exception in JS log crashes in -[SharedBufferData initWithSharedBuffer:]
2818 * WebView/WebDataSource.mm: (-[WebDataSource data]): Added null check.
2820 2007-01-11 Darin Adler <darin@apple.com>
2824 - moved code from a couple WebCore bridging classes here instead
2826 * Misc/WebNSPasteboardExtras.mm:
2827 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]):
2828 Use MimeTypeRegistry instead of WebMimeTypeRegistryBridge.
2830 * WebView/WebHTMLRepresentation.mm:
2831 (stringArray): Added. Helper to convert a HashSet to an NSArray.
2832 (concatenateArrays): Added. Helper to concatenate two NSArray objects.
2833 (+[WebHTMLRepresentation supportedMIMETypes]): Use MimeTypeRegistry instead of
2834 WebMimeTypeRegistryBridge. Also fix a potential GC problem by using a RetainPtr
2835 instead of a [retain] on a global variable.
2836 (+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
2837 (+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
2839 * WebView/WebHTMLView.mm:
2840 (-[WebHTMLView _imageExistsAtPaths:]): Use MimeTypeRegistry instead of
2841 WebMimeTypeRegistryBridge.
2842 (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
2844 * WebView/WebView.mm: (+[WebView _decodeData:]): Moved code here from
2845 the old WebCoreEncodings class.
2847 * WebKit.xcodeproj/project.pbxproj: Let Xcode have its way with this file.
2848 Moved WebRenderNode into the appropriate group.
2850 2007-01-10 Mitz Pettel <mitz@webkit.org>
2854 - fix http://bugs.webkit.org/show_bug.cgi?id=11775
2855 'Show URLs in Tool Tips' preference is ignored
2857 * WebView/WebHTMLView.mm:
2858 (-[WebHTMLView _resetCachedWebPreferences:]):
2859 (-[WebHTMLView setDataSource:]): Added a call to _resetCachedWebPreferences:.
2860 Added an assertion that the view is not closed, instead of reopening it.
2861 Reopening should not occur, now that <http://bugs.webkit.org/show_bug.cgi?id=12087>
2864 2007-01-10 Beth Dakin <bdakin@apple.com>
2868 Fix for <rdar://problem/4914258> REGRESSION: Search in Google now
2869 operates on the current WebView instead of invoking Safari's
2872 * WebCoreSupport/WebContextMenuClient.h:
2873 * WebCoreSupport/WebContextMenuClient.mm:
2874 (WebContextMenuClient::searchWithGoogle): Call into WebView to
2876 * WebView/WebViewInternal.h: Make _searchWithGoogleFromMenu
2879 2007-01-09 Timothy Hatcher <timothy@apple.com>
2883 Rename the now ObjC++ files to be .mm and remove the explicit file types.
2885 * DOM/WebDOMOperations.m: Removed.
2886 * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed.
2887 * English.lproj/StringsNotToBeLocalized.txt:
2888 * Misc/WebCoreStatistics.m: Removed.
2889 * Misc/WebElementDictionary.m: Removed.
2890 * Misc/WebIconDatabase.m: Removed.
2891 * Misc/WebNSAttributedStringExtras.m: Removed.
2892 * Misc/WebNSPasteboardExtras.m: Removed.
2893 * Plugins/WebNetscapePluginEmbeddedView.m: Removed.
2894 * Plugins/WebNullPluginView.m: Removed.
2895 * Plugins/WebPluginContainerCheck.m: Removed.
2896 * WebCoreSupport/WebViewFactory.m: Removed.
2897 * WebKit.xcodeproj/project.pbxproj:
2898 * WebView/WebArchiver.m: Removed.
2899 * WebView/WebHTMLRepresentation.m: Removed.
2900 * WebView/WebHTMLView.m: Removed.
2901 * WebView/WebRenderNode.m: Removed.
2902 * WebView/WebResource.m: Removed.
2903 * WebView/WebScriptDebugDelegate.m: Removed.
2905 2007-01-09 Maciej Stachowiak <mjs@apple.com>
2909 - remove window display throttling code; no longer used
2911 * Misc/WebNSWindowExtras.h:
2912 * Misc/WebNSWindowExtras.m:
2913 * WebView/WebFrameView.mm:
2914 (-[WebFrameView initWithFrame:]):
2915 * WebView/WebPreferenceKeysPrivate.h:
2917 2007-01-08 Anders Carlsson <acarlsson@apple.com>
2921 Remove bridge functions that are implemented directly in FrameLoader now.
2923 * WebCoreSupport/WebFrameBridge.mm:
2925 2007-01-08 Sam Weinig <sam@webkit.org>
2929 Adds default value for outline-color and fixes default
2930 values of the recently fixed *-color properties.
2932 * WebInspector/webInspector/inspector.js:
2934 2007-01-08 Beth Dakin <bdakin@apple.com>
2938 Fix for http://bugs.webkit.org/show_bug.cgi?id=12161 REGRESSION:
2939 Crash when control-clicking on an image for contextual menu
2941 * WebView/WebHTMLView.m:
2942 (-[WebHTMLView menuForEvent:]): We need to nil-check coreMenu since
2943 it will be nil if the DOM popped up a menu instead. I cleaned up
2944 the function to make all the nil checks early returns instead of
2945 nesting all of the content. Also moved the autorelease to be with
2946 the creation of the menu instead of at the return.
2948 2007-01-08 Sam Weinig <sam@webkit.org>
2952 Adds default value for -webkit-box-shadow and fixes default
2953 value of -webkit-column-count to be "auto". Also sorts the
2956 * WebInspector/webInspector/inspector.js:
2958 2007-01-08 Andrew Wellington <proton@wiretapped.net>
2962 * WebInspector/webInspector/inspector.js: Hide default values of
2963 -webkit-column styles in WebInspector.
2965 2007-01-05 Darin Adler <darin@apple.com>
2969 * Misc/WebNSAttributedStringExtras.m:
2970 (+[NSAttributedString _web_attributedStringFromRange:]):
2971 Updated to use new list marker text API that is String rather than
2972 DeprecatedString. Also removed code to do text form of non-text list
2973 markers since the list marker class now deals with that.
2975 2007-01-05 Anders Carlsson <acarlsson@apple.com>
2981 * WebCoreSupport/WebFrameLoaderClient.h:
2982 * WebCoreSupport/WebFrameLoaderClient.mm:
2983 (WebFrameLoaderClient::dispatchCreatePage):
2985 2007-01-05 Anders Carlsson <acarlsson@apple.com>
2989 The data returned is now a SharedBuffer so wrap it in an NSData object.
2991 * WebView/WebDataSource.mm:
2992 (-[WebDataSource data]):
2994 2007-01-04 Adam Roben <aroben@apple.com>
2996 Reviewed by Geoff, cheered by others.
2998 Dead code elimination.
3000 * WebView/WebHTMLView.m:
3002 2007-01-04 Adam Roben <aroben@apple.com>
3004 Boo on me for undoing Beth's hard work.
3006 * WebView/WebHTMLView.m:
3007 (-[WebHTMLView menuForEvent:]): Undo a mistaken roll out of r18597.
3009 2007-01-04 David Kilzer <ddkilzer@webkit.org>
3013 - fix http://bugs.webkit.org/show_bug.cgi?id=12111
3014 Uninitialized variable in -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
3016 * DefaultDelegates/WebDefaultPolicyDelegate.m: Initialize isDirectory.
3018 2007-01-04 Adam Roben <aroben@apple.com>
3022 Remove WebKit/AppKit from handling tabbing between subframes.
3024 * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
3025 moving focus out of the WebView.
3026 * WebCoreSupport/WebChromeClient.mm: Ditto.
3027 (WebChromeClient::canTakeFocus):
3028 (WebChromeClient::takeFocus):
3029 * WebCoreSupport/WebFrameBridge.mm:
3030 (-[WebFrameBridge webView]): Added null-check of m_frame.
3031 * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
3032 (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
3033 WebCore believes it to be the focused frame.
3034 (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
3035 FocusController to place focus correctly within the WebView.
3037 2007-01-04 Anders Carlsson <acarlsson@apple.com>
3041 FrameLoaderClient changed yet again.
3043 * WebCoreSupport/WebFrameLoaderClient.h:
3044 * WebCoreSupport/WebFrameLoaderClient.mm:
3045 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3046 (WebFrameLoaderClient::dispatchWillSendRequest):
3048 2007-01-04 Anders Carlsson <acarlsson@apple.com>
3052 FrameLoaderClient changed again.
3054 * WebCoreSupport/WebFrameLoaderClient.h:
3055 * WebCoreSupport/WebFrameLoaderClient.mm:
3056 (WebFrameLoaderClient::download):
3057 (WebFrameLoaderClient::willUseArchive):
3059 2007-01-04 Beth Dakin <bdakin@apple.com>
3063 No need to hit test twice.
3065 * WebView/WebHTMLView.m:
3066 (-[WebHTMLView menuForEvent:]):
3068 2007-01-04 Beth Dakin <bdakin@apple.com>
3072 Turn on WebCore context menus. Delete a bunch of WebKit context
3073 menu code that is no longer needed.
3075 * DefaultDelegates/WebDefaultContextMenuDelegate.m: Removed a lot
3076 of code from this class. This class only still needs to exist for
3077 PDF context menus, so we only need to deal with the menu items that
3078 might possibly be added to a PDF context menu.
3079 (-[WebDefaultUIDelegate
3080 menuItemWithTag:target:representedObject:]): Same.
3081 (-[WebDefaultUIDelegate
3082 webView:contextMenuItemsForElement:defaultMenuItems:]): Same.
3083 * WebCoreSupport/WebContextMenuClient.h: Name change and have the
3084 former getCustomMenuFromDefaultItems function return the
3085 PlatformMenuDescription since it feels funny to have the client set
3086 the new platform description.
3087 * WebCoreSupport/WebContextMenuClient.mm: Same.
3088 (WebContextMenuClient::getCustomMenuFromDefaultItems): Same. Also
3089 move in some code that used to be in _menuForElement.
3090 * WebView/WebHTMLView.m: Deleted a bunch of un-used functions
3091 (-[WebHTMLView menuForEvent:]): Turn on menus, and append the
3092 Inspect Element item.
3093 * WebView/WebHTMLViewPrivate.h: Deleted a bunch of un-used
3095 * WebView/WebView.mm:
3096 (-[WebView _menuForElement:defaultItems:]): Removed a lot of code
3097 from _menuForElement that now makes more sense elsewhere. Only PDF
3098 context menus use this function now. Hopefully we can just get rid
3101 2007-01-04 Anders Carlsson <acarlsson@apple.com>
3105 Update for WebCore changes.
3107 * WebCoreSupport/WebFrameLoaderClient.h:
3108 * WebCoreSupport/WebFrameLoaderClient.mm:
3109 (WebFrameLoaderClient::download):
3110 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
3111 (WebFrameLoaderClient::dispatchWillSendRequest):
3112 (WebFrameLoaderClient::dispatchDidReceiveResponse):
3113 (WebFrameLoaderClient::incrementProgress):
3115 2007-01-04 Don Gibson <dgibson77@gmail.com>
3119 http://bugs.webkit.org/show_bug.cgi?id=11900:
3120 Windows build bustage
3122 * COM/ChromeClientWin.cpp:
3123 (ChromeClientWin::addMessageToConsole):
3124 (ChromeClientWin::runBeforeUnloadConfirmPanel):
3125 * COM/ChromeClientWin.h:
3126 * COM/ContextMenuClientWin.cpp:
3127 (ContextMenuClientWin::contextMenuItemSelected):
3128 * COM/ContextMenuClientWin.h:
3129 * COM/WebFrameLoaderClient.cpp:
3130 (WebFrameLoaderClient::setDocumentViewFromPageCache):
3131 (WebFrameLoaderClient::forceLayout):
3132 (WebFrameLoaderClient::forceLayoutForNonHTML):
3133 (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
3134 (WebFrameLoaderClient::updateGlobalHistoryForReload):
3135 (WebFrameLoaderClient::shouldGoToHistoryItem):
3136 (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
3137 (WebFrameLoaderClient::restoreScrollPositionAndViewState):
3138 (WebFrameLoaderClient::provisionalLoadStarted):
3139 (WebFrameLoaderClient::saveDocumentViewToPageCache):
3140 (WebFrameLoaderClient::canCachePage):
3141 * COM/WebFrameLoaderClient.h:
3142 * WebKit.vcproj/WebKit.vcproj:
3144 2007-01-03 John Sullivan <sullivan@apple.com>
3146 * WebView/WebPDFView.mm:
3147 (-[WebPDFView _openWithFinder:]):
3148 Tiger build fix: use [NSNumber initWithInt:] rather than the new [NSNumber initWithInteger:]
3150 2007-01-03 John Sullivan <sullivan@apple.com>
3152 Reviewed by Kevin Decker
3154 - fixed <rdar://problem/4145714> WebKit's PDFView's "Open in Preview" puts the
3155 PDF in /tmp, both group and world-readable
3157 * WebView/WebPDFView.mm:
3158 (-[WebPDFView _openWithFinder:]):
3159 Make the file only readable by the current user
3161 2007-01-03 Beth Dakin <bdakin@apple.com>
3165 Make localized strings for all of the context menu item titles that
3166 are accessible to WebCore.
3168 * English.lproj/Localizable.strings:
3169 * WebCoreSupport/WebViewFactory.m:
3170 (-[WebViewFactory contextMenuItemTagOpenLinkInNewWindow]):
3171 (-[WebViewFactory contextMenuItemTagDownloadLinkToDisk]):
3172 (-[WebViewFactory contextMenuItemTagCopyLinkToClipboard]):
3173 (-[WebViewFactory contextMenuItemTagOpenImageInNewWindow]):
3174 (-[WebViewFactory contextMenuItemTagDownloadImageToDisk]):
3175 (-[WebViewFactory contextMenuItemTagCopyImageToClipboard]):
3176 (-[WebViewFactory contextMenuItemTagOpenFrameInNewWindow]):
3177 (-[WebViewFactory contextMenuItemTagCopy]):
3178 (-[WebViewFactory contextMenuItemTagGoBack]):
3179 (-[WebViewFactory contextMenuItemTagGoForward]):
3180 (-[WebViewFactory contextMenuItemTagStop]):
3181 (-[WebViewFactory contextMenuItemTagReload]):
3182 (-[WebViewFactory contextMenuItemTagCut]):
3183 (-[WebViewFactory contextMenuItemTagPaste]):
3184 (-[WebViewFactory contextMenuItemTagNoGuessesFound]):
3185 (-[WebViewFactory contextMenuItemTagIgnoreSpelling]):
3186 (-[WebViewFactory contextMenuItemTagLearnSpelling]):
3187 (-[WebViewFactory contextMenuItemTagSearchInSpotlight]):
3188 (-[WebViewFactory contextMenuItemTagSearchWeb]):
3189 (-[WebViewFactory contextMenuItemTagLookUpInDictionary]):
3190 (-[WebViewFactory contextMenuItemTagOpenLink]):
3191 (-[WebViewFactory contextMenuItemTagIgnoreGrammar]):
3192 (-[WebViewFactory contextMenuItemTagSpellingMenu]):
3193 (-[WebViewFactory contextMenuItemTagShowSpellingPanel:]):
3194 (-[WebViewFactory contextMenuItemTagCheckSpelling]):
3195 (-[WebViewFactory contextMenuItemTagCheckSpellingWhileTyping]):
3196 (-[WebViewFactory contextMenuItemTagCheckGrammarWithSpelling]):
3197 (-[WebViewFactory contextMenuItemTagFontMenu]):
3198 (-[WebViewFactory contextMenuItemTagShowFonts]):
3199 (-[WebViewFactory contextMenuItemTagBold]):
3200 (-[WebViewFactory contextMenuItemTagItalic]):
3201 (-[WebViewFactory contextMenuItemTagUnderline]):
3202 (-[WebViewFactory contextMenuItemTagOutline]):
3203 (-[WebViewFactory contextMenuItemTagStyles]):
3204 (-[WebViewFactory contextMenuItemTagShowColors]):
3205 (-[WebViewFactory contextMenuItemTagSpeechMenu]):
3206 (-[WebViewFactory contextMenuItemTagStartSpeaking]):
3207 (-[WebViewFactory contextMenuItemTagStopSpeaking]):
3208 (-[WebViewFactory contextMenuItemTagWritingDirectionMenu]):
3209 (-[WebViewFactory contextMenuItemTagDefaultDirection]):
3210 (-[WebViewFactory contextMenuItemTagLeftToRight]):
3211 (-[WebViewFactory contextMenuItemTagRightToLeft]):
3213 2007-01-03 Brady Eidson <beidson@apple.com>
3215 Reviewed by John Sullivan
3217 In the Bookmarks View/History View, favicon may be the incorrect size
3219 * History/WebHistoryItem.mm:
3220 (-[WebHistoryItem icon]): Call to the WebIconDatabase until a WebCore issue is resolved
3222 2007-01-03 Adele Peterson <adele@apple.com>
3226 - Fix for <rdar://problem/4455147> Safari allows division slash character in URLs, which looks like slash character (not fixed by IDNScriptWhiteList.txt)
3228 * Misc/WebNSURLExtras.m: (allCharactersInIDNScriptWhiteList): Always disallow the division slash character.
3230 2007-01-02 Brady Eidson <beidson@apple.com>
3232 Controversially reviewed by Tim H. and Maciej
3234 Fixes http://bugs.webkit.org/show_bug.cgi?id=12086, http://bugs.webkit.org/show_bug.cgi?id=12088,
3235 possibly http://bugs.webkit.org/show_bug.cgi?id=12087, and probably a slew of others
3237 WebHistoryItems returned from the WebBackForwardList accessors were being release/retained out-of-order
3238 by the Safari app. This bug never surfaced before because the WebBackForwardList had a retain on the
3239 item, preventing deallocation. Since the items are now just temporary wrappers, the list
3240 is no longer actually retaining them.
3242 This solution is to simulate the ownership with a [[id retain] autorelease] - gross, but maybe the
3243 only solution for now... =/
3245 We can possibly consider reverting this fix at a later date - that task is marked by
3246 <rdar://problem/4905705>
3248 * History/WebBackForwardList.mm:
3249 (-[WebBackForwardList backItem]):
3250 (-[WebBackForwardList currentItem]):
3251 (-[WebBackForwardList forwardItem]):
3252 (-[WebBackForwardList itemAtIndex:]):
3254 2007-01-02 Beth Dakin <bdakin@apple.com>
3258 Remove un-used function.
3260 * WebCoreSupport/WebContextMenuClient.h:
3261 * WebCoreSupport/WebContextMenuClient.mm:
3263 2007-01-02 Brady Eidson <beidson@apple.com>
3265 Reviewed extensively and repeatedly by Darin
3267 <rdar://problem/4887137> - WebCore Back/Forward Cache
3268 Most things not specifically commented on in the ChangeLog can be summed up as
3269 "Do things exactly the same way as we used to, but just stick in WebCore-land as much as possible"
3271 * History/WebBackForwardList.mm:
3272 (kitPrivate): Convenience functions to help with subbing "WebBackForwardListPrivate" for WebCore::BackForwardList
3274 (backForwardListWrappers): A HashMap pattern used to map WebCore objects to their WebKit counterpart
3276 (+[WebBackForwardList setDefaultPageCacheSizeIfNecessary]):
3277 (-[WebBackForwardList initWithWebCoreBackForwardList:]):
3278 (-[WebBackForwardList init]):
3279 (-[WebBackForwardList dealloc]):
3280 (-[WebBackForwardList finalize]):
3281 (-[WebBackForwardList _close]):
3282 (-[WebBackForwardList addItem:]):
3283 (-[WebBackForwardList removeItem:]):
3284 (-[WebBackForwardList containsItem:]):
3285 (-[WebBackForwardList goBack]):
3286 (-[WebBackForwardList goForward]):
3287 (-[WebBackForwardList goToItem:]):
3288 (-[WebBackForwardList backItem]):
3289 (-[WebBackForwardList currentItem]):
3290 (-[WebBackForwardList forwardItem]):
3292 (-[WebBackForwardList backListWithLimit:]):
3293 (-[WebBackForwardList forwardListWithLimit:]):
3294 (-[WebBackForwardList capacity]):
3295 (-[WebBackForwardList setCapacity:]):
3296 (-[WebBackForwardList description]):
3297 (-[WebBackForwardList _clearPageCache]):
3298 (-[WebBackForwardList setPageCacheSize:]):
3299 (-[WebBackForwardList pageCacheSize]):
3300 (-[WebBackForwardList _usesPageCache]):
3301 (-[WebBackForwardList backListCount]):
3302 (-[WebBackForwardList forwardListCount]):
3303 (-[WebBackForwardList itemAtIndex:]):
3304 * History/WebBackForwardListInternal.h: Added.
3306 * History/WebHistory.m: Removed.
3307 * History/WebHistory.mm: Added - Needed to be .mm to accept C++ header style
3308 (-[_WebCoreHistoryProvider containsItemForURLLatin1:length:]):
3309 (-[_WebCoreHistoryProvider containsItemForURLUnicode:length:]):
3311 * History/WebHistoryItem.mm:
3312 (kitPrivate): Same pattern as WebBackForwardList
3314 (historyItemWrappers):
3315 (WKNotifyHistoryItemChanged):
3316 (-[WebHistoryItem init]):
3317 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
3318 (-[WebHistoryItem dealloc]):
3319 (-[WebHistoryItem finalize]):
3320 (-[WebHistoryItem copyWithZone:]):
3321 (-[WebHistoryItem URLString]):
3322 (-[WebHistoryItem originalURLString]):
3323 (-[WebHistoryItem title]):
3324 (-[WebHistoryItem setAlternateTitle:]):
3325 (-[WebHistoryItem alternateTitle]):
3326 (-[WebHistoryItem icon]):
3327 (-[WebHistoryItem lastVisitedTimeInterval]):
3328 (-[WebHistoryItem hash]):
3329 (-[WebHistoryItem isEqual:]):
3330 (-[WebHistoryItem description]):
3332 (+[WebHistoryItem entryWithURL:]):
3333 (+[WebHistoryItem initWindowWatcherIfNecessary]):
3334 (-[WebHistoryItem initWithURL:target:parent:title:]):
3335 (-[WebHistoryItem initWithWebCoreHistoryItem:]):
3336 (-[WebHistoryItem setTitle:]):
3337 (-[WebHistoryItem setVisitCount:]):
3338 (-[WebHistoryItem setViewState:]):
3339 (-[WebHistoryItem _mergeAutoCompleteHints:]):
3340 (-[WebHistoryItem initFromDictionaryRepresentation:]):
3341 (-[WebHistoryItem scrollPoint]):
3342 (-[WebHistoryItem _transientPropertyForKey:]):
3343 (-[WebHistoryItem _setTransientProperty:forKey:]):
3344 (-[WebHistoryItem dictionaryRepresentation]):
3345 (-[WebHistoryItem target]):
3346 (-[WebHistoryItem isTargetItem]):
3347 (-[WebHistoryItem visitCount]):
3348 (-[WebHistoryItem RSSFeedReferrer]):
3349 (-[WebHistoryItem setRSSFeedReferrer:]):
3350 (-[WebHistoryItem children]):
3351 (-[WebHistoryItem setAlwaysAttemptToUsePageCache:]):
3352 (-[WebHistoryItem URL]):
3353 (-[WebHistoryItem _setLastVisitedTimeInterval:]):
3354 (-[WebHistoryItem _lastVisitedDate]):
3355 (-[WebHistoryItem targetItem]):
3356 (+[WebHistoryItem _releaseAllPendingPageCaches]):
3357 (-[WebWindowWatcher windowWillClose:]):
3358 * History/WebHistoryItemInternal.h:
3359 * History/WebHistoryItemPrivate.h:
3361 * WebCoreSupport/WebFrameBridge.mm:
3362 * WebCoreSupport/WebFrameLoaderClient.h:
3363 * WebCoreSupport/WebFrameLoaderClient.mm:
3364 (WebFrameLoaderClient::setDocumentViewFromPageCache):
3365 (WebFrameLoaderClient::detachedFromParent1):
3366 (WebFrameLoaderClient::loadedFromPageCache):
3367 (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad):
3368 (WebFrameLoaderClient::updateGlobalHistoryForReload):
3369 (WebFrameLoaderClient::shouldGoToHistoryItem):
3370 (WebFrameLoaderClient::frameLoadCompleted):
3371 (WebFrameLoaderClient::saveScrollPositionAndViewStateToItem):
3372 (WebFrameLoaderClient::restoreScrollPositionAndViewState):
3373 (WebFrameLoaderClient::provisionalLoadStarted):
3374 (WebFrameLoaderClient::setTitle):
3375 (WebFrameLoaderClient::saveDocumentViewToPageCache):
3376 (WebFrameLoaderClient::canCachePage):
3378 * WebCoreSupport/WebSystemInterface.m:
3379 (InitWebCoreSystemInterface):
3381 * WebKit.xcodeproj/project.pbxproj:
3383 * WebView/WebDataSource.mm:
3384 * WebView/WebDataSourceInternal.h:
3386 * WebView/WebFrame.mm:
3387 (-[WebFramePrivate dealloc]):
3388 (-[WebFrame _canCachePage]):
3389 (-[WebFrame _loadURL:referrer:intoChild:]):
3390 * WebView/WebFrameInternal.h:
3392 * WebView/WebFrameView.mm:
3393 (-[WebFrameView initWithFrame:]):
3394 (-[WebFrameView keyDown:]):
3396 * WebView/WebHTMLView.m:
3397 (-[WebHTMLView closeIfNotCurrentView]): Added for a dirty hack in WebCore that is marked with a FIXME Radar
3398 * WebView/WebHTMLViewInternal.h:
3400 * WebView/WebView.mm:
3401 (-[WebViewPrivate init]):
3402 (-[WebViewPrivate dealloc]):
3403 (-[WebView _close]):
3404 (-[WebView _loadBackForwardListFromOtherView:]):
3405 (-[WebView _commonInitializationWithFrameName:groupName:]):
3406 (-[WebView initWithCoder:]):
3407 (-[WebView backForwardList]):
3408 (-[WebView goBack]):
3409 (-[WebView goForward]):
3410 (-[WebView goToBackForwardItem:]):
3411 (-[WebView canGoBack]):
3412 (-[WebView canGoForward]):
3414 2007-01-02 John Sullivan <sullivan@apple.com>
3416 Reviewed by Kevin Decker
3418 - fixed <rdar://problem/4892525> Cannot open PDF in Preview if you attempted to
3419 open it in Preview while PDF was loading
3421 * WebView/WebPDFView.mm:
3422 (-[WebPDFView menuForEvent:]):
3424 (-[WebPDFView validateUserInterfaceItem:]):
3425 disable this menu item when there's no document yet
3426 (-[WebPDFView _openWithFinder:]):
3427 If this is invoked when there is no document yet (e.g. via the PDFKit delegate method),
3428 just beep and return. I should make a nice error message here, but I'll do that separately.
3430 2007-01-03 Nikolas Zimmermann <zimmermann@kde.org>
3432 Reviewed by Timothy.
3434 Fix inspection of RenderSVGInlineText objects (#text nodes in SVG documents).
3436 * WebInspector/WebInspector.m:
3437 (-[WebInspector _highlightNode:]):
3439 2007-01-02 Beth Dakin <bdakin@apple.com>
3443 Fix bug with WebCore context menu item "Copy Image."
3445 * WebCoreSupport/WebContextMenuClient.mm:
3446 (WebContextMenuClient::copyImageToClipboard): We must call
3447 declareTypes on the pasteboard.
3449 2006-12-27 Mitz Pettel <mitz@webkit.org>
3453 - fix http://bugs.webkit.org/show_bug.cgi?id=9403
3454 Red outline from Web Inspector appears above all other OS X windows
3456 Made the window containing the highlight a child window of the window
3457 containing the view.
3459 * WebInspector/WebNodeHighlight.m:
3460 (-[WebNodeHighlight initWithBounds:andRects:forView:]):
3461 (-[WebNodeHighlight dealloc]):
3462 (-[WebNodeHighlight expire]):
3464 2006-12-27 Matt Lilek <pewtermoose@gmail.com>
3468 Bug 11993: REGRESSION(r18320): Web Inspector scroll bars not drawn
3469 http://bugs.webkit.org/show_bug.cgi?id=11993
3471 AppleVerticalScrollbar tries to set a NaN value as the scroll height which
3472 causes DOM Exceptions after r18320. This overrides the _setObjectLength
3473 method and checks for NaN until a system update can fix this. See rdar://4901491
3475 * WebInspector/webInspector/inspector.html:
3476 * WebInspector/webInspector/inspector.js:
3478 2006-12-27 Geoffrey Garen <ggaren@apple.com>
3480 Reviewed by Oliver Hunt.
3482 Fixed <rdar://problem/4901629> Crash occurs at WebCore::Frame::page()
3483 after closing window containing flash content
3485 No testcase because we can't open and close windows in DRT.
3487 I can't reproduce this crash, but from the backtrace it's clear that it
3488 occured because of a NULL frame object. Since it's valid for a frame to
3489 be NULL, I've added NULL checks.
3491 * Plugins/WebBaseNetscapePluginView.mm:
3492 (-[WebBaseNetscapePluginView sendEvent:]):
3493 (-[WebBaseNetscapePluginView requestWithURLCString:]):
3494 (-[WebBaseNetscapePluginView getVariable:value:]):
3496 2006-12-27 Geoffrey Garen <ggaren@apple.com>
3498 Reviewed by Darin Adler.
3500 Updated <rdar://problem/4871518> fix based on Darin's comments.
3502 Instead of searching the frame tree to retrieve the new frame, put it in
3503 a RefPtr, and then explicitly check for its removal. This option is slightly
3504 more efficient, and it avoids problems that can occur due to frame name collision.
3506 * WebCoreSupport/WebFrameBridge.mm:
3507 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
3509 2006-12-26 Geoffrey Garen <ggaren@apple.com>
3511 Reviewed by Eric Seidel.
3513 Fixed <rdar://problem/4740328> Safari crash on quit in _NPN_ReleaseObject
3514 from KJS::Bindings::CInstance::~CInstance
3516 The essence of this change is that WebKit shouldn't meddle in plug-in
3517 lifetime, since WebCore already manages it. The rest is details.
3519 * Plugins/WebBaseNetscapePluginView.mm:
3520 (-[WebBaseNetscapePluginView removeTrackingRect]): Autorelease our window
3521 instead of releasing it, since we might hold the last reference to our window,
3522 and releasing it immediately would crash AppKit.
3523 (-[WebBaseNetscapePluginView resetTrackingRect]):
3525 * Plugins/WebNetscapePluginEmbeddedView.h:
3526 * Plugins/WebNetscapePluginEmbeddedView.m:
3527 (-[WebNetscapePluginEmbeddedView dataSource]): Use our DOMElement to access
3528 our WebFrame, since we don't keep around a direct pointer to our WebFrame
3531 * Plugins/WebNullPluginView.h:
3532 * Plugins/WebNullPluginView.m:
3533 (-[WebNullPluginView initWithFrame:error:DOMElement:]):
3534 (-[WebNullPluginView dealloc]):
3535 (-[WebNullPluginView viewDidMoveToWindow]): Use our DOMElement to access
3536 our WebFrame, as above.
3538 * WebCoreSupport/WebFrameBridge.mm: Don't call _addPlugInView because it
3539 doesn't exist anymore. Do pass a DOMElement to WebNullPluginView's initializer,
3540 so it can access its frame like WebNetscapePluginEmbeddedView does.
3541 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
3542 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
3544 * WebCoreSupport/WebFrameLoaderClient.h:
3545 * WebCoreSupport/WebFrameLoaderClient.mm: Removed didCloseDocument. It had
3546 two purposes -- one unnecessary, one harmful:
3547 (1) NULL out plug-ins' weak references to their frames. Unnecessary. Having
3548 plug-ins access their frames through their DOM elements solves this problem.
3549 (2) Unload plug-ins. Harmful. If a plug-in unloads before WebCore is done
3550 with it, WebCore will access unmapped memory. Also unnecessary. WebCore
3551 Widgets take care of calling -removeFromSuperview on their NSViews, which
3552 is sufficient for stopping plug-ins.
3554 * WebKit.xcodeproj/project.pbxproj: Made WebNullPluginView.m ObjC++.
3556 * WebView/WebFrame.mm: Removed _addPlugInView, since it was only used to
3557 call -setWebFrame, which is gone.
3558 (-[WebFramePrivate dealloc]):
3559 * WebView/WebFrameInternal.h: Removed plugInViews, since it was only used
3560 by _addPlugInView, which is gone.
3562 2006-12-26 Geoffrey Garen <ggaren@apple.com>
3564 Reviewed by Eric Seidel.
3566 Some cleanup in preparation for fixing <rdar://problem/4740328> Safari