1 2006-08-03 Maciej Stachowiak <mjs@apple.com>
5 - moved all loader code that is slated to be moved down to WebCore to a new Loader directory
7 (next step is to remove dependencies on the rest of WebKit from this directory)
9 * Loader/WebNetscapePlugInStreamLoader.h: Added.
10 * Loader/WebNetscapePlugInStreamLoader.m: Added. Cut out of WebNetscapePluginStream.m
11 (-[WebNetscapePlugInStreamLoader initWithStream:view:]):
12 (-[WebNetscapePlugInStreamLoader isDone]):
13 (-[WebNetscapePlugInStreamLoader releaseResources]):
14 (-[WebNetscapePlugInStreamLoader didReceiveResponse:]):
15 (-[WebNetscapePlugInStreamLoader didReceiveData:lengthReceived:]):
16 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
17 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
18 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
19 * Plugins/WebNetscapePluginStream.m:
20 * WebKit.xcodeproj/project.pbxproj:
21 * WebCoreSupport/WebSubresourceLoader.h: Moved to Loader/
22 * WebCoreSupport/WebSubresourceLoader.m: Moved to Loader/
23 * WebView/WebFrameLoader.h: Moved to Loader/
24 * WebView/WebFrameLoader.m: Moved to Loader/
25 * WebView/WebLoader.h: Moved to Loader/
26 * WebView/WebLoader.m: Moved to Loader/
27 * WebView/WebMainResourceLoader.h: Moved to Loader/
28 * WebView/WebMainResourceLoader.m: Moved to Loader/
30 2006-08-03 Tim Omernick <timo@apple.com>
32 Reviewed by Kevin Decker.
34 <rdar://problem/4667460> Windowless OpenGL plug-ins render incorrectly on PowerPC
36 * Plugins/WebBaseNetscapePluginView.m:
37 (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
38 Fixed color component swapping so that it works on both x86 and PPC. See comments.
40 2006-08-03 Brady Eidson <beidson@apple.com>
42 Reviewed by Tim Hatcher's rubber stamp
43 Fixed Intel build break caused by weinig's -W change in r15781
45 * WebView/WebView.m: wrapped cpu-dependent defs with defined() macro
47 2006-08-03 Maciej Stachowiak <mjs@apple.com>
51 - fixed problem that could cause assertion failures in Safari
53 * Plugins/WebBaseNetscapePluginView.m:
54 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Don't
55 allow a plugin to start new loads once its document is no longer the one actively loading.
57 2006-08-03 Maciej Stachowiak <mjs@apple.com>
61 - remove use of WebDataSource from WebLoader and subclasses, just have them talk to the
62 WebFrameLoader instead.
64 For now this is done by forarding all the calls.
66 * Misc/WebIconLoader.m:
67 (-[WebIconLoader didFinishLoading]):
68 * Plugins/WebNetscapePluginStream.m:
69 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
70 (-[WebNetscapePluginStream start]):
71 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
72 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
73 (-[WebNetscapePlugInStreamLoader cancelWithError:]):
74 * WebCoreSupport/WebFrameBridge.m:
75 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:]):
76 (-[WebFrameBridge startLoadingResource:withMethod:URL:customHeaders:postData:]):
77 * WebCoreSupport/WebSubresourceLoader.h:
78 * WebCoreSupport/WebSubresourceLoader.m:
79 (-[WebSubresourceLoader initWithLoader:frameLoader:]):
80 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forFrameLoader:]):
81 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:referrer:forFrameLoader:]):
82 (+[WebSubresourceLoader startLoadingResource:withMethod:URL:customHeaders:postData:referrer:forFrameLoader:]):
83 (-[WebSubresourceLoader receivedError:]):
84 (-[WebSubresourceLoader signalFinish]):
85 (-[WebSubresourceLoader didFailWithError:]):
86 (-[WebSubresourceLoader cancel]):
87 * WebKit.xcodeproj/project.pbxproj:
88 * WebView/WebDataSource.m:
89 (-[WebDataSource _updateLoading]):
90 (-[WebDataSource textEncodingName]):
91 (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
92 * WebView/WebFrameLoader.h:
93 * WebView/WebFrameLoader.m:
94 (-[WebFrameLoader loadIconWithRequest:]):
95 (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
96 (-[WebFrameLoader clearIconLoader]):
97 (-[WebFrameLoader commitProvisionalLoad]):
98 (-[WebFrameLoader activeDataSource]):
99 (-[WebFrameLoader _archivedSubresourceForURL:]):
100 (-[WebFrameLoader _defersCallbacks]):
101 (-[WebFrameLoader _identifierForInitialRequest:]):
102 (-[WebFrameLoader _willSendRequest:forResource:redirectResponse:]):
103 (-[WebFrameLoader _didReceiveAuthenticationChallenge:forResource:]):
104 (-[WebFrameLoader _didCancelAuthenticationChallenge:forResource:]):
105 (-[WebFrameLoader _didReceiveResponse:forResource:]):
106 (-[WebFrameLoader _didReceiveData:contentLength:forResource:]):
107 (-[WebFrameLoader _didFinishLoadingForResource:]):
108 (-[WebFrameLoader _didFailLoadingWithError:forResource:]):
109 (-[WebFrameLoader _privateBrowsingEnabled]):
110 (-[WebFrameLoader _addPlugInStreamLoader:]):
111 (-[WebFrameLoader _removePlugInStreamLoader:]):
112 (-[WebFrameLoader _finishedLoadingResource]):
113 (-[WebFrameLoader _receivedError:]):
114 (-[WebFrameLoader _addSubresourceLoader:]):
115 (-[WebFrameLoader _removeSubresourceLoader:]):
116 (-[WebFrameLoader _originalRequest]):
117 (-[WebFrameLoader webFrame]):
118 (-[WebFrameLoader _receivedMainResourceError:complete:]):
119 (-[WebFrameLoader initialRequest]):
120 (-[WebFrameLoader _receivedData:]):
121 (-[WebFrameLoader _setRequest:]):
122 (-[WebFrameLoader _downloadWithLoadingConnection:request:response:proxy:]):
123 (-[WebFrameLoader _handleFallbackContent]):
124 (-[WebFrameLoader _isStopping]):
125 (-[WebFrameLoader _decidePolicyForMIMEType:decisionListener:]):
126 (-[WebFrameLoader _setupForReplaceByMIMEType:]):
127 (-[WebFrameLoader _setResponse:]):
128 (-[WebFrameLoader _mainReceivedError:complete:]):
129 (-[WebFrameLoader _finishedLoading]):
130 (-[WebFrameLoader _mainReceivedBytesSoFar:complete:]):
131 (-[WebFrameLoader _iconLoaderReceivedPageIcon:]):
132 (-[WebFrameLoader _URL]):
133 * WebView/WebLoader.h:
134 * WebView/WebLoader.m:
135 (-[NSURLProtocol releaseResources]):
136 (-[NSURLProtocol loadWithRequest:]):
137 (-[NSURLProtocol setFrameLoader:]):
138 (-[NSURLProtocol frameLoader]):
139 (-[NSURLProtocol willSendRequest:redirectResponse:]):
140 (-[NSURLProtocol didReceiveAuthenticationChallenge:]):
141 (-[NSURLProtocol didCancelAuthenticationChallenge:]):
142 (-[NSURLProtocol didReceiveResponse:]):
143 (-[NSURLProtocol didReceiveData:lengthReceived:]):
144 (-[NSURLProtocol signalFinish]):
145 (-[NSURLProtocol didFailWithError:]):
146 (-[NSURLProtocol willCacheResponse:]):
147 (-[NSURLProtocol cancelWithError:]):
148 * WebView/WebMainResourceLoader.h:
149 * WebView/WebMainResourceLoader.m:
150 (-[WebMainResourceLoader initWithFrameLoader:]):
151 (-[WebMainResourceLoader receivedError:]):
152 (-[WebMainResourceLoader cancelWithError:]):
153 (-[WebMainResourceLoader _isPostOrRedirectAfterPost:redirectResponse:]):
154 (-[WebMainResourceLoader addData:]):
155 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
156 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
157 (-[WebMainResourceLoader continueAfterContentPolicy:]):
158 (-[WebMainResourceLoader checkContentPolicyForResponse:]):
159 (-[WebMainResourceLoader didReceiveResponse:]):
160 (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
161 (-[WebMainResourceLoader didFinishLoading]):
162 (-[WebMainResourceLoader didFailWithError:]):
163 (-[WebMainResourceLoader loadWithRequestNow:]):
165 2006-08-03 Sam Weinig <sam.weinig@gmail.com>
169 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10176
170 Make WebCore compile with -Wundef
172 * Adds -Wundef flag to Xcode project
173 * Converts #ifs to #ifdef and #ifndefs where needed.
175 * Carbon/CarbonUtils.m:
176 * Carbon/CarbonWindowAdapter.m:
177 * Carbon/HIViewAdapter.m:
178 (+[NSView bindHIViewToNSView:nsView:]):
179 * Carbon/HIWebView.m:
180 (HIWebViewEventHandler):
181 * Misc/WebFileDatabase.m:
182 (UniqueFilePathForKey):
183 * Misc/WebNSWindowExtras.m:
184 (swizzleInstanceMethod):
185 * Misc/WebTypesInternal.h:
186 * Plugins/WebNetscapeDeprecatedFunctions.c:
187 * Plugins/WebNetscapeDeprecatedFunctions.h:
188 * Plugins/WebNetscapePluginPackage.h:
189 * Plugins/WebNetscapePluginPackage.m:
190 (-[WebNetscapePluginPackage unloadWithoutShutdown]):
191 (-[WebNetscapePluginPackage load]):
192 * WebKit.xcodeproj/project.pbxproj:
194 2006-08-03 Darin Adler <darin@apple.com>
196 Reviewed by Eric Seidel.
200 * WebView/WebFrame.m: (-[WebFramePrivate dealloc]): Release the frame loader.
202 2006-08-02 Timothy Hatcher <timothy@apple.com>
204 Rubber stamped by Maciej.
206 Adding back resultsWithXpathQuery, removed by Darin's earlier change.
207 This function is called from ObjC, but not used from JavaScript.
209 * WebInspector/webInspector/inspector.js:
211 2006-08-02 Timothy Hatcher <timothy@apple.com>
215 Bug 10200: [Drosera] Deadlock between Drosera and Safari while loading page
216 http://bugzilla.opendarwin.org/show_bug.cgi?id=10200
218 Prevent reentrancy in our debugger callbacks. This was causing a deadlock in Drosera because
219 suspendProcessIfPaused was being called during a DO call into Safari.
221 Preventing reentrancy also prevents scripts that Drosera injects and evaluates from showing
222 up in rare cases (such as a iframe loading about:blank). I thought this would prevent cases
223 where you call a function from the console and expect it to break on a breakpoint in them, but
224 this appears to never have worked even without this change. When that is figured out we can
225 reconsider a better solution to reentrancy. I have filed that as bug 10214.
227 I also removed the NSRunLoop runMode:beforeDate: calls since DO handles this for us since
228 we don't use "onway void" as the return type for the callbacks. Note: using onway void for
229 the listener callbacks causes bad synchronization issues and obscure crashes.
231 * DefaultDelegates/WebScriptDebugServer.m:
232 (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
233 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
234 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
235 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
236 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
237 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
238 (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
239 * DefaultDelegates/WebScriptDebugServerPrivate.h:
241 2006-08-02 Maciej Stachowiak <mjs@apple.com>
245 - fix assertion failure on layout tests by stopping plugins from loading at a clearly defined time
246 - add more assertions for safety
248 * WebView/WebDataSource.m:
249 (-[WebDataSourcePrivate dealloc]): Removed obsolete comment.
250 (-[WebDataSource _updateLoading]): Add assertion ensuring this method is only called
251 at a time when this data source is the one that might be loading for a frame.
252 (-[WebDataSource _stopLoading]): Stop loading plugins as a FIXME suggests we should.
253 * WebView/WebFrameLoader.m:
254 (-[WebFrameLoader isLoadingPlugIns]): New helper method.
255 (-[WebFrameLoader isLoading]): Consider plugin loads too - otherwise we won't stop them
258 2006-08-02 Adam Roben <aroben@apple.com>
262 - Rename TransferJob to ResourceLoader (this file was forgotten in an
263 earlier change by Maciej)
267 2006-08-01 Maciej Stachowiak <mjs@apple.com>
271 - Change things around so WebFrameLoader tracks the main and provisional data source,
272 as well as the frame load state, pulling much code out of WebFrame along the way.
274 The most significant aspects of this change are:
276 - management of WebDataSources and WebFrameState was moved into WebFrameLoader
277 - there is now just one WebFrameLoader shared between the primary and provisional data source
279 * WebKit.xcodeproj/project.pbxproj:
280 * WebView/WebDataSource.m:
281 (-[WebDataSourcePrivate dealloc]):
282 (-[WebDataSource _updateLoading]):
283 (-[WebDataSource _loadIcon]):
284 (-[WebDataSource _setPrimaryLoadComplete:]):
285 (-[WebDataSource _stopLoading]):
286 (-[WebDataSource _startLoading]):
287 (-[WebDataSource _addSubresourceLoader:]):
288 (-[WebDataSource _removeSubresourceLoader:]):
289 (-[WebDataSource _addPlugInStreamLoader:]):
290 (-[WebDataSource _removePlugInStreamLoader:]):
291 (-[WebDataSource _defersCallbacksChanged]):
292 (-[WebDataSource _stopLoadingWithError:]):
293 (-[WebDataSource _revertToProvisionalState]):
294 (-[WebDataSource _setupForReplaceByMIMEType:]):
295 (-[WebDataSource initWithRequest:]):
296 (-[WebDataSource data]):
297 (-[WebDataSource isLoading]):
298 * WebView/WebFrame.m:
299 (-[WebFramePrivate init]):
300 (-[WebFramePrivate dealloc]):
301 (-[WebFrame _closeOldDataSources]):
302 (-[WebFrame _detachFromParent]):
303 (-[WebFrame _makeDocumentView]):
304 (-[WebFrame _receivedMainResourceError:]):
305 (-[WebFrame _transitionToCommitted:]):
306 (+[WebFrame _timeOfLastCompletedLoad]):
307 (-[WebFrame _checkLoadCompleteForThisFrame]):
308 (-[WebFrame _loadItem:withLoadType:]):
309 (-[WebFrame _continueAfterWillSubmitForm:]):
310 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
311 (-[WebFrame _initWithWebFrameView:webView:bridge:]):
312 (-[WebFrame _frameLoader]):
313 (-[WebFrame _provisionalLoadStarted]):
314 (-[WebFrame _prepareForDataSourceReplacement]):
315 (-[WebFrame _frameLoadCompleted]):
316 (-[WebFrame provisionalDataSource]):
317 (-[WebFrame dataSource]):
318 (-[WebFrame stopLoading]):
319 * WebView/WebFrameInternal.h:
320 * WebView/WebFrameLoader.h:
321 * WebView/WebFrameLoader.m:
322 (-[WebFrameLoader initWithWebFrame:]):
323 (-[WebFrameLoader dealloc]):
324 (-[WebFrameLoader dataSource]):
325 (-[WebFrameLoader _setDataSource:]):
326 (-[WebFrameLoader clearDataSource]):
327 (-[WebFrameLoader provisionalDataSource]):
328 (-[WebFrameLoader _setProvisionalDataSource:]):
329 (-[WebFrameLoader _clearProvisionalDataSource]):
330 (-[WebFrameLoader state]):
331 (+[WebFrameLoader timeOfLastCompletedLoad]):
332 (-[WebFrameLoader _setState:]):
333 (-[WebFrameLoader clearProvisionalLoad]):
334 (-[WebFrameLoader markLoadComplete]):
335 (-[WebFrameLoader commitProvisionalLoad]):
336 (-[WebFrameLoader stopLoading]):
337 (-[WebFrameLoader startLoading]):
338 (-[WebFrameLoader startProvisionalLoad:]):
339 (-[WebFrameLoader setupForReplace]):
340 * WebView/WebFramePrivate.h:
342 2006-08-01 Tim Omernick <timo@apple.com>
344 Reviewed by John Sullivan.
346 <rdar://problem/4480737> Flash crashes after it replaces itself via a document.write()
348 I kind of hate to do this, but this is the best way to work around buggy plug-ins like Flash that assume that
349 NPP_Destroy() cannot be called while the browser is calling one of its other plug-in functions. The classic
350 situation is a plug-in that replaces itself via an NPN_Invoke() that executes a document.write().
352 * Plugins/WebBaseNetscapePluginView.h:
353 * Plugins/WebBaseNetscapePluginView.m:
354 (-[WebBaseNetscapePluginView sendEvent:]):
355 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
356 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
358 (-[WebBaseNetscapePluginView start]):
359 It should not be possible to start a plug-in instance while we are calling into it (one of those chicken/egg
360 problems). Added a sanity-checking assertion.
361 (-[WebBaseNetscapePluginView stop]):
362 If we're already calling a plug-in function, do not call NPP_Destroy(). The plug-in function we are calling
363 may assume that its instance->pdata, or other memory freed by NPP_Destroy(), is valid and unchanged until said
364 plugin-function returns.
365 (-[WebBaseNetscapePluginView pluginScriptableObject]):
366 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
367 (-[WebBaseNetscapePluginView willCallPlugInFunction]):
368 Increment plug-in function call depth.
369 (-[WebBaseNetscapePluginView didCallPlugInFunction]):
370 Decrement plug-in function call depth. Stop if we're supposed to stop.
371 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
372 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
373 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
375 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
378 * Plugins/WebBaseNetscapePluginStream.m:
379 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]):
380 Call -willCallPlugInFunction and -didCallPlugInFunction around calls to the NPP_* functions.
381 (-[WebBaseNetscapePluginStream _destroyStream]):
383 (-[WebBaseNetscapePluginStream _deliverData]):
386 2006-08-01 Maciej Stachowiak <mjs@apple.com>
388 - fix build after last change
390 * WebView/WebFrame.m:
391 (-[WebFrame _checkLoadCompleteForThisFrame]):
393 2006-08-01 Maciej Stachowiak <mjs@apple.com>
397 - revert part of my last fix that broke the Safari bookmarks view
399 * WebView/WebFrame.m:
400 (-[WebFrame _checkLoadCompleteForThisFrame]): still send layout message for non-HTML views
402 2006-08-01 Tim Omernick <timo@apple.com>
406 Fixed an assertion failure I ran into while debugging <rdar://problem/4652683>.
408 * Plugins/WebNetscapePluginEmbeddedView.m:
409 (-[WebNetscapePluginEmbeddedView redeliverStream]):
410 Don't clear the "instance" ivar here. This code was refactored here from the old WebNetscapePluginRepresentation,
411 which also had an "instance" ivar. It is never appropriate to clear a plug-in view's instance. That is done when
412 the plug-in is destroyed.
414 2006-08-01 Maciej Stachowiak <mjs@apple.com>
418 - some refactoring in preparation for moving more stuff to WebFrameLoader.
420 * WebView/WebFrame.m:
421 (-[WebFrame _clearDataSource]):
422 (-[WebFrame _detachFromParent]):
423 (-[WebFrame _commitProvisionalLoad]):
424 (-[WebFrame _transitionToCommitted:]):
425 (-[WebFrame _clearProvisionalLoad]):
426 (-[WebFrame _markLoadComplete]):
427 (-[WebFrame _checkLoadCompleteForThisFrame]):
428 (-[WebFrame _startProvisionalLoad:]):
429 (-[WebFrame _continueLoadRequestAfterNavigationPolicy:formState:]):
430 (-[WebFrame stopLoading]):
432 2006-07-31 Maciej Stachowiak <mjs@apple.com>
434 Reviewed by Tim Hatcher.
436 - renamed TransferJob to ResourceLoader in WebCore
439 (WebFrame::loadDataSource):
440 (WebFrame::receivedRedirect):
441 (WebFrame::receivedResponse):
442 (WebFrame::receivedData):
443 (WebFrame::receivedAllData):
444 (WebFrame::setStatusText):
447 2006-07-31 Darin Adler <darin@apple.com>
451 - omit the margin and padding boxes for display types where they are ignored
452 - use CSS instead of properties for table spacing and padding as suggested by Tim H.
454 * WebInspector/webInspector/inspector.css: Added rules for spacing and padding.
455 Added rules that hide the margin and padding boxes (borders and all but the center cell)
456 when the hide attribute is present.
457 * WebInspector/webInspector/inspector.html: Added classes for the rules above.
458 Removed cellpadding and cellspacing attributes.
459 * WebInspector/webInspector/inspector.js: Added code to hide/show the margin and
460 padding boxes based on the display type.
462 2006-07-31 Duncan Wilcox <duncan@mclink.it>
466 Fixes <http://bugzilla.opendarwin.org/show_bug.cgi?id=10159>
467 "REGRESSION: delegate returning no menu elements crashes webkit"
469 No automated test, because there's no way to programmatically open a context menu,
470 no manual test because there's no way to customize the context menu delegate.
473 (-[WebView _menuForElement:defaultItems:]): Make sure the context menu returned
474 some menu items before accessing the first one.
476 2006-07-31 Timothy Hatcher <timothy@apple.com>
480 <rdar://problem/4658194> REGRESSION: "Search in Google"
481 and "Search in Spotlight" fail to work on text selected in a frame
483 Use selectedFrame to get the frame with the text selection.
486 (-[WebView _searchWithGoogleFromMenu:]):
487 (-[WebView _searchWithSpotlightFromMenu:]):
489 2006-07-31 Darin Adler <darin@apple.com>
491 Reviewed by Tim Hatcher.
493 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10168
494 add a first cut at a Metrics pane to the inspector
496 * WebInspector/webInspector/inspector.css: Add styles for the new metrics pane.
497 * WebInspector/webInspector/inspector.html: Add the new metrics pane, starting with
498 the table to show the box model.
499 * WebInspector/webInspector/inspector.js: Add the new metrics pane. Add back some
500 "title" attributes so we have more tooltips. Removed the optional parameter to
503 2006-07-31 Anders Carlsson <acarlsson@apple.com>
507 * Plugins/WebPluginDatabase.m:
508 (-[WebPluginDatabase refresh]):
509 Create a mutable set instead of a mutable array.
511 2006-07-30 Darin Adler <darin@apple.com>
513 Reviewed by Tim Hatcher.
515 * WebInspector/webInspector/inspector.js: Fix bug where a null property value
516 leads to an empty style pane.
518 2006-07-30 Darin Adler <darin@apple.com>
520 Reviewed by Tim Hatcher.
522 - http://bugzilla.opendarwin.org/show_bug.cgi?id=10163
523 some improvements for the inspector
525 * WebInspector/WebInspector.m:
526 (+[WebInspector sharedWebInspector:]): Fixed bug that could cause the inspector
527 to be garbage collected if used in an application with GC enabled.
528 (-[WebInspector dealloc]): Removed a call to a non-existent close method.
529 (-[WebInspector window]): Added a custom WebPreferences object and called
530 setPrivateBrowsingEnabled:YES so the inspector won't appear in the history menu.
531 Also call setProhibitsMainFrameScrolling:YES to try to get rid of trouble where
532 the inspector scrolls when dragging.
534 * WebInspector/webInspector/inspector.css: Added style for the new color swatch,
535 and JavaScript properties. More of the style should be shared between the panes,
536 but this should be OK for now.
538 * WebInspector/webInspector/inspector.html: Added a first cut at a JavaScript
539 properties pane. Needs work, but better than nothing.
541 * WebInspector/webInspector/inspector.js: Lots of improvements:
542 - Omit "typical" property values from computed style display, making it much shorter.
543 - Use the words "black", "white", and "transparent" when appropriate for color values.
544 - Refactored the loaded() function to get rid of repetitive scrollbar setup.
545 - Added a new scrollarea for the JavaScript properties pane.
546 - Simplified refreshScrollbars() -- we now refresh all scrollbars every time, which does no harm.
547 - Removed unused resultsWithXpathQuery().
548 - Use [] instead of "new Array()" and {} instead of "new Object()".
549 - Removed unused xpathForNode().
550 - Changed style pane to display the style for a text node's parent instead of saying
551 it can't display the style for text.
552 - Fixed regression I caused a while back by checking the length of a computed style
553 and not trying to display anything if its length is 0. Before this change and the
554 corresponding change in WebCore, we'd see a complete list of all styles with the
555 empty string as the value for each one.
556 - Changed the name of the computedStyle flag on the style rules array to isComputedStyle
557 to make it easier to understand it's a boolean.
558 - Fixed an error in the code that does !important scanning where it was trying to
559 do a special case for computed style, but was checking the computed style flag on
561 - Added populateStyleListItem() function to factor out things in common between the
562 items in the top level list and the expanded tree for shorthand properties.
563 - Added code to make a color swatch next to the textual representation for any
564 property that contains a color.
565 - Implemented a first cut at a simple JavaScript properties pane.
567 2006-07-29 Darin Adler <darin@apple.com>
569 - Removed tabs from these source files that still had them.
570 We don't use them; that way source files look fine in editors
571 that have tabs set to 8 spaces or to 4 spaces.
572 - Removed allow-tabs Subversion property from the files too.
574 * DefaultDelegates/WebDefaultPolicyDelegate.m:
575 * History/WebHistory.m:
576 * Misc/WebDownload.m:
577 * Misc/WebIconDatabase.m:
578 * Misc/WebKitErrors.m:
579 * Misc/WebKitLogging.m:
580 * Misc/WebNSDataExtras.m:
581 * Misc/WebNSFileManagerExtras.m:
582 * Panels/WebPanelAuthenticationHandler.m:
583 * Plugins/WebBaseNetscapePluginView.m:
584 * Plugins/npfunctions.h:
585 * WebCoreSupport/WebSubresourceLoader.m:
586 * WebView/WebMainResourceLoader.m:
590 2006-07-29 Sam Weinig <sam.weinig@gmail.com>
594 - patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10080
595 Adopt pedantic changes from the Unity project to improve
596 cross-compiler compatibility
599 * Adding missing newline to the end of the file.
600 * Turning on gcc warning for missing newline at the end of a source file
601 (GCC_WARN_ABOUT_MISSING_NEWLINE in Xcode, -Wnewline in gcc).
603 * WebKit.xcodeproj/project.pbxproj:
604 * WebView/WebResourcePrivate.h:
606 2006-07-29 Mitz Pettel <opendarwin.org@mitzpettel.com>
608 Reviewed by John Sullivan.
610 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9984
611 ASSERTION FAILURE: _private->mouseDownEvent != nil
612 (WebKit/WebView/WebHTMLView.m:4863 -[WebHTMLView(WebInternal) _delegateDragSourceActionMask])
614 * WebView/WebHTMLView.m:
615 (-[WebHTMLView _setMouseDownEvent:]): Moved into the WebHTMLViewFileInternal category and changed
617 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
618 Copy the hit HTMLView's mouse down event to the top HTMLView.
619 (-[WebHTMLView acceptsFirstMouse:]): Added a call to _setMouseDownEvent:nil before returning.
620 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Added a call to _setMouseDownEvent:nil
622 (-[WebHTMLView mouseUp:]): Added a call to _setMouseDownEvent:nil to clear the event set in
623 mouseDown: (and used during dragging).
624 (-[WebHTMLView _delegateDragSourceActionMask]): Copy the hit HTMLView's mouse down event to
627 2006-07-28 Timothy Hatcher <timothy@apple.com>
631 <rdar://problem/4657473> REGRESSION: Spell check not available from contextual menu in Mail
633 The context menu code should be checking isContentEditable
634 on DOMNode not just DOMElement. This is needed because DOMText
635 will be the node class of any text that is clicked.
637 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
638 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
640 2006-07-25 Geoffrey Garen <ggaren@apple.com>
642 Reviewed by Maciej, inspired by John.
644 - Fixed <rdar://problem/4651931> 1% REGRESSION on iBench HTML due to
645 repeated requests for non-existent favicon
647 An optimization to avoid serializing favicon data for missing icons had stomped an
648 optimization to avoid GETing a missing favicon more than once. The solution
649 is a happy marriage of optimizations, ensuring that we *retain* the missing
650 favicon's "i am missing" data without posting a notification or saving it to disk.
652 * Misc/WebIconDatabase.m:
653 (-[WebIconDatabase _setIconURL:forURL:]):
655 2006-07-25 David Harrison <harrison@apple.com>
657 Reviewed by timo and Darin.
659 <rdar://problem/4618584> "Paste and Match Style" is not working in Mail (add SPI)
661 * WebKit.xcodeproj/project.pbxproj:
663 (-[WebView replaceSelectionWithNode:]):
664 (-[WebView _replaceSelectionWithNode:matchStyle:]):
665 * WebView/WebViewPrivate.h:
666 (-[WebView _replaceSelectionWithNode:matchStyle::]):
667 New SPI that is same as replaceSelectionWithNode: with added parameter whether to match existing style.
669 2006-07-24 Darin Adler <darin@apple.com>
671 Reviewed by Adele and Justin.
673 - update for change to require context when creating fragments from text
674 (needed to handle whitespace properly)
676 * WebView/WebHTMLView.m:
677 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:chosePlainText:]):
678 Added context parameter, pass through to bridge.
679 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Pass selection range as context
680 when calling above method.
681 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Pass drag caret as context when
682 calling above method.
684 2006-07-24 Maciej Stachowiak <mjs@apple.com>
688 - fix <rdar://problem/4609195> Help Viewer loads empty window (not getting didFailLoadingWithError: callback)
689 (without re-introducing http://bugzilla.opendarwin.org/show_bug.cgi?id=10062 )
691 * WebView/WebLoader.h:
692 * WebView/WebMainResourceLoader.m:
693 (-[WebMainResourceLoader receivedError:]): Copy in some code from the base class to do it in the proper
694 order, surrounding the call to [ds _receivedMainResourceError:error complete:YES].
696 2006-07-24 Anders Carlsson <acarlsson@apple.com>
700 * Misc/WebIconDatabase.m:
701 (-[WebIconDatabase removeAllIcons]):
702 Make an array of the keys and iterate through it to avoid modifying the
703 dictionary while enumerating it.
705 2006-07-24 Timothy Hatcher <timothy@apple.com>
707 Reviewed by John and Darin.
709 <rdar://problem/4634290> Cannot selectively install a custom
710 scroller that differs from the default Aqua frame size.
712 Adds two new private methods to WebFrameView that allows
713 an application to set a custom scroll view class. This is needed
714 if the application wants to install a custom scroller that is wider
715 than the typical scroller, because NSScrollView does the content
716 rect calculations in a class method (ignoring custom scrollers.)
717 The _setScrollViewClass method requires the class to be a subclass
718 of WebDynamicScrollBarView, or nil can be passed to reset to the default class.
719 A new scroll view of the specified class will then replace the previous
720 one without the need to reload content of the frame.
722 * WebView/WebFrameView.m:
723 (-[WebFrameView _customScrollViewClass]):
724 (-[WebFrameView _setCustomScrollViewClass:]):
725 * WebView/WebFrameViewPrivate.h:
727 2006-07-24 Alexey Proskuryakov <ap@nypop.com>
731 Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10009
732 REGRESSION: Schubert-IT PDF Plug-in not working for full page (works in frames)
735 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]): If we've got a type supported by WebPDFView,
736 make sure to initialize the plugin database, in case a plugin wants to handle it.
738 2006-07-23 Mark Rowe <opendarwin.org@bdash.net.nz>
742 Bug 9686: [Drosera] Need the ability to break into Drosera on Javascript exceptions
743 http://bugzilla.opendarwin.org/show_bug.cgi?id=9686
745 WebKit portion of the fix.
747 * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
748 (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
749 * DefaultDelegates/WebScriptDebugServer.h:
750 * DefaultDelegates/WebScriptDebugServer.m:
751 (-[WebScriptDebugServer webView:exceptionWasRaised:sourceId:line:forWebFrame:]): Notify
752 listeners that an exception has been raised.
753 * WebView/WebScriptDebugDelegate.h:
754 * WebView/WebScriptDebugDelegate.m:
755 (-[WebScriptCallFrame exceptionRaised:sourceId:line:]): Dispatch through to delegate and
756 WebScriptDebugServer.
758 2006-07-23 Adele Peterson <adele@apple.com>
762 - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155
764 * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
765 needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>). Since we know about
766 the dirty rect, we don't actually need to check needsDisplay.
768 2006-07-22 Timothy Hatcher <timothy@apple.com>
772 Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
773 http://bugzilla.opendarwin.org/show_bug.cgi?id=10062
775 2006-07-21 Timothy Hatcher <timothy@apple.com>
779 <rdar://problem/4609195> Help Viewer loads empty window
780 (not getting didFailLoadingWithError: callback)
782 Call super's didFailWithError before _receivedMainResourceError
783 because _receivedMainResourceError will cause the datasource's
784 frame to be set to nil before the didFailLoadingWithError delegate
785 callback is sent. (This order is needed now that WebDataSource does
786 not hold on to the WebView; it uses the WebFrame to get to the WebView.
787 If the WebFrame is nil we can't get to the WebView's resource load delegate.)
789 * WebView/WebMainResourceLoader.m:
790 (-[WebMainResourceLoader receivedError:]):
793 2006-07-22 Timothy Hatcher <timothy@apple.com>
797 <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu
799 Show the editing context menu if the WebView is editible.
800 The original change only checked if the DOM element was editable,
801 and isContentEditable returns NO if entire WebView is editable.
803 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
804 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
806 2006-07-21 Timothy Hatcher <timothy@apple.com>
810 <rdar://problem/4609195> Help Viewer loads empty window
811 (not getting didFailLoadingWithError: callback)
813 Call super's didFailWithError before _receivedMainResourceError
814 because _receivedMainResourceError will cause the datasource's
815 frame to be set to nil before the didFailLoadingWithError delegate
816 callback is sent. (This order is needed now that WebDataSource does
817 not hold on to the WebView; it uses the WebFrame to get to the WebView.
818 If the WebFrame is nil we can't get to the WebView's resource load delegate.)
820 * WebView/WebMainResourceLoader.m:
821 (-[WebMainResourceLoader receivedError:]):
823 === Safari-521.20 ===
825 2006-07-21 Timothy Hatcher <timothy@apple.com>
829 <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)
831 Do not use _isEditable call since that only checks if the current
832 selection or frame is editible. We now check if the currently clicked element
833 is a content editible area, a textarea, an isindex or an input element that
834 return YES to _isTextField.
836 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
837 (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):
839 2006-07-20 John Sullivan <sullivan@apple.com>
843 - WebKit part of fix for:
844 <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
845 closing tabs after clicking in a web page
847 * WebCoreSupport/WebFrameBridge.m:
848 (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
849 renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
851 * WebView/WebHTMLViewInternal.h:
852 * WebView/WebHTMLView.m:
853 (-[WebTextCompleteController dealloc]):
854 updated for name change
855 (-[NSArray _setMouseDownEvent:]):
856 Now only retains the first responder if it's a textView, since that's the only case that the only client
857 actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
858 part of the patch; all the rest is just renaming for clarity, and comments.
859 (-[NSArray mouseDown:]):
860 updated for name change
861 (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
862 renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)
864 2006-07-19 Tim Omernick <timo@apple.com>
868 <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)
870 * Plugins/WebBaseNetscapePluginView.m:
871 (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
872 Stop the plug-in when it is removed from its superview. It is not sufficient to do this in -viewWillMoveToWindow:nil, because
873 the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
874 There is no need to start the plug-in when moving into a superview. -viewDidMoveToWindow takes care of that.
876 === Safari-521.19 ===
878 2006-07-17 Tim Omernick <timo@apple.com>
882 <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
885 * WebView/WebViewPrivate.h:
887 (-[WebView setProhibitsMainFrameScrolling:]):
888 New method. Prohibits scrolling in the WebView's main frame. Used to "lock" a WebView to a specific
891 2006-07-17 Timothy Hatcher <timothy@apple.com>
895 <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger
897 * WebCoreSupport/WebFrameBridge.m:
898 (-[WebFrameBridge windowObjectCleared]):
900 2006-07-17 Timothy Hatcher <timothy@apple.com>
904 <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit
906 Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.
908 * WebKit.xcodeproj/project.pbxproj:
910 2006-07-17 John Sullivan <sullivan@apple.com>
912 Reviewed by Tim Omernick.
914 - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages
915 if they're not at "actual size"
917 To match WebHTMLView, I made the methods that return attributed strings take the view's scale
920 * WebView/WebPDFView.m:
921 (-[WebPDFView _scaledAttributedString:]):
922 new helper method, takes an attributed string and returns one that's scaled by the view's
924 (-[WebPDFView attributedString]):
925 pass result through _scaledAttributedString:
926 (-[WebPDFView selectedAttributedString]):
929 2006-07-17 Justin Garcia <justin.garcia@apple.com>
933 Rolled the first fix for:
934 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
935 GMail Editor: Operations that use drop down menus blow away the selection
936 back in and removed the call to _clearSelectionInOtherFrames from
937 -[WebHTMLView becomeFirstResponder] to fix the bug.
939 * WebView/WebHTMLView.m:
940 (-[NSArray maintainsInactiveSelection]):
941 (-[NSArray becomeFirstResponder]):
943 (-[WebView maintainsInactiveSelection]):
945 2006-07-15 Darin Adler <darin@apple.com>
947 Reviewed by John Sullivan.
949 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9928
950 REGRESSION: Text Encoding menu inoperative (after gcc protocol build fix)
952 * WebView/WebHTMLView.m:
953 (-[WebHTMLView _documentRange]): Moved into WebHTMLViewFileInternal category.
954 (-[WebHTMLView selectionRect]): Moved into WebDocumentPrivateProtocols category.
955 (-[WebHTMLView selectionView]): Ditto.
956 (-[WebHTMLView selectionImageForcingWhiteText:]): Ditto.
957 (-[WebHTMLView selectionImageRect]): Ditto.
958 (-[WebHTMLView pasteboardTypesForSelection]): Ditto.
959 (-[WebHTMLView selectAll]): Ditto.
960 (-[WebHTMLView deselectAll]): Ditto.
961 (-[WebHTMLView string]): Ditto.
962 (-[WebHTMLView _attributeStringFromDOMRange:]): Ditto.
963 (-[WebHTMLView attributedString]): Ditto.
964 (-[WebHTMLView selectedString]): Ditto.
965 (-[WebHTMLView selectedAttributedString]): Ditto.
966 (-[WebHTMLView supportsTextEncoding]): Ditto.
967 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Moved into WebDocumentInternalProtocols.
968 (-[WebHTMLView _isMoveDrag]): Ditto.
969 (-[WebHTMLView _isNSColorDrag:]): Ditto.
970 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
971 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
972 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto.
973 (-[WebHTMLView elementAtPoint:]): Ditto.
974 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
976 * WebKit.xcodeproj/project.pbxproj: Let Xcode 2.3 do its thing.
978 === Safari-521.17 ===
980 2006-07-14 Timothy Hatcher <timothy@apple.com>
982 Rolling out this fix from r15358 since it isn't resolved.
984 2006-07-11 Justin Garcia <justin.garcia@apple.com>
986 Reviewed by levi & thatcher
988 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
989 GMail Editor: Operations that use drop down menus blow away the selection
991 * WebView/WebHTMLView.m:
992 (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
993 when resigning as first responder if the selection is editable
994 or if the WebView tells us to.
996 (-[WebView maintainsInactiveSelection]): Just because a WebView is
997 editable doesn't mean selections inside subframes will be. Return
1000 2006-07-14 Timothy Hatcher <timothy@apple.com>
1002 <rdar://problem/4623957> SWB: gcc-5412 (new?) objc warning causes WebCore project failure
1004 Build fix with the new GCC. Removes forward declarations of protocols.
1006 * Misc/WebSearchableTextView.h:
1007 * WebCoreSupport/WebSubresourceLoader.h:
1008 * WebKit.xcodeproj/project.pbxproj:
1009 * WebView/WebDocumentInternal.h:
1010 * WebView/WebDocumentPrivate.h:
1011 * WebView/WebHTMLView.h:
1012 * WebView/WebPDFView.h:
1013 * WebView/WebScriptDebugDelegatePrivate.h:
1015 2006-06-28 Darin Adler <darin@apple.com>
1019 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9625
1020 <rdar://problem/4604703>
1021 REGRESSION: Focus not removed from password field after ctrl-click in text field
1023 * WebView/WebHTMLView.m: (-[WebHTMLView menuForEvent:]): Set handlingMouseDownEvent to
1024 YES while calling sendContextMenuEvent: on the bridge.
1026 2006-07-14 Timothy Hatcher <timothy@apple.com>
1030 Moved JavaScriptCore to be a public framework.
1032 * WebKit.xcodeproj/project.pbxproj:
1034 2006-07-13 Mitz Pettel <opendarwin.org@mitzpettel.com>
1038 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9795
1039 REGRESSION: Crash in [WebHTMLView(WebPrivate)
1040 _updateMouseoverWithEvent:]
1041 and http://bugzilla.opendarwin.org/show_bug.cgi?id=9850
1042 REGRESSION: Assertion failure (SHOULD NEVER BE REACHED) in -
1043 [WebHTMLView(WebPrivate) removeTrackingRect:]
1045 * WebView/WebHTMLView.m:
1046 (-[WebHTMLView _updateMouseoverWithEvent:]): Return immediately if
1047 the view has already been closed.
1049 2006-07-13 David Harrison <harrison@apple.com>
1051 Reviewed by Justin and Levi.
1053 <rdar://problem/4620743> REGRESSION: Option-Delete doesn't delete words during typing
1056 editing/deleting/delete-by-word-001.html
1057 editing/deleting/delete-by-word-002.html
1059 * WebView/WebHTMLView.m:
1060 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
1062 2006-07-13 Timothy Hatcher <timothy@apple.com>
1064 Rolling out this earlier change (r15378) now that it is fixed on AGL's end.
1065 Fixes <rdar://problem/4624865> Restore 64-bit OpenGL plug-in support once AGL is 64-bit
1067 <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
1069 * Plugins/WebBaseNetscapePluginView.h:
1070 * Plugins/WebBaseNetscapePluginView.m:
1072 2006-07-13 Timothy Hatcher <timothy@apple.com>
1076 <rdar://problem/4616920> REGRESSION: tabbing in mail moves focus
1077 to next control instead of inserting a tab space.
1079 Change editible WebView's tabKeyCyclesThroughElements to NO only
1080 if the setTabKeyCyclesThroughElements SPI wasn't called.
1082 * WebView/WebView.m:
1083 (-[WebView setEditable:]):
1085 2006-07-12 Anders Carlsson <acarlsson@apple.com>
1089 http://bugzilla.opendarwin.org/show_bug.cgi?id=9624
1090 REGRESSION: After ctrl-clicking in a EMPTY input or textarea field, the contextual menu shows "Search in Google" and "Search in Spotlight" as active menu items
1092 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1093 (-[WebDefaultUIDelegate editingContextMenuItemsForElement:defaultMenuItems:]):
1094 Don't create Dictionary, Spotlight or Google lookup items if there's no selection.
1096 2006-07-12 Mark Rowe <opendarwin.org@bdash.net.nz>
1098 Reviewed by Timothy.
1100 http://bugzilla.opendarwin.org/show_bug.cgi?id=9868
1101 Applications shown in Drosera's "Attach" window remain after exit
1103 * DefaultDelegates/WebScriptDebugServer.m:
1104 (-[WebScriptDebugServer init]): Register for NSApplicationWillTerminateNotification so we will
1105 know when the application is being exited.
1106 (-[WebScriptDebugServer dealloc]): Unregister notification before we are deallocated.
1107 (-[WebScriptDebugServer applicationTerminating:]): Inform anyone listening that we are going away.
1109 2006-07-12 Tim Omernick <timo@apple.com>
1111 Reviewed by Tim Hatcher.
1113 <rdar://problem/4624858> AGL isn't 64-bit yet; temporarily remove it from WebKit 64-bit build
1115 Also, fixed a LOG_ERROR() so that it uses the CGL error instead of the AGL error; Tim H missed this in his build fix
1118 * Plugins/WebBaseNetscapePluginView.h:
1119 * Plugins/WebBaseNetscapePluginView.m:
1121 2006-07-11 John Sullivan <sullivan@apple.com>
1123 Reviewed by Kevin and Tim O
1125 - added support for creating a selection image with white text
1127 * WebView/WebDocumentPrivate.h:
1128 added -selectionImageForcingWhiteText: and -selectionImageRect to the private
1129 <WebDocumentSelection> protocol
1131 * Misc/WebSearchableTextView.m:
1132 (-[NSString selectionImageForcingWhiteText:]):
1133 added stub for this new method to this obsolete class to satisfy the compiler
1134 (-[NSString selectionImageRect]):
1137 * WebView/WebHTMLView.m:
1138 (-[WebHTMLView _selectionDraggingImage]):
1139 now calls -selectionImageForcingWhiteText:NO instead of just -selectionImage
1140 (-[WebHTMLView _selectionDraggingRect]):
1141 now calls selectionImageRect, to which the implementation moved
1142 (-[WebHTMLView selectionImageForcingWhiteText:]):
1143 implemented this new method by calling through to new bridge method selectionImageForcingWhiteText:
1144 (-[WebHTMLView selectionImageRect]):
1145 implemented this new method by using existing _selectionDraggingRect implementation
1147 * WebView/WebPDFView.m:
1148 (-[WebPDFView selectionImageForcingWhiteText:]):
1149 implemented by using code that was formerly in Safari
1150 (-[WebPDFView selectionImageRect]):
1151 implemented by returning selectionRect
1153 2006-07-11 Tim Omernick <timo@apple.com>
1157 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9843>:
1158 Give Netscape plug-ins access to their own DOM element
1160 * Plugins/WebBaseNetscapePluginView.h:
1161 * Plugins/WebBaseNetscapePluginView.m:
1162 (-[WebBaseNetscapePluginView dealloc]):
1163 Release DOM element.
1164 (-[WebBaseNetscapePluginView getVariable:value:]):
1165 Return NPObject for plugin DOM element.
1167 * Plugins/WebNetscapePluginEmbeddedView.h:
1168 * Plugins/WebNetscapePluginEmbeddedView.m:
1169 (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
1170 Now takes a DOMElement, in much the same way that WebKit plug-in views take a DOMElement.
1172 * WebCoreSupport/WebFrameBridge.m:
1173 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
1174 Pass DOMElement to Netscape plug-ins.
1175 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
1178 2006-07-11 Justin Garcia <justin.garcia@apple.com>
1180 Reviewed by levi & thatcher
1182 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
1183 GMail Editor: Operations that use drop down menus blow away the selection
1185 * WebView/WebHTMLView.m:
1186 (-[WebHTMLView maintainsInactiveSelection]): Maintain an inactive selection
1187 when resigning as first responder if the selection is editable
1188 or if the WebView tells us to.
1189 * WebView/WebView.m:
1190 (-[WebView maintainsInactiveSelection]): Just because a WebView is
1191 editable doesn't mean selections inside subframes will be. Return
1194 2006-07-11 Tim Omernick <timo@apple.com>
1196 Reviewed by Tim Hatcher.
1198 <rdar://problem/4622748> WebKit now uses deprecated AGL functions
1200 * Plugins/WebBaseNetscapePluginView.m:
1201 (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
1202 aglSetDrawable() is deprecated in AGL 3.0. Use aglSetWindowRef() instead.
1203 (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
1204 aglSetOffScreen() is deprecated in AGL 3.0. Use CGLSetOffScreen(), which does the same thing.
1206 2006-07-11 Alexey Proskuryakov <ap@nypop.com>
1210 - http://bugzilla.opendarwin.org/show_bug.cgi?id=7808
1211 Assertion failure in -[WebBaseNetscapePluginStream dealloc] when requesting an invalid URL
1213 * Plugins/WebNetscapePluginStream.m:
1214 (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
1215 Remove the early return when requesting an invalid (unsupported) URL.
1217 === Safari-521.16 ===
1219 2006-07-10 Mitz Pettel <opendarwin.org@mitzpettel.com>
1221 Reviewed by John Sullivan.
1223 - fix <rdar://problem/4621541>, aka <http://bugzilla.opendarwin.org/show_bug.cgi?id=9838>
1224 REGRESSION (r14968-r14977): View Source doesn't work for pages from the back/forward cache
1226 * WebView/WebDataSource.m:
1227 (-[WebDataSource _setPrimaryLoadComplete:]): Set our data only if the frame loader is
1228 has just loaded it (when coming from the back/forward cache, it hasn't).
1230 2006-07-10 Brady Eidson <beidson@apple.com>
1234 Resolved the console error messages people got from the new DB even if they didn't have it enabled
1236 * Misc/WebIconDatabase.m:
1237 (-[WebIconDatabase init]):
1238 Disabled initializing the IconDatabaseBridge if user is living on the old DB
1240 2006-07-10 Darin Adler <darin@apple.com>
1242 - try to fix Windows build
1244 * COM/WebFrame.h: Qualify DeprecatedString and KURL with WebCore:: prefixes.
1246 2006-07-09 Darin Adler <darin@apple.com>
1248 - try to fix Windows build
1250 * COM/WebFrame.cpp: Rename QChar to DeprecatedChar.
1252 2006-07-09 Darin Adler <darin@apple.com>
1254 - fix newlines to be consistent for all files in the COM directory
1255 (many had mixed style) and set the EOL style to "native" on them.
1257 * COM/*: Set properties and changed files.
1259 2006-07-09 Tim Omernick <timo@apple.com>
1263 <rdar://problem/4404652> Netscape plug-in mouse events broken in HiDPI
1265 Multiply global mouse coordinates by the window scale factor so that plug-ins can use GlobalToLocal() in HiDPI.
1266 This fixes many bugs involving plug-in mouse event handling in HiDPI. Most notably, the Flash player will now
1267 correctly respond to clicks.
1269 * Plugins/WebBaseNetscapePluginView.m:
1270 (+[WebBaseNetscapePluginView getCarbonEvent:]):
1271 (-[WebBaseNetscapePluginView getCarbonEvent:withEvent:]):
1273 2006-07-09 Darin Adler <darin@apple.com>
1275 Reviewed by Tim Hatcher.
1277 - fix assertion firing in plug-in layout tests
1279 * Plugins/WebBaseNetscapePluginView.m:
1280 (-[WebBaseNetscapePluginView restartNullEvents]):
1281 Don't start null events if the plug-in is not in the
1282 started state. This happens when the plug-in moves within
1283 its view hierarchy after it has been stopped.
1285 2006-07-09 Timothy Hatcher <timothy@apple.com>
1289 Bug 9820: Move new DOM API that has been through API review to public headers
1290 http://bugzilla.opendarwin.org/show_bug.cgi?id=9820
1292 * Misc/WebElementDictionary.m: include DOMExtensions.h
1293 * Misc/WebNSViewExtras.m: include DOMExtensions.h
1294 * WebKit.xcodeproj/project.pbxproj: make DOMXPath.h public
1296 2006-07-09 Timothy Hatcher <timothy@apple.com>
1300 Bug 9818: move new UIDelegate API that has been through API review to public headers
1301 http://bugzilla.opendarwin.org/show_bug.cgi?id=9818
1303 <rdar://problem/4387541> API: Remove webView:setContentRect: & webViewContentRect: delegate methods?
1304 The fix for 4310363 removed the only use of webViewContentRect: in our code. webView:setContentRect:
1305 was never used to begin with. There's no harm in leaving these around in the API, but they'll cruft it up.
1307 Also removes the never used webViewPrint: SPI that was replaced by webView:printFrameView:.
1309 * DefaultDelegates/WebDefaultUIDelegate.m:
1310 * WebCoreSupport/WebFrameBridge.m:
1311 (-[WebFrameBridge print]):
1312 * WebView/WebFrameView.h:
1313 * WebView/WebFrameView.m:
1314 * WebView/WebFrameViewPrivate.h:
1315 * WebView/WebUIDelegate.h:
1316 * WebView/WebUIDelegatePrivate.h:
1318 2006-07-09 Timothy Hatcher <timothy@apple.com>
1322 Bug 9814: Move new WebView API that has been through API review to public headers
1323 http://bugzilla.opendarwin.org/show_bug.cgi?id=9814
1325 * WebView/WebView.h:
1326 * WebView/WebView.m:
1328 (-[WebView setShouldCloseWithWindow:]):
1329 (-[WebView shouldCloseWithWindow]):
1330 (-[WebView selectedFrame]):
1331 (-[WebView setMainFrameURL:]):
1332 (-[WebView mainFrameURL]):
1333 (-[WebView isLoading]):
1334 (-[WebView mainFrameTitle]):
1335 (-[WebView mainFrameIcon]):
1336 (-[WebView mainFrameDocument]):
1337 (-[WebView setDrawsBackground:]):
1338 (-[WebView drawsBackground]):
1339 (-[WebView toggleSmartInsertDelete:]):
1340 (-[WebView toggleContinuousSpellChecking:]):
1341 (-[WebView canMakeTextStandardSize]):
1342 (-[WebView makeTextStandardSize:]):
1343 (-[WebView maintainsInactiveSelection]):
1344 * WebView/WebViewPrivate.h:
1346 2006-07-09 Timothy Hatcher <timothy@apple.com>
1350 Bug 9487: The XPath section should be removed and/or moved.
1351 http://bugzilla.opendarwin.org/show_bug.cgi?id=9487
1353 * WebInspector/webInspector/inspector.css:
1354 * WebInspector/webInspector/inspector.html:
1355 * WebInspector/webInspector/inspector.js:
1357 2006-07-09 Anders Carlsson <acarlsson@apple.com>
1361 * WebCoreSupport/WebSystemInterface.m:
1362 (InitWebCoreSystemInterface):
1363 Initialize wkPathFromFont.
1365 2006-07-09 Darin Adler <darin@apple.com>
1369 * Plugins/WebBaseNetscapePluginView.m:
1370 (-[WebBaseNetscapePluginView restorePortState:]): Cast inside the assertion so
1371 that we don't have an unused variable in versions with assertions disabled.
1372 The alternative would be to wrap the whole thing in an #if statement.
1374 2006-07-08 Tim Omernick <timo@apple.com>
1376 Reviewed by John Sullivan.
1378 * Plugins/WebBaseNetscapePluginView.h:
1379 - Added ivars for OpenGL support. Someday it would be nice to refactor this class so
1380 that each drawing model is encapsulated in a class; this would allow
1381 WebBaseNetscapePluginView to make more efficient use of space, for example by not
1382 keeping OpenGL-related ivars for Quickdraw plug-ins.
1384 * Plugins/WebBaseNetscapePluginView.m:
1385 - Declared a bunch of internal methods for OpenGL support (see below).
1386 - Removed "forUpdate" from CoreGraphics port state struct; it was always set to "YES",
1387 so I just cleaned up the silly code that used it.
1388 - Declared OpenGL port state struct.
1389 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1390 - Moved a CoreGraphics-related assertion down to the big "switch" statement.
1391 - Don't set window.type here -- according to the Netscape Plug-in API docs, the plug-in
1392 should default to "windowed" mode, and may call NPN_SetValue() during its NPN_New() to
1393 request that the browser use a "windowless" (offscreen) context instead.
1394 - Moved the assertion from the top of this method here; removed a less restrictive
1395 assertion that is now obsolete.
1396 - Removed "forUpdate" flag from CoreGraphics port state struct.
1397 - Fill in OpenGL port state struct. Set up the viewport appropriately for both windowed
1398 and windowless OpenGL plug-ins. Windowed plug-ins need to have their GL viewport
1399 transformed by the amount the plug-in is clipped; windowless plug-ins are drawn off-screen
1400 into a surface whose geometry is never changed or clipped, so they may always draw with
1401 a viewport origin of (0, 0).
1402 (-[WebBaseNetscapePluginView restorePortState:]):
1403 - Removed "forUpdate" flag from CoreGraphics port state struct.
1404 - Restore the old OpenGL context saved by -saveAndSetNewPortStateForUpdate:.
1405 (-[WebBaseNetscapePluginView sendEvent:]):
1406 - Updated an assertion to also include OpenGL. To ensure that attached plug-in window movements
1407 happen atomically with web page redisplays, we assert that the plug-in's window is set only while
1408 the plug-in view is redrawing.
1409 - Same deal as with the assertion; only save/set port state when redrawing the plug-in view. Plug-ins
1410 that use the new drawing models are only allowed to draw when the web page draws. I might consider
1411 changing this for windowed OpenGL plug-ins, since they always obscure the page content anyway.
1412 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
1413 - Compare new NP_GLContext structs.
1414 (-[WebBaseNetscapePluginView updateAndSetWindow]):
1415 - In OpenGL mode, can only set window when updating plug-in view.
1416 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
1418 - Updated logging for OpenGL drawing mode.
1419 (-[WebBaseNetscapePluginView addWindowObservers]):
1420 - No need to observe frame/bounds change notifications for this and all parent views. See -renewGState
1422 (-[WebBaseNetscapePluginView removeWindowObservers]):
1423 - Don't need to remove frame/bounds observers anymore.
1424 (-[WebBaseNetscapePluginView start]):
1425 - Plug-ins are "windowed" by default. This is not a change from our previous behavior, but this is a
1426 better place to set the default value as it allows the plug-in to override it later.
1427 (-[WebBaseNetscapePluginView stop]):
1428 - Destroy AGL context when the plug-in stops.
1429 (-[WebBaseNetscapePluginView dealloc]):
1430 - Assert that the AGL stuff has been cleaned up.
1431 (-[WebBaseNetscapePluginView drawRect:]):
1432 - If this is a windowless OpenGL plugin, blit its contents back into this view.
1433 (-[WebBaseNetscapePluginView renewGState]):
1434 - This method is called when the view or one of its parents is moved or resized (see comments).
1435 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
1436 - Hide the AGL window if the plug-in view is about to be removed from its window.
1437 (-[WebBaseNetscapePluginView viewHasMoved:]):
1438 - Renamed and moved to the "Internal" category.
1439 (-[WebBaseNetscapePluginView invalidateRegion:]):
1441 - Add support for OpenGL (uses the same region type as CoreGraphics).
1442 (-[WebBaseNetscapePluginView getVariable:value:]):
1444 - Implemented NPNVsupportsOpenGLBool; returns YES since we now support the OpenGL drawing model.
1445 (-[WebBaseNetscapePluginView setVariable:value:]):
1446 - Implemented NPPVpluginWindowBool, which allows plug-ins to specify whether they should be rendered in
1447 "windowed" or "windowless" mode. This is an older part of the Netscape Plug-in API that was never
1448 implemented in WebKit. "Windowed" Quickdraw plug-ins do not actually reside in a separate window, and
1449 can already do many of the same things (such as transparency) that only "windowless" plug-ins can do on
1450 other platforms. However, we need the "windowed" vs. "windowless" distinction for OpenGL plug-ins so
1451 that they have some way of specifying whether they should be rendered on an accelerated overlay surface,
1452 composited into the browser window.
1453 - Support for setting the drawing model to OpenGL.
1454 (-[WebBaseNetscapePluginView _viewHasMoved]):
1455 - Renamed from -viewHasMoved:, and moved down in the file.
1456 - None of this work is necessary when the plug-in is not in a window; the plug-in's state will be properly
1457 restored when it is moved back into a window.
1458 - Reshape OpenGL surface window here.
1459 (-[WebBaseNetscapePluginView _createAGLContextIfNeeded]):
1460 - Creates the AGL context of the appropriate type (windowed/windowless).
1461 (-[WebBaseNetscapePluginView _createWindowedAGLContext]):
1462 - Creates a windowed AGL context, which is an AGL context attached to a child window. This is the only way
1463 to get true hardware acceleration.
1464 (-[WebBaseNetscapePluginView _createWindowlessAGLContext]):
1465 - Creates a windowless AGL context, which is an AGL context attached to an offscreen buffer. This buffer can
1466 then be blitted back into the browser window with a different alpha, or scaled, or whatever.
1467 (-[WebBaseNetscapePluginView _cglContext]):
1468 - Returns the underlying CGL context from the AGL context. We give the plug-in access to the CGL context because
1469 CGL is the more primitive of the GL drawable APIs and allows for finer control over the context.
1470 (-[WebBaseNetscapePluginView _getAGLOffscreenBuffer:width:height:]):
1471 - Returns the buffer allocated for the offscreen AGL context, if there is one.
1472 (-[WebBaseNetscapePluginView _destroyAGLContext]):
1473 - Destroys the AGL context, as well as the associated offscreen buffer or child window.
1474 (-[WebBaseNetscapePluginView _reshapeAGLWindow]):
1475 - Positions the AGL window over the browser window.
1476 (-[WebBaseNetscapePluginView _hideAGLWindow]):
1477 - Hides the AGL window.
1478 (-[WebBaseNetscapePluginView _aglOffscreenImageForDrawingInRect:]):
1479 - Returns an NSImage representation of the offscreen AGL context's framebuffer. This is used to draw the offscreen
1480 bits back into the plug-in view. This is kind of tricky because it has to convert the offscreen buffer in-place
1481 from BGRA to RGBA so that it can be wrapped in an NSBitmapImageRep. See comments.
1483 * WebKit.xcodeproj/project.pbxproj:
1484 Link OpenGL and AGL.
1486 2006-07-09 Brady Eidson <beidson@apple.com>
1490 The ICONDEBUG flag now chooses either the new icon database or the old one
1491 No longer any need to live side by side to compare results
1493 * Misc/WebIconDatabase.m:
1494 (-[NSMutableDictionary iconURLForURL:]):
1495 (-[NSMutableDictionary retainIconForURL:]):
1496 (-[NSMutableDictionary releaseIconForURL:]):
1497 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1498 (-[WebIconDatabase _setIconURL:forURL:]):
1499 (-[WebIconDatabase _resetCachedWebPreferences:]):
1501 2006-07-08 Timothy Hatcher <timothy@apple.com>
1505 Bug 5312: comments aren't available via DOM
1506 http://bugzilla.opendarwin.org/show_bug.cgi?id=5312
1508 Makes the Web Inspector show comment node contents.
1510 * WebInspector/WebInspector.m:
1511 (-[DOMNode _displayName]): return the contents of the comment
1512 * WebInspector/webInspector/inspector.js: check for comment nodes
1514 2006-07-09 Alexey Proskuryakov <ap@nypop.com>
1518 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9572
1519 Add application/xhtml+xml to the Accept header
1521 * WebView/WebFrame.m:
1522 (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Add an Accept header
1523 to main resource requests.
1524 * English.lproj/StringsNotToBeLocalized.txt: Added new strings.
1526 2006-07-08 Darin Adler <darin@apple.com>
1528 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
1529 (-[WebDefaultUIDelegate contextMenuItemsForElement:defaultMenuItems:]):
1530 Removed misleading old comment.
1532 === Safari-521.15 ===
1534 2006-07-07 Levi Weintraub <lweintraub@apple.com>
1538 Finished moving deletion selection expansion across the bridge... say that 3 times fast.
1540 * WebView/WebHTMLView.m: Pass granularity to WebCore to handle expansion
1541 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:granularity:]):
1542 (-[WebHTMLView _deleteSelection]):
1543 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1544 (-[WebHTMLView deleteToMark:]):
1546 2006-07-07 Brady Eidson <beidson@apple.com>
1550 Changed an ASSERT to a LOG_ERROR for an error that could be handled gracefully, but
1551 whose assertion was reproducibly causing a build bot failure
1553 * Misc/WebIconDatabase.m:
1554 (-[WebIconDatabase _releaseIconForIconURLString:]):
1556 2006-07-06 Levi Weintraub <lweintraub@apple.com>
1560 Improved table editing
1562 * WebCoreSupport/WebFrameBridge.m: Added method to allow WebCore to trigger
1563 deletion editing delegate
1564 (-[WebFrameBridge shouldDeleteSelectedDOMRange:]):
1565 * WebView/WebHTMLView.m: Moved code that expanded a selection when the delete
1566 key is pressed over to WebCore so we can be more intelligent about how to handle it
1567 (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]):
1568 (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]):
1570 2006-07-07 John Sullivan <sullivan@apple.com>
1572 Reviewed by Tim Hatcher
1574 - fixed <rdar://problem/4606857> WebKit: WebPreferencesChangedNotification not exported
1577 added surprisingly missing _WebPreferencesChangedNotification, defined in
1580 2006-07-06 Brady Eidson <beidson@apple.com>
1584 Small fix to my previous small fix that only lets the ASSERT off the hook if the DB
1587 * Misc/WebIconDatabase.m:
1588 (-[WebIconDatabase _releaseIconForIconURLString:]):
1590 2006-07-05 Brady Eidson <beidson@apple.com>
1594 Small fix that prevents an assertion from triggering if the DB is being cleaned up
1595 (ie, the app being shut down)
1597 * Misc/WebIconDatabase.h:
1598 * Misc/WebIconDatabase.m:
1599 (-[NSMutableDictionary init]):
1600 (-[WebIconDatabase _applicationWillTerminate:]):
1601 (-[WebIconDatabase _releaseIconForIconURLString:]):
1603 2006-07-05 Adele Peterson <adele@apple.com>
1605 Reviewed by Maciej and Hyatt.
1607 WebKit part of initial popup menu implementation.
1609 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
1610 Initialize WKPopupMenu.
1612 2006-07-05 Anders Carlsson <acarlsson@apple.com>
1616 http://bugzilla.opendarwin.org/show_bug.cgi?id=3581
1617 iFrames set to display:none are Missing from frames array
1619 * WebCoreSupport/WebFrameBridge.m:
1620 (-[WebFrameBridge initSubframeWithOwnerElement:frameName:view:]):
1621 (-[WebFrameBridge createChildFrameNamed:withURL:referrer:ownerElement:allowsScrolling:marginWidth:marginHeight:]):
1622 Modify to pass the owner element instead of the owner renderer.
1624 * WebView/WebHTMLView.m:
1625 (-[WebHTMLView _topHTMLView]):
1626 Remove assertion, it's not valid anymore.
1628 2006-07-05 Timothy Hatcher <timothy@apple.com>
1630 Reviewed by Harrison.
1632 <rdar://problem/4608423> HIViewAdapter used but not defined
1633 Adds a new export file to fix the build.
1635 * WebKit.LP64.exp: Added.
1636 * WebKit.xcodeproj/project.pbxproj:
1638 2006-07-04 Timothy Hatcher <timothy@apple.com>
1642 Bug 9731: [Drosera] crash when trying to access the scope chain
1643 http://bugzilla.opendarwin.org/show_bug.cgi?id=9731
1645 Because of <rdar://problem/4608404> the WebScriptObject, _globalObj, that
1646 WebCoreScriptDebugger holds is unprotected each time the page changes.
1647 This causes Drosera to crash Safari when trying to access the scope chain.
1648 We simply need to detach and re-attach the debugger when the window script
1649 object is cleared until 4608404 is fixed. This change also attaches the
1650 debugger before we call the windowScriptObjectAvailable: delegate method,
1651 so the debugger is ready before anyone might use the window object.
1653 * WebCoreSupport/WebFrameBridge.m:
1654 (-[WebFrameBridge windowObjectCleared]):
1656 2006-07-04 Timothy Hatcher <timothy@apple.com>
1660 Bug 9732: [Drosera] calling removeListener to many times will cause
1661 WebKit's listener count to underflow/wraparound
1662 http://bugzilla.opendarwin.org/show_bug.cgi?id=9732
1664 Adds a check to make sure the listener was in our listeners set before
1665 decrementing the global listener count. Also checks for nil in addListner
1666 to prevent a possible exception when adding the object to the set.
1668 * DefaultDelegates/WebScriptDebugServer.m:
1669 (-[WebScriptDebugServer addListener:]):
1670 (-[WebScriptDebugServer removeListener:]):
1672 2006-07-04 Alexey Proskuryakov <ap@nypop.com>
1676 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8210
1677 Conditional XMLHttpRequest gets should pass 304 responses unchanged
1679 Test: http/tests/xmlhttprequest/cache-override.html
1681 * Misc/WebNSURLRequestExtras.h: Added _web_isConditionalRequest
1682 * Misc/WebNSURLRequestExtras.m:
1683 (-[NSURLRequest _web_isConditionalRequest]):
1684 * WebCoreSupport/WebFrameBridge.m:
1685 (-[WebFrameBridge syncLoadResourceWithMethod:URL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
1686 Bypass the cache for conditional requests.
1687 * WebCoreSupport/WebSubresourceLoader.m:
1688 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]): Ditto.
1690 2006-07-01 David Kilzer <ddkilzer@kilzer.net>
1692 Reviewed by NOBODY (fixed Tim's build fix).
1694 * WebView/WebView.m: Added back missing '/' at the beginning of the file.
1696 2006-07-01 Tim Omernick <timo@apple.com>
1698 Reviewed by NOBODY (build fix)
1700 * WebView/WebView.m:
1701 (-[WebView _isMIMETypeRegisteredAsPlugin:]):
1702 Changed nil to NO (typo).
1704 === Safari-521.14 ===
1706 2006-06-30 Timothy Hatcher <timothy@apple.com>
1710 Only enable shouldCloseWithWindow when ObjC GC is enabled.
1711 This maintains backwards compatibility with applications
1712 that expect a WebView to be usable after the window closes.
1714 * WebView/WebView.m:
1715 (-[WebViewPrivate init]):
1717 2006-06-30 Timothy Hatcher <timothy@apple.com>
1721 Call _close in dealloc to ensure we cleanup for backwards
1722 compatibility. This will safeguard and cleanup even if the
1723 application doesn't use the new close API yet, like Mail.
1725 * WebView/WebView.m:
1726 (-[WebView dealloc]):
1728 2006-06-29 Timothy Hatcher <timothy@apple.com>
1732 <rdar://problem/4484405> WebKit leaks, improper tear-down
1733 <rdar://problem/3694059> -[WebBackForwardList finalize] is incorrect; design change needed
1734 <rdar://problem/3694103> -[WebFrame finalize] is incorrect; design change needed
1735 <rdar://problem/3694104> -[WebHTMLView finalize] is incorrect; design change needed
1737 Adds a close method to WebView, this needs to be called when the
1738 WebView is no longer needed. To make this easier for the common cases
1739 there is now an "auto close" on WebView that listens to the view's
1740 parent window. If the parent window closes and the WebView has no
1741 hostWindow then the WebView is automatically closed if autoClose is YES.
1742 To manage WebView closing yourself call setAutoClose: and pass NO.
1744 When a WebView closes it will tear-down and not be usable anymore.
1745 Close will will called on various other internal objects as a part
1746 of this, to ensure proper tear-down in GC without relying on finalize.
1748 * History/WebBackForwardList.m:
1749 (-[WebBackForwardList dealloc]):
1750 (-[WebBackForwardList finalize]):
1751 (-[WebBackForwardList _close]):
1752 * History/WebHistoryItem.m:
1753 (+[WebHistoryItem _closeObjectsInPendingPageCaches]):
1754 (+[WebHistoryItem _releaseAllPendingPageCaches]):
1755 * History/WebHistoryItemPrivate.h:
1756 * WebCoreSupport/WebFrameBridge.m:
1757 (-[WebFrameBridge close]):
1758 (-[WebFrameBridge saveDocumentToPageCache:]):
1759 (-[WebFrameBridge canGoBackOrForward:]):
1760 * WebView/WebFrame.m:
1761 (-[WebFrame _detachFromParent]):
1762 (-[WebFrame dealloc]):
1763 (-[WebFrame finalize]):
1764 * WebView/WebFrameView.m:
1765 (-[WebFrameView _setWebFrame:]):
1766 (-[WebFrameView finalize]):
1767 * WebView/WebHTMLView.m:
1768 (-[WebHTMLView close]):
1769 (-[WebHTMLView dealloc]):
1770 (-[WebHTMLView finalize]):
1771 * WebView/WebHTMLViewInternal.h:
1772 * WebView/WebHTMLViewPrivate.h:
1773 * WebView/WebScriptDebugDelegate.m:
1774 (-[WebScriptCallFrame _initWithFrame:initWithWebFrame:]):
1775 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
1776 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
1777 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
1778 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
1779 * WebView/WebScriptDebugDelegatePrivate.h:
1780 * WebView/WebView.m:
1781 (-[WebViewPrivate init]):
1782 (-[WebView _close]):
1783 (-[WebView dealloc]):
1784 (-[WebView finalize]):
1785 (-[WebView viewWillMoveToWindow:]):
1786 (-[WebView _windowWillClose:]):
1787 (-[WebView setPreferencesIdentifier:]):
1788 (-[WebView mainFrame]):
1789 (-[WebView setHostWindow:]):
1790 (-[WebView searchFor:direction:caseSensitive:wrap:]):
1791 (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]):
1793 (-[WebView setAutoClose:]):
1794 (-[WebView autoClose]):
1795 (-[WebView _frameViewAtWindowPoint:]):
1796 * WebView/WebViewPrivate.h:
1798 2006-06-29 Kevin Decker <kdecker@apple.com>
1800 Reviewed by mjs and timo.
1802 Fixed: <rdar://problem/4609119> handleAuthenticationFromResource was removed; needed by the Dashboard
1804 * WebView/WebViewPrivate.h: Added handleAuthenticationFromResource back into the header. Needed by the
1805 Dashboard, but was removed in r.14028 on 2006-04-23.
1807 2006-06-29 Tim Omernick <timo@apple.com>
1809 Reviewed by Kevin Decker.
1811 <rdar://problem/4608487> REGRESSION: reproducible crash in +[WebCoreFrameBridge supportedImageMIMETypes]
1813 * Plugins/WebPluginDatabase.m:
1814 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
1815 One might be tempted to add additionalWebPlugInPaths to the global WebPluginDatabase here.
1816 For backward compatibility with earlier versions of the +setAdditionalWebPlugInPaths: SPI,
1817 we need to save a copy of the additional paths and not cause a refresh of the plugin DB
1819 (-[WebPluginDatabase _plugInPaths]):
1820 Include additionalWebPlugInPaths if this is the global DB.
1821 (-[WebPluginDatabase refresh]):
1822 Call -_plugInPaths to get the modified array of paths. This is similar to what the old code
1823 (before we had per-WebView plugin search paths).
1825 2006-06-29 Tim Omernick <timo@apple.com>
1827 Reviewed by John Sullivan.
1829 WebHistoryItem now supports getting and setting arbitrary properties via _transientPropertyForKey: and
1830 -_setTransientProperty:forKey:.
1831 For now, these properties do not persist with the rest of the history data. They are intended to hold transient
1832 per-history-item state, which is something that was until now difficult for a WebKit client app to do.
1834 * History/WebHistoryItemPrivate.h:
1835 * History/WebHistoryItem.m:
1836 (-[WebHistoryItemPrivate dealloc]):
1837 (-[WebHistoryItem _transientPropertyForKey:]):
1838 (-[WebHistoryItem _setTransientProperty:forKey:]):
1840 2006-06-29 Timothy Hatcher <timothy@apple.com>
1842 Reviewed by Harrison.
1844 Smart insert and delete, continuous spell checking and autoscroll
1845 can now be used for any WebView, not just editable ones. All of
1846 these make sense for documents that might contain content editable
1847 areas or our new text fields. Autoscroll is usefull for dragging
1848 for file input controls also.
1850 Added a SPI to toggle WebViews tab key behavior, tabKeyCyclesThroughElements.
1851 WebHTMLView's _interceptEditingKeyEvent now uses WebView's
1852 tabKeyCyclesThroughElements state to determine whether or not
1853 to process tab key events. The idea here is that tabKeyCyclesThroughElements
1854 will be YES when this WebView is being used in a browser, and we
1855 desire the behavior where tab moves to the next element in tab order.
1856 If tabKeyCyclesThroughElements is NO, it is likely that the WebView
1857 is being embedded as the whole view, as in Mail, and tabs should input
1858 tabs as expected in a text editor. Using Option-Tab always cycles
1861 * WebView/WebHTMLRepresentation.m:
1862 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
1863 * WebView/WebHTMLView.m:
1864 (-[WebHTMLView _interceptEditingKeyEvent:]):
1865 * WebView/WebView.m:
1866 (-[WebViewPrivate init]):
1867 (-[WebView _autoscrollForDraggingInfo:timeDelta:]):
1868 (-[WebView _shouldAutoscrollForDraggingInfo:]):
1869 (-[WebView validateUserInterfaceItem:]):
1870 (-[WebView toggleSmartInsertDelete:]):
1871 (-[WebView toggleContinuousSpellChecking:]):
1872 (-[WebView setTabKeyCyclesThroughElements:]):
1873 (-[WebView tabKeyCyclesThroughElements]):
1874 * WebView/WebViewPrivate.h:
1876 2006-06-29 Anders Carlsson <acarlsson@apple.com>
1880 * WebKit.xcodeproj/project.pbxproj:
1881 Add DOMXPath.h header.
1883 2006-06-28 David Hyatt <hyatt@apple.com>
1885 Fix custom highlighting so that you can paint the entire line (and go
1886 outside the bounds of the line).
1888 Reviewed by harrison
1890 * WebCoreSupport/WebFrameBridge.m:
1891 (-[WebFrameBridge customHighlightRect:forLine:]):
1892 (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:entireLine:]):
1893 * WebKit.xcodeproj/project.pbxproj:
1894 * WebView/WebHTMLViewPrivate.h:
1896 2006-06-28 Maciej Stachowiak <mjs@apple.com>
1900 - fix Frame leak on layout tests
1902 * WebCoreSupport/WebPageBridge.m:
1903 (-[WebPageBridge outerView]): Return WebFrameView for main frame instead
1904 of WebView to avoid reference cycle between WebView and Page.
1906 2006-06-28 Timothy Hatcher <timothy@apple.com>
1908 Prefer the Stabs debugging symbols format until DWARF bugs are fixed.
1910 * WebKit.xcodeproj/project.pbxproj:
1912 2006-06-28 Levi Weintraub <lweintraub@apple.com>
1916 http://bugzilla.opendarwin.org/show_bug.cgi?id=7568
1917 Bug 7568: Implement Indent/Outdent
1918 Added undo action strings and enum values
1920 * English.lproj/Localizable.strings:
1921 * WebCoreSupport/WebFrameBridge.m:
1922 (-[WebFrameBridge nameForUndoAction:]):
1924 2006-06-27 Brady Eidson <beidson@apple.com>
1928 Hookup the new semi-functional SQLite icon database.
1929 For now, it is living side-by-side with the old DB so one can compare the
1930 two for debugging purposes. Also, it is disabled (in WebKit) by default unless you
1931 compile with ICONDEBUG #defined.
1932 Note: To repeat that, if you want to try the new DB, #define ICONDEBUG (WebKitPrefix.h is a good place to do it)
1934 * Misc/WebIconDatabase.m:
1935 (-[NSMutableDictionary iconForURL:withSize:cache:]):
1936 (-[NSMutableDictionary iconURLForURL:]):
1937 (-[NSMutableDictionary retainIconForURL:]):
1938 (-[NSMutableDictionary releaseIconForURL:]):
1939 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
1940 (-[WebIconDatabase _setIconURL:forURL:]):
1941 (-[WebIconDatabase _hasIconForIconURL:]):
1942 (-[WebIconDatabase _resetCachedWebPreferences:]):
1943 * Misc/WebIconLoader.m:
1944 (-[WebIconLoader didFinishLoading]):
1945 * WebKit.xcodeproj/project.pbxproj:
1947 2006-06-26 David Hyatt <hyatt@apple.com>
1949 Fix for 9538, support syntax highlighting for HTML source.
1953 * WebKit.xcodeproj/project.pbxproj:
1954 * WebView/WebView.m:
1955 (-[WebView _setInViewSourceMode:]):
1956 (-[WebView _inViewSourceMode]):
1957 * WebView/WebViewPrivate.h:
1959 2006-06-25 Timothy Hatcher <timothy@apple.com>
1963 Bug 9574: Drosera should show inline scripts within the original HTML
1964 http://bugzilla.opendarwin.org/show_bug.cgi?id=9574
1966 * Adds a new version of the didParseSource delegate callback with base line number.
1967 * Adds a new delegate callback for when a script fails to parse.
1968 * These new callbacks use NSURLs for the url parameter.
1969 * Adds a new script listener callback to notify when the main resource loads.
1970 * Adds a WebScriptErrorDomian and other keys for use with NSError.
1972 * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
1973 (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1974 (-[WebDefaultScriptDebugDelegate webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1975 * DefaultDelegates/WebScriptDebugServer.h:
1976 * DefaultDelegates/WebScriptDebugServer.m:
1977 (-[WebScriptDebugServer webView:didLoadMainResourceForDataSource:]):
1978 (-[WebScriptDebugServer webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
1979 (-[WebScriptDebugServer webView:failedToParseSource:baseLineNumber:fromURL:withError:forWebFrame:]):
1980 * DefaultDelegates/WebScriptDebugServerPrivate.h:
1982 * WebView/WebDataSource.m:
1983 (-[WebDataSource _setPrimaryLoadComplete:]):
1984 * WebView/WebScriptDebugDelegate.h:
1985 * WebView/WebScriptDebugDelegate.m:
1986 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]):
1988 2006-06-24 David Kilzer <ddkilzer@kilzer.net>
1990 Reviewed by Timothy.
1992 * Info.plist: Fixed copyright to include 2003-2006.
1994 2006-06-24 Alexey Proskuryakov <ap@nypop.com>
1998 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9418
1999 WebKit will not build when Space exists in path
2001 * WebKit.xcodeproj/project.pbxproj: Enclose search paths in quotes.
2003 2006-06-23 Tim Omernick <timo@apple.com>
2005 Reviewed by John Sullivan.
2007 * Plugins/WebBaseNetscapePluginView.m:
2008 (-[WebBaseNetscapePluginView sendEvent:]):
2009 Fixed a bug I found in the CoreGraphics drawing model that was preventing certain types of
2010 events from being dispatched to the plugin, unless the plugin was being updated. The check
2011 for portState was only required to call -setWindowIfNecessary, not required for the entire
2013 Also, don't paint the green debug rect unless this is a QuickDraw plugin. Otherwise the
2014 current QD port is not set, and the green rect fills the entire screen. Pretty awesome
2015 looking, but not intended behavior.
2016 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
2017 Improved the logging here to include the NPWindow's width and height.
2019 2006-06-23 Timothy Hatcher <timothy@apple.com>
2023 Adds back SPI that Mail is still depending on.
2025 * WebView/WebDataSource.m:
2026 (-[WebDataSource _addSubframeArchives:]):
2027 * WebView/WebDataSourcePrivate.h:
2029 === WebKit-521.13 ===
2031 2006-06-23 Timothy Hatcher <timothy@apple.com>
2035 script debugger should only attach to JavaScriptCore when there are listeners
2036 http://bugzilla.opendarwin.org/show_bug.cgi?id=9552
2038 Attaches the debugger to all WebFrames when the first listener
2039 is added. Detaches when the last listener is removed.
2040 Also detach when the script debug delegate is set to nil.
2042 * DefaultDelegates/WebScriptDebugServer.m:
2043 (+[WebScriptDebugServer listenerCount]):
2044 (-[WebScriptDebugServer dealloc]):
2045 (-[WebScriptDebugServer attachScriptDebuggerToAllWebViews]):
2046 (-[WebScriptDebugServer detachScriptDebuggerFromAllWebViews]):
2047 (-[WebScriptDebugServer listenerConnectionDidDie:]):
2048 (-[WebScriptDebugServer addListener:]):
2049 (-[WebScriptDebugServer removeListener:]):
2050 * DefaultDelegates/WebScriptDebugServerPrivate.h:
2051 * WebCoreSupport/WebFrameBridge.m:
2052 (-[WebFrameBridge windowObjectCleared]):
2053 * WebView/WebFrame.m:
2054 (-[WebFrame _attachScriptDebugger]):
2055 (-[WebFrame _detachScriptDebugger]):
2056 * WebView/WebFramePrivate.h:
2057 * WebView/WebScriptDebugDelegate.m:
2058 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
2059 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2060 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2061 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2062 * WebView/WebView.m:
2063 (-[WebView _attachScriptDebuggerToAllFrames]):
2064 (-[WebView _detachScriptDebuggerFromAllFrames]):
2065 (-[WebView setScriptDebugDelegate:]):
2066 * WebView/WebViewPrivate.h:
2068 2006-06-22 John Sullivan <sullivan@apple.com>
2070 Reviewed by Tim Omernick
2072 - added support for UIDelegate to be notified of scrolling in any WebHTMLView
2073 - cleaned up recently-added UIDelegate code
2075 * WebView/WebUIDelegatePrivate.h:
2076 declared webView:didScrollDocumentInFrameView: method
2078 * DefaultDelegates/WebDefaultUIDelegate.m:
2079 (-[NSApplication webView:didDrawRect:]):
2080 provide default (empty) implementation of this recently-added method, so the
2081 DelegateForwarder mechanism will work for it
2082 (-[NSApplication webView:didScrollDocumentInFrameView:]):
2083 same thing for the new method
2085 * WebView/WebHTMLView.m:
2086 (-[WebHTMLView _frameOrBoundsChanged]):
2087 use _UIDelegateForwarder mechanism to notify delegate that scrolling occurred
2088 (-[WebHTMLView drawSingleRect:]):
2089 use _UIDelegateForwarder mechanism instead of checking respondsToSelector stuff
2090 here (that's packaged up nicely by the forwarder mechanism)
2092 2006-06-22 Tim Omernick <timo@apple.com>
2094 Reviewed by NOBODY (build fix)
2096 * WebView/WebFrameLoader.m:
2097 Import WebMainResourceLoader instead of using @class so that we can call WebMainResourceLoader
2100 2006-06-22 Tim Omernick <timo@apple.com>
2102 Reviewed by NOBODY (build fix)
2104 * WebView/WebFrameLoader.m:
2105 Import JavaScriptCore/Assertions.h instead of WebKit/WebAssertions.h (which no longer exists)
2107 2006-06-22 Maciej Stachowiak <mjs@apple.com>
2111 - start moving loading logic to new WebFrameLoader class; move management of WebLoaders there
2113 * Misc/WebIconLoader.h:
2114 * Misc/WebIconLoader.m:
2115 (-[WebIconLoader didFinishLoading]):
2116 * WebKit.xcodeproj/project.pbxproj:
2117 * WebView/WebDataSource.m:
2118 (-[WebDataSourcePrivate dealloc]):
2119 (-[WebDataSource _updateLoading]):
2120 (-[WebDataSource _loadIcon]):
2121 (-[WebDataSource _setPrimaryLoadComplete:]):
2122 (-[WebDataSource _stopLoading]):
2123 (-[WebDataSource _startLoading]):
2124 (-[WebDataSource _addSubresourceLoader:]):
2125 (-[WebDataSource _removeSubresourceLoader:]):
2126 (-[WebDataSource _addPlugInStreamLoader:]):
2127 (-[WebDataSource _removePlugInStreamLoader:]):
2128 (-[WebDataSource _iconLoaderReceivedPageIcon:]):
2129 (-[WebDataSource _defersCallbacksChanged]):
2130 (-[WebDataSource _stopLoadingWithError:]):
2131 (-[WebDataSource _setupForReplaceByMIMEType:]):
2132 (-[WebDataSource initWithRequest:]):
2133 (-[WebDataSource dealloc]):
2134 (-[WebDataSource finalize]):
2135 (-[WebDataSource data]):
2136 (-[WebDataSource isLoading]):
2137 * WebView/WebFrameLoader.h: Added.
2138 * WebView/WebFrameLoader.m: Added.
2139 (-[WebFrameLoader initWithDataSource:]):
2140 (-[WebFrameLoader dealloc]):
2141 (-[WebFrameLoader hasIconLoader]):
2142 (-[WebFrameLoader loadIconWithRequest:]):
2143 (-[WebFrameLoader stopLoadingIcon]):
2144 (-[WebFrameLoader addPlugInStreamLoader:]):
2145 (-[WebFrameLoader removePlugInStreamLoader:]):
2146 (-[WebFrameLoader setDefersCallbacks:]):
2147 (-[WebFrameLoader stopLoadingPlugIns]):
2148 (-[WebFrameLoader isLoadingMainResource]):
2149 (-[WebFrameLoader isLoadingSubresources]):
2150 (-[WebFrameLoader isLoading]):
2151 (-[WebFrameLoader stopLoadingSubresources]):
2152 (-[WebFrameLoader addSubresourceLoader:]):
2153 (-[WebFrameLoader removeSubresourceLoader:]):
2154 (-[WebFrameLoader mainResourceData]):
2155 (-[WebFrameLoader releaseMainResourceLoader]):
2156 (-[WebFrameLoader cancelMainResourceLoad]):
2157 (-[WebFrameLoader startLoadingMainResourceWithRequest:identifier:]):
2158 (-[WebFrameLoader stopLoadingWithError:]):
2160 2006-06-21 Brady Eidson <beidson@apple.com>
2164 The WebCoreIconDatabaseBridge was getting messages sent to it after it had been closed, resulting in a crash
2165 on an ASSERT(). After closing the databaseBridge, we simply set it to nil so this can't happen.
2168 * Misc/WebIconDatabase.m:
2169 (-[WebIconDatabase _applicationWillTerminate:]):
2171 2006-06-21 Tim Omernick <timo@apple.com>
2173 Reviewed by Geoff Garen.
2175 <rdar://problem/4564131> WebPluginDatabase setAdditionalWebPlugInPaths needs to be per WebView
2177 Added some WebView SPI so that individual WebViews may have different plugin search paths. There are some
2178 limitations with the approach taken here:
2180 - JavaScript may only access the global plugin DB.
2181 - When this SPI is in use, certain WebView methods may not give accurate results, such as +canShowMIMEType:.
2182 - This only works for plugins referenced using the <object> or <embed> tags; plugins that reside in non-standard
2183 file system locations may not be loaded directly into frames.
2185 None of these issues are important to the client that needs this SPI. Rather than re-architect our entire
2186 plugin database, I think it is better to simply accept these limitations for now.
2188 * Plugins/WebPluginDatabase.h:
2189 Added "plugInPaths" ivar, so different plugin databases can have different search paths.
2190 * Plugins/WebPluginDatabase.m:
2191 (+[WebPluginDatabase installedPlugins]):
2192 Give the global plugin database the default plugin search paths.
2193 (+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
2194 Removed static global; this method now sets the plugin paths on the global plugin database.
2195 (-[WebPluginDatabase setPlugInPaths:]):
2196 Setter method for plugin paths.
2197 (-[WebPluginDatabase close]):
2198 New method; called when the plugin database is no longer needed (when its WebView is being destroyed).
2199 (-[WebPluginDatabase init]):
2200 Don't refresh in -init, so that callers can set the DB's plugin path array before it refreshes.
2201 (-[WebPluginDatabase dealloc]):
2202 Moved here from near the bottom of the file. Release new ivar.
2203 (-[WebPluginDatabase refresh]):
2204 Use the plugInPaths ivar instead of calling pluginLocations().
2205 Notify plugin packages when they are added to and removed from a plugin database. A plugin package will
2206 unload itself when it is removed from all of its plugin databases.
2207 The only really tricky thing here is that the global MIME <-> view class registrations are only modified
2208 by the shared plugin DB.
2209 (+[WebPluginDatabase _defaultPlugInPaths]):
2210 Refactored from the old pluginLocations() function; returns the default set of plugin search paths.
2212 * Plugins/WebBasePluginPackage.h:
2213 * Plugins/WebBasePluginPackage.m:
2214 (-[WebBasePluginPackage dealloc]):
2215 Assert that this package has been removed from all of its containing plugin databases.
2216 (-[WebBasePluginPackage finalize]):
2218 (-[WebBasePluginPackage wasAddedToPluginDatabase:]):
2219 Add plugin database to set.
2220 (-[WebBasePluginPackage wasRemovedFromPluginDatabase:]):
2221 Remove plugin database from set. If it was the last DB, then unload the plugin package.
2223 * WebView/WebViewInternal.h:
2224 Added instance methods to find the view class or plugin package, given a MIME type or file extension.
2225 * WebView/WebViewPrivate.h:
2226 Added SPI to set plugin search paths per WebView.
2227 * WebView/WebView.m:
2228 (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
2229 New method; tries the global MIME <-> view map first; failing that, it checks the WebView's plugin DB.
2230 (-[WebView _close]):
2231 Close the plugin DB.
2232 (-[WebView _setAdditionalWebPlugInPaths:]):
2233 Create the plugin DB if necessary, and set its plugin paths.
2234 (-[WebView _pluginForMIMEType:]):
2235 Checks global plugin DB, falls back on WebView DB.
2236 (-[WebView _pluginForExtension:]):
2238 (-[WebView _isMIMETypeRegisteredAsPlugin:]):
2241 * WebCoreSupport/WebFrameBridge.m:
2242 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2243 Use new WebView instance methods to look for plugins.
2244 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2246 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2249 2006-06-20 Brady Eidson <beidson@apple.com>
2253 Added calls through to the WebCoreIconDatabaseBridge for all the major WebIconDatabase API. For now these calls
2254 are wrapped with #ifdef's and are for debugging only.
2256 * Misc/WebIconDatabase.h:
2257 * Misc/WebIconDatabase.m:
2258 (-[NSMutableDictionary _scaleIcon:toSize:]):
2259 (-[NSMutableDictionary init]):
2260 (-[NSMutableDictionary iconForURL:withSize:cache:]):
2261 (-[NSMutableDictionary iconURLForURL:]):
2262 (-[NSMutableDictionary retainIconForURL:]):
2263 (-[NSMutableDictionary releaseIconForURL:]):
2264 (-[WebIconDatabase _setHaveNoIconForIconURL:]):
2265 (-[WebIconDatabase _setIconURL:forURL:]):
2266 (-[WebIconDatabase _hasIconForIconURL:]):
2267 * Misc/WebIconLoader.m:
2268 (-[WebIconLoader didFinishLoading]):
2270 * Misc/WebKitLogging.h: Added a logging channel for WebIconDatabase debugging
2271 * Misc/WebKitLogging.m:
2272 (WebKitInitializeLoggingChannelsIfNecessary):
2274 2006-06-20 Adele Peterson <adele@apple.com>
2276 Reviewed by Tim Hatcher.
2278 * WebView/WebMainResourceLoader.m: Added missing header to fix build on Leopard.
2280 2006-06-20 Timothy Hatcher <timothy@apple.com>
2284 Removes the @try/@catch from the callbacks to improve performance,
2285 simply check if the proxy object's connection is still valid first.
2286 Listener objects are now required to be NSDistantObjects.
2288 Adds pause, resume and step support. The debugger process use to handle this,
2289 but it caused problems when there were multiple listeners.
2291 Sends the bundle identifier in the notification userInfo dictionary along with
2292 process name and process ID.
2294 * DefaultDelegates/WebScriptDebugServer.h:
2295 * DefaultDelegates/WebScriptDebugServer.m:
2296 (-[WebScriptDebugServer serverQuery:]):
2297 (-[WebScriptDebugServer addListener:]):
2298 (-[WebScriptDebugServer removeListener:]):
2299 (-[WebScriptDebugServer step]):
2300 (-[WebScriptDebugServer pause]):
2301 (-[WebScriptDebugServer resume]):
2302 (-[WebScriptDebugServer isPaused]):
2303 (-[WebScriptDebugServer suspendProcessIfPaused]):
2304 (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
2305 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
2306 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
2307 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
2308 * DefaultDelegates/WebScriptDebugServerPrivate.h:
2311 2006-06-19 Alexey Proskuryakov <ap@nypop.com>
2315 - http://bugzilla.opendarwin.org/show_bug.cgi?id=5499
2316 Page reload does not send any cache control headers
2318 * WebView/WebFrame.m:
2319 (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]): Set a proper Cache-Control header for
2321 (-[WebFrame loadRequest:]): Reset loadType to WebFrameLoadTypeStandard (after a reload, it stayed at
2322 WebFrameLoadTypeReload, so _addExtraFieldsToRequest erroneously added a Cache-Control header to them).
2324 2006-06-19 John Sullivan <sullivan@apple.com>
2328 - added mechanism to notify UIDelegate when part of the webview is redrawn. For now, it only
2329 works for HTML views.
2331 * WebView/WebUIDelegatePrivate.h:
2332 Define a new UIDelegate method -webView:didDrawRect:
2333 * WebView/WebHTMLView.m:
2334 (-[WebView drawSingleRect:]):
2335 Call through to UIDelegate if it implements that method. I tested that this does not impact PLT numbers
2336 in the case where the delegate implements the method but does nothing in it.
2338 2006-06-19 Mitz Pettel <opendarwin.org@mitzpettel.com>
2342 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9452
2343 Assertion failure in -[WebFramePrivate setProvisionalDataSource:]
2345 * WebView/WebFrame.m:
2346 (-[WebFrame _checkLoadCompleteForThisFrame]): Avoid re-entering the delegate's
2347 -[webView:didFailProvisionalLoadWithError:forFrame].
2349 2006-06-18 Mitz Pettel <opendarwin.org@mitzpettel.com>
2353 - http://bugzilla.opendarwin.org/show_bug.cgi?id=9479
2354 Disassociate the inspector from the frame when it detaches from its parent
2356 * WebInspector/WebInspector.m:
2357 (-[NSWindow setWebFrame:]): Added code to (de)register with the WebFrame
2358 the inspector is (no longer) targeting.
2359 (-[WebInspector _webFrameDetached:]): Added. Moved the code that was previously
2360 in -[inspectedWindowWillClose:] here. This is called by the WebFrame when it
2361 is detached from its parent.
2362 * WebInspector/WebInspectorInternal.h:
2363 * WebView/WebFrame.m:
2364 (-[WebFramePrivate dealloc]):
2365 (-[WebFrame _detachFromParent]): Added code to notify all registered inspectors
2366 that the WebFrame is detaching.
2367 (-[WebFrame _addInspector:]): Added.
2368 (-[WebFrame _removeInspector:]): Added.
2369 * WebView/WebFrameInternal.h:
2371 2006-06-18 Anders Carlsson <acarlsson@apple.com>
2375 * WebCoreSupport/WebFrameBridge.m:
2376 (-[WebFrameBridge shouldInterruptJavaScript]):
2377 Ask the UI delegate if the script should be interrupted.
2379 * WebView/WebUIDelegatePrivate.h:
2380 Declare webViewShouldInterruptJavaScript: delegate method
2382 2006-06-17 Mitz Pettel <opendarwin.org@mitzpettel.com>
2386 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9466
2387 Assertion failure when dragging an image from the document into Safari's address bar
2389 * WebView/WebFrameView.m:
2390 (-[WebFrameView _setDocumentView:]): Reset the WebView's initiatedDrag flag
2391 when the document view is changed.
2392 * WebView/WebHTMLView.m:
2393 (-[WebHTMLView draggedImage:endedAt:operation:]): Changed the ASSERT to allow
2394 for drags that end after the view has been removed from the WebView.
2396 2006-06-16 Timothy Hatcher <timothy@apple.com>
2400 Exposes a distributed objects server for clients to register for script debugger calls.
2401 For preformance concerns this is disabled by default, you will need to enable this per application.
2402 To enable for Safari do this: defaults write com.apple.Safari WebKitScriptDebuggerEnabled -bool true
2404 Clients will need to listen to the following distributed notification to discover servers:
2405 WebScriptDebugServerDidLoadNotification
2407 To discover servers that previously loaded before the client, the client needs to send the following notification:
2408 WebScriptDebugServerQueryNotification
2410 All servers will reply with the WebScriptDebugServerQueryReplyNotification notification that contains the
2411 registered server connection name to use with distributed objects.
2413 * DefaultDelegates/WebScriptDebugServer.h: Added.
2414 * DefaultDelegates/WebScriptDebugServer.m: Added.
2415 (+[WebScriptDebugServer sharedScriptDebugServer]):
2416 (-[WebScriptDebugServer init]):
2417 (-[WebScriptDebugServer dealloc]):
2418 (-[WebScriptDebugServer serverQuery:]):
2419 (-[WebScriptDebugServer listenerConnectionDidDie:]):
2420 (-[WebScriptDebugServer addListener:]):
2421 (-[WebScriptDebugServer removeListener:]):
2422 (-[WebScriptDebugServer webView:didParseSource:fromURL:sourceId:forWebFrame:]):
2423 (-[WebScriptDebugServer webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
2424 (-[WebScriptDebugServer webView:willExecuteStatement:sourceId:line:forWebFrame:]):
2425 (-[WebScriptDebugServer webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
2426 * DefaultDelegates/WebScriptDebugServerPrivate.h: Added.
2427 * WebCoreSupport/WebFrameBridge.m:
2428 (-[WebFrameBridge windowObjectCleared]):
2430 * WebKit.xcodeproj/project.pbxproj:
2431 * WebView/WebScriptDebugDelegate.m:
2432 (-[WebScriptCallFrame parsedSource:fromURL:sourceId:]):
2433 (-[WebScriptCallFrame enteredFrame:sourceId:line:]):
2434 (-[WebScriptCallFrame hitStatement:sourceId:line:]):
2435 (-[WebScriptCallFrame leavingFrame:sourceId:line:]):
2436 * WebView/WebView.m:
2437 (+[WebView _developerExtrasEnabled]):
2438 (+[WebView _scriptDebuggerEnabled]):
2439 (-[WebView _menuForElement:defaultItems:]):
2440 (-[WebView _commonInitializationWithFrameName:groupName:]):
2441 * WebView/WebViewPrivate.h:
2443 2006-06-16 Adele Peterson <adele@apple.com>
2447 Added initialization for WKDrawBezeledTextArea.
2449 * WebCoreSupport/WebSystemInterface.m:
2450 (InitWebCoreSystemInterface):
2452 2006-06-15 Timothy Hatcher <timothy@apple.com>
2454 Reviewed by Geoff and Darin.
2456 Prefer the DWARF debugging symbols format for use in Xcode 2.3.
2458 * WebKit.xcodeproj/project.pbxproj:
2460 2006-06-15 John Sullivan <sullivan@apple.com>
2464 Fixed bug in WebKit support for computing but not highlighting rects for text matches.
2466 * WebView/WebView.m:
2467 (-[WebView rectsForTextMatches]):
2468 leave out empty rects, and convert rects to WebView coordinates. Since this makes a batch
2469 of autoreleased NSValue objects, use a local autorelease pool
2471 2006-02-11 David Kilzer <ddkilzer@kilzer.net>
2473 Reviewed by John Sullivan.
2475 * Plugins/WebPluginController.m:
2476 (-[WebPluginController _cancelOutstandingChecks]):
2477 add nil check before calling CFSetApplyFunction
2479 2006-06-14 Levi Weintraub <lweintraub@apple.com>
2483 <http://bugzilla.opendarwin.org/show_bug.cgi?id=7580>
2484 TinyMCE: Implement execCommand(formatBlock, ...)
2486 * English.lproj/Localizable.strings:
2487 * WebCoreSupport/WebFrameBridge.m:
2488 (-[WebFrameBridge nameForUndoAction:]):
2490 2006-06-14 Tim Omernick <timo@apple.com>
2492 Reviewed by John Sullivan.
2494 <rdar://problem/4577988> GC: WebPluginController uses inefficient resurrecting enumeration
2496 * Plugins/WebPluginController.m:
2497 (cancelOutstandingCheck):
2498 (-[WebPluginController _cancelOutstandingChecks]):
2499 Use CFSetApplyFunction() instead of an enumerator to guard against modifications to the set while enumerating.
2501 2006-06-13 John Sullivan <sullivan@apple.com>
2505 - fixed <rdar://problem/4498606> REGRESSION (417.8-420+): 3 missing items (but extra separators) in context
2506 menu in Mail message body
2508 * WebView/WebView.m:
2509 (-[WebView _menuForElement:defaultItems:]):
2510 Add special-case hackery to recover from this SPI -> API mismatch.
2512 2006-06-13 Tim Omernick <timo@apple.com>
2516 Fixed a recently-introduced assertion failure when handling 404 errors.
2518 * WebView/WebDataSource.m:
2519 (-[WebDataSource _handleFallbackContent]):
2520 Use the -[WebFrame _bridge] instead of -[WebDataSource _bridge]. The former is not valid until the data
2521 source has been committed, which is not the case when the resource fails to load. The latter is safe to call
2522 at any time. This broke last night with Maciej's change to WebFrameResourceLoader. The old code used to
2523 call -[WebFrame _bridge].
2525 2006-06-13 Anders Carlsson <acarlsson@apple.com>
2529 http://bugzilla.opendarwin.org/show_bug.cgi?id=9406
2530 REGRESSION: fix for bug 9390 broke two layout tests
2532 * Plugins/WebPluginDatabase.h:
2533 (-[WebPluginDatabase isMIMETypeRegistered:]):
2534 Add new function isMIMETypeRegistered which returns whether a given MIME type has a
2537 * Plugins/WebPluginDatabase.m:
2538 (-[WebPluginDatabase init]):
2539 Init set of registered MIME types.
2541 (-[WebPluginDatabase refresh]):
2542 Add and remove MIME types from the set of registered MIME types when registering and unregistering
2545 (-[WebPluginDatabase dealloc]):
2546 Release set of registered MIME types.
2548 * WebCoreSupport/WebFrameBridge.m:
2549 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2550 Use isMIMETypeRegistered here.
2552 2006-06-12 Maciej Stachowiak <mjs@apple.com>
2554 - fix for cocoa exception (whoops)
2556 * WebView/WebView.m:
2557 (+[WebView _generatedMIMETypeForURLScheme:]): put this back
2558 * WebView/WebDataSource.m:
2559 (+[WebDataSource _generatedMIMETypeForURLScheme:]): call WebView
2561 2006-06-12 Maciej Stachowiak <mjs@apple.com>
2565 - remove use of WebView and related from WebMainResourceLoader
2567 * WebKit.xcodeproj/project.pbxproj:
2568 * WebView/WebDataSource.m:
2569 (+[WebDataSource _generatedMIMETypeForURLScheme:]):
2570 (+[WebDataSource _representationExistsForURLScheme:]):
2571 (+[WebDataSource _canShowMIMEType:]):
2572 (-[WebDataSource _handleFallbackContent]):
2573 (-[WebDataSource _decidePolicyForMIMEType:decisionListener:]):
2574 * WebView/WebDataSourceInternal.h:
2575 * WebView/WebFrame.m:
2576 (-[WebFrame _isMainFrame]):
2577 * WebView/WebFrameInternal.h:
2578 * WebView/WebMainResourceLoader.m:
2579 (-[WebMainResourceLoader willSendRequest:redirectResponse:]):
2580 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
2581 (-[WebMainResourceLoader checkContentPolicyForResponse:]):
2582 (-[WebMainResourceLoader loadWithRequestNow:]):
2583 * WebView/WebView.m:
2585 2006-06-12 Tim Omernick <timo@apple.com>
2589 <rdar://problem/4526052> intermittent assertion failure in -[WebBasePluginPackage dealloc] running layout tests
2591 * Plugins/WebNetscapePluginPackage.m:
2592 (-[WebNetscapePluginPackage _initWithPath:]):
2593 Renamed from -initWithPath:. Instead of releasing/deallocating self on error, return NO.
2594 (-[WebNetscapePluginPackage initWithPath:]):
2595 Call the new -_initWithPath:. If it returns NO, unload the plugin package before deallocating it.
2597 2006-06-11 Darin Adler <darin@apple.com>
2599 - try to fix Windows build
2601 * COM/WebKitDLL.cpp: (loadResourceIntoArray): Use Vector<char> instead of
2602 DeprecatedByteArray.
2604 2006-06-11 Mitz Pettel <opendarwin.org@mitzpettel.com>
2608 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8672
2609 Red outline from web inspector reappears after inspector is closed
2611 * WebInspector/WebInspector.m:
2612 (-[NSWindow windowWillClose:]): Added a call to setWebFrame to avoid further
2613 load progress notifications.
2614 (-[NSWindow setWebFrame:]): Changed to resign the WebView's hostWindow rather
2615 than its window for close notifications, to avoid resigning from all windows' close
2616 notifications (including the inspector window's) when the WebView is in a hidden tab.
2617 Also changed to prevent highlighting the initial focused node.
2619 2006-06-11 Anders Carlsson <acarlsson@apple.com>
2623 http://bugzilla.opendarwin.org/show_bug.cgi?id=9390
2624 Move full-frame plugins to WebCore
2626 * Plugins/WebBaseNetscapePluginStream.h:
2627 * Plugins/WebBaseNetscapePluginStream.m:
2628 (-[WebBaseNetscapePluginStream instance]):
2629 Add instance method which returns the plugin instance.
2631 * Plugins/WebBasePluginPackage.h:
2632 Add WebPluginManualLoader protocol
2634 * Plugins/WebNetscapePluginDocumentView.h: Removed.
2635 * Plugins/WebNetscapePluginDocumentView.m: Removed.
2637 * Plugins/WebNetscapePluginEmbeddedView.h:
2638 * Plugins/WebNetscapePluginEmbeddedView.m:
2639 (-[WebNetscapePluginEmbeddedView initWithFrame:plugin:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:]):
2640 (-[WebNetscapePluginEmbeddedView dealloc]):
2641 (-[WebNetscapePluginEmbeddedView didStart]):
2642 (-[WebNetscapePluginEmbeddedView pluginView:receivedResponse:]):
2643 (-[WebNetscapePluginEmbeddedView pluginView:receivedData:]):
2644 (-[WebNetscapePluginEmbeddedView pluginView:receivedError:]):
2645 (-[WebNetscapePluginEmbeddedView pluginViewFinishedLoading:]):
2646 (-[WebNetscapePluginEmbeddedView redeliverStream]):
2647 Make WebNetscapePluginEmbeddedView support the WebPluginManualLoader protocol. It creates a plugin stream and feeds the
2648 data manually. Much of this code has been copied from WebNetscapePluginRepresentation.
2650 * Plugins/WebNetscapePluginRepresentation.h: Removed.
2651 * Plugins/WebNetscapePluginRepresentation.m: Removed.
2653 * Plugins/WebPluginController.h:
2654 * Plugins/WebPluginController.m:
2655 (-[WebPluginController pluginView:receivedResponse:]):
2656 (-[WebPluginController pluginView:receivedData:]):
2657 (-[WebPluginController pluginView:receivedError:]):
2658 (-[WebPluginController pluginViewFinishedLoading:]):
2659 Make WebPluginController support the WebPluginManualLoader protocol so it can feed data manually to WebKit plugins.
2661 * Plugins/WebPluginDatabase.m:
2662 (-[WebPluginDatabase refresh]):
2663 Use WebHTMLView and WebHTMLRepresentation when registering/unregistering plug-in MIME types.
2665 * Plugins/WebPluginDocumentView.h: Removed.
2666 * Plugins/WebPluginDocumentView.m: Removed.
2668 * WebCoreSupport/WebFrameBridge.m:
2669 (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):
2670 (-[WebFrameBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:DOMElement:loadManually:]):
2671 Add loadManually argument.
2673 (-[WebFrameBridge redirectDataToPlugin:]):
2674 Call down to the HTML representation.
2676 (-[WebFrameBridge viewForJavaAppletWithFrame:attributeNames:attributeValues:baseURL:DOMElement:]):
2677 Pass NO to loadManually.
2679 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
2680 Explicitly check if the MIME type is supported by a plug-in instead of checking the view class.
2682 * WebCoreSupport/WebViewFactory.m:
2683 (-[WebViewFactory pluginSupportsMIMEType:]):
2684 New function which returns whether any plugins support a given MIME type.
2686 * WebKit.xcodeproj/project.pbxproj:
2687 Update for removed files.
2689 * WebView/WebFrame.m:
2690 (-[WebFrame _reloadForPluginChanges]):
2691 Remove view type checks.
2693 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
2694 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
2695 Remove FIXME comments.
2697 * WebView/WebHTMLRepresentation.m:
2698 (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
2699 New function which redirects incoming data to a manual loader.
2701 (-[WebHTMLRepresentation receivedData:withDataSource:]):
2702 (-[WebHTMLRepresentation receivedError:withDataSource:]):
2703 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2704 Optionally redirect incoming data.
2706 * WebView/WebHTMLRepresentationPrivate.h:
2708 2006-06-09 John Sullivan <sullivan@apple.com>
2710 Reviewed by Tim Omernick and Dave Hyatt.
2712 WebKit support for computing but not highlighting rects for text matches.
2714 * WebView/WebHTMLViewPrivate.h:
2715 added markedTextMatchesAreHighlighted/setMarkedTextMatchesAreHighlighted and
2716 rectsForTextMatches, and renamed related methods for clarity/consistency
2717 * WebView/WebHTMLView.m:
2718 (-[WebHTMLView markAllMatchesForText:caseSensitive:]):
2719 renamed, calls similarly-renamed method
2720 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
2721 new method, calls through to bridge
2722 (-[WebHTMLView markedTextMatchesAreHighlighted]):
2724 (-[WebHTMLView unmarkAllTextMatches]):
2726 (-[WebHTMLView rectsForTextMatches]):
2727 new method, calls through to bridge
2729 * WebView/WebViewPrivate.h:
2730 added rectsForTextMatches, renamed other methods (and added highlight: parameter)
2731 * WebView/WebView.m:
2732 (-[WebView markAllMatchesForText:caseSensitive:highlight:]):
2733 renamed for clarity/consistency, and now has highlight: parameter, which is passed down
2734 (-[WebView unmarkAllTextMatches]):
2735 renamed for clarity/consistency, and calls similarly-renamed method lower down. diff got
2736 confused with the end of this and the end of the next method.
2737 (-[WebView rectsForTextMatches]):
2738 new method, calls through to WebHTMLView as related methods currently do
2740 2006-06-10 Graham Dennis <Graham.Dennis@gmail.com>
2742 <http://bugzilla.opendarwin.org/show_bug.cgi?id=9384>
2743 WebView's initWithCoder: method does not set useBackForwardList
2746 Reviewed by John Sullivan.
2748 * WebView/WebView.m:
2749 (-[WebView initWithCoder:]):
2750 Make sure that the function variable useBackForwardList is correctly
2751 set, so that the copy in the _private ivar is set.
2753 2006-06-09 David Hyatt <hyatt@apple.com>
2755 Rename updateFocusState to updateActiveState.
2757 * WebView/WebHTMLView.m:
2758 (-[WebHTMLView _updateActiveState]):
2759 (-[WebHTMLView viewDidMoveToWindow]):
2760 (-[WebHTMLView windowDidBecomeKey:]):
2761 (-[WebHTMLView windowDidResignKey:]):
2762 (-[WebHTMLView becomeFirstResponder]):
2763 (-[WebHTMLView resignFirstResponder]):
2764 (-[WebHTMLView _formControlIsBecomingFirstResponder:]):
2765 (-[WebHTMLView _formControlIsResigningFirstResponder:]):
2766 * WebView/WebHTMLViewPrivate.h:
2768 2006-06-09 David Hyatt <hyatt@apple.com>
2770 Rename displaysWithFocusAttributes to isActive.
2774 * WebKit.xcodeproj/project.pbxproj:
2775 * WebView/WebHTMLView.m:
2776 (-[WebHTMLView _updateFocusState]):
2778 2006-06-08 Justin Garcia <justin.garcia@apple.com>
2782 <http://bugzilla.opendarwin.org/show_bug.cgi?id=4468>
2783 Implement execCommand(Insert{Un}OrderedList)
2785 * WebView/WebFrame.m:
2786 (-[WebFrame _findFrameWithSelection]): Removed an assertion
2787 that we only have one frame with a selection.
2788 * WebView/WebView.m:
2789 (-[WebView selectedFrame]): Ditto.
2791 2006-06-08 Timothy Hatcher <timothy@apple.com>
2793 Reviewed by Darin and John.
2795 <rdar://problem/3600734> API: please add a way to turn vertical scrollbar
2796 always on (for Mail, to avoid reflow when typing)
2798 Adds new methods to lock the scrolling mode on WebDynamicScrollBarsView.
2799 Locking the scroll mode prevents WebCore from changing it as needed.
2800 Also adds an SPI on WebView that will lock the "always on" mode
2803 * WebKit.xcodeproj/project.pbxproj:
2804 * WebView/WebDynamicScrollBarsView.h:
2805 * WebView/WebDynamicScrollBarsView.m:
2806 (-[WebDynamicScrollBarsView setAllowsScrolling:]):
2807 (-[WebDynamicScrollBarsView allowsScrolling]):
2808 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
2809 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]):
2810 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]):
2811 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
2812 (-[WebDynamicScrollBarsView setScrollingMode:]):
2813 (-[WebDynamicScrollBarsView setHorizontalScrollingModeLocked:]):
2814 (-[WebDynamicScrollBarsView setVerticalScrollingModeLocked:]):
2815 (-[WebDynamicScrollBarsView setScrollingModesLocked:]):
2816 (-[WebDynamicScrollBarsView horizontalScrollingModeLocked]):
2817 (-[WebDynamicScrollBarsView verticalScrollingModeLocked]):
2818 * WebView/WebView.m:
2819 (-[WebView setAlwaysShowVerticalScroller:]):
2820 (-[WebView alwaysShowVerticalScroller]):
2821 (-[WebView setAlwaysShowHorizontalScroller:]):
2822 (-[WebView alwaysShowHorizontalScroller]):
2823 * WebView/WebViewPrivate.h:
2825 2006-06-08 Darin Adler <darin@apple.com>
2829 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8616
2830 REGRESSION: TinyMCE: Crash on Undo
2832 * WebView/WebHTMLView.m:
2833 (-[WebHTMLView _topHTMLView]): Added.
2834 (-[WebHTMLView _isTopHTMLView]): Added.
2835 (-[WebHTMLView _insideAnotherHTMLView]): Changed to use _topHTMLView.
2836 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
2837 Forward to the top HTML view, so that only the top view ever starts a dragging operation.
2838 Change dragging code to not assume that the dragged node is in the current view's document.
2839 Added checks that the node is an element in a couple places and coordinate conversions.
2840 (-[WebHTMLView _mayStartDragAtEventLocation:]): Forward to the top HTML view.
2841 (-[WebHTMLView addMouseMovedObserver]): Change to do nothing when the dataSource field is 0,
2842 since we now use the dataSource field to get to the WebView.
2843 (-[WebHTMLView removeMouseMovedObserver]): Added a comment.
2844 (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]):
2845 Forward to the top HTML view.
2846 (-[WebHTMLView draggingSourceOperationMaskForLocal:]): Assert that it's the top HTML view.
2847 (-[WebHTMLView draggedImage:movedTo:]): Ditto.
2848 (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
2849 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
2850 (-[WebHTMLView _canProcessDragWithDraggingInfo:]): Ditto.
2851 (-[WebHTMLView _isMoveDrag]): Ditto.
2852 (-[WebHTMLView draggingUpdatedWithDraggingInfo:actionMask:]): Ditto.
2853 (-[WebHTMLView draggingCancelledWithDraggingInfo:]): Ditto.
2854 (-[WebHTMLView concludeDragForDraggingInfo:actionMask:]): Ditto. Also added code to work
2855 with the appropriate bridge when receiving a drag. This fixes the problem where the
2856 top level frame got a selection intended for the inner frame; the source of the bug.
2857 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Added code to convert the coordinates
2858 so this works properly when returning an element from an inner frame.
2859 (-[WebHTMLView setDataSource:]): Added a call to addMouseMovedObserver, needed now that
2860 addMouseMovedObserver won't do anything if called when dataSource is nil.
2861 (-[WebHTMLView _delegateDragSourceActionMask]): Forward to the top HTML view.
2863 * WebView/WebView.m:
2864 (-[WebViewPrivate dealloc]): Removed code to release dragCaretBridge since that field
2866 (-[WebView moveDragCaretToPoint:]): Always call the main frame's bridge, since the
2867 drag caret is now a page-level item. Later we'll move it to the page bridge.
2868 (-[WebView removeDragCaret]): Ditto.
2870 2006-06-07 David Hyatt <hyatt@apple.com>
2872 Add support for custom highlighting to WebKit.
2876 * WebCoreSupport/WebFrameBridge.m:
2877 (-[WebFrameBridge paintCustomHighlight:forBox:onLine:behindText:]):
2878 * WebView/WebHTMLView.m:
2879 (-[WebHTMLView _highlighterForType:]):
2880 * WebView/WebHTMLViewInternal.h:
2881 * WebView/WebHTMLViewPrivate.h:
2883 2006-06-07 Adele Peterson <adele@apple.com>
2887 Added resources for missingImage and textAreaResizeCorner.
2889 * COM/WebKitDLL.cpp:
2890 (loadResourceIntoArray): Added. Returns a DeprecatedByteArray with the resource's data.
2891 * WebKit.vcproj/WebKit.rc: Added missing image and resize pngs as resources.
2892 * WebKit.vcproj/WebKit.vcproj: Added pngs.
2893 * WebKit.vcproj/missingImage.png: Added.
2894 * WebKit.vcproj/resource.h: Added entries for pngs.
2895 * WebKit.vcproj/textAreaResizeCorner.png: Added.
2897 2006-06-07 David Hyatt <hyatt@apple.com>
2899 Add SPI for setting and removing custom highlighters.
2903 * WebView/WebHTMLView.m:
2904 (-[WebTextCompleteController dealloc]):
2905 (-[WebHTMLView _setHighlighter:ofType:]):
2906 (-[WebHTMLView _removeHighlighterOfType:]):
2907 * WebView/WebHTMLViewInternal.h:
2908 * WebView/WebHTMLViewPrivate.h:
2910 2006-06-06 Adele Peterson <adele@apple.com>
2915 (WebView::keyPress): Added case for VK_RETURN.
2917 2006-06-06 Anders Carlsson <acarlsson@apple.com>
2921 * WebView/WebFrame.m:
2922 (-[WebFrame _reloadForPluginChanges]):
2923 Don't traverse the view hierarchy looking for plugin views. Instead, just
2924 ask the frame whether it contains any plugins.
2926 2006-06-03 Steve Falkenburg <sfalken@apple.com>
2930 Add implementation of loadHTMLString for Spinneret
2933 (WebFrame::loadHTMLString):
2935 2006-06-02 Steve Falkenburg <sfalken@apple.com>
2939 New hosting for Spinneret to avoid static linking
2942 * COM/Interfaces: Added.
2943 * COM/Interfaces/DOMCSS.idl: Added.
2944 * COM/Interfaces/DOMCore.idl: Added.
2945 * COM/Interfaces/DOMHTML.idl: Added.
2946 * COM/Interfaces/DOMRange.idl: Added.
2947 * COM/Interfaces/IWebArchive.idl: Added.
2948 * COM/Interfaces/IWebAttributedString.idl: Added.
2949 * COM/Interfaces/IWebBackForwardList.idl: Added.
2950 * COM/Interfaces/IWebDataSource.idl: Added.
2951 * COM/Interfaces/IWebDocument.idl: Added.
2952 * COM/Interfaces/IWebDownload.idl: Added.
2953 * COM/Interfaces/IWebEditingDelegate.idl: Added.
2954 * COM/Interfaces/IWebError.idl: Added.
2955 * COM/Interfaces/IWebFrame.idl: Added.
2956 * COM/Interfaces/IWebFrameLoadDelegate.idl: Added.
2957 * COM/Interfaces/IWebFrameView.idl: Added.
2958 * COM/Interfaces/IWebHistoryItem.idl: Added.
2959 * COM/Interfaces/IWebIconDatabase.idl: Added.
2960 * COM/Interfaces/IWebImage.idl: Added.
2961 * COM/Interfaces/IWebMutableURLRequest.idl: Added.
2962 * COM/Interfaces/IWebNotification.idl: Added.
2963 * COM/Interfaces/IWebPolicyDelegate.idl: Added.
2964 * COM/Interfaces/IWebPreferences.idl: Added.
2965 * COM/Interfaces/IWebResource.idl: Added.
2966 * COM/Interfaces/IWebResourceLoadDelegate.idl: Added.
2967 * COM/Interfaces/IWebScriptObject.idl: Added.
2968 * COM/Interfaces/IWebUIDelegate.idl: Added.
2969 * COM/Interfaces/IWebURLAuthenticationChallenge.idl: Added.
2970 * COM/Interfaces/IWebURLRequest.idl: Added.
2971 * COM/Interfaces/IWebURLResponse.idl: Added.
2972 * COM/Interfaces/IWebUndoManager.idl: Added.
2973 * COM/Interfaces/IWebView.idl: Added.
2974 * COM/Interfaces/WebKit.idl: Added.
2975 * COM/WebBackForwardList.cpp: Added.
2976 (WebBackForwardList::WebBackForwardList):
2977 (WebBackForwardList::~WebBackForwardList):
2978 (WebBackForwardList::createInstance):
2979 (WebBackForwardList::QueryInterface):
2980 (WebBackForwardList::AddRef):
2981 (WebBackForwardList::Release):
2982 (WebBackForwardList::addItem):
2983 (WebBackForwardList::goBack):
2984 (WebBackForwardList::goForward):
2985 (WebBackForwardList::goToItem):
2986 (WebBackForwardList::backItem):
2987 (WebBackForwardList::currentItem):
2988 (WebBackForwardList::forwardItem):
2989 (WebBackForwardList::backListWithLimit):
2990 (WebBackForwardList::forwardListWithLimit):
2991 (WebBackForwardList::capacity):
2992 (WebBackForwardList::setCapacity):
2993 (WebBackForwardList::backListCount):
2994 (WebBackForwardList::forwardListCount):
2995 (WebBackForwardList::containsItem):
2996 (WebBackForwardList::itemAtIndex):
2997 (WebBackForwardList::setPageCacheSize):
2998 (WebBackForwardList::pageCacheSize):
2999 * COM/WebBackForwardList.h: Added.
3000 * COM/WebDataSource.cpp: Added.
3001 (WebDataSource::WebDataSource):
3002 (WebDataSource::~WebDataSource):
3003 (WebDataSource::createInstance):
3004 (WebDataSource::QueryInterface):
3005 (WebDataSource::AddRef):
3006 (WebDataSource::Release):
3007 (WebDataSource::initWithRequest):
3008 (WebDataSource::data):
3009 (WebDataSource::representation):
3010 (WebDataSource::webFrame):
3011 (WebDataSource::initialRequest):
3012 (WebDataSource::request):
3013 (WebDataSource::response):
3014 (WebDataSource::textEncodingName):
3015 (WebDataSource::isLoading):
3016 (WebDataSource::pageTitle):
3017 (WebDataSource::unreachableURL):
3018 (WebDataSource::webArchive):
3019 (WebDataSource::mainResource):
3020 (WebDataSource::subresources):
3021 (WebDataSource::subresourceForURL):
3022 (WebDataSource::addSubresource):
3023 * COM/WebDataSource.h: Added.
3024 * COM/WebFrame.cpp: Added.
3025 (WebFrame::WebFramePrivate::WebFramePrivate):
3026 (WebFrame::WebFramePrivate::~WebFramePrivate):
3027 (WebFrame::WebFrame):
3028 (WebFrame::~WebFrame):
3029 (WebFrame::createInstance):
3030 (WebFrame::QueryInterface):
3032 (WebFrame::Release):
3033 (WebFrame::initWithName):
3035 (WebFrame::webView):
3036 (WebFrame::frameView):
3037 (WebFrame::DOMDocument):
3038 (WebFrame::frameElement):
3039 (WebFrame::loadRequest):
3040 (WebFrame::loadData):
3041 (WebFrame::loadHTMLString):
3042 (WebFrame::loadAlternateHTMLString):
3043 (WebFrame::loadArchive):
3044 (WebFrame::dataSource):
3045 (WebFrame::provisionalDataSource):
3046 (WebFrame::stopLoading):
3048 (WebFrame::findFrameNamed):
3049 (WebFrame::parentFrame):
3050 (WebFrame::childFrames):
3053 (WebFrame::loadDataSource):
3054 (WebFrame::loading):
3055 (WebFrame::goToItem):
3056 (WebFrame::loadItem):
3057 (WebSystemMainMemory):
3058 (WebFrame::getObjectCacheSize):
3059 (WebFrame::receivedRedirect):
3060 (WebFrame::receivedResponse):
3061 (WebFrame::receivedData):
3062 (WebFrame::receivedAllData):
3063 (WebFrame::openURL):
3064 (WebFrame::submitForm):
3065 (WebFrame::setTitle):
3066 (WebFrame::setStatusText):
3067 * COM/WebFrame.h: Added.
3068 * COM/WebHistoryItem.cpp: Added.
3069 (WebHistoryItem::WebHistoryItem):
3070 (WebHistoryItem::~WebHistoryItem):
3071 (WebHistoryItem::createInstance):
3072 (WebHistoryItem::QueryInterface):
3073 (WebHistoryItem::AddRef):
3074 (WebHistoryItem::Release):
3075 (WebHistoryItem::initWithURLString):
3076 (WebHistoryItem::originalURLString):
3077 (WebHistoryItem::URLString):
3078 (WebHistoryItem::title):
3079 (WebHistoryItem::lastVisitedTimeInterval):
3080 (WebHistoryItem::setAlternateTitle):
3081 (WebHistoryItem::alternateTitle):
3082 (WebHistoryItem::icon):
3083 * COM/WebHistoryItem.h: Added.
3084 * COM/WebIconDatabase.cpp: Added.
3085 (WebIconDatabase::WebIconDatabase):
3086 (WebIconDatabase::~WebIconDatabase):
3087 (WebIconDatabase::createInstance):
3088 (WebIconDatabase::QueryInterface):
3089 (WebIconDatabase::AddRef):
3090 (WebIconDatabase::Release):
3091 (WebIconDatabase::sharedIconDatabase):
3092 (WebIconDatabase::iconForURL):
3093 (WebIconDatabase::defaultIconWithSize):
3094 (WebIconDatabase::retainIconForURL):
3095 (WebIconDatabase::releaseIconForURL):
3096 (WebIconDatabase::delayDatabaseCleanup):
3097 (WebIconDatabase::allowDatabaseCleanup):
3098 * COM/WebIconDatabase.h: Added.
3099 * COM/WebKitClassFactory.cpp: Added.
3100 (WebKitClassFactory::WebKitClassFactory):
3101 (WebKitClassFactory::~WebKitClassFactory):
3102 (WebKitClassFactory::QueryInterface):
3103 (WebKitClassFactory::AddRef):
3104 (WebKitClassFactory::Release):
3105 (WebKitClassFactory::CreateInstance):
3106 (WebKitClassFactory::LockServer):
3107 * COM/WebKitClassFactory.h: Added.
3108 * COM/WebKitDLL.cpp: Added.
3110 (DllGetClassObject):
3112 (DllUnregisterServer):
3113 (DllRegisterServer):
3114 * COM/WebKitDLL.h: Added.
3115 * COM/WebMutableURLRequest.cpp: Added.
3116 (WebMutableURLRequest::WebMutableURLRequest):
3117 (WebMutableURLRequest::~WebMutableURLRequest):
3118 (WebMutableURLRequest::createInstance):
3119 (WebMutableURLRequest::QueryInterface):
3120 (WebMutableURLRequest::AddRef):
3121 (WebMutableURLRequest::Release):
3122 (WebMutableURLRequest::requestWithURL):
3123 (WebMutableURLRequest::allHTTPHeaderFields):
3124 (WebMutableURLRequest::cachePolicy):
3125 (WebMutableURLRequest::HTTPBody):
3126 (WebMutableURLRequest::HTTPBodyStream):
3127 (WebMutableURLRequest::HTTPMethod):
3128 (WebMutableURLRequest::HTTPShouldHandleCookies):
3129 (WebMutableURLRequest::initWithURL):
3130 (WebMutableURLRequest::mainDocumentURL):
3131 (WebMutableURLRequest::timeoutInterval):
3132 (WebMutableURLRequest::URL):
3133 (WebMutableURLRequest::valueForHTTPHeaderField):
3134 (WebMutableURLRequest::addValue):
3135 (WebMutableURLRequest::setAllHTTPHeaderFields):
3136 (WebMutableURLRequest::setCachePolicy):
3137 (WebMutableURLRequest::setHTTPBody):
3138 (WebMutableURLRequest::setHTTPBodyStream):
3139 (WebMutableURLRequest::setHTTPMethod):
3140 (WebMutableURLRequest::setHTTPShouldHandleCookies):
3141 (WebMutableURLRequest::setMainDocumentURL):
3142 (WebMutableURLRequest::setTimeoutInterval):
3143 (WebMutableURLRequest::setURL):
3144 (WebMutableURLRequest::setValue):
3145 (WebMutableURLRequest::setFormData):
3146 (WebMutableURLRequest::formData):
3147 * COM/WebMutableURLRequest.h: Added.
3148 * COM/WebView.cpp: Added.
3150 (WebView::~WebView):
3151 (WebView::createInstance):
3152 (WebView::mouseMoved):
3153 (WebView::mouseDown):
3155 (WebView::mouseDoubleClick):
3156 (WebView::keyPress):
3159 (calculateScrollDelta):
3160 (scrollMessageForKey):
3161 (WebView::goToItem):
3162 (WebView::QueryInterface):
3165 (WebView::canShowMIMEType):
3166 (WebView::canShowMIMETypeAsHTML):
3167 (WebView::MIMETypesShownAsHTML):
3168 (WebView::setMIMETypesShownAsHTML):
3169 (WebView::URLFromPasteboard):
3170 (WebView::URLTitleFromPasteboard):
3171 (WebView::initWithFrame):
3172 (WebView::setUIDelegate):
3173 (WebView::uiDelegate):
3174 (WebView::setResourceLoadDelegate):
3175 (WebView::resourceLoadDelegate):
3176 (WebView::setDownloadDelegate):
3177 (WebView::downloadDelegate):
3178 (WebView::setFrameLoadDelegate):
3179 (WebView::frameLoadDelegate):
3180 (WebView::setPolicyDelegate):
3181 (WebView::policyDelegate):
3182 (WebView::mainFrame):
3183 (WebView::backForwardList):
3184 (WebView::setMaintainsBackForwardList):
3186 (WebView::goForward):
3187 (WebView::goToBackForwardItem):
3188 (WebView::setTextSizeMultiplier):
3189 (WebView::textSizeMultiplier):
3190 (WebView::setApplicationNameForUserAgent):
3191 (WebView::applicationNameForUserAgent):
3192 (WebView::setCustomUserAgent):
3193 (WebView::customUserAgent):
3194 (WebView::userAgentForURL):
3195 (WebView::supportsTextEncoding):
3196 (WebView::setCustomTextEncodingName):
3197 (WebView::customTextEncodingName):
3198 (WebView::setMediaStyle):
3199 (WebView::mediaStyle):
3200 (WebView::stringByEvaluatingJavaScriptFromString):
3201 (WebView::windowScriptObject):
3202 (WebView::setPreferences):
3203 (WebView::preferences):
3204 (WebView::setPreferencesIdentifier):
3205 (WebView::preferencesIdentifier):
3206 (WebView::setHostWindow):
3207 (WebView::hostWindow):
3208 (WebView::searchFor):
3209 (WebView::registerViewClass):
3210 (WebView::takeStringURLFrom):
3211 (WebView::stopLoading):
3213 (WebView::canGoBack):
3214 (WebView::canGoForward):
3215 (WebView::canMakeTextLarger):
3216 (WebView::makeTextLarger):
3217 (WebView::canMakeTextSmaller):
3218 (WebView::makeTextSmaller):
3219 (WebView::computedStyleForElement):
3220 (WebView::editableDOMRangeForPoint):
3221 (WebView::setSelectedDOMRange):
3222 (WebView::selectedDOMRange):
3223 (WebView::selectionAffinity):
3224 (WebView::setEditable):
3225 (WebView::isEditable):
3226 (WebView::setTypingStyle):
3227 (WebView::typingStyle):
3228 (WebView::setSmartInsertDeleteEnabled):
3229 (WebView::smartInsertDeleteEnabled):
3230 (WebView::setContinuousSpellCheckingEnabled):
3231 (WebView::isContinuousSpellCheckingEnabled):
3232 (WebView::spellCheckerDocumentTag):
3233 (WebView::undoManager):
3234 (WebView::setEditingDelegate):
3235 (WebView::editingDelegate):
3236 (WebView::styleDeclarationWithText):
3237 (WebView::replaceSelectionWithNode):
3238 (WebView::replaceSelectionWithText):
3239 (WebView::replaceSelectionWithMarkupString):
3240 (WebView::replaceSelectionWithArchive):
3241 (WebView::deleteSelection):
3242 (WebView::applyStyle):
3246 (WebView::copyFont):
3247 (WebView::pasteFont):
3249 (WebView::pasteAsPlainText):
3250 (WebView::pasteAsRichText):
3251 (WebView::changeFont):
3252 (WebView::changeAttributes):
3253 (WebView::changeDocumentBackgroundColor):
3254 (WebView::changeColor):
3255 (WebView::alignCenter):
3256 (WebView::alignJustified):
3257 (WebView::alignLeft):
3258 (WebView::alignRight):
3259 (WebView::checkSpelling):
3260 (WebView::showGuessPanel):
3261 (WebView::performFindPanelAction):
3262 (WebView::startSpeaking):
3263 (WebView::stopSpeaking):
3264 (WebView::viewWindow):
3265 * COM/WebView.h: Added.
3266 * WebKit.vcproj: Added.
3267 * WebKit.vcproj/Interfaces.vcproj: Added.
3268 * WebKit.vcproj/WebKit.def: Added.
3269 * WebKit.vcproj/WebKit.rc: Added.
3270 * WebKit.vcproj/WebKit.sln: Added.
3271 * WebKit.vcproj/WebKit.vcproj: Added.
3272 * WebKit.vcproj/WebKitGUID.vcproj: Added.
3273 * WebKit.vcproj/autoversion.h: Added.
3274 * WebKit.vcproj/resource.h: Added.
3276 2006-06-02 Darin Adler <darin@apple.com>
3278 * WebCoreSupport/WebImageRendererFactory.m: Fix crash on Safari startup
3279 by include NSObject as a superclass (oops!).
3281 2006-06-01 Darin Adler <darin@apple.com>
3285 - WebCore doesn't need to load WebKit images any more; removed code for that
3287 * Resources/missing_image.tiff: Removed.
3288 * WebCoreSupport/WebImageRendererFactory.h: Removed.
3290 * WebCoreSupport/WebImageRendererFactory.m: Moved @interface in here.
3291 Removed all but the "threaded decoding" calls that older Safari calls.
3292 This file can go altogether when compatibility with that older Safari
3293 is no longer needed.
3295 * WebKit.xcodeproj/project.pbxproj: Removed WebImageRendererFactory.h
3296 and missing_image.tiff.
3298 * WebView/WebFrameView.m: (-[WebFrameView initWithFrame:]): Removed call
3299 to [WebImageRendererFactory createSharedFactory].
3301 2006-06-01 Brady Eidson <beidson@apple.com>
3305 Simple changes to hook up the new WebCore based Icon Database
3309 * Misc/WebIconDatabase.m:
3310 (-[WebIconDatabase _applicationWillTerminate:]):
3311 * Misc/WebIconDatabasePrivate.h:
3312 * WebKit.xcodeproj/project.pbxproj:
3314 2006-06-01 Anders Carlsson <acarlsson@apple.com>
3318 http://bugzilla.opendarwin.org/show_bug.cgi?id=6309
3319 multiple problems prevent bookmarking/back button technique for AJAX/DHTML applications from working
3321 * Misc/WebNSURLExtras.m:
3322 (-[NSString _webkit_URLFragment]):
3323 Don't include the "#" character in the fragment.
3325 * WebCoreSupport/WebFrameBridge.m:
3326 (-[WebFrameBridge historyURL:]):
3327 New function, returns the history URL for a given position in the back/forward list
3329 * WebView/WebFrame.m:
3330 (-[WebFrame _loadItem:withLoadType:]):
3331 Always call scrollToAnchorWithURL, even if there is no fragment. This way we keep the WebCore frame's
3334 2006-06-01 Maciej Stachowiak <mjs@apple.com>
3338 - fixed "REGRESSION: Can't order from Pizza Hut (ToT, 05/24/06)"
3339 http://bugzilla.opendarwin.org/show_bug.cgi?id=9103
3341 * WebView/WebDataSource.m:
3342 (-[WebDataSource _willSendRequest:forResource:redirectResponse:]): Set up the
3344 * WebView/WebDataSourceInternal.h:
3345 * WebView/WebLoader.m:
3346 (-[NSURLProtocol willSendRequest:redirectResponse:]): Pass a mutable URL request
3347 so the above can work.
3349 2006-06-01 Anders Carlsson <acarlsson@apple.com>
3353 * WebView/WebFrameView.m:
3354 (+[WebFrameView _canShowMIMETypeAsHTML:]):
3355 Use _webkit_objectForMIMEType here so we'll get an object back for "text/".
3357 2006-05-31 David Hyatt <hyatt@apple.com>
3359 Make programmatic focus/blur actually work on sub-frames. Make the
3360 top-level UI delegate get called for deactivation of windows.
3364 * WebCoreSupport/WebFrameBridge.m:
3365 (-[WebFrameBridge activateWindow]):
3366 (-[WebFrameBridge deactivateWindow]):
3367 (-[WebFrameBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):
3368 (-[WebFrameBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
3369 * WebKit.xcodeproj/project.pbxproj:
3371 === WebKit-521.12 ===
3373 2006-05-26 David Harrison <harrison@apple.com>
3375 Reviewed by John Sullivan.
3377 <rdar://problem/4514529> Add a list type parameter and a return value to _increaseSelectionListLevel
3379 * WebView/WebHTMLView.m:
3380 (-[WebHTMLView _increaseSelectionListLevel]):
3381 - Now returns DOMNode*
3383 (-[WebHTMLView _increaseSelectionListLevelOrdered]):
3384 (-[WebHTMLView _increaseSelectionListLevelUnordered]):
3385 - Added. These also return DOMNode*
3387 * WebView/WebHTMLViewPrivate.h:
3390 2006-05-25 Tim Omernick <timo@apple.com>
3394 <http://bugzilla.opendarwin.org/show_bug.cgi?id=8347>
3395 REGRESSION: Flash movie audible but not visible until window is resized
3397 * Plugins/WebNetscapePluginDocumentView.m:
3398 (-[WebNetscapePluginDocumentView dataSourceUpdated:]):
3399 Layout if needed here. Maciej recently removed the "LayoutAcceptable" frame state, which used to
3400 cause plugin document views to lay out immediately upon receiving data. This call to -layout has
3403 === WebKit-521.11.1 ===
3405 2006-05-25 Timothy Hatcher <timothy@apple.com>
3409 <rdar://problem/4559808> WebKit fails to compile for ppc64
3410 <rdar://problem/4522085> 64-bit: WebKit uses FSSpec which is not available in 64-bit
3411 Gets WebKit building under 64-bit. Rename WebNSInt and WebNSUInt to WebNSInteger and WebNSUInteger.
3412 Start using WebNSInteger where we need to match AppKit API usage of NSInteger.
3414 HIWebView and a couple of helper functions are disabled until they can be moved off of QuickDraw.
3415 <rdar://problem/4561772> HIWebView needs to be reworked to not use QuickDraw, needed for 64-bit
3417 * Carbon/CarbonUtils.m: disabled this file in 64-bit <rdar://problem/4561772>
3418 * Carbon/CarbonWindowAdapter.m:
3419 (-[CarbonWindowAdapter initWithCarbonWindowRef:takingOwnership:disableOrdering:carbon:]):
3420 * Carbon/CarbonWindowFrame.m:
3421 (+[CarbonWindowFrame frameRectForContentRect:styleMask:]):
3422 (+[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
3423 (+[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
3424 (-[CarbonWindowFrame frameRectForContentRect:styleMask:]):
3425 (-[CarbonWindowFrame contentRectForFrameRect:styleMask:]):
3426 (-[CarbonWindowFrame minFrameSizeForMinContentSize:styleMask:]):
3427 * Carbon/HIViewAdapter.m: disabled this file in 64-bit <rdar://problem/4561772>
3428 * Carbon/HIWebView.m: disabled this file in 64-bit <rdar://problem/4561772>
3429 (HIWebViewEventHandler):
3430 * DefaultDelegates/WebDefaultResourceLoadDelegate.m:
3431 (-[WebDefaultResourceLoadDelegate webView:resource:didReceiveContentLength:fromDataSource:]):
3432 * History/WebBackForwardList.m:
3433 (-[WebBackForwardList removeItem:]):
3434 (-[WebBackForwardList goToItem:]):
3435 * Misc/WebDownload.m:
3436 (-[WebDownloadInternal download:didReceiveDataOfLength:]):
3437 * Misc/WebFileDatabase.m:
3438 (UniqueFilePathForKey):
3439 * Misc/WebIconDatabase.m:
3440 (-[NSMutableDictionary retainIconForURL:]):
3441 (-[NSMutableDictionary releaseIconForURL:]):
3442 (-[WebIconDatabase _totalRetainCountForIconURLString:]):
3443 (-[WebIconDatabase _retainIconForIconURLString:]):
3444 (-[WebIconDatabase _releaseIconForIconURLString:]):
3445 * Misc/WebSearchableTextView.m:
3446 (-[NSString selectionRect]):
3447 * Misc/WebTypesInternal.h: Added.
3448 * Plugins/WebBaseNetscapePluginStream.m:
3449 (-[WebBaseNetscapePluginStream _destroyStream]):
3450 (CarbonPathFromPOSIXPath):
3451 * Plugins/WebBaseNetscapePluginView.m:
3452 (-[WebBaseNetscapePluginView sendActivateEvent:]):
3453 (-[WebBaseNetscapePluginView sendUpdateEvent]):
3455 (-[WebBaseNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
3456 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
3457 (-[NSData _web_locationAfterFirstBlankLine]):
3458 * Plugins/WebBasePluginPackage.m:
3459 (-[WebBasePluginPackage hash]):
3460 * Plugins/WebNetscapePluginPackage.m:
3461 (-[WebNetscapePluginPackage load]):
3462 (functionPointerForTVector):
3463 * WebInspector/WebInspector.m:
3464 (-[WebInspector _updateSystemColors]):
3465 * WebKit.xcodeproj/project.pbxproj:
3466 * WebView/WebDataSource.m:
3467 (-[WebDataSource _didReceiveData:contentLength:forResource:]):
3468 * WebView/WebFrame.m:
3469 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
3470 * WebView/WebHTMLView.m:
3471 (-[WebHTMLView drawRect:]):
3472 (-[WebHTMLView characterIndexForPoint:]):
3473 (-[WebHTMLView conversationIdentifier]):
3474 * WebView/WebResourceLoadDelegate.h:
3475 * WebView/WebUIDelegate.h:
3476 * WebView/WebView.h:
3477 * WebView/WebView.m:
3478 (-[WebView _mouseDidMoveOverElement:modifierFlags:]):
3479 (-[WebView spellCheckerDocumentTag]):
3480 * WebView/WebViewInternal.h:
3481 * WebView/WebViewPrivate.h:
3483 === WebKit-521.11 ===
3485 2006-05-23 Maciej Stachowiak <mjs@apple.com>
3489 - more loader refactoring to simplify things and remove knowledge of WebView from WebSubresourceLoader
3491 * WebCoreSupport/WebSubresourceLoader.m:
3492 (+[WebSubresourceLoader startLoadingResource:withRequest:customHeaders:referrer:forDataSource:]):
3493 (-[WebSubresourceLoader didReceiveResponse:]):
3494 * WebView/WebDataSource.m:
3495 (-[WebDataSource _loadIcon]):
3496 (-[WebDataSource _startLoading]):
3497 * WebView/WebFrame.m:
3498 (-[WebFrame _loadRequest:archive:]):
3499 (-[WebFrame _loadItem:withLoadType:]):
3500 (-[WebFrame _loadURL:referrer:loadType:target:triggeringEvent:form:formValues:]):
3501 (-[WebFrame _postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]):
3502 (-[WebFrame _addExtraFieldsToRequest:mainResource:alwaysFromRequest:]):
3503 * WebView/WebFrameInternal.h:
3504 * WebView/WebFramePrivate.h:
3505 * WebView/WebLoader.h:
3506 * WebView/WebLoader.m:
3507 * WebView/WebMainResourceLoader.m:
3508 (-[WebMainResourceLoader initWithDataSource:]):
3509 (-[WebMainResourceLoader didReceiveResponse:]):
3511 2006-05-23 Tim Omernick <timo@apple.com>
3513 Reviewed by John Sullivan.
3515 <rdar://problem/4558301> REGRESSION (420+): After clearing history and closing bookmark view window,
3516 attempting to select Safari's menu bar results in a crash
3518 * Misc/WebNSWindowExtras.m:
3519 (replacementPostWindowNeedsDisplay):
3520 My fix yesterday for 4557117 was not quite good enough. Now that we cancel the display timer for a
3521 window *before* it deallocates, we need to make sure that while a window deallocates, no new display
3522 timers are scheduled for that window. This is actually possible, as 4558301 demonstrates.
3523 Luckily, NSWindow sets a handy "windowDying" flag when it deallocates, so we can just check that flag
3524 and bail out of the throttle hack if it is set. This should fix the last of the crashes involving
3525 display timers scheduled for deallocated or deallocating windows.
3527 2006-05-23 Maciej Stachowiak <mjs@apple.com>
3531 - remove knowledge of WebView from WebLoader in preparation for moving the code down
3533 * WebView/WebDataSource.m:
3534 (-[WebDataSource _defersCallbacks]):
3535 (-[WebDataSource _identifierForInitialRequest:]):
3536 (-[WebDataSource _willSendRequest:forResource:redirectResponse:]):
3537 (-[WebDataSource _didReceiveAuthenticationChallenge:forResource:]):
3538 (-[WebDataSource _didCancelAuthenticationChallenge:forResource:]):
3539 (-[WebDataSource _didReceiveResponse:forResource:]):
3540 (-[WebDataSource _didReceiveData:contentLength:forResource:]):
3541 (-[WebDataSource _didFinishLoadingForResource:]):
3542 (-[WebDataSource _didFailLoadingWithError:forResource:]):
3543 (-[WebDataSource _downloadWithLoadingConnection:request:response:proxy:]):
3544 (-[WebDataSource _privateBrowsingEnabled]):
3545 * WebView/WebDataSourceInternal.h:
3546 * WebView/WebLoader.h:
3547 * WebView/WebLoader.m:
3548 (-[WebLoader releaseResources]):
3549 (-[WebLoader setDataSource:]):
3550 (-[WebLoader willSendRequest:redirectResponse:]):
3551 (-[WebLoader didReceiveAuthenticationChallenge:]):
3552 (-[WebLoader didCancelAuthenticationChallenge:]):
3553 (-[WebLoader didReceiveResponse:]):
3554 (-[WebLoader didReceiveData:lengthReceived:]):
3555 (-[WebLoader signalFinish]):
3556 (-[WebLoader didFinishLoading]):
3557 (-[WebLoader didFailWithError:]):
3558 (-[WebLoader willCacheResponse:]):
3559 (-[WebLoader cancelWithError:]):
3560 * WebView/WebMainResourceLoader.m:
3561 (-[WebMainResourceLoader continueAfterContentPolicy:response:]):
3562 * WebView/WebView.m:
3563 (-[WebView _incrementProgressForIdentifier:response:]):
3564 (-[WebView _incrementProgressForIdentifier:data:]):
3565 (-[WebView _completeProgressForIdentifier:]):
3566 * WebView/WebViewInternal.h:
3568 === WebKit-521.10 ===
3570 2006-05-22 Tim Omernick <timo@apple.com>
3574 <rdar://problem/4557117> TOT REGRESSION: Repro crash in cancelPendingWindowDisplay --> _timerRelease when
3575 opening file from file open dialog
3577 Note that I could not reproduce this situation at all on any of my machines; I had to debug this on Geoff's
3580 * Misc/WebNSWindowExtras.m:
3581 (replacementDealloc):
3582 Cancel display timer before dealloc, not after. Cancelling the timer can cause a message to be sent to the
3583 window; best to do that before the window deallocates.
3584 (replacementFinalize):
3587 2006-05-20 Maciej Stachowiak <mjs@apple.com>
3591 - fix assertion failure on layout tests
3593 * WebView/WebDataSource.m:
3594 (-[WebDataSource _mainReceivedError:complete:]): Don't do anything
3595 if this data source is no longer connected to a frame. Used to be
3596 this couldn't happen because the WebView would have been nil, but
3597 we no longer go through the WebView.
3599 2006-05-20 Timothy Hatcher <timothy@apple.com>
3603 Bug 9018: REGRESSION: resizing the top area of the inspector does not grow as expected
3604 http://bugzilla.opendarwin.org/show_bug.cgi?id=9018
3606 Use clientHeight now that offsetHeight includes the border and padding.
3607 clientHeight should have been used initially.
3609 * WebInspector/WebInspector.m:
3610 (-[WebInspector resizeTopArea]):
3612 2006-05-18 Maciej Stachowiak <mjs@apple.com>
3616 - remove loading-related code from WebView
3617 http://bugzilla.opendarwin.org/show_bug.cgi?id=8981
3619 * Plugins/WebNetscapePluginStream.m:
3620 (-[WebNetscapePlugInStreamLoader didFinishLoading]):
3621 (-[WebNetscapePlugInStreamLoader didFailWithError:]):
3622 * WebCoreSupport/WebSubresourceLoader.m:
3623 (-[WebSubresourceLoader receivedError:]):
3624 (-[WebSubresourceLoader signalFinish]):
3625 * WebView/WebDataSource.m:
3626 (-[WebDataSource _stopLoading]):
3627 (-[WebDataSource _receivedMainResourceError:complete:]):
3628 (-[WebDataSource _finishedLoadingResource]):
3629 (-[WebDataSource _mainReceivedBytesSoFar:complete:]):
3630 (-[WebDataSource _receivedError:]):
3631 (-[WebDataSource _mainReceivedError:complete:]):
3632 * WebView/WebDataSourceInternal.h:
3633 * WebView/WebFrame.m:
3634 (-[WebFrame _sendRemainingDelegateMessagesWithIdentifier:response:length:error:]):
3635 * WebView/WebMainResourceLoader.m:
3636 (-[WebMainResourceLoader didReceiveData:lengthReceived:]):
3637 (-[WebMainResourceLoader didFinishLoading]):
3638 * WebView/WebView.m:
3639 * WebView/WebViewInternal.h:
3641 2006-05-18 Tim Omernick <timo@apple.com>
3643 Reviewed by John Sullivan.
3645 <rdar://problem/4551938> More options needed for window display throttle
3647 We decided to play it safe and leave our window flushing behavior unchanged from the previous
3648 public release. By default, CoreGraphics deferred updates are once again OFF, and the window
3649 display throttle is OFF.
3651 Individual applications should set the WebKitThrottleWindowDisplayPreferenceKey and
3652 WebKitEnableDeferredUpdatesPreferenceKey defaults to suit their needs.
3654 Old behavior (like 10.4.6): WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
3655 WebKitEnableDeferredUpdatesPreferenceKey (or unset).
3657 Tear-free scrolling/animations: WebKitThrottleWindowDisplayPreferenceKey=0 (or unset),
3658 WebKitEnableDeferredUpdatesPreferenceKey=1. While this configuration fixes the tearing issues
3659 caused by over-flushing, some applications will experience performance problems as over-flushing
3660 with CG deferred updates enabled will cause the app to block.
3662 Tear-free scrolling/animations, high performance: WebKitThrottleWindowDisplayPreferenceKey=1,
3663 WebKitEnableDeferredUpdatesPreferenceKey=1. This is the riskiest configuration in that it
3664 enables the window display throttle "feature", potentially breaking applications' assumptions
3665 about when displays occur. However, it provides the "best of both worlds", in that updates
3666 are tear-free, and performance impact should me minimal.
3668 * WebView/WebPreferenceKeysPrivate.h:
3669 Declared WebKitThrottleWindowDisplayPreferenceKey and WebKitEnableDeferredUpdatesPreferenceKey.
3671 * WebView/WebFrameView.m:
3672 (-[WebFrameView initWithFrame:]):
3673 Turn off CG deferred updates if WebKitEnableDeferredUpdatesPreferenceKey is NO or has no value.
3674 Added some comments.
3676 2006-05-18 John Sullivan <sullivan@apple.com>
3678 Reviewed by Darin Adler.
3680 - fixed <rdar://problem/4552713> REGRESSION: WebFrameView no longer responds to responder methods sent by Safari code
3682 * WebView/WebView.m:
3683 (-[WebView _responderForResponderOperations]):
3684 Treat sibling views of the main frameView the same as views outside of the webview for the purposes of this mechanism.
3686 2006-05-18 Tim Omernick <timo@apple.com>
3688 Reviewed by John Sullivan.
3690 <rdar://problem/4553450> Make disabling window throttle safer
3692 * Misc/WebNSWindowExtras.m:
3693 (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3694 Don't assume that +_webkit_disableWindowDisplayThrottle restored the NSWindow method implementations;
3695 now we'll only swizzle them once, and our replacement IMPs will call the old IMPs when the window
3696 throttle is disabled. This is a safer approach when other components/"haxies" override the same methods
3697 that we are overriding, as it allows the overrides to "chain" properly.
3698 Moved the dictionary initialization code down a bit. The order doesn't matter here.
3699 (disableWindowDisplayThrottleApplierFunction):
3700 Noticed that this could have been written safer with respect to the timer having the last reference to
3701 the window. I never experienced a crash here, but this code is definitely safer.
3702 (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3703 Don't restore NSWindow method implementations; just clear the flag, flush pending displays, and destroy
3705 (replacementPostWindowNeedsDisplay):
3706 If throttling is disabled, just call the original IMP.
3707 (clearWindowDisplayInfo):
3709 (replacementDealloc):
3710 Don't call clearWindowDisplayInfo() when throttling is disabled.
3711 (replacementFinalize):
3713 (cancelPendingWindowDisplay):
3714 Removed an unnecessary assertion.
3716 2006-05-17 Tim Omernick <timo@apple.com>
3718 Reviewed by Kevin Decker and John Sullivan.
3720 <rdar://problem/4550801> REGRESSION: Window throttle code can sometimes leak NSWindows
3722 The window display throttle depended on windows being closed before they were deallocated; this is
3723 not guaranteed by AppKit. Windows that were being released without being closed were getting stuck
3724 in our NSWindow -> WindowDisplayInfo dictionary.
3726 * Misc/WebNSWindowExtras.m:
3727 (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3728 Don't retain the NSWindow keys in the window display info dictionary.
3729 Instead of overriding -close, override -dealloc and -finalize so that we can remove the NSWindow ->
3730 WindowDisplayInfo mapping when a window deallocates.
3731 (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3732 Restore -dealloc and -finalize.
3733 (clearWindowDisplayInfo):
3734 Factored the WindowDisplayInfo cleanup code out of the now-defunct replacementClose().
3736 Removed; no longer needed.
3737 (replacementDealloc):
3738 Clear the WindowDisplayInfo for the window after deallocation.
3739 (replacementFinalize):
3741 (-[NSWindow _webkit_doPendingPostWindowNeedsDisplay:]):
3742 Rewrote this method to be safe in the case where the firing display timer has the last reference to the
3746 2006-05-17 bradeeoh <beidson@apple.com>
3748 Reviewed by Tim Hatcher
3750 Consolidated WebDatabase base class into WebFileDatabase as the inheritance relationship became
3751 obsolete. This improves readability and sets the stage for a further in-depth rewrite of the
3754 * Misc/WebDatabase.h: Removed.
3755 * Misc/WebDatabase.m: Removed.
3756 * Misc/WebFileDatabase.h:
3757 * Misc/WebFileDatabase.m:
3758 (-[WebFileDatabaseOp dealloc]):
3759 (-[WebFileDatabase dealloc]):
3760 (-[WebFileDatabase path]):
3761 (-[WebFileDatabase isOpen]):
3762 (-[WebFileDatabase sizeLimit]):
3763 * WebKit.xcodeproj/project.pbxproj:
3765 2006-05-17 Adele Peterson <adele@apple.com>
3769 WebKit part of initial checkin to prepare for http://bugzilla.opendarwin.org/show_bug.cgi?id=8948
3770 Switch to use new text field implementation for <textarea>
3772 * WebView/WebHTMLView.m:
3773 (-[WebHTMLView insertNewline:]): If we're in plain text mode, insert a line break instead of a paragraph separator.
3774 (-[WebHTMLView insertParagraphSeparator:]): ditto.
3775 * WebView/WebView.m: (-[WebView _menuForElement:defaultItems:]):
3776 Checks for textareas as well as textfields before allowing the delegate to control
3777 the context menu. This won't affect the old textareas because AppKit handles those context menus.
3779 2006-05-17 John Sullivan <sullivan@apple.com>
3783 First step towards making text-matching mechanism more flexible; updated for changes
3784 to WebCoreFrameBridge calls.
3786 * WebView/WebHTMLView.m:
3787 (-[WebHTMLView highlightAllMatchesForString:caseSensitive:]):
3788 updated for name change in WebCoreFrameBridge, also now calls setMarkedTextMatchesAreHighlighted:
3789 (-[WebHTMLView clearHighlightedMatches]):
3790 updated for name change in WebCoreFrameBridge
3792 2006-05-16 Matt Gough <matt@softchaos.com>
3796 Ensured all the public headers have a newline at their end.
3798 Client code can now have 'Missing Newline at end of File' warnings enabled without emitting
3799 such warnings against any WebKit includes.
3801 * Misc/WebDownload.h:
3802 * Plugins/npfunctions.h:
3803 * WebView/WebResourceLoadDelegate.h:
3804 * WebView/WebUIDelegate.h:
3805 * WebView/WebView.h:
3807 2006-05-16 Tim Omernick <timo@apple.com>
3809 Reviewed by Tim Hatcher.
3811 http://bugzilla.opendarwin.org/show_bug.cgi?id=8945 (REGRESSION: Scrolling is very slow when dragging
3814 Rolled out one of my tweaks to the window display throttle hack (remember the last flush time instead
3815 of the last display time). While that was technically a better approach, we discovered a problem
3816 with how it interacts with NSView scroll tracking. Rather than further complicate this already
3817 crazy hack, I'm reverting back to the simple version. This should yield similar numbers on iBench,
3818 but not exhibit the nasty scrolling problem.
3820 * Misc/WebNSWindowExtras.m:
3821 (+[NSWindow _webkit_enableWindowDisplayThrottle]):
3822 (+[NSWindow _webkit_disableWindowDisplayThrottle]):
3823 (getWindowDisplayInfo):
3824 (requestWindowDisplay):
3826 2006-05-16 bradeeoh <beidson@apple.com>
3828 Reviewed by Maciej Stachowiak
3830 - Fixed an old deprecated method in Misc/WebFileDatabase.m
3832 * Misc/WebFileDatabase.m:
3833 (UniqueFilePathForKey): changed `lossyCString` to `UTF8String`
3835 2006-05-16 Darin Adler <darin@apple.com>
3839 - did the name change from "ImageElement" to "ImageForElement" that I said I would
3842 * DefaultDelegates/WebDefaultContextMenuDelegate.m:
3843 (-[WebDefaultUIDelegate copyImageToClipboard:]):
3844 * Misc/WebNSPasteboardExtras.h:
3845 * Misc/WebNSPasteboardExtras.m:
3846 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3847 * Misc/WebNSViewExtras.h:
3848 * Misc/WebNSViewExtras.m:
3849 (-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]):
3850 * WebView/WebHTMLView.m:
3851 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3852 * WebView/WebView.m:
3853 (-[WebView _writeImageForElement:withPasteboardTypes:toPasteboard:]):
3854 (-[WebView writeElement:withPasteboardTypes:toPasteboard:]):
3855 * WebView/WebViewInternal.h:
3857 2006-05-16 Darin Adler <darin@apple.com>
3861 - http://bugzilla.opendarwin.org/show_bug.cgi?id=8940
3862 remove extra copy of image code
3864 * English.lproj/StringsNotToBeLocalized.txt: Updated for many recent changes.
3866 * WebKit.xcodeproj/project.pbxproj: Removed files.
3867 * WebCoreSupport/WebImageData.h: Removed.
3868 * WebCoreSupport/WebImageData.m: Removed.
3869 * WebCoreSupport/WebImageDecodeItem.h: Removed.
3870 * WebCoreSupport/WebImageDecodeItem.m: Removed.
3871 * WebCoreSupport/WebImageDecoder.h: Removed.
3872 * WebCoreSupport/WebImageDecoder.m: Removed.
3873 * WebCoreSupport/WebImageRenderer.h: Removed.
3874 * WebCoreSupport/WebImageRenderer.m: Removed.
3876 * WebCoreSupport/WebImageRendererFactory.h:
3877 * WebCoreSupport/WebImageRendererFactory.m: Removed everything except for
3878 shouldUseThreadedDecoding, setShouldUseThreadedDecoding, and imageDataForName:.
3880 * Misc/WebNSPasteboardExtras.h: Removed WebImageRenderer parameter from
3881 _web_declareAndWriteDragImage and renamed _web_declareAndWriteDragImageElement.
3882 * Misc/WebNSPasteboardExtras.m:
3883 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Changed to
3884 call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
3885 -[WebImageRendererFactory supportedMIMETypes].
3886 (-[NSPasteboard _web_declareAndWriteDragImageElement:URL:title:archive:source:]):
3887 Removed WebImageRenderer parameter, and updated code since it was always nil.
3889 * Misc/WebNSViewExtras.h: Removed WebImageRenderer parameter from
3890 _web_dragImage and renamed _web_dragImageElement.
3891 * Misc/WebNSViewExtras.m:
3892 (-[NSView _web_dragImageElement:rect:event:pasteboard:source:offset:]):
3893 Removed WebImageRenderer parameter, and updated code since it was always nil.
3895 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Added some new
3896 functions now used by WebCore.
3898 * WebView/WebDataSource.m: (-[WebDataSource _documentFragmentWithArchive:]):
3899 Call +[WebFrameBridge supportedImageResourceMIMETypes] instead of
3900 -[WebImageRendererFactory supportedMIMETypes].
3902 * WebView/WebFrameView.m: Removed include of WebImageRenderer.h.
3904 * WebView/WebHTMLRepresentation.m: (+[WebHTMLRepresentation supportedImageMIMETypes]):
3905 Removed call to +[WebImageRendererFactory createSharedFactory].
3907 * WebView/WebHTMLView.m:
3908 (-[WebHTMLView _imageExistsAtPaths:]): Call +[WebFrameBridge supportedImageResourceMIMETypes]
3909 instead of -[WebImageRendererFactory supportedMIMETypes].
3910 (-[WebHTMLView _documentFragmentWithPaths:]): Ditto.
3911 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): Update
3912 to no longer pass nil for an image to _web_declareAndWriteDragImageElement and to
3913 _web_dragImageElement.
3914 (-[WebHTMLView dealloc]): Remove call to now-unneeded _reset.
3915 (-[WebHTMLView finalize]): Ditto.
3916 (-[WebHTMLView viewDidMoveToWindow]): Remove logic for calling _reset, including the inWindow
3919 * WebView/WebHTMLViewInternal.h: Removed inWindow boolean.
3920 * WebView/WebHTMLViewPrivate.h: Removed _reset method.
3922 2006-05-16 Darin Adler <darin@apple.com>
3926 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8898
3927 REGRESSION: Attempting to right-click image in own tab on website causes crash
3928 - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8919
3929 REGRESSION: image could not be dragged, subsequent click-drag activity caused crash
3931 These fixes may become obsolete when Anders lands his standalone image viewer
3932 patch, but in my tree they are needed to make Copy Image work after the fix
3933 over on the WebCore side to avoid the crashes.
3935 * Misc/WebNSPasteboardExtras.h: Change _web_writeImage parameter to an NSImage.
3936 * Misc/WebNSPasteboardExtras.m:
3937 (-[NSPasteboard _web_writeImage:element:URL:title:archive:types:]): Change parameter
3938 to an NSImage instead of a WebImageRenderer.
3939 (-[NSPasteboard _web_declareAndWriteDragImage:element:URL:title:archive:source:]):
3940 Call -[WebImageRenderer image] to get an NSImage to pass to _web_writeImage.
3942 * WebView/WebView.m: (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]):
3943 Get the image using WebElementImageKey if WebElementDOMNodeKey is nil.
3945 2006-05-16 Anders Carlsson <acarlsson@apple.com>
3949 http://bugzilla.opendarwin.org/show_bug.cgi?id=8921
3950 Use WebCore to render full-frame images
3952 * WebCoreSupport/WebFrameBridge.m:
3953 (-[WebFrameBridge determineObjectFromMIMEType:URL:]):
3954 Remove WebImageView handling.
3956 (-[WebFrameBridge mainResourceURLResponse]):
3957 New function which returns the URL response for the main resource. This is used by the
3958 manual loading of images.
3960 (-[WebFrameBridge imageTitleForFilename:size:]):
3961 New function which returns a correctly translated image title given a filename and a size.
3963 * WebCoreSupport/WebImageRenderer.m:
3964 (-[WebImageRenderer _startOrContinueAnimationIfNecessary]):
3965 Remove WebImageView handling.
3967 * WebKit.xcodeproj/project.pbxproj:
3968 Remove WebImageRepresentation and WebImageView.
3970 * WebView/WebArchiver.h:
3971 * WebView/WebArchiver.m:
3972 (+[WebArchiver archiveMainResourceForFrame:]):
3973 New functions which returns a WebArchive with just the main resource, ignoring any subresources.
3975 * WebView/WebDataSource.m:
3976 (+[WebDataSource _repTypesAllowImageTypeOmission:]):
3977 Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
3979 * WebView/WebFrameView.m:
3980 (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
3981 Use MIME types from WebHTMLRepresentation instead of WebImageRepresentation.
3983 (+[WebHTMLRepresentation supportedMIMETypes]):
3984 Create an array of image and non-image MIME Types.
3986 (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
3987 (+[WebHTMLRepresentation supportedImageMIMETypes]):
3988 New functions, separating the list of MIME types into image and non-image ones.
3990 * WebView/WebHTMLView.m:
3991 (+[WebHTMLView supportedImageMIMETypes]):
3992 (+[WebHTMLView supportedNonImageMIMETypes]):
3993 New functions which call down to WebHTMLRepresentation.
3995 (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]):
3996 If the image element comes from an ImageDocument, just use an archive of the main resource
3997 instead of the generated HTML document.
3999 * WebView/WebHTMLViewPrivate.h:
4000 Declare new functions.
4002 * WebView/WebImageRepresentation.h: Removed.
4003 * WebView/WebImageRepresentation.m: Removed.
4004 * WebView/WebImageView.h: Removed.
4005 * WebView/WebImageView.m: Removed.
4007 2006-05-15 Tim Omernick <timo@apple.com>
4009 Reviewed by John Sullivan.
4011 Part of <rdar://problem/4466508> Add 64-bit support to the Netscape Plugin API
4013 Added to the Netscape Plugin API the concept of "plugin drawing models". The drawing model
4014 determines the kind of graphics context created by the browser for the plugin, as well as
4015 the Mac types of various Netscape Plugin API data structures.
4017 There is a drawing model to represent the old QuickDraw-based API. It is used by default
4018 if QuickDraw is available on the system, unless the plugin specifies another drawing model.
4020 The big change is the addition of the CoreGraphics drawing model. A plugin may request this
4021 drawing model to obtain access to a CGContextRef for drawing, instead of a QuickDraw CGrafPtr.
4023 * Plugins/WebBaseNetscapePluginView.h:
4024 Added PluginPort union, which wraps a NP_Port and a NP_CGContext. This is to make access to
4025 the nPort and lastSetPort ivars more convenient now that the port type differs based on the
4027 Changed types of nPort and lastSetPort to PluginPort so they can be used with any drawing model.
4028 Added drawingModel ivar.
4029 * Plugins/WebBaseNetscapePluginView.m:
4030 Renamed PortState to PortState_QD. PortState is now an opaque pointer. PortState_QD cannot be
4031 used if QuickDraw is unavailable.
4032 (-[WebBaseNetscapePluginView fixWindowPort]):
4033 Cannot be used if QuickDraw is unavailable.
4034 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
4035 Only fix window port if drawing model is QuickDraw.
4036 Re-ordered some code so I could group QuickDraw-specific stuff into switch and if blocks (that's
4037 why the diff here is so terrible).
4038 Now returns a malloc()'ed PortState that the caller is responsible for freeing. Renamed to
4039 better reflect this behavior.
4040 Support for the CoreGraphics drawing model -- fill PortState_CG struct, save CGContext state.
4041 (-[WebBaseNetscapePluginView restorePortState:]):
4042 Switch based on drawing model.
4043 Support for the CoreGraphics drawing model -- restore CGContext state saved earlier.
4044 (-[WebBaseNetscapePluginView sendEvent:]):
4046 Don't set save/set port state or set the window in CoreGraphics mode unless the event being
4047 sent is an updateEvt. We can't provide the plugin with a CGContext outside of our view display
4049 Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it.
4050 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]):
4052 Switch how we compare ports based on the drawing model.
4053 (-[WebBaseNetscapePluginView updateAndSetWindow]):
4054 Fixed for CoreGraphics by triggering a redisplay instead of sending an update event to the plugin
4055 outside of the view display cycle.
4056 Don't restore PortState if it's NULL (didn't used to be a pointer). Free when we're done with it.
4057 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
4058 Assert that the window is only set when updating in CoreGraphics mode.
4059 Log differently depending on the drawing model.
4060 (-[WebBaseNetscapePluginView start]):
4061 Fall back on QuickDraw if the plugin does not specify a drawing model.
4062 (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
4063 Cannot be used if QuickDraw is unavailable.
4064 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
4065 Only call -tellQuickTimeToChill in QuickDraw mode.
4066 (-[WebBaseNetscapePluginView viewHasMoved:]):
4068 (-[WebBaseNetscapePluginView invalidateRegion:]):
4069 NPRegion is a CGPathRef in CoreGraphics mode.
4070 (-[WebBaseNetscapePluginView getVariable:value:]):
4071 Added support for retriveing the NPNVpluginDrawingModel, NPNVsupportsQuickDrawBool, and
4072 NPNVsupportsCoreGraphicsBool browser variables.
4073 (-[WebBaseNetscapePluginView setVariable:value:]):
4074 Added support for setting the NPNVpluginDrawingModel variable.
4076 2006-05-15 Tim Omernick <timo@apple.com>
4078 Reviewed by Kevin Decker.
4080 Follow-up to my previous PLT fix. I found upon further testing (by dramatically decreasing the
4081 allowed display rate) that +_webkit_displayThrottledWindows did not always force a display when
4082 necessary. The reason is that I was not giving a proper timeout to CFRunLoopRunInMode(). I was
4083 passing 0, which was causing only "expired" timers to fire. This method is actually supposed to
4084 block until all currently scheduled display timers fire.
4086 I tested this change and found that it did not affect my PLT times when the display rate was
4087 capped to 60 fps. It also behaves as expected when the display rate is set much lower (say, 1
4088 display per second); my previous fix did not work well at such display rates.
4090 * Misc/WebNSWindowExtras.m:
4091 (+[NSWindow _webkit_displayThrottledWindows]):
4092 Run the runloop for an amount of time equal to the minimum allowed interval between displays.
4093 This ensures that we'll block until all currently scheduled display timers fire (but we won't
4094 block for future display timers).
4096 2006-05-15 John Sullivan <sullivan@apple.com>
4098 Reviewed by Tim Omernick.
4100 - followup to previous fix; I hadn't tested quitting adequately
4102 * WebView/WebHTMLView.m:
4103 (-[WebHTMLView dealloc]):
4104 call removeAllToolTips before clearing _private so that removeTrackingRect: override can work
4105 properly. Normally removeAllToolTips would be called by super, but that's too late.
4106 (-[WebHTMLView finalize]):
4109 2006-05-15 John Sullivan <sullivan@apple.com>
4113 - fixed <rdar://problem/4503016> TOT assertion failure in -[WebHTMLView(WebPrivate) removeTrackingRect:]
4115 We have some tricky code to deal with tracking rects, which succumbed to a fix in AppKit. Updated our
4116 tricky code to work with the AppKit fix.
4118 * WebView/WebHTMLViewInternal.h:
4119 new instance variable lastToolTipTag
4121 * WebView/WebHTMLView.m:
4122 (-[WebHTMLView removeTrackingRect:]):