18772f432c351b60af44ed7f542139830eb72493
[WebKit.git] / Source / WebKit / mac / ChangeLog
1 2011-01-21  Mark Rowe  <mrowe@apple.com>
2
3         Rubber-stamped by Jon Honeycutt.
4
5         Fix the build when using Clang by removing some unused variables.
6
7         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8         (-[WebHostedNetscapePluginView updateAndSetWindow]):
9         * WebView/WebFullScreenController.mm:
10         (-[WebFullScreenController enterFullscreen:]):
11         (-[WebFullScreenController exitFullscreen]):
12
13 2011-01-21  Chris Rogers  <crogers@google.com>
14
15         Reviewed by Darin Fisher.
16
17         Add run-time enable support for the web audio API
18         https://bugs.webkit.org/show_bug.cgi?id=52741
19
20         * WebView/WebPreferenceKeysPrivate.h:
21         * WebView/WebPreferences.mm:
22         (-[WebPreferences webAudioEnabled]):
23         (-[WebPreferences setWebAudioEnabled:]):
24         * WebView/WebPreferencesPrivate.h:
25         * WebView/WebView.mm:
26         (-[WebView _preferencesChangedNotification:]):
27
28 2011-01-20  John Sullivan  <sullivan@apple.com>
29
30         Reviewed by Mark Rowe.
31
32         Shift-tab doesn't cycle through fields in http authentication panel
33         https://bugs.webkit.org/show_bug.cgi?id=52850
34
35         * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
36         * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
37         Re-wired the key loop so that there aren't two views with the same nextKeyView.
38
39 2011-01-20  Beth Dakin  <bdakin@apple.com>
40
41         Reviewed by Geoffrey Garen.
42
43         Fix for <rdar://problem/8890255>
44
45         Allow WebKitSystemInterface to draw scrollbars 
46         when appropriate.
47         * WebCoreSupport/WebSystemInterface.mm:
48         (InitWebCoreSystemInterface):
49
50 2011-01-19  Simon Fraser  <simon.fraser@apple.com>
51
52         Reviewed by Sam Weinig.
53
54         GraphicsLayers in subframes can get sync'd multiple times
55         https://bugs.webkit.org/show_bug.cgi?id=52489
56
57         * WebView/WebView.mm:
58         (-[WebView _syncCompositingChanges]): syncCompositingStateRecursive()
59         was renamed to syncCompositingStateIncludingSubframes().
60
61 2011-01-19  Darin Adler  <darin@apple.com>
62
63         Reviewed by Sam Weinig.
64
65         Would like script debugging protocol method to differentiate between caught and uncaught exceptions
66         https://bugs.webkit.org/show_bug.cgi?id=52104
67         rdar://problem/8704226
68
69         * WebView/WebDelegateImplementationCaching.h:
70         Fix type of second integer in CallScriptDebugDelegate function overload
71         to be int to match the actual Objective-C method. Added a new overload
72         that includes a BOOL in the right place. Added a boolean named
73         exceptionWasRaisedExpectsHasHandlerFlag.
74
75         * WebView/WebDelegateImplementationCaching.mm:
76         (CallDelegate): Added overloads as above.
77         (CallScriptDebugDelegate): Ditto.
78
79         * WebView/WebScriptDebugDelegate.h: Added new method with the additional
80         boolean argument. Marked the old method informally deprecated.
81
82         * WebView/WebScriptDebugger.mm:
83         (WebScriptDebugger::exception): Added code to call with or without the
84         boolean depending on exceptionWasRaisedExpectsHasHandlerFlag.
85
86         * WebView/WebView.mm:
87         (-[WebView _cacheScriptDebugDelegateImplementations]): Set up the
88         exceptionWasRaisedExpectsHasHandlerFlag. Also fixed old code that was not
89         guaranteed to set didParseSourceExpectsBaseLineNumber to NO.
90
91 2011-01-19  Tony Gentilcore  <tonyg@chromium.org>
92
93         Reviewed by Mihai Parparita.
94
95         Perform some forward declaration
96         https://bugs.webkit.org/show_bug.cgi?id=52522
97
98         * Misc/WebKitNSStringExtras.mm:
99
100 2011-01-19  Pavel Podivilov  <podivilov@chromium.org>
101
102         Reviewed by Yury Semikhatsky.
103
104         Web Inspector: [JSC] scripts have incorrect starting line (always 1).
105         https://bugs.webkit.org/show_bug.cgi?id=52721
106
107         * WebView/WebScriptDebugger.h:
108         * WebView/WebScriptDebugger.mm:
109         (toNSString):
110         (WebScriptDebugger::sourceParsed):
111
112 2011-01-19  Levi Weintraub  <leviw@google.com>
113
114         Reviewed by Ryosuke Niwa.
115
116         Updating to use Position::parentAnchoredEquivalent instead of
117         the old htmlediting rangeCompliantEquivalent.
118
119         remove rangeCompliantEquivalent and replace it with Position methods
120         https://bugs.webkit.org/show_bug.cgi?id=25057
121
122         * WebView/WebFrame.mm:
123         (-[WebFrame _smartDeleteRangeForProposedRange:]):
124
125 2011-01-18  Chris Fleizach  <cfleizach@apple.com>
126
127         Reviewed by Darin Adler.
128
129         REGRESSION: A problem with Voiceover and finding links
130         https://bugs.webkit.org/show_bug.cgi?id=52324
131
132         * WebView/WebDynamicScrollBarsView.mm:
133         (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
134
135 2011-01-17  David Kilzer  <ddkilzer@apple.com>
136
137         <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project
138
139         Reviewed by Dan Bernstein.
140
141         * MigrateHeaders.make: Copy DOMDocumentFragmentPrivate.h and
142         DOMDocumentPrivate.h to the PrivateHeaders directory.
143
144 2011-01-17  Enrica Casucci  <enrica@apple.com>
145
146         Reviewed by Alexey Proskuryakov.
147
148         Drag and drop support: refactoring of image from link and image from selection
149         https://bugs.webkit.org/show_bug.cgi?id=52496
150
151         This work cleans up the Mac code and makes it more similar to the Windows implementation,
152         avoiding the use of an NSView when the FrameView can be used.
153         The refactoring is a necessary step towards the complete support of drag and drop
154         in WebKit2.
155
156         * WebCoreSupport/WebDragClient.mm:
157         (WebDragClient::createDragImageForLink): Added.
158         * WebView/WebHTMLView.mm: Removed dragImageFromLink and dragImageFromURL.
159         * WebView/WebHTMLViewPrivate.h: Removed dragImageFromLink and dragImageFromURL.
160
161 2011-01-17  Pavel Feldman  <pfeldman@chromium.org>
162
163         Reviewed by Yury Semikhatsky.
164
165         Web Inspector: simplify debugger enabling routine.
166         https://bugs.webkit.org/show_bug.cgi?id=52472
167
168         * WebInspector/WebInspector.mm:
169         (-[WebInspector startDebuggingJavaScript:]):
170
171 2011-01-16  Dan Bernstein  <mitz@apple.com>
172
173         Reviewed by Simon Fraser.
174
175         Assertion failure (!inSetWindow) with in-process plug-in in plugins/destroy-on-setwindow.html
176         https://bugs.webkit.org/show_bug.cgi?id=52550
177
178         * Plugins/WebNetscapePluginView.mm:
179         (-[WebNetscapePluginView setWindowIfNecessary]): Removed the assertion, making sure
180         that inSetWindow remains YES until we exit the top-level setWindowIfNecessary.
181
182 2011-01-16  Simon Fraser  <simon.fraser@apple.com>
183
184         Reviewed by Dan Bernstein.
185
186         Issues with iframes and plugins when the WebView is scaled.
187         <rdar://problem/6213380>
188         
189         When _scaleWebView has been called on a WebView, iframes
190         in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
191         This is caused by AppKit NSViews not playing nicely with the scale
192         applied through style.
193         
194         Work around most of these issues by adjusting the bounds size
195         of widgets to allow iframe contents to paint with the correct scale,
196         and fix various places in the code where we relied on coordinate
197         transforms via NSViews (which ignore CSS transforms).
198
199         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
200         (-[WebHostedNetscapePluginView updateAndSetWindow]):
201         * WebView/WebFrameView.mm:
202         (-[WebFrameView setBoundsSize:]):
203
204 2011-01-16  Beth Dakin  <bdakin@apple.com>
205
206         Reviewed by Kevin Decker.
207
208         Fix for <rdar://problem/8871204>
209
210         Don't try to save elasticity state. Just rely on
211         NSScrollElasticityAutomatic to restore the correct state.
212         * WebCoreSupport/WebFrameLoaderClient.h:
213         * WebCoreSupport/WebFrameLoaderClient.mm:
214         (WebFrameLoaderClient::WebFrameLoaderClient):
215         (WebFrameLoaderClient::dispatchDidFirstLayout):
216         (WebFrameLoaderClient::provisionalLoadStarted):
217
218 2011-01-14  Simon Fraser  <simon.fraser@apple.com>
219
220         Reviewed by Dan Bernstein.
221
222         Plugins render incorrectly with transformed ancestors
223         https://bugs.webkit.org/show_bug.cgi?id=52507
224         
225         -[NSView visibleRect] gives the wrong answer if there are CSS transforms
226         in the ancestor chain of a plugin.
227         
228         So use of this method with calls to -actualVisibleRectInWindow, which
229         maps rects through the render tree to compute the correct rect,
230         clipping via windowClipRect() if necessary.
231         
232         Not testable, because doing so relies on the behavior of some
233         plugins, which stop rendering if setWindow passes an empty rect.
234
235         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
236         (-[WebHostedNetscapePluginView updateAndSetWindow]):
237         * Plugins/WebBaseNetscapePluginView.h:
238         * Plugins/WebBaseNetscapePluginView.mm:
239         (-[WebBaseNetscapePluginView actualVisibleRectInWindow]):
240         * Plugins/WebNetscapePluginView.mm:
241         (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
242
243 2011-01-14  Yuzo Fujishima  <yuzo@google.com>
244
245         Reviewed by Antti Koivisto.
246
247         Rename cache() to memoryCache()
248         https://bugs.webkit.org/show_bug.cgi?id=52433
249
250         * Misc/WebCache.mm:
251         (+[WebCache statistics]):
252         (+[WebCache setDisabled:]):
253         (+[WebCache isDisabled]):
254         * WebView/WebView.mm:
255         (+[WebView _setCacheModel:]):
256
257 2011-01-13  Geoffrey Garen  <ggaren@apple.com>
258
259         Reviewed by Oliver Hunt.
260
261         Split out a MarkedSpace strategy object from Heap.
262         https://bugs.webkit.org/show_bug.cgi?id=52421
263
264         * Misc/WebCoreStatistics.mm:
265         (+[WebCoreStatistics memoryStatistics]): Updated for class move.
266
267 2011-01-14  Dan Bernstein  <mitz@apple.com>
268
269         Reviewed by Simon Fraser.
270
271         WebKit/mac part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]
272
273         * WebView/WebHTMLView.mm:
274         (-[WebHTMLView _invalidateGStatesForTree]): Override this NSView method, and bracket the call
275         to the superclass implementation with suspending WebCore Widget hierarchy updates. This ensures
276         that the NSView tree doesn’t change from under AppKit as it traverses it.
277
278 2011-01-14  Beth Dakin  <bdakin@apple.com>
279
280         Reviewed by Mark Rowe.
281
282         Fix for <rdar://problem/7793902> Artifacts when scrolling
283         page in Safari while page is loading
284
285         Call setDrawsBackground:YES on the scrollView in 
286         dispatchDidFirstLayout() rather than waiting until
287         frameLoadCompleted(). Also suspend scrolling elasticity
288         between provisionalLoadStarted() and dispatchDidFirstLayout()
289         * WebCoreSupport/WebFrameLoaderClient.h:
290         * WebCoreSupport/WebFrameLoaderClient.mm:
291         (WebFrameLoaderClient::WebFrameLoaderClient):
292         (WebFrameLoaderClient::dispatchDidFirstLayout):
293         (WebFrameLoaderClient::provisionalLoadStarted):
294
295 2011-01-12  Enrica Casucci  <enrica@apple.com>
296
297         Reviewed by Darin Adler.
298
299         WebKit2: Add support for drag and drop
300         https://bugs.webkit.org/show_bug.cgi?id=52343
301         <rdar://problem/7660558>
302         
303         The DragData class has been extended to provide
304         additional context from the application (keyboard state, modal windows, etc.)
305         as well as information of the drag pasteboard being used.
306         These are the changes to align the behavior for WebKit.
307
308         * WebView/WebView.mm:
309         (-[WebView applicationFlags:]): Added.
310         (-[WebView draggingEntered:]): Added parameter to the DragData constructor.
311         (-[WebView draggingUpdated:]): Added parameter to the DragData constructor.
312         (-[WebView draggingExited:]): Added parameter to the DragData constructor.
313         (-[WebView performDragOperation:]): Added parameter to the DragData constructor.
314
315 2011-01-12  Beth Dakin  <bdakin@apple.com>
316
317         Reviewed by Anders Carlsson.
318
319         Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
320         Expose fixed layout through WebKit SPI
321         -and corresponding-
322         <rdar://problem/8844464>
323
324         And now with getters!
325         * WebView/WebView.mm:
326         (-[WebView _useFixedLayout]):
327         (-[WebView _fixedLayoutSize]):
328         * WebView/WebViewPrivate.h:
329
330 2011-01-12  Beth Dakin  <bdakin@apple.com>
331
332         Reviewed by Anders Carlsson.
333
334         Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
335         fixed layout through WebKit SPI
336         -and corresponding-
337         <rdar://problem/8844464>
338
339         * WebView/WebView.mm:
340         (-[WebView _setUseFixedLayout:]):
341         (-[WebView _setFixedLayoutSize:]):
342         * WebView/WebViewPrivate.h:
343
344 2011-01-07  Enrica Casucci  <enrica@apple.com>
345
346         Reviewed by Alexey Proskuryakov.
347
348         Paste and drag and drop use different code paths to interact with the pasteboard.
349         https://bugs.webkit.org/show_bug.cgi?id=52093
350         The change consists in a refactoring of the code to have only one class that
351         deals with the pasteboard on Mac.
352
353         * WebCoreSupport/WebEditorClient.h:
354         * WebCoreSupport/WebEditorClient.mm: Added two methods to provide to WebCore functionality
355         exposed by NSURLExtras.
356         (WebEditorClient::canonicalizeURL):
357         (WebEditorClient::canonicalizeURLString):
358         * WebCoreSupport/WebPasteboardHelper.h: Removed.
359         * WebCoreSupport/WebPasteboardHelper.mm: Removed.
360         * WebView/WebHTMLView.mm: Removed comment.
361         * WebView/WebView.mm: The following methods have been changed to use the new DragData
362         constructor that doesn't use the WebPasteboardHelper reference.
363         (-[WebView draggingEntered:]):
364         (-[WebView draggingUpdated:]):
365         (-[WebView draggingExited:]):
366         (-[WebView performDragOperation:]):
367
368 2011-01-09  Tony Gentilcore  <tonyg@chromium.org>
369
370         Reviewed by Alexey Proskuryakov.
371
372         Forward declare some headers where possible
373         https://bugs.webkit.org/show_bug.cgi?id=52133
374
375         * WebView/WebFrame.mm:
376
377 2011-01-09  Xianzhu Wang <phnixwxz@gmail.com>
378
379         Reviewed by Darin Fisher.
380
381         https://bugs.webkit.org/show_bug.cgi?id=41441
382         createWindow method should only do window-creating without URL navigation
383
384         * WebCoreSupport/WebChromeClient.mm:
385         (WebChromeClient::createWindow):
386
387 2011-01-08  Dan Bernstein  <mitz@apple.com>
388
389         Try to fix the Leopard build.
390
391         * WebView/WebFullScreenController.mm:
392
393 2011-01-07  Jer Noble  <jer.noble@apple.com>
394
395         Yet another Leopard build fix: NSRect and CGRect are not inter-
396         changable in 32-bit.  
397         
398         * WebView/WebFullScreenController.mm:
399         (-[WebFullScreenController exitFullscreen]):
400
401 2011-01-07  Jer Noble  <jer.noble@apple.com>
402
403         Fix the Leopard build: Replace CoreAnimation SL-only functions
404         with Leopard equivalents.
405
406         * WebView/WebFullScreenController.mm:
407         (+[CATransaction setDisableActions:]):
408         (+[CATransaction setAnimationDuration:]):
409         (-[WebFullScreenController _animationDuration]):
410         (-[WebFullscreenWindow initWithContentRect:styleMask:backing:defer:]):
411
412 2010-12-21  Jer Noble  <jer.noble@apple.com>
413
414         Reviewed by Simon Fraser.
415
416         Implement WebKit Full Screen support.
417         https://bugs.webkit.org/show_bug.cgi?id=49481
418         rdar://problem/8247444
419
420         Support the new fullscreen Chrome client requests.  WebView will pass
421         through these requests to a WebFullscreenController.
422
423         * WebCoreSupport/WebChromeClient.h: Add fullScreenRendererChanged().
424         * WebView/WebView.mm:
425         (-[WebView _supportsFullScreenForElement:WebCore::]): Check to see if the fullscreen pref has been enabled.
426         (-[WebView _enterFullScreenForElement:WebCore::]): Create a WebFullScreenController.
427         (-[WebView _exitFullScreenForElement:WebCore::]): Request that the WebFullScreenController exit fullscreen.
428         (-[WebView _fullScreenRendererChanged:WebCore::]): Notify the WebFullScreenController that its renderer has changed.
429         * WebView/WebViewData.h: Add ivar newFullscreenController.
430
431 2010-12-17  Jer Noble  <jer@kokode.apple.com>
432
433         Reviewed by Simon Fraser.
434
435         Implement WebKit Full Screen support.
436         https://bugs.webkit.org/show_bug.cgi?id=49481
437         rdar://problem/8247444
438         
439         This patch implements the FullScreen APIs using the new RenderFullScreen renderer and the new
440         Document client APIs. The RenderFullScreen renderer's CALayer is hosted in a new, fullscreen
441         window, and a custom CAAnimation animates that layer between the initial screen rect of the
442         full screen element, to its final value. WebFullscreenController will swap the WebView out of
443         its original window, and into the fullscreen window. The controller will replace the WebView
444         with a placeholder view, so that if the placeholder moves or resized while the WebView is
445         absent, the WebView will move back to the correct location when exiting fullscreen.
446
447         * WebView/WebFullscreenController.h: Added.
448         * WebView/WebFullscreenController.mm: Added.
449         (-[WebFullscreenController windowDidExitFullscreen:]):  Close the fullscreen window.
450         (-[WebFullscreenController windowDidEnterFullscreen:]): Swap the webView back into the fullscreen window. 
451         (-[WebFullscreenController animationDidStop:finished:]): Call windowDid{Exit|Enter}FullScreen as appropriate.
452         (-[WebFullscreenController applicationDidResignActive:]):
453         (-[WebFullscreenController applicationDidChangeScreenParameters:]): Resize the fullscreen window to match
454             the new screen parameters.
455         (-[WebFullscreenController enterFullscreen:]):  Set up the animation that will take the fullscreen element
456             from its original screen rect into fullscreen.
457         (-[WebFullscreenController exitFullscreen]): Swap the webView back into its original window.
458             Set up the animation that will take the fullscreen element back into its original screen
459             rect.
460         (-[WebFullscreenController _updatePowerAssertions]): Now checks _isAnyMoviePlaying to determine 
461             whether to disable screensaver and sleep.
462         (-[WebFullscreenController _isAnyMoviePlaying]): Walks through the sub-tree starting at the fullscreen element
463             looking for HTMLVideoElements; returns whether any are found to be playing.
464         (-[WebFullscreenController _animationDuration]): Returns the current animation duration, affected by control
465             and shift keys.
466         (-[WebFullscreenWindow canBecomeKeyWindow]): Allow the window to become key.
467         (-[WebFullscreenWindow keyDown:]): Handle the 'Esc' key.
468         (-[WebFullscreenWindow cancelOperation:]): Request to exit fullscreen.
469         (-[WebFullscreenWindow rendererLayer]): Convenience accessor.
470         (-[WebFullscreenWindow setRendererLayer:]): Ditto.
471         (-[WebFullscreenWindow backgroundLayer]): Ditto.
472         (-[WebFullscreenWindow animationView]): Ditto.
473         (MediaEventListener::MediaEventListener): Implements the EventListener protocol.
474         (MediaEventListener::handleEvent): Tells its delegate to _updatePowerAssertions.
475         
476 2011-01-07  James Robinson  <jamesr@chromium.org>
477
478         Revert "Implement mozilla's animationTime property"
479         https://bugs.webkit.org/show_bug.cgi?id=51952
480
481         This approach isn't quite right.
482
483         * WebView/WebHTMLView.mm:
484         (-[WebHTMLView drawRect:]):
485         * WebView/WebView.mm:
486         (layerSyncRunLoopObserverCallBack):
487
488 2011-01-06  Gavin Barraclough  <barraclough@apple.com>
489
490         Reviewed by Geoff Garen.
491
492         Bug 52035 - Unregistering DOMWrapperWorlds is unsafe
493
494         The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
495         destructor early, in order to release wrappers once we know we no longer intend to use them.
496         Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
497         lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
498         A sequence of events that triggers the bug would look like this:
499
500         (1) Create a DOMWrapperWorld.
501         (2) Register a timer in the world.
502         (3) Call unregisterWorld() on the world.
503         (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
504         (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
505             called forgetWorld() none exists.
506         (6) Attempt to add a wrapper to a NULL map.
507
508         Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.
509
510         * WebView/WebScriptWorld.mm:
511         (-[WebScriptWorld unregisterWorld]):
512
513 2011-01-04  Chris Fleizach  <cfleizach@apple.com>
514
515         Reviewed by Sam Weinig.
516
517         WK2: Support Accessibility
518         https://bugs.webkit.org/show_bug.cgi?id=51859
519
520         Use rootObject() method to get top of AX tree.
521
522         * WebCoreSupport/WebFrameLoaderClient.h:
523         (WebFrameLoaderClient::accessibilityRemoteObject):
524         * WebView/WebFrame.mm:
525         (-[WebFrame setAccessibleName:]):
526         (-[WebFrame accessibilityRoot]):
527         * WebView/WebFrameInternal.h:
528         * WebView/WebFramePrivate.h:
529         * WebView/WebHTMLView.mm:
530         (-[WebHTMLView accessibilityAttributeValue:]):
531         (-[WebHTMLView accessibilityFocusedUIElement]):
532         (-[WebHTMLView accessibilityHitTest:]):
533         (-[WebHTMLView _accessibilityParentForSubview:]):
534
535 2011-01-04  David Kilzer  <ddkilzer@apple.com>
536
537         <http://webkit.org/b/51889> WebFrameLoaderClient::createMediaPlayerProxyPlugin() should use WebCore::PluginInfo.name
538
539         Reviewed by Eric Carlson.
540
541         This originally broke in r61581.  It is inside an
542         ENABLE(PLUGIN_PROXY_FOR_VIDEO) macro, so it didn't break the Mac
543         build then.
544
545         * WebCoreSupport/WebFrameLoaderClient.mm: Call
546         (WebFrameLoaderClient::createMediaPlayerProxyPlugin): Updated to
547         use WebCore::PluginInfo.name instead of
548         -[WebBasePluginPackage name].
549
550 2011-01-02  Dan Bernstein  <mitz@apple.com>
551
552         Rubber-stamped by Simon Fraser.
553
554         <rdar://problem/8812159> Update copyright strings
555
556         * Info.plist:
557
558 2010-12-29  Dan Bernstein  <mitz@apple.com>
559
560         Reviewed by Ada Chan.
561
562         <rdar://problem/8758191> REGRESSION (r72887): Mail crashes when doing searches in a message due to method name conflict
563         https://bugs.webkit.org/show_bug.cgi?id=51717
564
565         Renamed -findString:options: to -_findString:options: in the WebDocumentOptionsSearching
566         protocol to avoid conflict with -[WebHTMLView(MailExtras) findString:options:] which Mail defines.
567
568         * WebView/WebDocumentInternal.h:
569         * WebView/WebHTMLView.mm:
570         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
571         (-[WebHTMLView _findString:options:]):
572         * WebView/WebView.mm:
573         (findString):
574
575 2010-12-28  Daniel Bates  <dbates@rim.com>
576
577         Reviewed by Sam Weinig.
578
579         Substitute // MARK: for compiler-specific #pragma mark
580         https://bugs.webkit.org/show_bug.cgi?id=51657
581
582         For consistency, we should substitute "// MARK:" for compiler-
583         specific "#pragma mark" in the source files for the Mac port.
584
585         * History/WebHistory.mm:
586         * Plugins/WebBaseNetscapePluginView.mm:
587         * Plugins/WebNetscapePluginView.mm:
588         * WebCoreSupport/WebInspectorClient.mm:
589         * WebCoreSupport/WebSecurityOrigin.mm:
590         * WebView/WebPDFView.mm:
591         * WebView/WebVideoFullscreenController.mm:
592         * WebView/WebVideoFullscreenHUDWindowController.mm:
593
594 2010-12-23  Yongjun Zhang  <yongjun_zhang@apple.com>
595
596         Reviewed by Darin Adler.
597
598         WebKit crashes at DebuggerCallFrame::functionName() if m_callFrame is the top global callframe.
599         https://bugs.webkit.org/show_bug.cgi?id=38535
600
601         WebScriptDebugger in WebKit has empty implementations for willExecuteProgram and didExecuteProgram.  As a result,
602         if the top call frame is from a program, WebKitScriptDebugger doesn't record that callframe as the top frame, and
603         WebScriptDebugger's callframe stack is wrong from this point.  That could cause crash if we trying to access the top
604         call frame from this stack when an exception throws because the saved top frame could be invalid.
605
606         To fix that, we need to maintain the call frame stack in willExecuteProgram and didExecuteProgram, as we did in
607         callEvent and returnEvent.
608
609         * WebView/WebScriptDebugger.mm:
610         (WebScriptDebugger::willExecuteProgram):
611         (WebScriptDebugger::didExecuteProgram):
612
613 2010-12-22  Sam Weinig  <sam@webkit.org>
614
615         Reviewed by Darin Adler.
616
617         WebKit2 needs to mirror the frame tree in the UIProcess
618         https://bugs.webkit.org/show_bug.cgi?id=51546
619
620         - Add client functions to notify that a frame has been added or
621           removed from the page cache.
622
623         * WebCoreSupport/WebFrameLoaderClient.h:
624         * WebCoreSupport/WebFrameLoaderClient.mm:
625         (WebFrameLoaderClient::didSaveToPageCache):
626         (WebFrameLoaderClient::didRestoreFromPageCache):
627
628 2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
629
630         Reviewed by Eric Seidel.
631
632         Editor.h doesn't need to include SelectionController.h
633         https://bugs.webkit.org/show_bug.cgi?id=51441
634
635         Renamed SelectionController::EDirection to SelectionDirection.
636
637         * WebView/WebFrame.mm:
638         (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:granularity:]):
639         Takes SelectionDirection instead of SelectionController::EDirection.
640         * WebView/WebFrameInternal.h:
641         * WebView/WebTextCompletionController.mm:
642         (-[WebTextCompletionController doCompletion]): Calls _rangeByAlteringCurrentSelection:SelectionController.
643
644 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
645
646         Reviewed by Darin Adler.
647
648         Cache snapshots of plug-ins before painting, to avoid script running during painting
649         https://bugs.webkit.org/show_bug.cgi?id=51493
650
651         When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
652         or when printing), plug-ins which otherwise use the CA rendering model
653         are sent a paint event. Some plug-ins may run script while handling this event,
654         or out of process plug-ins may process queued requests at this time. Running
655         script while inside layout or painting can have bad consequences, because it
656         can result in arbitrary changes to the render tree.
657         
658         This patch avoids sending plug-ins paint events inside of painting. Instead,
659         we ask the plug-ins to cache a snapshot before we paint, and then the software
660         paint simply draws that snapshot.
661
662         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
663         (-[WebHostedNetscapePluginView drawRect:]): If we have a cached snapshot,
664         draw it. Also only send the snapshot message to the plugin proxy if we
665         know we're snapshotting, since even if creating the snapshot image failed,
666         we still don't want to call to the plug-in.
667
668         * Plugins/WebBaseNetscapePluginView.h: Add a retained NSImage member for the snapshot.
669         * Plugins/WebBaseNetscapePluginView.mm:
670         (-[WebBaseNetscapePluginView cacheSnapshot]): Create an image and draw the snapshot into it.
671         (-[WebBaseNetscapePluginView clearCachedSnapshot]): Clear the snapshot.
672
673         * Plugins/WebNetscapePluginView.mm:
674         (-[WebNetscapePluginView drawRect:]): If we have a cached snapshot, use it.
675         * WebCoreSupport/WebFrameLoaderClient.mm:
676         (NetscapePluginWidget::notifyWidget): Implement notifyWidget() and use it
677         to cache and clear the snapshots.
678
679 2010-12-21  Cameron Zwarich  <zwarich@apple.com>
680
681         Reviewed by Darin Adler.
682
683         -[WebBasePluginPackage isNativeLibraryData:] integer underflows on zero-sized data
684         https://bugs.webkit.org/show_bug.cgi?id=51431
685         <rdar://problem/8791757>
686
687         * Plugins/WebBasePluginPackage.mm:
688         (-[WebBasePluginPackage isNativeLibraryData:]): Change an arithmetic expression so
689         it doesn't underflow.
690
691 2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>
692
693         Reviewed by Cameron Zwarich.
694
695         REGRESSION(r74172): 125 java tests fail on Mac
696         https://bugs.webkit.org/show_bug.cgi?id=51214
697
698         The regression was caused by an incorrectly adding sizeof(struct fat_header)
699         to a pointer for uint32_t as supposed to uint8_t.
700
701         Fixed the bug by explicitly casting it to uint8_t* before the addition.
702
703         * Plugins/WebBasePluginPackage.mm:
704         (-[WebBasePluginPackage isNativeLibraryData:]):
705
706 2010-12-15  Cameron Zwarich  <zwarich@apple.com>
707
708         Reviewed by Darin Adler.
709
710         Clang -Wcast-align gives an error in WebBasePluginPackage.mm
711         https://bugs.webkit.org/show_bug.cgi?id=51144
712
713         Fix an alignment issue. OSSwapInt32 takes data that is 32-bit aligned on ARM, but
714         we were calling it on a byte array 32 bits at a time. While this is okay in practice,
715         since TCMalloc won't give us a non-32-bit aligned block array of bytes and Vector's
716         inline storage is at the beginning of the Vector, it is still better to fix this
717         and silence the warning.
718
719         * Plugins/WebBasePluginPackage.mm:
720         (swapIntsInHeader):
721         (-[WebBasePluginPackage isNativeLibraryData:]):
722
723 2010-12-14  Mark Rowe  <mrowe@apple.com>
724
725         Reviewed by Sam Weinig.
726
727         <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>
728
729         * History/WebHistoryItem.mm:
730         (-[WebHistoryItem description]): Test whether the string is empty rather than incorrectly
731         always including the target in the output.
732
733 2010-12-13  Alexey Proskuryakov  <ap@apple.com>
734
735         Reviewed by Adam Barth.
736
737         https://bugs.webkit.org/show_bug.cgi?id=50953
738         DNS Prefetch should be an opt-in feature
739
740         * WebView/WebPreferences.mm: (+[WebPreferences initialize]): Changed default to false.
741
742 2010-12-13  Mike Thole  <mthole@apple.com>
743
744         Rubber-stamped by John Sullivan.
745
746         https://bugs.webkit.org/show_bug.cgi?id=50956
747         WebAuthenticationPanel.nib appears to have a cut-off sentence
748         
749         Replace the sentence fragment in the sheet layout with "<-- do not localize -->" style text.
750         The contents of this text field are updated dynamically before the sheet is displayed.
751
752         * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
753         * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
754
755 2010-12-13  Antti Koivisto  <antti@apple.com>
756
757         Reviewed by Alexey Proskuryakov.
758
759         https://bugs.webkit.org/show_bug.cgi?id=50758
760         <rdar://problem/8722094> 
761         Defer loading print stylesheets
762         
763         Expose SPI for DRT for making resources load serially. This is useful for testing resource load order.
764
765         * WebView/WebView.mm:
766         (+[WebView _setLoadResourcesSerially:forHost:]):
767         * WebView/WebViewPrivate.h:
768
769 2010-12-09  Matthew Delaney  <mdelaney@apple.com>
770
771         Reviewed by Simon Fraser.
772
773         Adopt new CG API for canvas
774         https://bugs.webkit.org/show_bug.cgi?id=50591
775
776         * WebCoreSupport/WebSystemInterface.mm:
777
778 2010-10-28  MORITA Hajime  <morrita@google.com>
779
780         Reviewed by Ojan Vafai.
781
782         spellcheck does not check pasted text
783         https://bugs.webkit.org/show_bug.cgi?id=40092
784
785         Added asynchronous spell checking API to WebEditorClient using
786         -[NSSpellChecker requestCheckingOfString].
787         Note that WebEditorSpellCheckResponder is a small class to receive
788         requested spell-checking result. Note that this feature is
789         disabled at default.
790         
791         Also added [WebPreferences setAsynchronousSpellCheckingEnabled:] to 
792         enable the feature from LayoutTestController.
793
794         * WebCoreSupport/WebEditorClient.h:
795         * WebCoreSupport/WebEditorClient.mm:
796         (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]):
797         (-[WebEditorSpellCheckResponder perform]):
798         (toCoreSpellingResult):
799         (-[WebEditorSpellCheckResponder WTF::WebCore::]):
800         (WebEditorClient::requestCheckingOfString):
801         * WebView/WebPreferenceKeysPrivate.h:
802         * WebView/WebPreferences.mm:
803         (+[WebPreferences initialize]):
804         (-[WebPreferences setAsynchronousSpellCheckingEnabled:]):
805         (-[WebPreferences asynchronousSpellCheckingEnabled]):
806         * WebView/WebPreferencesPrivate.h:
807         * WebView/WebView.mm:
808         (-[WebView _preferencesChangedNotification:]):
809
810 2010-12-09  Anders Carlsson  <andersca@apple.com>
811
812         Fix a bug uncovered by clang++.
813
814         * WebView/WebHTMLView.mm:
815         (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
816
817 2010-12-09  Anders Carlsson  <andersca@apple.com>
818
819         Clang++ build fixes.
820
821         Silence a couple of warnings.
822
823         * WebView/WebFrame.mm:
824         (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
825         (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
826         * WebView/WebTextCompletionController.mm:
827         (-[WebTextCompletionController filterKeyDown:]):
828
829 2010-12-09  David Hyatt  <hyatt@apple.com>
830
831         Reviewed by Dan Bernstein.
832
833         https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PgUp, PgDown should respect
834         writing-mode.  This first part of the patch just patches Mac WebKit 1 views.
835
836         * WebView/WebFrameView.mm:
837         (-[WebFrameView _isVerticalDocument]):
838         (-[WebFrameView _isFlippedDocument]):
839         (-[WebFrameView _scrollToEndOfDocument]):
840         (-[WebFrameView _pageInBlockProgressionDirection:]):
841         (-[WebFrameView scrollPageUp:]):
842         (-[WebFrameView scrollPageDown:]):
843
844 2010-12-08  Andy Estes  <aestes@apple.com>
845
846         Reviewed by Darin Adler.
847
848         Enable pre-HTML5 parser quirks for Apple Mail.app
849         https://bugs.webkit.org/show_bug.cgi?id=50727
850
851         * WebView/WebView.mm:
852         (-[WebView _needsPreHTML5ParserQuirks]): Return true if the embedding
853         application is Mail.app.
854
855 2010-12-08  Brian Weinstein  <bweinstein@apple.com>
856
857         Reviewed by John Sullivan.
858
859         REGRESSION: r73429-r73490: Some Contextual menu items non-functional, such as Open Link in New Tab
860         https://bugs.webkit.org/show_bug.cgi?id=50683
861         
862         If our context menu item already has an action, don't overwrite the action with the context menu
863         forwarder.
864
865         * WebView/WebHTMLView.mm:
866         (setMenuItemTarget):
867
868 2010-12-08  Anders Carlsson  <andersca@apple.com>
869
870         Remove an unused variable.
871
872         * WebView/WebDynamicScrollBarsView.mm:
873         (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
874
875 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
876
877         Reviewed by John Sullivan.
878
879         Layering Violation in ContextMenu - member variable of type HitTestResult
880         https://bugs.webkit.org/show_bug.cgi?id=50586
881         
882         Update users of ContextMenu and ContextMenuController to match where the new functions 
883         are located.
884
885         * WebCoreSupport/WebContextMenuClient.mm:
886         (WebContextMenuClient::getCustomMenuFromDefaultItems):
887         (WebContextMenuClient::contextMenuItemSelected):
888         * WebView/WebHTMLView.mm:
889         (-[WebMenuTarget validateMenuItem:]):
890
891 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
892
893         Reviewed by John Sullivan.
894
895         Part of Layering Violation in ContextMenu
896         https://bugs.webkit.org/show_bug.cgi?id=50586
897         
898         Move WebMenuTarget from ContextMenuMac to here, because having it in ContextMenuMac
899         was a layering violation. Also, make sure we set the menu item targets for all menu
900         items before showing them, because the ContextMenu constructor doesn't do that anymore.
901
902         * WebView/WebHTMLView.mm:
903         (+[WebMenuTarget sharedMenuTarget]): Moved from ContextMenuMac.mm.
904         (-[WebMenuTarget WebCore::]): Ditto.
905         (-[WebMenuTarget setMenuController:WebCore::]): Ditto.
906         (-[WebMenuTarget forwardContextMenuAction:]): Ditto.
907         (-[WebMenuTarget validateMenuItem:]): Ditto.
908
909         (setMenuItemTarget): Sets the target of the NSMenuItem to the shared WebMenuTarget.
910         (setMenuTargets): Recursively iterates over all NSMenuItems in an NSMenu (including
911             submenus), and calls setMenuItemTarget on them.
912         (-[WebHTMLView menuForEvent:]): Call setMenuTarget on all the menu items before adding
913             them to the menu.
914
915 2010-12-06  Darin Adler  <darin@apple.com>
916
917         Reviewed by Sam Weinig.
918
919         Pass security origin to make local file decision correctly
920         https://bugs.webkit.org/show_bug.cgi?id=48603
921
922         * WebView/WebPDFView.mm:
923         (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Pass security origin.
924
925 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
926
927         Unreviewed, rolling out r73392.
928         http://trac.webkit.org/changeset/73392
929         https://bugs.webkit.org/show_bug.cgi?id=50489
930
931         This commit caused crashes on the GTK+ bots
932
933         * WebView/WebFrame.mm:
934         (-[WebFrame _canProvideDocumentSource]):
935
936 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
937
938         Reviewed by Kent Tamura.
939
940         Let HTMLObjectElement be a form associated element
941         https://bugs.webkit.org/show_bug.cgi?id=48821
942
943         Modified to use FormAssociatedElement instead of HTMLFormControlElement.
944
945         * WebView/WebHTMLRepresentation.mm:
946         (-[WebHTMLRepresentation elementWithName:inForm:]): Modified to use
947         FormAssociatedElement instead of HTMLFormControlElement.
948         (-[WebHTMLRepresentation controlsInForm:]): Ditto.
949
950 2010-12-06  Nate Chapin  <japhet@chromium.org>
951
952         Reviewed by Adam Barth.
953
954         Update calls to DocumentWriter.
955         https://bugs.webkit.org/show_bug.cgi?id=50489
956
957         * WebView/WebFrame.mm:
958         (-[WebFrame _canProvideDocumentSource]):
959
960 2010-12-06  Chris Marrin  <cmarrin@apple.com>
961
962         Reviewed by Simon Fraser.
963
964         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
965         https://bugs.webkit.org/show_bug.cgi?id=49388
966
967         Got rid of GraphicsLayer::nativeLayer() call, replacing it with 
968         GraphicsLayer::platformLayer().
969
970         * WebCoreSupport/WebChromeClient.mm:
971         (WebChromeClient::attachRootGraphicsLayer):
972
973 2010-12-04  Dan Bernstein  <mitz@apple.com>
974
975         Reviewed by Sam Weinig.
976
977         WebKit part of <rdar://problem/8145955> Add text search API for counting/marking/highlighting matches in a range
978         https://bugs.webkit.org/show_bug.cgi?id=50530
979
980         * WebView/WebDocumentInternal.h: Added a DOMRange parameter to -countMatchesForText:options:limit:markMatches:
981         * WebView/WebHTMLView.mm:
982         (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter,
983         which is passed through to WebCore.
984         * WebView/WebPDFView.mm:
985         (isFrameInRange): Added this helper function.
986         (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]): Added DOMRange parameter and
987         a check if the frame is in the range.
988         * WebView/WebView.mm:
989         (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Now calls the inDOMRange: version.
990         (-[WebView countMatchesForText:inDOMRange:options:highlight:limit:markMatches:]): Added DOMRange
991         parameter, which is passed to document views' -countMatchesForText:inDOMRange:options:limit:markMatches:.
992         * WebView/WebViewPrivate.h:
993
994 2010-12-03  Sam Weinig  <sam@webkit.org>
995
996         Reviewed by Maciej Stachowiak.
997
998         Enable <a ping> for Mac/Windows/WebKit2 builds
999         <rdar://problem/8504473>
1000         https://bugs.webkit.org/show_bug.cgi?id=50488
1001
1002         * WebView/WebPreferences.mm:
1003         (+[WebPreferences initialize]): Enable "HyperlinkAuditing" by default.
1004
1005 2010-12-03  Jia Pu  <jpu@apple.com>
1006
1007         Reviewed by Darin Adler.
1008
1009         Need to move all code that applies correction into correction panel callback.
1010         https://bugs.webkit.org/show_bug.cgi?id=50426
1011         <rdar://problem/8720832>
1012
1013         * WebCoreSupport/WebEditorClient.h: Adopted new signature of dismissCorrectionPanel.
1014
1015         * WebCoreSupport/WebEditorClient.mm:
1016         (WebEditorClient::~WebEditorClient): Adopted new signature of dismissCorrectionPanel.
1017         (WebEditorClient::showCorrectionPanel): Added more user dictionary learning code.
1018         (WebEditorClient::dismissCorrectionPanel): Adopted new signature of dismissCorrectionPanel.
1019
1020 2010-12-02  Simon Fraser  <simon.fraser@apple.com>
1021
1022         Revert r73217 and r73227 because of continued bustage.
1023
1024         * WebCoreSupport/WebChromeClient.mm:
1025         (WebChromeClient::attachRootGraphicsLayer):
1026
1027 2010-12-02  Chris Marrin  <cmarrin@apple.com>
1028
1029         Reviewed by Simon Fraser.
1030
1031         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
1032         https://bugs.webkit.org/show_bug.cgi?id=49388
1033
1034         Got rid of GraphicsLayer::nativeLayer() call, replacing it with 
1035         GraphicsLayer::platformLayer().
1036
1037         * WebCoreSupport/WebChromeClient.mm:
1038         (WebChromeClient::attachRootGraphicsLayer):
1039
1040 2010-12-02  Mark Rowe  <mrowe@apple.com>
1041
1042         Reviewed by Beth Dakin.
1043
1044         <rdar://problem/8708730> Objects reported as being leaked due to lack of autorelease pool
1045
1046         * Misc/WebNSFileManagerExtras.m:
1047         (setMetaData): Create an autorelease pool for the duration of the thread body.
1048
1049 2010-12-02  John Knottenbelt  <jknotten@chromium.org>
1050
1051         Reviewed by Steve Block.
1052
1053         Move requestGeolocationPermissionForFrame to GeolocationClient
1054         https://bugs.webkit.org/show_bug.cgi?id=50061
1055
1056         This change facilitates client-based geolocation implementation by
1057         bringing together permission control into the geolocation client
1058         interface.
1059
1060         Move method ChromeClient::requestGeolocationPermissionForFrame to
1061         GeolocationClient::requestPermission, and supporting class
1062         WebGeolocationPolicyListener. The moved code is unchanged except
1063         that requestPermission now takes only one argument (Geolocation*)
1064         and the Frame parameter is retrieved from the Geolocation object.
1065
1066         * WebCoreSupport/WebChromeClient.h:
1067         * WebCoreSupport/WebChromeClient.mm:
1068         * WebCoreSupport/WebGeolocationClient.h:
1069         (WebGeolocationClient::cancelPermissionRequest):
1070         * WebCoreSupport/WebGeolocationClient.mm:
1071         (WebGeolocationClient::requestPermission):
1072         (-[WebGeolocationPolicyListener initWithGeolocation:]):
1073         (-[WebGeolocationPolicyListener allow]):
1074         (-[WebGeolocationPolicyListener deny]):
1075
1076 2010-12-02  Joseph Pecoraro  <joepeck@webkit.org>
1077
1078         Reviewed by Eric Carlson.
1079
1080         Style Fixes in WebPluginController
1081         https://bugs.webkit.org/show_bug.cgi?id=50397
1082
1083         * Plugins/WebPluginController.mm:
1084         (-[WebPluginController startAllPlugins]):
1085         (-[WebPluginController stopAllPlugins]):
1086
1087 2010-12-02  John Sullivan  <sullivan@apple.com>
1088
1089         Reviewed by Adam Roben.
1090         
1091         Slightly speculative fix for:
1092
1093         <rdar://problem/8712674>
1094         <https://bugs.webkit.org/show_bug.cgi?id=50393>
1095         setStringValue: sometimes called with nil in [WebAuthenticationPanel setUpForChallenge]        
1096
1097         * Panels/WebAuthenticationPanel.m:
1098         (-[WebAuthenticationPanel setUpForChallenge:]):
1099         If the realm is nil, use @"" instead.
1100
1101 2010-12-01  Jia Pu  <jpu@apple.com>
1102
1103         Reviewed by Darin Adler.
1104
1105         Support multiple correction candidates panel for misspelled word on Mac OS X.
1106         https://bugs.webkit.org/show_bug.cgi?id=50137
1107         <rdar://problem/8568059>
1108
1109         This patch is for supporting multiple correction suggestion panel on Mac OS X.
1110         The behavior and implementation is similar to that of reversion candiate panel.
1111
1112         * WebCoreSupport/WebEditorClient.h: Adopted new signatures defined in base class.
1113
1114         * WebCoreSupport/WebEditorClient.mm:  Adopted new signatures defined in base class.
1115           Added code to handle new multiple suggestion canidate panel type.
1116         (WebEditorClient::showCorrectionPanel):
1117         (WebEditorClient::getGuessesForWord):
1118
1119 2010-12-01  David Hyatt  <hyatt@apple.com>
1120
1121         Reviewed by Darin Adler.
1122
1123         https://bugs.webkit.org/show_bug.cgi?id=46645
1124         
1125         Part 1 of making scrolling work with vertical text. This patch generalizes the scrollOriginX concept
1126         recently added for horizontal RTL documents and applies it to writing modes as well.  Now the
1127         scrollOrigin is a point, since you can start off locked to the bottom or locked to the right.
1128         
1129         This patch also fixes numerous bugs with the scrollOrigin code using native Mac NSScrollViews and
1130         makes them behave the same as the cross-platform code (allowing for cross-platform results to be
1131         landed).
1132
1133         * WebView/WebDynamicScrollBarsView.mm:
1134         (-[WebDynamicScrollBarsView adjustForScrollOriginChange]):
1135         (-[WebDynamicScrollBarsView updateScrollers]):
1136         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1137         (-[WebDynamicScrollBarsView setScrollOrigin:updatePosition:]):
1138         (-[WebDynamicScrollBarsView scrollOrigin]):
1139         * WebView/WebFrameView.mm:
1140         (-[WebFrameView _scrollToBeginningOfDocument]):
1141         (-[WebFrameView _scrollToEndOfDocument]):
1142
1143 2010-11-29  Dan Bernstein  <mitz@apple.com>
1144
1145         Reviewed by Darin Adler.
1146
1147         WebKit Mac part of <rdar://problem/8650085> adding word-prefix search options to the text search API.
1148         https://bugs.webkit.org/show_bug.cgi?id=50038
1149         Based on a patch from Darin Adler.
1150
1151         * WebView/WebDocumentInternal.h: Removed -markAllMatchesForText:caseSensitive:limit: and
1152         replaced -countMatchesForText:caseSensitive:limit:markMatches: with a WebFindOptions-based
1153         method. Declared a WebDocumentOptionsSearching protocol with a new -findString:options:
1154         method. Made WebHTMLView conform to the new protocol.
1155         * WebView/WebHTMLView.mm:
1156         (coreOptions): Added. Converts WebFindOptions to WebCore FindOptions.
1157         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Changed to use
1158         -findString:options:.
1159         (-[WebHTMLView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
1160         (-[WebHTMLView findString:options:]): Added. Calls through to WebCore::Editor::findString().
1161         * WebView/WebPDFView.mm:
1162         (-[WebPDFView countMatchesForText:options:limit:markMatches:]): Changed to use WebFindOptions.
1163         * WebView/WebView.mm:
1164         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]): Now calls through to
1165         -countMatchesForText:options:highlight:limit:markMatches.
1166         (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]): Ditto.
1167         (-[WebView searchFor:direction:caseSensitive:wrap:startInSelection:]): Now calls through to
1168         -findString:options:.
1169         (incrementFrame): Changed to use WebFindOptions.
1170         (findString): Added this helper method that performs the search using the best supported
1171         method for the document view.
1172         (-[WebView findString:options:]): Changed -searchFor::::: into this.
1173         (-[WebView canMarkAllTextMatches]):
1174         (-[WebView countMatchesForText:options:highlight:limit:markMatches:]): Updated to use
1175         WebFindOptions.
1176         (-[WebView unmarkAllTextMatches]): Updated for change to incrementFrame.
1177         (-[WebView rectsForTextMatches]): Ditto.
1178         * WebView/WebViewPrivate.h: Added WebFindOptions, -findString:options:, and WebFindOptions version
1179         of countMatchesForText:.
1180
1181 2010-11-29  Jeremy Moskovich  <jeremy@chromium.org>
1182
1183         Reviewed by David Hyatt.
1184
1185         Right-to-left pages should be scrollable to reveal left overflow.
1186         https://bugs.webkit.org/show_bug.cgi?id=23556
1187
1188         Set and get the original x-axis scroll position and reset scroll position on HOME/END key press.
1189         Modify WebFrameView to support setting the initial horizontal scroller's thumb position to the right for
1190         pages with a left overflow.
1191
1192         * WebView/WebDynamicScrollBarsView.h:
1193         * WebView/WebDynamicScrollBarsView.mm:
1194         (-[WebDynamicScrollBarsView inProgramaticScroll]):
1195         (-[WebDynamicScrollBarsView refreshInitialScrollbarPosition]):
1196         (-[WebDynamicScrollBarsView updateScrollers]):
1197         (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
1198         (-[WebDynamicScrollBarsView setScrollOriginX:]):
1199         (-[WebDynamicScrollBarsView scrollOriginX]):
1200         * WebView/WebFrameView.mm:
1201         (-[WebFrameView _scrollToBeginningOfDocument]):
1202         (-[WebFrameView _scrollToEndOfDocument]):
1203         * WebView/WebHTMLView.mm:
1204         (-[WebHTMLView _frameOrBoundsChanged]):
1205
1206 2010-11-22  Ryosuke Niwa  <rniwa@webkit.org>
1207
1208         Reviewed by Tony Chang.
1209
1210         SelectionController::typingStyle() should return EditingStyle*
1211         https://bugs.webkit.org/show_bug.cgi?id=49813
1212
1213         Changed the return value of SelectionController::typingStyle() to EditingStyle*.
1214         Also added SelectionController::copyTypingStyle() to copy the typing style
1215         as an instance of CSSMutableStyleDeclaration.
1216
1217         No tests are added since this is no behavioral change.
1218
1219         * WebView/WebFrame.mm:
1220         (-[WebFrame _typingStyle]): Calls SelectionController::copyTypingStyle()
1221
1222 2010-11-19  Michael Saboff  <msaboff@apple.com>
1223
1224         Reviewed by Sam Weinig
1225
1226         Remove DOMSVGAnimatedPathData.h from all: target to fix build.
1227
1228         * MigrateHeaders.make:
1229
1230 2010-11-19  Nikolas Zimmermann  <nzimmermann@rim.com>
1231
1232         Reviewed by Dirk Schulze.
1233
1234         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
1235         https://bugs.webkit.org/show_bug.cgi?id=49580
1236
1237         * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
1238
1239 2010-11-18  Mark Rowe  <mrowe@apple.com>
1240
1241         Rubber-stamped by Adam Roben.
1242
1243         <rdar://problem/8602509&8602717&8602724> Enable compaction support.
1244
1245         * Configurations/WebKit.xcconfig:
1246
1247 2010-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1248
1249         Unreviewed, rolling out r72288.
1250         http://trac.webkit.org/changeset/72288
1251         https://bugs.webkit.org/show_bug.cgi?id=49730
1252
1253         'krit attempted to do that, but revert got stuck' (Requested
1254         by antonm on #webkit).
1255
1256         * WebView/WebRenderLayer.mm:
1257
1258 2010-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1259
1260         Reviewed by Dirk Schulze.
1261
1262         Convert SVGPathSeg/SVGPathSegList to the new SVGPropertyTearOff concept
1263         https://bugs.webkit.org/show_bug.cgi?id=49580
1264
1265         * WebView/WebRenderLayer.mm: Add missing StyledElement.h include.
1266
1267 2010-11-16  Stephanie Lewis  <slewis@apple.com>
1268
1269         Reviewed by Geoff Garen.
1270
1271         <rdar://problem/8624267> Leak creating offscreen webview running fast/dom tests
1272
1273         Make a static provider for WebDeviceOrientationProviderMock.  The old code allocated a new WebDeviceOrientationProviderMock for 
1274         every WebView, and the WebKit API doesn't support that ownership model.
1275
1276         * WebView/WebDeviceOrientationProviderMock.h:
1277         * WebView/WebDeviceOrientationProviderMock.mm:
1278         (+[WebDeviceOrientationProviderMock shared]):
1279
1280 2010-11-16  Dave Hyatt  <hyatt@apple.com>
1281
1282         Reviewed by Dan Bernstein.
1283
1284         https://bugs.webkit.org/show_bug.cgi?id=11004
1285         
1286         font-size:0 is ignored.  Remove the minimum font size of 1 in CSSStyleSelector.
1287         Change the pref value for minimum font size from 1 to 0.  Make sure to never use the NSFont's size,
1288         since it doesn't honor a size of 0.  Instead pass the size in to the FontPlatformData(NSFont*) version
1289         of the constructor rather than using [NSFont pointSize].
1290
1291         https://bugs.webkit.org/show_bug.cgi?id=49582
1292         
1293         Negative leading is not handled correctly.  There are two bugs here.  The first is that
1294         maxAscent and maxDescent can be negative, so we need a notion of whether or not we have
1295         set them before so that we can allow them to be < 0.
1296         
1297         The second issue is that we should understand where fonts will end up relative to
1298         our baseline (excluding line height), and only allow those boxes to impact ascent and
1299         descent if the actual font box (without factoring in line height) is above or below the
1300         root line box baseline.
1301
1302         Added fast/css/negative-leading.html
1303         
1304         These two bug fixes have to land together to keep the Acid 3 test rendering correctly.
1305
1306         * Misc/WebKitNSStringExtras.mm:
1307         (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
1308         (-[NSString _web_widthWithFont:]):
1309         * Misc/WebStringTruncator.mm:
1310         (fontFromNSFont):
1311         * WebView/WebPreferences.mm:
1312         (+[WebPreferences initialize]):
1313
1314 2010-11-16  Anders Carlsson  <andersca@apple.com>
1315
1316         Fix clang++ build.
1317
1318         * WebCoreSupport/WebFrameLoaderClient.mm:
1319
1320 2010-11-14  Kent Tamura  <tkent@chromium.org>
1321
1322         Reviewed by Andreas Kling.
1323
1324         KeyboardEvent::keyIdentifier() should return "const String&"
1325         https://bugs.webkit.org/show_bug.cgi?id=49426
1326
1327         * WebCoreSupport/WebEditorClient.mm:
1328         (selectorForKeyEvent):
1329           Change the type of a variable to have keyIdentifier(); String -> const String&
1330
1331 2010-11-12  John Knottenbelt  <jknotten@chromium.org>
1332
1333         Reviewed by Steve Block.
1334
1335         Rename GeolocationControllerClient to GeolocationClient.
1336         https://bugs.webkit.org/show_bug.cgi?id=49259
1337
1338         * WebCoreSupport/WebGeolocationClient.h: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.h.
1339         (WebGeolocationClient::webView):
1340         (WebGeolocationClient::setEnableHighAccuracy):
1341         * WebCoreSupport/WebGeolocationClient.mm: Renamed from WebKit/mac/WebCoreSupport/WebGeolocationControllerClient.mm.
1342         (WebGeolocationClient::WebGeolocationClient):
1343         (WebGeolocationClient::geolocationDestroyed):
1344         (WebGeolocationClient::startUpdating):
1345         (WebGeolocationClient::stopUpdating):
1346         (WebGeolocationClient::lastPosition):
1347         * WebKit.order:
1348         * WebView/WebView.mm:
1349         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
1350
1351 2010-11-10  Beth Dakin  <bdakin@apple.com>
1352
1353         Reviewed by Simon Fraser.
1354
1355         Fix for https://bugs.webkit.org/show_bug.cgi?id=49356 
1356         -[WebView _scaleWebView:] should take and origin and scroll the 
1357         document
1358         -and corresponding-
1359         <rdar://problem/8643921>
1360
1361         * WebView/WebView.mm:
1362         (-[WebView _scaleWebView:atOrigin:]):
1363         * WebView/WebViewPrivate.h:
1364
1365 2010-11-10  Csaba Osztrogonác  <ossy@webkit.org>
1366
1367         Reviewed by David Hyatt.
1368
1369         HTML5 Ruby support should be mandatory feature
1370         https://bugs.webkit.org/show_bug.cgi?id=49272
1371
1372         Remove Ruby as optional feature.
1373
1374         * Configurations/FeatureDefines.xcconfig:
1375
1376 2010-11-08  Ned Holbrook  <nholbrook@apple.com>
1377
1378         Reviewed by Adam Barth.
1379
1380         Avoid CFAttributedString creation in ComplexTextController by adopting UniChar provider SPI.
1381         https://bugs.webkit.org/show_bug.cgi?id=48886
1382
1383         * WebCoreSupport/WebSystemInterface.mm:
1384         (InitWebCoreSystemInterface):
1385
1386 2010-11-08  Nate Chapin  <japhet@chromium.org>
1387
1388         Unreviewed, build fix.
1389
1390         Clumsy typo in r71562.
1391
1392         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1393         (WebKit::HostedNetscapePluginStream::start):
1394
1395 2010-11-08  Nate Chapin  <japhet@chromium.org>
1396
1397         Reviewed by Alexey Proskuryakov.
1398
1399         Interface changes in https://bugs.webkit.org/show_bug.cgi?id=27165
1400
1401         * Plugins/Hosted/HostedNetscapePluginStream.mm:
1402         (WebKit::HostedNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
1403         * Plugins/WebNetscapePluginStream.mm:
1404         (WebNetscapePluginStream::start): Move duplicate code into NetscapePluginStreamLoader
1405         * WebView/WebView.mm:
1406         (-[WebView _dispatchPendingLoadRequests]): Use resourceLoadScheduler() instead of cache()->loader().
1407
1408 2010-11-08  Anders Carlsson  <andersca@apple.com>
1409
1410         Reviewed by Dan Bernstein.
1411
1412         Plug-in views should not assume that plugins are RenderEmbeddedObjects
1413         https://bugs.webkit.org/show_bug.cgi?id=49196
1414         <rdar://problem/8638467>
1415
1416         * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1417         (-[WebHostedNetscapePluginView pluginHostDied]):
1418
1419 2010-11-08  Alexey Proskuryakov  <ap@apple.com>
1420
1421         Reviewed by Darin Adler.
1422
1423         https://bugs.webkit.org/show_bug.cgi?id=48685
1424         Notify UI process about focused frame
1425
1426         Added an empty implementation of the new ChromeClient method.
1427
1428         * WebCoreSupport/WebChromeClient.h:
1429         * WebCoreSupport/WebChromeClient.mm:
1430         (WebChromeClient::focusedFrameChanged):
1431
1432 2010-11-08  Anders Carlsson  <andersca@apple.com>
1433
1434         Build fix.
1435
1436         * MigrateHeaders.make:
1437
1438 2010-11-08  Anders Carlsson  <andersca@apple.com>
1439
1440         Reviewed by Adam Roben.
1441
1442         Remove use of HIGetScaleFactor
1443         https://bugs.webkit.org/show_bug.cgi?id=49186
1444         <rdar://problem/8618410>
1445
1446         Scale factors can vary on a display-by-display basis and it doesn't make sense
1447         to compute scale factor event coordinates like this.
1448
1449         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
1450         (getCarbonEvent):
1451
1452 2010-11-08  Simon Fraser  <simon.fraser@apple.com>
1453
1454         Reviewed by Sam Weinig.
1455
1456         Allow applets to participate in accelerated compositing
1457         https://bugs.webkit.org/show_bug.cgi?id=49117
1458         <rdar://problem/8625819>
1459         
1460         If Java is being loaded via the Netscape Plugin API, create a
1461         NetscapePluginWidget so that it has an implementation of platformLayer().
1462         
1463         Also clean up by using early returns.
1464
1465         * WebCoreSupport/WebFrameLoaderClient.mm:
1466
1467 2010-11-07  Adam Barth  <abarth@webkit.org>
1468
1469         Reviewed by Eric Seidel.
1470
1471         Rename Cache to MemoryCache
1472         https://bugs.webkit.org/show_bug.cgi?id=49159
1473
1474         * Misc/WebCache.mm:
1475         (+[WebCache statistics]):
1476         * WebCoreSupport/WebDeviceOrientationClient.mm:
1477         (WebDeviceOrientationClient::setController):
1478         * WebView/WebView.mm:
1479
1480 2010-11-05  Alexey Proskuryakov  <ap@apple.com>
1481
1482         Reviewed by Darin Adler.
1483
1484         https://bugs.webkit.org/show_bug.cgi?id=49100
1485         ASSERT([self window]) fails in -[WebBaseNetscapePluginView restartTimers]
1486
1487         * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView restartTimers]):
1488         Removed the assertion. Multiple callers provide no guarantee that the plug-in is still alive
1489         (see bug comments), and there seems to be no harm in executing this function in that case.
1490
1491 2010-11-05  Chris Marrin  <cmarrin@apple.com>
1492
1493         Reviewed by Simon Fraser.
1494
1495         Move resumeAnimations/suspendAnimations from Frame to AnimationController.
1496         https://bugs.webkit.org/show_bug.cgi?id=49073
1497
1498         * WebView/WebFrame.mm:
1499         (-[WebFrame _suspendAnimations]):
1500         (-[WebFrame _resumeAnimations]):
1501
1502 2010-11-04  Alexey Proskuryakov  <ap@apple.com>
1503
1504         Reviewed by Darin Adler.
1505
1506         https://bugs.webkit.org/show_bug.cgi?id=49008
1507         <rdar://problem/7906226> Frequent crashes on mail.yahoo.co.jp
1508
1509         Callers of NetscapePluginInstanceProxy::waitForReply() are not prepared to be deleted during
1510         the call, unless it returns 0. There are two reasons for NetscapePluginInstanceProxy to be
1511         deleted during wait:
1512         - plugin crashed;
1513         - plugin was stopped (e.g. due to a DOM modification performed by another reply that came in
1514         while waiting).
1515
1516         We didn't recognize the latter.
1517
1518         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1519         (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
1520         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
1521         (WebKit::NetscapePluginInstanceProxy::waitForReply):
1522         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1523         (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
1524
1525 2010-11-05  Chris Marrin  <cmarrin@apple.com>
1526
1527         Reviewed by Simon Fraser.
1528
1529         Make suspendAnimations/resumeAnimations and setCSSAnimations traverse through subframes and remember state
1530         https://bugs.webkit.org/show_bug.cgi?id=46945
1531
1532         * WebView/WebFrame.mm:
1533         (-[WebFrame _suspendAnimations]):
1534         (-[WebFrame _resumeAnimations]):
1535
1536 2010-11-04  Jia Pu  <jpu@apple.com>
1537
1538         Reviewed by Dan Bernstein.
1539
1540         reversion bubble in WebViews
1541         https://bugs.webkit.org/show_bug.cgi?id=47630
1542         <rdar://problem/8530960>
1543
1544         This patch is to add reversion to correction panel. Please see WebCore/ChangeLog for detail.
1545
1546         * WebCoreSupport/WebEditorClient.h: Adopted new signature of base class method.
1547         * WebCoreSupport/WebEditorClient.mm: Adopted new signature of base class method. And code
1548           change to use new reversion API in AppKit.
1549         (WebEditorClient::WebEditorClient):
1550         (WebEditorClient::~WebEditorClient):
1551         (WebEditorClient::respondToChangedSelection):
1552         (WebEditorClient::showCorrectionPanel):
1553         (WebEditorClient::dismissCorrectionPanel):
1554         (WebEditorClient::isShowingCorrectionPanel):
1555
1556 2010-11-04  Mike Thole  <mthole@apple.com>
1557
1558         Reviewed by Dan Bernstein.
1559
1560         Title for images should use localized numerals
1561         https://bugs.webkit.org/show_bug.cgi?id=49017
1562
1563         * WebCoreSupport/WebPlatformStrategies.mm:
1564         (WebPlatformStrategies::imageTitle): Use localized numerals on Snow Leopard or newer.
1565
1566 2010-11-02  Daniel Bates  <dbates@rim.com>
1567
1568         Reviewed by Adam Barth.
1569
1570         For unnamed frames, window.name returns a generated name
1571         https://bugs.webkit.org/show_bug.cgi?id=6751
1572
1573         Part 1 of 2.
1574
1575         Substitute FrameTree::uniqueName() for FrameTree::name() in the Mac port. 
1576
1577         * WebView/WebFrame.mm:
1578         (-[WebFrame name]):
1579
1580 2010-11-01  Brady Eidson  <beidson@apple.com>
1581
1582         Reviewed by Anders Carlsson.
1583
1584         <rdar://problem/7660547> and https://bugs.webkit.org/show_bug.cgi?id=48699
1585         Context menu support for WebKit 2.
1586
1587         * WebCoreSupport/WebChromeClient.h:
1588         (WebChromeClient::showContextMenu):
1589
1590 2010-10-29  Daniel Bates  <dbates@rim.com>
1591
1592         No review, rolling out 70971.
1593         http://trac.webkit.org/changeset/70971
1594         https://bugs.webkit.org/show_bug.cgi?id=6751
1595
1596         Rolling out changeset 70971 <http://trac.webkit.org/changeset/70971> since
1597         it caused layout test failures on all bots. In particular, the
1598         child count in a generated frame name differs after this patch. We need
1599         to look into this further.
1600
1601         * WebView/WebFrame.mm:
1602         (-[WebFrame name]):
1603
1604 2010-10-28  Antonio Gomes  <agomes@rim.com>
1605
1606         Reviewed by Ojan Vafai.
1607
1608         Needs a "LinuxEditingBehavior", perhaps with a better name
1609         https://bugs.webkit.org/show_bug.cgi?id=36627
1610
1611         Added the corresponding GTK+ setting to WebCore's EditingUnixBehavior: WebKitEditingUnixBehavior.
1612
1613         * WebView/WebFrame.mm:
1614         (core):
1615         * WebView/WebPreferencesPrivate.h:
1616
1617 2010-10-29  Daniel Bates  <dbates@rim.com>
1618
1619         Reviewed by Adam Barth.
1620
1621         For unnamed frames, window.name returns a generated name
1622         https://bugs.webkit.org/show_bug.cgi?id=6751
1623
1624         Modified Mac-port to use FrameTree::uniqueName().
1625
1626         * WebView/WebFrame.mm:
1627         (-[WebFrame name]):
1628
1629 2010-10-29  Darin Adler  <darin@apple.com>
1630
1631         Reviewed by Sam Weinig.
1632
1633         Change BackForwardList clients to use BackForwardListImpl to prepare for further refactoring
1634         https://bugs.webkit.org/show_bug.cgi?id=48574
1635
1636         * History/WebBackForwardList.mm:
1637         Use BackForwardListImpl.
1638
1639 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
1640
1641         Rubber-stamped by Sam Weinig.
1642
1643         Comment for usesDocumentViews explains it backwards. This flag is true in ToT, and we do
1644         create views for subframes.
1645
1646         * WebView/WebViewData.h: Double negation is better than a lie.
1647
1648 2010-10-27  Jer Noble  <jer.noble@apple.com>
1649
1650         Reviewed by Darin Adler.
1651
1652         Full screen video in Safari (still) exits full-screen if you switch to another 
1653         app on a multi-display system.
1654         https://bugs.webkit.org/show_bug.cgi?id=47364
1655         <rdar://problem/8382299>
1656         
1657         The FullScreen window does not technically close when it deactivates, but the 
1658         two NSWindows that make up the FullScreen feature should not hide when deactivated.
1659         
1660         * WebView/WebVideoFullscreenController.mm:
1661         (createBackgroundFullscreenWindow): Do not set hidesOnDeactivate.
1662         (-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
1663         * WebView/WebVideoFullscreenHUDWindowController.mm:
1664         (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]): Ditto.
1665
1666 2010-10-29  Alexey Proskuryakov  <ap@apple.com>
1667
1668         Reviewed by Darin Adler.
1669
1670         https://bugs.webkit.org/show_bug.cgi?id=48576
1671         Let WebKit2 client know when a frame is a frameset
1672
1673         Added a blank implementation of the new FrameLoaderClient method.
1674
1675         * WebCoreSupport/WebFrameLoaderClient.h:
1676         * WebCoreSupport/WebFrameLoaderClient.mm:
1677         (WebFrameLoaderClient::dispatchDidBecomeFrameset):
1678
1679 2010-10-29  Csaba Osztrogonác  <ossy@webkit.org>
1680
1681         Reviewed by Adam Roben and David Kilzer.
1682
1683         Fix and cleanup of build systems
1684         https://bugs.webkit.org/show_bug.cgi?id=48342
1685
1686         * Configurations/FeatureDefines.xcconfig: Remove unnecessary ENABLE_SANDBOX.
1687
1688 2010-10-28  Dan Bernstein  <mitz@apple.com>
1689
1690         Reviewed by Mark Rowe.
1691
1692         LLVM compiler build fix
1693
1694         * Misc/WebDownload.mm:
1695         (-[WebDownload initWithRequest:delegate:]): Changed the delegate type from id to
1696         id<NSURLDownloadDelegate> to match the method signature in NSURLDownload.
1697
1698 2010-10-28  Ivan Krstić  <ike@apple.com>
1699
1700         Reviewed by Mark Rowe.
1701
1702         Remove unused experimental proxied panel interface.
1703         <rdar://problem/7237059>
1704
1705         * Plugins/Hosted/NetscapePluginHostManager.h:
1706         * Plugins/Hosted/NetscapePluginHostManager.mm:
1707         (WebKit::NetscapePluginHostManager::hostForPlugin):
1708         (WebKit::NetscapePluginHostManager::spawnPluginHost):
1709         (WebKit::NetscapePluginHostManager::instantiatePlugin):
1710         * Plugins/Hosted/NetscapePluginHostProxy.mm:
1711         * Plugins/Hosted/WebKitPluginClient.defs:
1712         * Plugins/Hosted/WebKitPluginHost.defs:
1713         * WebCoreSupport/WebSystemInterface.mm:
1714         (InitWebCoreSystemInterface):
1715         * WebView/WebPreferenceKeysPrivate.h:
1716         * WebView/WebPreferences.mm:
1717         (+[WebPreferences initialize]):
1718         * WebView/WebPreferencesPrivate.h:
1719
1720 2010-10-27  Pratik Solanki  <psolanki@apple.com>
1721
1722         Reviewed by Darin Adler.
1723
1724         Improve memSize calculation in [WebView _setCacheModel]
1725         https://bugs.webkit.org/show_bug.cgi?id=48484
1726
1727         * WebView/WebView.mm:
1728         (roundUpToPowerOf2): Added. Utility function to calculate the nearest power of 2.
1729         (+[WebView _setCacheModel:]): Update memSize calculation to set it to the next
1730         bigger power of 2. Also update WebCore cache settings.
1731
1732 2010-10-26  Darin Adler  <darin@apple.com>
1733
1734         Reviewed by Sam Weinig.
1735
1736         WebKitTestRunner needs to support layoutTestController.dumpBackForwardList
1737         https://bugs.webkit.org/show_bug.cgi?id=42322
1738         rdar://problem/8193631
1739
1740         WebKitTestRunner needs to support layoutTestController.clearBackForwardList
1741         https://bugs.webkit.org/show_bug.cgi?id=42333
1742         rdar://problem/8193643
1743
1744         * History/WebBackForwardList.mm:
1745         (core): Return BackForwardListImpl.
1746         (kit): Take BackForwardListImpl.
1747         (-[WebBackForwardList initWithBackForwardList:]): Use BackForwardListImpl.
1748         (-[WebBackForwardList dealloc]): Ditto.
1749         (-[WebBackForwardList finalize]): Ditto.
1750         (-[WebBackForwardList description]): Ditto.
1751         (-[WebBackForwardList setPageCacheSize:]): Ditto.
1752         (-[WebBackForwardList pageCacheSize]): Ditto.
1753         * History/WebBackForwardListInternal.h: Ditto.
1754         * WebView/WebFrameView.mm:
1755         (-[WebFrameView keyDown:]): Ditto.
1756         * WebView/WebView.mm:
1757         (-[WebView initWithCoder:]): Ditto.
1758         (-[WebView encodeWithCoder:]): Ditto.
1759         (-[WebView backForwardList]): Ditto.
1760         (-[WebView setMaintainsBackForwardList:]): Ditto.
1761
1762 2010-10-27  Chris Rogers  <crogers@google.com>
1763
1764         Reviewed by Chris Marrin.
1765
1766         Add ENABLE_WEB_AUDIO feature enable flag (initially disabled) to build-webkit
1767         https://bugs.webkit.org/show_bug.cgi?id=48279
1768
1769         * Configurations/FeatureDefines.xcconfig:
1770
1771 2010-10-27  Beth Dakin  <bdakin@apple.com>
1772
1773         Reviewed by Darin Adler.
1774
1775         Fix for https://bugs.webkit.org/show_bug.cgi?id=48385 Add WebKit 
1776         SPI to scale a WebView
1777         -and corresponding-
1778         <rdar://problem/8107667>
1779
1780         This patch adds SPI to Mac WebKit that scales the page by the given 
1781         scale factor.
1782
1783         * WebView/WebView.mm:
1784         (-[WebView _scaleWebView:]):
1785         (-[WebView _viewScaleFactor]):
1786         * WebView/WebViewPrivate.h:
1787
1788 2010-10-27  Dan Bernstein  <mitz@apple.com>
1789
1790         Reviewed by Darin Adler.
1791
1792         REGRESSION (r70335): Incorrect article layout in Safari Reader
1793         https://bugs.webkit.org/show_bug.cgi?id=48436
1794
1795         * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITH_GET_MATCHED_CSS_RULES_RESTRICTIONS.
1796         * WebView/WebView.mm:
1797         (-[WebView _needsUnrestrictedGetMatchedCSSRules]): Added. Returns YES for Safari linked against
1798         versions of WebKit that did not have the cross-origin restrictions in getMatchedCSSRules().
1799         (-[WebView _preferencesChangedNotification:]): Call Settings::setCrossOriginCheckInGetMatchedCSSRulesDisabled()
1800         based on the above.
1801
1802 2010-10-18  Jer Noble  <jer.noble@apple.com>
1803
1804         Reviewed by Eric Carlson.
1805
1806         Safari fullscreen media element tickles when it should not.
1807         
1808         https://bugs.webkit.org/show_bug.cgi?id=47861
1809
1810         * WebView/WebVideoFullscreenController.mm:
1811         (-[WebVideoFullscreenController updatePowerAssertions]):
1812
1813 2010-10-26  Jenn Braithwaite  <jennb@chromium.org>
1814
1815         Reviewed by Dmitry Titov.
1816
1817         Resource tracking failure when trying to move a frame between documents
1818         https://bugs.webkit.org/show_bug.cgi?id=44713
1819
1820         * WebCoreSupport/WebFrameLoaderClient.h:
1821         * WebCoreSupport/WebFrameLoaderClient.mm:
1822         (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
1823         Empty method.
1824         (WebFrameLoaderClient::transferLoadingResourceFromPage):
1825         Update resource tracking for a resource load that has been transferred
1826         to a new page.
1827
1828 2010-10-25  Oliver Hunt  <oliver@apple.com>
1829
1830         Reviewed by Gavin Barraclough.
1831
1832         Remove exec and globalData arguments from jsNumber
1833         https://bugs.webkit.org/show_bug.cgi?id=48270
1834
1835         Mechanical removal of exec parameter to jsNumber
1836
1837         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1838         (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
1839         * Plugins/Hosted/ProxyInstance.mm:
1840         (WebKit::ProxyInstance::numberValue):
1841
1842 2010-10-24  Dan Bernstein  <mitz@apple.com>
1843
1844         Reviewed by Anders Carlsson.
1845
1846         Expose HitTestResult::absoluteMediaURL() via WebKit API
1847         https://bugs.webkit.org/show_bug.cgi?id=48219
1848
1849         * Misc/WebElementDictionary.mm:
1850         (+[WebElementDictionary initializeLookupTable]): Map WebElementMediaURLKey to
1851         _absoluteMediaURL.
1852         (-[WebElementDictionary _absoluteMediaURL]): Added. Returns absoluteMediaURL().
1853         * WebKit.exp: Export WebElementMediaURLKey.
1854         * WebView/WebView.mm: Define WebElementMediaURLKey.
1855         * WebView/WebViewPrivate.h: Declare WebElementMediaURLKey.
1856
1857 2010-10-24  Dan Bernstein  <mitz@apple.com>
1858
1859         Reviewed by Simon Fraser.
1860
1861         Removed deprecated methods from the WebHTMLHighlighter private protocol.
1862
1863         * WebCoreSupport/WebChromeClient.mm:
1864         (WebChromeClient::customHighlightRect): Call -highlightRectForLine:representedNode:
1865         unconditionally.
1866         (WebChromeClient::paintCustomHighlight): Call
1867         -paintHighlightForBox:onLine:behindText:entireLine:representedNode: unconditionally.
1868         * WebView/WebHTMLViewPrivate.h:
1869
1870 2010-10-23  Xan Lopez  <xlopez@igalia.com>
1871
1872         Reviewed by Sam Weinig.
1873
1874         Unify globalData APIs
1875         https://bugs.webkit.org/show_bug.cgi?id=47969
1876
1877         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1878         (WebKit::NetscapePluginInstanceProxy::evaluate):
1879         (WebKit::NetscapePluginInstanceProxy::invoke):
1880         (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1881         (WebKit::NetscapePluginInstanceProxy::construct):
1882         * WebView/WebScriptDebugDelegate.mm:
1883         (-[WebScriptCallFrame evaluateWebScript:]):
1884
1885 2010-10-23  David Kilzer  <ddkilzer@apple.com>
1886
1887         <http://webkit.org/b/48186> Remove unneeded WebHTMLRepresentationInternal.h header
1888
1889         Reviewed by Sam Weinig.
1890
1891         The only method defined in WebHTMLRepresentationInternal.h is
1892         also defined in WebHTMLRepresentation.h, so use that instead.
1893
1894         * WebView/WebHTMLRepresentationInternal.h: Removed.
1895
1896 2010-10-23  Alexey Proskuryakov  <ap@apple.com>
1897
1898         Reviewed by Anders Carlsson.
1899
1900         https://bugs.webkit.org/show_bug.cgi?id=48083
1901         <rdar://problem/8489082> Need WebKit2 API for private browsing (48083)
1902
1903         * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface): Initialize the new method.
1904
1905 2010-10-22  Sam Weinig  <sam@webkit.org>
1906
1907         Reviewed by Anders Carlsson.
1908
1909         WebKit2 needs to pass the current event modifier flags when requesting a new window
1910         https://bugs.webkit.org/show_bug.cgi?id=48140
1911
1912         * WebCoreSupport/WebChromeClient.h:
1913         * WebCoreSupport/WebChromeClient.mm:
1914         (WebChromeClient::createWindow):
1915         * WebCoreSupport/WebFrameLoaderClient.h:
1916         * WebCoreSupport/WebFrameLoaderClient.mm:
1917         (WebFrameLoaderClient::dispatchCreatePage):
1918         Add NavigationAction parameter.
1919
1920 2010-10-21  Andy Estes  <aestes@apple.com>
1921
1922         Reviewed by Eric Carlson.
1923
1924         WebKit shouldn't load a plug-in based on file extension if a MIME type
1925         is specified.
1926         https://bugs.webkit.org/show_bug.cgi?id=48046
1927
1928         If a MIME type is specified in an object or embed element, and that MIME
1929         type isn't supported by an installed plug-in, WebKit shouldn't attempt
1930         to find a plug-in based on the file extension of the url attribute.
1931         Doing so can lead to cases where a plug-in is loaded that can't handle
1932         resources of the MIME type specified by the author.
1933
1934         * WebCoreSupport/WebFrameLoaderClient.mm:
1935         (WebFrameLoaderClient::createPlugin): Only check for a pluginPackage by
1936         extension if MIME type is the empty string.
1937
1938 2010-10-20  Simon Fraser  <simon.fraser@apple.com>
1939
1940         Reviewed by Dan Bernstein.
1941
1942         Composited elements drawn twice when WebView is layer-backed
1943         https://bugs.webkit.org/show_bug.cgi?id=48024
1944         <rdar://problem/7916580>
1945         
1946         When drawing content in a layer-backed WebView, WebFrame's test
1947         for drawing to a bitmap succeeded, causing us to paint flattened
1948         compositing layers into the view. They would also be rendered
1949         by the normal compositing path, resulting in double rendering.
1950         
1951         Fix this by detecting when the WebHTMLView is being drawn into
1952         a layer, and avoiding flattening in that case.
1953
1954         * WebView/WebFrame.mm:
1955         (-[WebFrame _showFlattenedCompositingLayers:]):
1956         (-[WebFrame _drawRect:contentsOnly:]):
1957         * WebView/WebHTMLView.mm:
1958         (-[WebHTMLView drawLayer:inContext:]):
1959         (-[WebHTMLView _web_isDrawingIntoLayer]):
1960         * WebView/WebHTMLViewInternal.h:
1961
1962 2010-10-20  Dumitru Daniliuc  <dumi@chromium.org>
1963
1964         Reviewed by David Levin.
1965
1966         Repost the DatabaseTracker notifications to the main thread, if needed.
1967         https://bugs.webkit.org/show_bug.cgi?id=40655
1968
1969         * Storage/WebDatabaseTrackerClient.mm:
1970         (DidModifyOriginData::dispatchToMainThread):
1971         (DidModifyOriginData::DidModifyOriginData):
1972         (DidModifyOriginData::dispatchDidModifyOriginOnMainThread):
1973         (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
1974         (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
1975
1976 2010-10-20  Simon Fraser  <simon.fraser@apple.com>
1977
1978         Reviewed by Darin Adler.
1979
1980         REGRESSION(r67568-r67643): Some HTML/CSS renders upside down and backwards on Leopard
1981         https://bugs.webkit.org/show_bug.cgi?id=47369
1982         
1983         r46947 added code that limits the size of the layer-backed view on Leopard when
1984         the page height exceeds 4096px (later adjusted to 2048px in r48401).
1985         
1986         Later, r67576 altered the geometry flipping behavior to push the geometry flipping
1987         down into WebKit. However, the code that adjusts the hosting layer's sublayer transform
1988         to account for layer-backed view size-limiting was not fixed at the same time.
1989         This change corrects that.
1990
1991         * WebView/WebHTMLView.mm:
1992         (-[WebHTMLView _updateLayerHostingViewPosition]):
1993
1994 2010-10-19  Simon Fraser  <simon.fraser@apple.com>
1995
1996         Reviewed by Dan Bernstein.
1997
1998         <rdar://problem/8508422> Compositing layers aren't always displayed correctly in layer-backed WebViews
1999         
2000         AppKit has some special code to prevent it meddling with view's layers
2001         under layer-backed WebViews. When a layer-backed WebView became composited,
2002         this caused our layer to remain zero-sized. Fix this by manually
2003         setting the geometry for our layer, if the WebHTMLView has a layer.
2004         
2005         This does not seem to be a problem if the WebView becomes layer-backed, or
2006         stops being layer-backed after the WebView starts using compositing.
2007
2008         * WebView/WebHTMLView.mm:
2009         (-[WebHTMLView attachRootLayer:]):
2010
2011 2010-10-20  Dirk Schulze  <krit@webkit.org>
2012
2013         Reviewed by Nikolas Zimmermann.
2014
2015         Merge ColorSpace and ImageColorSpace enums
2016         https://bugs.webkit.org/show_bug.cgi?id=47922
2017
2018         Renamed ColorSpace enum entries DeviceColorSpace and sRGBColorSpace to ColorSpaceDeviceRGB and ColorSpaceSRGB
2019         to follow webkit style rules.
2020
2021         * Misc/WebKitNSStringExtras.mm:
2022         (-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
2023
2024 2010-10-19  Alexey Proskuryakov  <ap@apple.com>
2025
2026         Reviewed by Anders Carlsson.
2027
2028         https://bugs.webkit.org/show_bug.cgi?id=47933
2029         <rdar://problem/8494337> navigator.language doesn't work in WebKit2
2030
2031         * Misc/WebNSUserDefaultsExtras.mm: Moved code for computing default language to WebCore.
2032         We need to keep _webkit_preferredLanguageCode for Safari.
2033
2034         * WebCoreSupport/WebSystemInterface.mm: (InitWebCoreSystemInterface):
2035         Initialize wkCopyCFLocalizationPreferredName.
2036
2037         * WebCoreSupport/WebViewFactory.mm: Removed defaultLanguage. WebCore was the only caller.
2038
2039 2010-10-18  Alexey Proskuryakov  <ap@apple.com>
2040
2041         Reviewed by David Kilzer.
2042
2043         https://bugs.webkit.org/show_bug.cgi?id=47864
2044         Convert WebNSUserDefaultsExtras.m to .mm
2045
2046         Also, fixed some issues in the process:
2047         - removed locking, which was only necessary when this code was in Foundation;
2048         - fixed notification center observer to actually work (previously, it picked up changes
2049         when application preferences changed, not when system language did);
2050         - removed unused NSString category;
2051         - updated style.
2052
2053         * Misc/WebNSUserDefaultsExtras.m: Removed.
2054         * Misc/WebNSUserDefaultsExtras.mm: Copied from WebKit/mac/Misc/WebNSUserDefaultsExtras.m.
2055         (createHTTPStyleLanguageCode):
2056         (+[NSUserDefaults _webkit_defaultsDidChange]):
2057         (addLanguageChangeObserver):
2058         (+[NSUserDefaults _webkit_preferredLanguageCode]):
2059
2060 2010-10-18  Stuart Morgan  <stuartmorgan@chromium.org>
2061
2062         Reviewed by Eric Seidel.
2063
2064         Switch to using the new Carbon NPAPI event declarations, and remove
2065         the old ones.
2066
2067         https://bugs.webkit.org/show_bug.cgi?id=40784
2068
2069         * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
2070         (WebNetscapePluginEventHandlerCarbon::mouseEntered):
2071         (WebNetscapePluginEventHandlerCarbon::mouseExited):
2072         (WebNetscapePluginEventHandlerCarbon::mouseMoved):
2073         (WebNetscapePluginEventHandlerCarbon::focusChanged):
2074
2075 2010-10-18  Pavel Podivilov  <podivilov@chromium.org>
2076
2077         Reviewed by Timothy Hatcher.
2078
2079         Web Inspector: disable private browsing for inspector
2080         https://bugs.webkit.org/show_bug.cgi?id=47827
2081
2082         * WebCoreSupport/WebInspectorClient.mm:
2083         (-[WebInspectorWindowController init]):
2084
2085 2010-10-14  Ilya Tikhonovsky  <loislo@chromium.org>
2086
2087         Reviewed by Pavel Feldman.
2088
2089         Web Inspector: inspector settings/properties/states management
2090         should be extracted into separate class.
2091
2092         We have a lot of flags/values in InspectorController.
2093         Some flags are persisting into profile.
2094         Others are part of inspector state for frontend.
2095         All these flags should keep their values after navigation.
2096         It'd be better to extract these flags/values into separate
2097         class which will care about theirs lifetime.
2098
2099         https://bugs.webkit.org/show_bug.cgi?id=47275
2100
2101         * WebCoreSupport/WebInspectorClient.mm:
2102         (-[WebInspectorWindowController showWindow:]):
2103         (-[WebInspectorWindowController attach]):
2104         (-[WebInspectorWindowController detach]):
2105
2106 2010-10-13  Gavin Barraclough  <barraclough@apple.com>
2107
2108         Reviewed by Oliver Hunt.
2109
2110         https://bugs.webkit.org/show_bug.cgi?id=43987
2111         Switch XMLHttpRequest, FileReader, and FileReaderSync to use a Stringbuilder
2112         to construct their internal result string.  Remove ScriptString (this is now
2113         redundant).
2114
2115         * WebCoreSupport/WebFrameLoaderClient.mm:
2116
2117 2010-10-12  Andy Estes  <aestes@apple.com>
2118
2119         Rubber-stamped by Darin Adler.
2120
2121         Check in some cleanup from the previous commit.
2122
2123         * WebView/WebView.mm:
2124         (leakMailQuirksUserScriptPath): Renamed to indicate that this function
2125         leaks an NSString.
2126         (-[WebView _injectMailQuirksScript]): Moved a static initialization from
2127         a separate class method into the only method that used it and removed
2128         the now-unnecessary class method.
2129
2130 2010-10-12  Eric Seidel  <eric@webkit.org>
2131
2132         Reviewed by Darin Adler.
2133
2134         REGRESSION (new parser): Leopard/Tiger Mail <head>/<body> quirk is gone
2135         https://bugs.webkit.org/show_bug.cgi?id=45693
2136
2137         Re-implement this former WebCore parser quirk as a
2138         Mac-only userscript-based quirk.  As far as I can tell
2139         from Darin's description this should satisfy Mail's needs.
2140
2141         * Misc/MailQuirksUserScript.js: Added.
2142         * WebView/WebView.mm:
2143         (+[WebView _mailQuirksUserScript]):
2144         (-[WebView _injectMailQuirksScript]):
2145         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2146
2147 2010-10-12  Simon Fraser  <simon.fraser@apple.com>
2148
2149         Reviewed by Sam Weinig.
2150
2151         Add 'didDraw' callback for framerate tracking
2152         https://bugs.webkit.org/show_bug.cgi?id=47478
2153
2154         Add a callback at the end of -[WebHTMLView drawRect:] so
2155         a delegate can get notified when a draw happens.
2156         
2157         * WebView/WebHTMLView.mm:
2158         (-[WebHTMLView drawRect:]):
2159         * WebView/WebUIDelegatePrivate.h:
2160
2161 2010-10-11  Anders Carlsson  <andersca@apple.com>
2162
2163         Reviewed by Darin Adler.
2164
2165         Remove WebIconFetcher from WebKit and IconFetcher from WebCore
2166         https://bugs.webkit.org/show_bug.cgi?id=47523
2167
2168         Remove all traces of the WebKit WebIconFetcher class. It's SPI that nobody uses.
2169
2170         * Misc/WebIconFetcher.h: Removed.
2171         * Misc/WebIconFetcher.mm: Removed.
2172         * Misc/WebIconFetcherInternal.h: Removed.
2173         * WebView/WebFrame.mm:
2174         * WebView/WebFramePrivate.h:
2175
2176 2010-10-11  Jessie Berlin  <jberlin@apple.com>
2177
2178         Reviewed by Darin Adler.
2179
2180         Add Private API for creating a WebKit2 WebSerializedScriptValue from the internal
2181         representation of a WebKit1 WebSerializedJSValue.
2182         https://bugs.webkit.org/show_bug.cgi?id=47439
2183
2184         * WebView/WebSerializedJSValue.mm:
2185         (-[WebSerializedJSValue internalRepresentation]):
2186         * WebView/WebSerializedJSValuePrivate.h:
2187
2188 2010-10-07  Jessie Berlin  <jberlin@apple.com>
2189
2190         Reviewed by Sam Weinig.
2191
2192         Add Private API for creating a WebKit1 WebSerializedJSValue from the internal
2193         representation of a WebKit2 WebSerializedScriptValue.
2194         https://bugs.webkit.org/show_bug.cgi?id=47390
2195
2196         * WebView/WebSerializedJSValue.mm:
2197         (-[WebSerializedJSValue initWithInternalRepresentation:]):
2198         Set the WebSerializedJSValuePrivate's WebCore::SerializedScriptValue to be the passed in
2199         internal representation.
2200         * WebView/WebSerializedJSValuePrivate.h: Added.
2201
2202 2010-10-07  Antonio Gomes  <agomes@rim.com>
2203
2204         Reviewed by Simon Fraser.
2205
2206         [Mac] [DRT] implement setSpatialNavigationEnabled
2207         https://bugs.webkit.org/show_bug.cgi?id=47291
2208
2209         Added the needed bits to make it possible to enabled spatial navigation
2210         for the Mac port. For now it is being only used by DRT.
2211
2212         * WebView/WebPreferenceKeysPrivate.h:
2213         * WebView/WebPreferences.mm:
2214         (+[WebPreferences initialize]):
2215         (-[WebPreferences isSpatialNavigationEnabled]):
2216         (-[WebPreferences setSpatialNavigationEnabled:]):
2217         * WebView/WebPreferencesPrivate.h:
2218         * WebView/WebView.mm:
2219         (-[WebView _preferencesChangedNotification:]):
2220
2221 2010-10-07  Jer Noble  <jer.noble@apple.com>
2222
2223         Fix the Leopard 64-bit build.
2224
2225         * Configurations/WebKit.xcconfig: Add CoreServices.framework/Frameworks to the 
2226             framework search path.
2227         * WebView/WebVideoFullscreenController.mm: Explicitly import <OSStatus/Power.h>.
2228
2229 2010-10-06  Jer Noble  <jer.noble@apple.com>
2230
2231         Reviewed by Darin Adler.
2232
2233         Screensaver starts while watching fullscreen playback.
2234         https://bugs.webkit.org/show_bug.cgi?id=47299
2235         <rdar://problem/8478956>
2236
2237         To disable the Screen Saver, we need to periodically call UpdateSystemActivity().  
2238
2239         * WebView/WebVideoFullscreenController.h: Added _tickleTimer.
2240         * WebView/WebVideoFullscreenController.mm:
2241         (-[WebVideoFullscreenController dealloc]): Invalidate _tickleTimer.
2242         (-[WebVideoFullscreenController _enableTickleTimer]): Create _tickleTimer. 
2243         (-[WebVideoFullscreenController _disableTickleTimer]): Invalidate _tickleTimer.
2244         (-[WebVideoFullscreenController _tickleTimerFired]): Call UpdateSystemActivity().
2245         (-[WebVideoFullscreenController updatePowerAssertions]): Call _enableTickleTimer 
2246             or _disableTickleTimer.
2247
2248 2010-10-05  Philippe Normand  <pnormand@igalia.com>
2249
2250         Reviewed by Martin Robinson.
2251
2252         check for ENABLE(GLIB_SUPPORT) in WebView
2253         https://bugs.webkit.org/show_bug.cgi?id=46788
2254
2255         Use ENABLE(GLIB_SUPPORT) in WebView to guard the glib runloop observer.
2256
2257         * WebView/WebView.mm:
2258         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2259         (-[WebView _close]):
2260         * WebView/WebViewData.h:
2261         * WebView/WebViewInternal.h:
2262
2263 2010-10-01  Anders Carlsson  <andersca@apple.com>
2264
2265         Fix Snow Leopard build.
2266
2267         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2268         (WebKit::NetscapePluginInstanceProxy::getProxy):
2269
2270 2010-10-01  Anders Carlsson  <andersca@apple.com>
2271
2272         Reviewed by Dan Bernstein.
2273
2274         Add proxy server query function proxyServersForURL and change the Mac plug-in code to use it
2275         https://bugs.webkit.org/show_bug.cgi?id=47022
2276         <rdar://problem/8504712>
2277
2278         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2279         (WebKit::NetscapePluginInstanceProxy::getProxy):
2280         * Plugins/WebBaseNetscapePluginView.h:
2281         * Plugins/WebBaseNetscapePluginView.mm:
2282         * Plugins/WebNetscapePluginView.mm:
2283         (-[WebNetscapePluginView getVariable:forURL:value:length:]):
2284
2285 2010-09-30  Darin Adler  <darin@apple.com>
2286
2287         Reviewed by Sam Weinig.
2288
2289         Remove remaining calls to deprecatedParseURL
2290         https://bugs.webkit.org/show_bug.cgi?id=26599
2291
2292         * DOM/WebDOMOperations.mm:
2293         (-[DOMDocument URLWithAttributeString:]):
2294         * WebCoreSupport/WebFrameLoaderClient.mm:
2295         (WebFrameLoaderClient::createPlugin):
2296         Call stripLeadingAndTrailingHTMLSpaces instead of deprecatedParseURL.
2297
2298 2010-09-30  Anders Carlsson  <andersca@apple.com>
2299
2300         Reviewed by Darin Adler.
2301
2302         -[DOMDocument _documentRange] throws an exception if there is no document element
2303         https://bugs.webkit.org/show_bug.cgi?id=46934
2304         <rdar://problem/8169260>
2305
2306         If there is no document element, just return an empty range. Otherwise we'll try to call
2307         Range::selectNode with a null Node which will throw a NOT_FOUND exception.
2308
2309         * DOM/WebDOMOperations.mm:
2310         (-[DOMDocument _documentRange]):
2311
2312 2010-09-30  Chris Marrin  <cmarrin@apple.com>
2313
2314         Reviewed by Simon Fraser.
2315
2316         Make 2D accelerated canvas rendering build on Mac
2317         https://bugs.webkit.org/show_bug.cgi?id=46007
2318         
2319         Added ACCELERATED_2D_CANVAS to FeatureDefines
2320
2321         * Configurations/FeatureDefines.xcconfig:
2322
2323 2010-09-30  Dan Bernstein  <mitz@apple.com>
2324
2325         Reviewed by John Sullivan.
2326
2327         Add printing SPI allowing full control over shrink-to-fit
2328         https://bugs.webkit.org/show_bug.cgi?id=46877
2329
2330         * WebView/WebHTMLView.mm:
2331         (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]): Added.
2332         * WebView/WebHTMLViewPrivate.h:
2333
2334 2010-09-28  Johnny Ding  <jnd@chromium.org>
2335
2336         Reviewed by Adam Barth.
2337
2338         https://bugs.webkit.org/show_bug.cgi?id=41292
2339         Some windowed plugins did not handle events through EventHandler, so we
2340         never set right gesture state for those events.
2341         This change is to set right allowPopupsFromPlugin flag to current
2342         execution frame, so WeKit can always get right gesture state on Mac.
2343         From Mac Snow Leopard, the plugin is run under "WebKitPluginHost,app"
2344         process, that process passes the allowPopupsFromPlugin flag to
2345         WKPCEvaluate(in NetscapePluginHostProxy.mm), then flag is set in
2346         NetscapePluginInstanceProxy::evaluate.
2347
2348         * Plugins/WebNetscapePluginView.mm:
2349         (-[WebNetscapePluginView sendEvent:isDrawRect:]):
2350
2351 2010-09-28  Jenn Braithwaite  <jennb@chromium.org>
2352
2353         Reviewed by Dmitry Titov.
2354
2355         Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
2356         https://bugs.webkit.org/show_bug.cgi?id=46663
2357
2358         * WebCoreSupport/WebFrameLoaderClient.h:
2359         * WebCoreSupport/WebFrameLoaderClient.mm:
2360         (WebFrameLoaderClient::didTransferChildFrameToNewDocument):
2361
2362 2010-09-26  Antonio Gomes  <agomes@rim.com>
2363
2364         Reviewed by Kenneth Rohde Christiansen.
2365
2366         DRT/Mac nodesFromRect support
2367
2368         [Mac][DRT] Implement LayoutTestController::nodesFromRect
2369         https://bugs.webkit.org/show_bug.cgi?id=46580
2370
2371         Implement nodesFromRect as a private method to access non-exposed Document
2372         methods, similarly to computedStyleIncludingVisitedInfo.
2373
2374         * WebView/WebView.mm: Added JSDocument.h and JSNodeList.h to the include list.
2375         These headers makes it possible to:
2376         1) Get a Document off of a JSDocument;
2377         2) Call toJS function, defined in JSNodeList.cpp|h so we can convert RefPtr<NodeList>
2378         gotten from Document::nodesFromRect to JS bindings.
2379         (-[WebView _nodesFromRect:forDocument:x:y:hPadding:vPadding:ignoreClipping:]):
2380         * WebView/WebViewPrivate.h: Added nodesFromRect method to access methods of the
2381         Document class not exposed to JavaScript. It works similarly to computedStyleIncludingVisitedInfo.
2382
2383 2010-09-24  Jia Pu  <jpu@apple.com>
2384
2385         Reviewed by Dan Bernstein.
2386
2387         automaticSpellingCorrectionEnabled isn't updated.
2388         https://bugs.webkit.org/show_bug.cgi?id=46486
2389         <rdar://problem/8475212>
2390
2391         * WebView/WebView.mm:
2392         (+[WebView initialize]): Should update "automaticSpellingCorrectionEnabled"
2393           instead of "automaticTextReplacementEnabled".
2394
2395 2010-09-23  Alexey Proskuryakov  <ap@apple.com>
2396
2397         Reviewed by Darin Adler.
2398
2399         https://bugs.webkit.org/show_bug.cgi?id=46380
2400         REGRESSION: Crash when downloading a file
2401
2402         Downloading cannot be tested in DRT.
2403
2404         * Misc/WebNSFileManagerExtras.m: (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
2405         Don't copy null strings.
2406
2407 2010-09-24  Ilya Tikhonovsky  <loislo@chromium.org>
2408
2409         Reviewed by Yury Semikhatsky.
2410
2411         Web Inspector: CRASH at node highlight on MAC Safari.
2412         1) run-safari --debug
2413         2) open inspector
2414         3) open elements panel
2415         4) hover mouse over elements panel items multiple times
2416         5) CRASH
2417         Looks like it is a race condition. WebNodeHighlightView doesn't check
2418         the pointer to WebNodeHighligh object and it can be nil.
2419
2420         https://bugs.webkit.org/show_bug.cgi?id=46261
2421
2422         * WebInspector/WebNodeHighlightView.mm:
2423         (-[WebNodeHighlightView drawRect:]):
2424
2425 2010-09-23  Andy Estes  <aestes@apple.com>
2426
2427         Reviewed by Darin Adler.
2428
2429         REGRESSION (r61285): some Dashboard widgets are always invisible due to
2430         HTML parser changes.
2431         https://bugs.webkit.org/show_bug.cgi?id=46435
2432
2433         Enable pre-HTML5 parser quirks if Dashboard is in backward compatibility
2434         mode.
2435
2436         * WebView/WebView.mm:
2437         (-[WebView _needsPreHTML5ParserQuirks]): Renamed from
2438         shouldUsePreHTML5ParserQuirks(). Return true if
2439         WebCore::Settings::usesDashboardCompatibilityMode() is true.
2440         (-[WebView _preferencesChangedNotification:]):
2441         (-[WebView _setDashboardBehavior:to:]): Enable pre-HTML5 parser quirks
2442         if Dashboard behavior is set to backward compatibility mode.
2443
2444 2010-09-23  Matthew Delaney  <mdelaney@apple.com>
2445
2446         Reviewed by Simon Fraser.
2447
2448         Reduce minimum DOMTimer interval
2449         https://bugs.webkit.org/show_bug.cgi?id=45362
2450
2451         * WebView/WebView.mm:
2452         Updating set interval call to use Settings' static version inside
2453         one time init block.
2454
2455 2010-09-22  Andy Estes  <aestes@apple.com>
2456
2457         Reviewed by Darin Adler.
2458
2459         REGRESSION (r61285): Microsoft Entourage 2008 does not invoke My Day window
2460         https://bugs.webkit.org/show_bug.cgi?id=46334
2461
2462         Microsoft My Day loads scripts using self-closing script tags, markup
2463         which is incompatible with the HTML5 parser. Enable parser quirks for
2464         this application.
2465
2466         * WebView/WebView.mm:
2467         (shouldUsePreHTML5ParserQuirks): Return true if the application is
2468         Microsoft My Day and was linked against a version of WebKit prior to the
2469         introduction of the HTML5 parser.
2470
2471 2010-09-23  Nate Chapin  <japhet@chromium.org>
2472
2473         Reviewed by Darin Fisher.
2474
2475         Add hyperlink auditing settings (i.e., <a ping>).
2476         https://bugs.webkit.org/show_bug.cgi?id=30458
2477
2478         * WebView/WebPreferenceKeysPrivate.h:
2479         * WebView/WebPreferences.mm:
2480         (+[WebPreferences initialize]):
2481         (-[WebPreferences setMemoryInfoEnabled:]):
2482         (-[WebPreferences hyperlinkAuditingEnabled]):
2483         (-[WebPreferences setHyperlinkAuditingEnabled:]):
2484         * WebView/WebPreferencesPrivate.h:
2485         * WebView/WebView.mm:
2486         (-[WebView _preferencesChangedNotification:]):
2487
2488 2010-09-22  Alexey Proskuryakov  <ap@apple.com>
2489
2490         Reviewed by Anders Carlsson.
2491
2492         https://bugs.webkit.org/show_bug.cgi?id=43667
2493         ASSERT failure in NetscapePluginInstanceProxy::disconnectStream
2494
2495         Test: plugins/get-javascript-url.html
2496
2497         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2498         (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript): Add the stream to m_streams, just
2499         like any other one.
2500
2501 2010-09-21  Darin Adler  <darin@apple.com>
2502
2503         Reviewed by Anders Carlsson.
2504
2505         Fix some Objective-C GC problems and use RetainPtr instead of HardRetain/Release
2506         https://bugs.webkit.org/show_bug.cgi?id=46220
2507
2508         * Misc/WebNSFileManagerExtras.m:
2509         (setMetaData): Use CFRelease instead of HardRelease.
2510         (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Use CFStringCreateCopy
2511         instead of -[NSObject copy] combined with HardRetainWithNSRelease.
2512
2513 2010-09-22  Balazs Kelemen  <kb@inf.u-szeged.hu>
2514
2515         Reviewed by Kenneth Rohde Christiansen.
2516
2517         PluginStrategy should satisfy the needs of Qt
2518         https://bugs.webkit.org/show_bug.cgi?id=45857
2519         No new functionality so no new tests.
2520
2521         * WebCoreSupport/WebPlatformStrategies.h:
2522         * WebCoreSupport/WebPlatformStrategies.mm:
2523         (WebPlatformStrategies::getPluginInfo):
2524
2525 2010-09-22  Paul Knight  <pknight@apple.com>
2526
2527         Reviewed by Simon Fraser.
2528
2529         -[WebView _scheduleCompositingLayerSync] should wake the run loop
2530         https://bugs.webkit.org/show_bug.cgi?id=46226
2531
2532         Call CFRunLoopWakeUp to make sure the run loop is not sleeping, which could delay layer painting.
2533
2534         * WebView/WebView.mm:
2535         (-[WebView _scheduleCompositingLayerSync]):
2536
2537 2010-09-21  Andy Estes  <aestes@apple.com>
2538
2539         Reviewed by Darin Adler.
2540
2541         REGRESSION (r61285): AIM 2.1.296: Code rendered as text in Welcome screen
2542         https://bugs.webkit.org/show_bug.cgi?id=46134
2543
2544         AIM clients linked against versions of WebKit prior to the introduction
2545         of the HTML5 parser contain markup incompatible with the new parser.
2546         Enable parser quirks in this case to remain compatible with these
2547         clients.
2548
2549         * WebView/WebView.mm:
2550         (shouldUsePreHTML5ParserQuirks): Returns true if the embedding
2551         application is AIM and was linked against a version of WebKit prior to
2552         the introduction of the HTML5 parser, or if the
2553         WebKitPreHTML5ParserQuirks WebPreference is enabled.
2554         (-[WebView _preferencesChangedNotification:]): Call
2555         WebCore::Settings::setUsePreHTML5ParserQuirks().
2556
2557 2010-09-21  Steve Block  <steveblock@google.com>
2558
2559         Reviewed by Jeremy Orlow.
2560
2561         DeviceOrientationClient and DeviceMotionClient should have controllerDestroyed() methods
2562         https://bugs.webkit.org/show_bug.cgi?id=45891
2563
2564         Implements WebDeviceOrientationClient::deviceOrientationControllerDestroyed to delete the client.
2565
2566         * WebCoreSupport/WebDeviceOrientationClient.h:
2567         * WebCoreSupport/WebDeviceOrientationClient.mm:
2568         (WebDeviceOrientationClient::deviceOrientationControllerDestroyed):
2569
2570 2010-09-20  Philippe Normand  <pnormand@igalia.com>
2571
2572         Reviewed by Eric Carlson.
2573
2574         [GTK] enhanced context menu for media elements
2575         https://bugs.webkit.org/show_bug.cgi?id=45021
2576
2577         New localized strings for the media element context-menu.
2578
2579         * WebCoreSupport/WebPlatformStrategies.h:
2580         * WebCoreSupport/WebPlatformStrategies.mm:
2581         (WebPlatformStrategies::contextMenuItemTagOpenVideoInNewWindow):
2582         (WebPlatformStrategies::contextMenuItemTagOpenAudioInNewWindow):
2583         (WebPlatformStrategies::contextMenuItemTagCopyVideoLinkToClipboard):
2584         (WebPlatformStrategies::contextMenuItemTagCopyAudioLinkToClipboard):
2585         (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
2586         (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
2587         (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
2588         (WebPlatformStrategies::contextMenuItemTagMediaPlay):
2589         (WebPlatformStrategies::contextMenuItemTagMediaPause):
2590         (WebPlatformStrategies::contextMenuItemTagMediaMute):
2591
2592 2010-09-20  Andy Estes  <aestes@apple.com>
2593
2594         Reviewed by Adam Barth.
2595
2596         REGRESSION (HTML5 Parser): Pages broken due to <tag<tag> parsing changes
2597         https://bugs.webkit.org/show_bug.cgi?id=40961
2598
2599         Implement WebKitUsePreHTML5ParserQuirks preference.
2600
2601         * WebView/WebPreferenceKeysPrivate.h:
2602         * WebView/WebPreferences.mm:
2603         (+[WebPreferences initialize]): Default WebKitUsePreHTML5ParserQuirks to
2604         false.
2605         (-[WebPreferences usePreHTML5ParserQuirks]):
2606         (-[WebPreferences setUsePreHTML5ParserQuirks:]):
2607         * WebView/WebPreferencesPrivate.h:
2608         * WebView/WebView.mm:
2609         (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings
2610         with the value of WebKitUsePreHTML5ParserQuirks when a preference
2611         changes.
2612
2613 2010-09-20  Enrica Casucci  <enrica@apple.com>
2614
2615         Reviewed by Sam Weinig.
2616
2617         Pasteboard doesn't work in WebKit2.
2618         https://bugs.webkit.org/show_bug.cgi?id=42317
2619         <rdar://problem/7660537>
2620
2621         Some changes to fix style inconsistencies.
2622         Added OBJC 2.0 style enumeration.
2623         
2624         * WebCoreSupport/WebEditorClient.h:
2625         * WebCoreSupport/WebEditorClient.mm:
2626         (WebEditorClient::userVisibleString):
2627         (createExcludedElementsForAttributedStringConversion):
2628         (WebEditorClient::documentFragmentFromAttributedString): Changed parameter to be
2629         a Vector of RefPtr.
2630         (WebEditorClient::setInsertionPasteboard):
2631         (WebEditorClient::pasteboardTypesForSelection):
2632
2633 2010-09-17  David Hyatt  <hyatt@apple.com>
2634
2635         Reviewed by Simon Fraser.
2636
2637         https://bugs.webkit.org/show_bug.cgi?id=45993, convert printing to the new pagination model.
2638
2639         Make printing store the page height in the RenderView and push that into the layout state to
2640         use the new pagination model.  The old pagination model is retained because it is still used
2641         for embedded WebViews.
2642
2643         * WebView/WebHTMLView.mm:
2644         (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
2645
2646 2010-09-17  Darin Adler  <darin@apple.com>
2647
2648         Reviewed by Sam Weinig.
2649
2650         REGRESSION (r60104): Zoom level is unexpectedly reset on page reload
2651         https://bugs.webkit.org/show_bug.cgi?id=42863
2652
2653         * WebView/WebView.mm:
2654         (-[WebView _setZoomMultiplier:isTextOnly:]):
2655         Call functions on Frame instead of FrameView.
2656
2657 2010-09-17  Matthew Delaney  <mdelaney@apple.com>
2658
2659         Reviewed by Simon Fraser.
2660
2661         Reduce minimum DOMTimer interval
2662         https://bugs.webkit.org/show_bug.cgi?id=45362
2663
2664         * WebView/WebView.mm: Added in a call to set the mimimum allowed DOMTimer to 4ms.
2665
2666 2010-09-17  Chris Marrin  <cmarrin@apple.com>
2667
2668         Reviewed by Simon Fraser.
2669
2670         Add WebKitAccelerated2dCanvasEnabled flag to WebKit for Mac
2671         https://bugs.webkit.org/show_bug.cgi?id=45911
2672
2673         * WebView/WebPreferenceKeysPrivate.h:
2674         * WebView/WebPreferences.mm:
2675         (+[WebPreferences initialize]):
2676         (-[WebPreferences accelerated2dCanvasEnabled]):
2677         (-[WebPreferences setAccelerated2dCanvasEnabled:]):
2678         * WebView/WebPreferencesPrivate.h:
2679         * WebView/WebView.mm:
2680         (-[WebView _preferencesChangedNotification:]):
2681
2682 2010-09-17  Jia Pu  <jpu@apple.com>
2683
2684         Reviewed by Dan Bernstein.
2685
2686         WebKit should use system wide spell checking preference when application specific one isn't set.
2687         https://bugs.webkit.org/show_bug.cgi?id=45789
2688         <rdar://problem/8416041>
2689
2690         * WebView/WebView.mm:
2691         (+[WebView initialize]): Use system wide autocorrection and text substitution preferences
2692           when the application level preferences are not set.
2693
2694 2010-09-16  John Sullivan  <sullivan@apple.com>
2695
2696         Reviewed by Darin Adler.
2697
2698         <rdar://problem/8395558>
2699         https://bugs.webkit.org/show_bug.cgi?id=45938
2700         _web_makePluginViewsPerformSelector:: mutates subviews array while iterating it
2701
2702         * WebView/WebHTMLView.mm:
2703         (-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]):
2704         Converted from -[NSArray _web_makePluginViewsPerformSelector:withObject:]. The old method
2705         was only ever called on the result of -[WebHTMLView subviews]. By moving that knowledge into
2706         this helper method, it can't be used incorrectly. Now it makes a copy of [WebHTMLView subviews]
2707         before enumerating it, to ensure that the selector can't mutate the array being enumerated.
2708         (-[WebHTMLView viewWillMoveToHostWindow:]):
2709         Updated for _web_makePluginSubviewsPerformSelector:: signature change.
2710         (-[WebHTMLView viewDidMoveToHostWindow]):
2711         Ditto.
2712
2713 2010-09-16  Darin Adler  <darin@apple.com>
2714
2715         Reviewed by Andreas Kling.
2716
2717         Reduce use of HTMLInputElement::inputType so we can remove it later
2718         https://bugs.webkit.org/show_bug.cgi?id=45903
2719
2720         * WebView/WebHTMLRepresentation.mm:
2721         (-[WebHTMLRepresentation elementDoesAutoComplete:]): Use isPasswordField.
2722         (-[WebHTMLRepresentation elementIsPassword:]): Use isPasswordField.
2723
2724 2010-09-16  Patrick Gansterer  <paroga@paroga.com>
2725
2726         Reviewed by Darin Adler.
2727
2728         Always use a valid string when setting WebKitUserStyleSheetLocationPreferenceKey.
2729         https://bugs.webkit.org/show_bug.cgi?id=41510
2730
2731         This prevents usage of nil value, which would cause an uncaught exception.
2732
2733         * WebView/WebPreferences.mm:
2734         (-[WebPreferences setUserStyleSheetLocation:]):
2735
2736 2010-09-16  Dan Bernstein  <mitz@apple.com>
2737
2738         Reverted the previous change because r67628 has been reverted.
2739
2740         * WebCoreSupport/WebPlatformStrategies.h:
2741         * WebCoreSupport/WebPlatformStrategies.mm:
2742
2743 2010-09-16  Dan Bernstein  <mitz@apple.com>
2744
2745         Build fix after r67628. Added context menu item localizable strings for the items
2746         added in r67628, following equivalent menu items in Mac OS X when possible. However,
2747         this set of menu items does not make much sense for Mac OS X, and this should be
2748         addressed separately.
2749
2750         * WebCoreSupport/WebPlatformStrategies.h:
2751         * WebCoreSupport/WebPlatformStrategies.mm:
2752         (WebPlatformStrategies::contextMenuItemTagOpenMediaInNewWindow):
2753         (WebPlatformStrategies::contextMenuItemTagCopyMediaLinkToClipboard):
2754         (WebPlatformStrategies::contextMenuItemTagToggleMediaControls):
2755         (WebPlatformStrategies::contextMenuItemTagToggleMediaLoop):
2756         (WebPlatformStrategies::contextMenuItemTagEnterVideoFullscreen):
2757         (WebPlatformStrategies::contextMenuItemTagMediaPlay):
2758         (WebPlatformStrategies::contextMenuItemTagMediaPause):
2759         (WebPlatformStrategies::contextMenuItemTagMediaMute):
2760         (WebPlatformStrategies::contextMenuItemTagMediaUnMute):
2761
2762 2010-09-16  Eric Uhrhane  <ericu@chromium.org>
2763
2764         Reviewed by Jian Li.
2765
2766         Unify FILE_SYSTEM and FILE_WRITER enables under the name FILE_SYSTEM.
2767         https://bugs.webkit.org/show_bug.cgi?id=45798
2768
2769         * Configurations/FeatureDefines.xcconfig:
2770
2771 2010-09-15  Simon Fraser  <simon.fraser@apple.com>
2772
2773         Reviewed by Adam Roben.
2774
2775         https://bugs.webkit.org/show_bug.cgi?id=44715
2776         maps.google.com flips upside down when zooming map using trackpad in WebKit2 on Mac
2777
2778         Move geometry flipping to platform-specific code.
2779
2780         * WebView/WebHTMLView.mm:
2781         (-[WebHTMLView attachRootLayer:]):
2782
2783 2010-09-14  Jia Pu  <jpu@apple.com>
2784
2785         Reviewed by Dan Bernstein.
2786
2787         Only intercept ESC key press when autocorrection UI is visible.
2788         https://bugs.webkit.org/show_bug.cgi?id=45071
2789
2790         * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
2791           which provides an inteface to query whether autocorrection panel is shown.
2792
2793         * WebCoreSupport/WebEditorClient.mm:
2794         (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
2795           for invalid correction panel tag. Replaced -1 with this constant.
2796         (WebEditorClient::dismissCorrectionPanel): Ditto
2797         (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
2798
2799 2010-09-14  Mark Rowe  <mrowe@apple.com>
2800
2801         Reviewed by John Sullivan.
2802
2803         Part of <rdar://problem/8420003>.  Make it possible to override the version number used in linked-in-or-after checks.
2804
2805         * Misc/WebKitVersionChecks.h: Remove two unused functions from the header and add a method to set the overriden version.
2806         * Misc/WebKitVersionChecks.m:
2807         (WebKitLinkedOnOrAfter):
2808         (setWebKitLinkTimeVersion): Set the overridden version.
2809         (WebKitLinkTimeVersion): Return the overridden version if set, otherwise do the old thing.
2810         * WebView/WebPreferences.mm:
2811         (+[WebPreferences setWebKitLinkTimeVersion:]): Call through to set the overridden version.
2812         * WebView/WebPreferencesPrivate.h:
2813
2814 2010-09-14  Eric Seidel  <eric@webkit.org>
2815
2816         Unreviewed, reverting changes r67451 and r67451.
2817         Broke lots of builders.
2818
2819         Only intercept ESC key press when autocorrection UI is visible.
2820         https://bugs.webkit.org/show_bug.cgi?id=45071
2821
2822         * WebCoreSupport/WebEditorClient.h:
2823         * WebCoreSupport/WebEditorClient.mm:
2824         (WebEditorClient::WebEditorClient):
2825         (WebEditorClient::dismissCorrectionPanel):
2826
2827 2010-09-14  Jia Pu  <jpu@apple.com>
2828
2829         Reviewed by Dan Bernstein.
2830
2831         Only intercept ESC key press when autocorrection UI is visible.
2832         https://bugs.webkit.org/show_bug.cgi?id=45071
2833
2834         * WebCoreSupport/WebEditorClient.h: Added declaration of isShowingCorrectionPanel(),
2835           which provides an inteface to query whether autocorrection panel is shown.
2836
2837         * WebCoreSupport/WebEditorClient.mm:
2838         (WebEditorClient::WebEditorClient): Defined a constant, InvalidCorrectionPanelTag,
2839           for invalid correction panel tag. Replaced -1 with this constant.
2840         (WebEditorClient::dismissCorrectionPanel): Ditto
2841         (WebEditorClient::isShowingCorrectionPanel): Query whether autocorrection panel is shown.
2842
2843 2010-09-13  Darin Adler  <darin@apple.com>
2844
2845         Reviewed by Adam Barth.
2846
2847         Preparation for eliminating deprecatedParseURL
2848         https://bugs.webkit.org/show_bug.cgi?id=45695
2849
2850         * DOM/WebDOMOperations.mm:
2851         (-[DOMDocument webFrame]): Get rid of unneeded local variable.
2852         (-[DOMDocument URLWithAttributeString:]): Remove unhelpful comment.
2853
2854 2010-09-13  Enrica Casucci  <enrica@apple.com>
2855
2856         Reviewed by Sam Weinig.
2857
2858         Paste should be implemented in WebCore like Copy and Cut for Mac also.
2859         https://bugs.webkit.org/show_bug.cgi?id=45494
2860         <rdar://problem/7660537>
2861
2862         On the Mac platform, the implementation of the paste operation is all done
2863         at the WebKit level. In order to support it on WebKit2 it is necessary to
2864         refactor the code and move this functionality at the level of WebCore like
2865         we already have on Windows.
2866         The original code relies on some in AppKit functions that call back into
2867         WebKit causing problems in WebKit2. All this functionality has been moved
2868         at the level of the editor client where it can be dealt with appropriately.
2869
2870         * WebCoreSupport/WebEditorClient.h:
2871         * WebCoreSupport/WebEditorClient.mm:
2872         (excludedElementsForAttributedStringConversion):
2873         (WebEditorClient::documentFragmentFromAttributedString): Added.
2874         (WebEditorClient::setInsertionPasteboard):
2875         * WebCoreSupport/WebFrameLoaderClient.h:
2876         * WebCoreSupport/WebFrameLoaderClient.mm:
2877         (WebFrameLoaderClient::canShowMIMETypeAsHTML): Re-implemented at the level
2878         of the editor client.
2879         * WebView/WebHTMLView.mm: Removed paste method.
2880
2881 2010-09-13  John Sullivan  <sullivan@apple.com>
2882
2883         Reviewed by Adam Roben.
2884
2885         https://bugs.webkit.org/show_bug.cgi?id=45677
2886         [WebView canMarkAllTextMatches] can crash if called after [WebView close]
2887         
2888         <rdar://problem/8404890>
2889
2890         * WebView/WebView.mm:
2891         (-[WebView canMarkAllTextMatches]):
2892         Return NO immediately if the webview has already been closed. This was an overlooked
2893         case from the fix for 45175.
2894
2895 2010-09-10  MORITA Hajime  <morrita@google.com>
2896
2897         Reviewed by Tony Chang.
2898
2899         [Chromium] Implement textInputController.hasSpellingMarker() for Chromium
2900         https://bugs.webkit.org/show_bug.cgi?id=45441
2901
2902         Moved the actual logic of hasSpellingMarker into WebCore to share
2903         it with other ports.
2904
2905         * WebView/WebFrame.mm:
2906         (-[WebFrame hasSpellingMarker:length:]):
2907
2908 2010-09-11  Adam Barth  <abarth@webkit.org>
2909
2910         Reviewed by Sam Weinig.
2911
2912         Make SecurityOrigin::canDisplay an instance function
2913         https://bugs.webkit.org/show_bug.cgi?id=45219
2914
2915         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2916         (WebKit::NetscapePluginInstanceProxy::loadRequest):
2917         * Plugins/WebNetscapePluginStream.mm:
2918         (WebNetscapePluginStream::WebNetscapePluginStream):
2919         * Plugins/WebNetscapePluginView.mm:
2920         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2921         * Plugins/WebPluginContainerCheck.mm:
2922         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
2923         * WebView/WebFrame.mm:
2924         (-[WebFrame _allowsFollowingLink:]):
2925
2926 2010-09-10  Sam Weinig  <sam@webkit.org>
2927
2928         Reviewed by Darin Adler.
2929
2930         Remove unnecessary constraint in WebCore of choosing either text zoom or full page zoom.
2931         Precursor to <rdar://problem/7660657>
2932         https://bugs.webkit.org/show_bug.cgi?id=45522
2933
2934         * WebView/WebView.mm:
2935         (-[WebView _preferencesChangedNotification:]):
2936         (-[WebView _setZoomMultiplier:isTextOnly:]):
2937         (-[WebView _realZoomMultiplierIsTextOnly]):
2938         * WebView/WebViewData.h:
2939         * WebView/WebViewData.mm:
2940         (-[WebViewPrivate init]):
2941         Move tracking of text only zoom here from WebCore.
2942
2943 2010-09-10  Stephanie Lewis  <slewis@apple.com>
2944
2945         Reviewed by Alexey Proskuryakov.
2946
2947         Refactor JavaScriptCore memory statistics so that WebKit doesn't need to know about the JIT and
2948         other implementation details of JavaScriptCore.  Necessary to fix PPC build.
2949         
2950         https://bugs.webkit.org/show_bug.cgi?id=45528
2951
2952         * Misc/WebCoreStatistics.mm:
2953         (+[WebCoreStatistics memoryStatistics]):
2954
2955 2010-09-10  Darin Adler  <darin@apple.com>
2956
2957         Reviewed by Sam Weinig.
2958
2959         Move some Dashboard stuff from WebCore to WebKit along with a bit more FrameMac cleanup
2960         https://bugs.webkit.org/show_bug.cgi?id=45582
2961
2962         * MigrateHeaders.make: Removed WebDashboardRegion.h from the set of header to copy.
2963
2964         * WebCoreSupport/WebChromeClient.mm:
2965         (WebChromeClient::dashboardRegionsChanged): Changed this to call
2966         -[WebView _dashboardRegions] so we don't have two copies of that code.
2967
2968         * WebView/WebDashboardRegion.h: Copied from WebCore/page/mac/WebDashboardRegion.h.
2969         * WebView/WebDashboardRegion.mm: Copied from WebCore/page/mac/WebDashboardRegion.m.
2970
2971         * WebView/WebView.mm:
2972         (-[WebView _dashboardRegions]): Moved the code from Frame::dashboardRegions here.
2973
2974 2010-09-10  Adam Barth  <abarth@webkit.org>
2975
2976         Reviewed by Darin Fisher.
2977
2978         Move code from WebKit-layer to DocumentLoader
2979         https://bugs.webkit.org/show_bug.cgi?id=45569
2980
2981         This code is the most confused, but now should be a bit cleaner.
2982         There's still a magical fake-setting for creating renderers that needs
2983         to be cleaned up, but we can do that in a separate patch.
2984
2985         * WebView/WebFrame.mm:
2986         (-[WebFrame _commitData:]):
2987         * WebView/WebFrameInternal.h:
2988         * WebView/WebHTMLRepresentation.mm:
2989         (-[WebHTMLRepresentation receivedData:withDataSource:]):
2990         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
2991
2992 2010-09-09  Darin Adler  <darin@apple.com>
2993
2994         Reviewed by Adam Barth.
2995
2996         Move functions from Frame to SelectionController as planned
2997         https://bugs.webkit.org/show_bug.cgi?id=45508
2998
2999         * WebView/WebFrame.mm:
3000         (-[WebFrame _selectionGranularity]):
3001         (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
3002         (-[WebFrame _typingStyle]):
3003         (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
3004         * WebView/WebHTMLRepresentation.mm:
3005         (-[WebHTMLRepresentation currentForm]):
3006         * WebView/WebHTMLView.mm:
3007         (-[WebHTMLView jumpToSelection:]):
3008         (-[WebHTMLView centerSelectionInVisibleArea:]):
3009         (-[WebHTMLView _canSmartCopyOrDelete]):
3010         (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
3011         (-[WebHTMLView selectionRect]):
3012         (-[WebHTMLView selectionTextRects]):
3013         (-[WebHTMLView selectionImageRect]):
3014         * WebView/WebView.mm:
3015         (-[WebView setEditable:]):
3016         Call functions on selection().
3017
3018 2010-09-10  Adam Barth  <abarth@webkit.org>
3019
3020         Reviewed by Eric Seidel.
3021
3022         Main resource bytes shouldn't bounce through FrameLoader
3023         https://bugs.webkit.org/show_bug.cgi?id=45496
3024
3025         Now return the bytes to the DocumentLoader.
3026
3027         Previously, we were checking the document for null.  However, Frame can
3028         never have a null document, so this check is no longer needed.
3029
3030         * WebView/WebFrame.mm:
3031         (-[WebFrame _addData:]):
3032
3033 2010-09-09  John Therrell  <jtherrell@apple.com>
3034
3035         Reviewed by Alexey Proskuryakov.
3036
3037         Added statistics sampling and reporting for JavaScriptCore's RegisterFile and ExecutableAllocator classes
3038         https://bugs.webkit.org/show_bug.cgi?id=45134
3039
3040         Added ability to enable new JavaScriptCore statistics sampling and reporting for RegisterFile 
3041         and ExecutableAllocator classes. Added reporting of JavaScriptCore's stack committed memory 
3042         and JIT code committed memory statistics to WebCoreStatistics memoryStatistics.
3043
3044         * Misc/WebCoreStatistics.mm:
3045         (+[WebCoreStatistics memoryStatistics]):
3046         Added statistics reporting for JSC RegisterFile and ExecutableAllocator.
3047
3048 2010-09-09  Jer Noble  <jer.noble@apple.com>
3049
3050         Reviewed by Mark Rowe.
3051
3052         Use of ENABLE macro in WebUIDelegatePrivate.h breaks use from outside WebKit
3053         <rdar://problem/8412657>
3054
3055         * WebView/WebUIDelegatePrivate.h: Use ENABLE_FULLSCREEN_API instead of ENABLE(FULLSCREEN_API)
3056
3057 2010-09-08  Darin Adler  <darin@apple.com>
3058
3059         Reviewed by Adam Barth.
3060
3061         Move functions from Frame to Editor as planned
3062         https://bugs.webkit.org/show_bug.cgi?id=45218
3063
3064         * WebView/WebFrame.mm:
3065         (-[WebFrame _selectedString]):
3066         (-[WebFrame _firstRectForDOMRange:]):
3067         (-[WebFrame _markDOMRange]):
3068         (-[WebFrame _setTypingStyle:withUndoAction:]):
3069         * WebView/WebHTMLRepresentation.mm:
3070         (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
3071         * WebView/WebHTMLView.mm:
3072         (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
3073         (-[WebHTMLView toggleBaseWritingDirection:]):
3074         (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
3075         (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
3076         (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
3077         (-[WebHTMLView markedTextMatchesAreHighlighted]):
3078         * WebView/WebView.mm:
3079         (-[WebView setEditable:]):
3080         Changed call sites to use editor().
3081
3082 2010-09-08  MORITA Hajime  <morrita@google.com>
3083
3084         Reviewed by Ojan Vafai.
3085
3086         spellcheck does not check pasted text
3087         https://bugs.webkit.org/show_bug.cgi?id=40092
3088
3089         Implemented async spell-check APIs on WebEditorClient.
3090         The implementations are using [NSSpellChecker requestCheckingOfString]
3091         which is available only on Mac OS 10.6 or later.
3092         
3093         Note that [NSSpellChecker requestCheckingOfString] could invoke
3094         the callback block on on of their worker thread, so we need to
3095         return the result to the main thread where WebCore is running.
3096         For that purpose, we made WebEditorSpellCheckResponder class.
3097         
3098         Test: editing/spelling/spellcheck-pasted-text-001.html
3099         
3100         * WebCoreSupport/WebEditorClient.h:
3101         * WebCoreSupport/WebEditorClient.mm:
3102         (WebEditorClient::isAsynchronousSpellCheckingEnabled): Added.
3103         (-[WebEditorSpellCheckResponder initWithSender:WebCore::sequence:results:]): Added.
3104         (-[WebEditorSpellCheckResponder perform]): Added.
3105         (WebEditorClient::requestCheckingOfString): Added.
3106         * WebView/WebFramePrivate.h:
3107
3108 2010-09-08  MORITA Hajime  <morrita@google.com>
3109
3110         Reviewed by Tony Chang.
3111
3112         spelling underline gets lost on backspace
3113         https://bugs.webkit.org/show_bug.cgi?id=41423
3114
3115         Switched to use a anchorNode of the selection instead of a focused
3116         node for finer control of node selection in spellingNode():
3117         With the focused node, we cannot select other nodes but the first
3118         child of that node. In some case, we need to inspect these.
3119
3120         The API is only for LayoutTests, and the change is compatible for
3121         existing test cases.
3122         
3123         * WebView/WebFrame.mm:
3124         (spellingNode):
3125
3126 2010-09-08  Adam Barth  <abarth@webkit.org>
3127
3128         Rubber-stamped by Eric Seidel.
3129
3130         Rename DocLoader to CachedResourceLoader because that's what it does.
3131
3132         * WebView/WebFrame.mm:
3133
3134 2010-09-07  Anders Carlsson  <andersca@apple.com>
3135
3136         Reviewed by Oliver Hunt.
3137
3138         Fix clang++ build.
3139
3140         * Misc/WebLocalizableStrings.h:
3141         Fix a struct/tag mismatch.
3142
3143         * WebView/WebDeviceOrientationProviderMock.mm:
3144         (-[WebDeviceOrientationProviderMock init]):
3145         Remove stray semicolon.
3146
3147         * WebView/WebViewData.h:
3148         Remove unused class forward declaration.
3149
3150 2010-09-07  Anders Carlsson  <andersca@apple.com>
3151
3152         Reviewed by Darin Adler.
3153
3154         <rdar://problem/8381749> -Wcast-align warning emitted when building with clang
3155
3156         Remove the -Wcast-align-warning since it isn't really useful, and clang is more aggressive about warning than gcc.
3157         
3158         * Configurations/Base.xcconfig:
3159
3160 2010-09-06  Adam Barth  <abarth@webkit.org>
3161
3162         Reviewed by Darin Adler.
3163
3164         Rename SecurityOrigin::canLoad to canDisplay
3165         https://bugs.webkit.org/show_bug.cgi?id=45214
3166
3167         Propagate name change.
3168
3169         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3170         (WebKit::NetscapePluginInstanceProxy::loadRequest):
3171         * Plugins/WebNetscapePluginStream.mm:
3172         (WebNetscapePluginStream::WebNetscapePluginStream):
3173         * Plugins/WebNetscapePluginView.mm:
3174         (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
3175         * Plugins/WebPluginContainerCheck.mm:
3176         (-[WebPluginContainerCheck _isForbiddenFileLoad]):
3177         * WebView/WebFrame.mm:
3178         (-[WebFrame _allowsFollowingLink:]):
3179
3180 2010-09-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3181
3182         Reviewed by Darin Adler.
3183
3184         Add NetworkingContext to avoid layer violations
3185         https://bugs.webkit.org/show_bug.cgi?id=42292
3186
3187         Add Mac's specific implementation of FrameNetworkingContext.
3188
3189         * WebCoreSupport/WebFrameLoaderClient.h:
3190         * WebCoreSupport/WebFrameLoaderClient.mm:
3191         * WebCoreSupport/WebFrameNetworkingContext.mm:
3192         (WebFrameNetworkingContext::needsSiteSpecificQuirks):
3193         (WebFrameNetworkingContext::localFileContentSniffingEnabled):
3194         (WebFrameNetworkingContext::scheduledRunLoopPairs):
3195         (WebFrameNetworkingContext::blockedError):
3196
3197 2010-09-03  John Sullivan  <sullivan@apple.com>
3198
3199         Reviewed by Dan Bernstein.
3200         
3201         https://bugs.webkit.org/show_bug.cgi?id=45175
3202         [WebView unmarkAllTextMatches] will crash if the webview is already closed
3203
3204         Made this and related methods robust against being called when the WebView is closed.
3205
3206         * WebView/WebView.mm:
3207         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
3208         Bail out if the WebView is closed.
3209         (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
3210         Ditto.
3211         (-[WebView unmarkAllTextMatches]):
3212         Ditto.
3213         (-[WebView rectsForTextMatches]):
3214         Ditto.
3215
3216 2010-09-03  Hironori Bono  <hbono@chromium.org>
3217
3218         Reviewed by Kent Tamura.
3219
3220         Adds textInputController.hasSpellingMarker() to avoid using pixel tests for spellchecking tests
3221         and implements it for Mac.
3222         https://bugs.webkit.org/show_bug.cgi?id=41832
3223
3224         * WebView/WebFrame.mm: Implemented [WebFrame hasSpellingMarker:length:].
3225         (spellingNode):
3226         (-[WebFrame hasSpellingMarker:length:]):
3227         * WebView/WebFramePrivate.h: Added [WebFrame hasSpellingMarker:length:] so TextInputController can use it.
3228
3229 2010-09-02  Yury Semikhatsky  <yurys@chromium.org>
3230
3231         Reviewed by Pavel Feldman.
3232
3233         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
3234         https://bugs.webkit.org/show_bug.cgi?id=44230
3235
3236         * WebCoreSupport/WebInspectorClient.h:
3237         * WebCoreSupport/WebInspectorClient.mm:
3238         (WebInspectorFrontendClient::closeWindow):
3239         (WebInspectorFrontendClient::disconnectFromBackend):
3240         (-[WebInspectorWindowController windowShouldClose:]):
3241         (-[WebInspectorWindowController destroyInspectorView:]):
3242
3243 2010-09-02  Steve Block  <steveblock@google.com>
3244
3245         Reviewed by Adam Barth.
3246
3247         Hook up LayoutTestController.setMockDeviceOrientation() on Mac.
3248         https://bugs.webkit.org/show_bug.cgi?id=43181
3249
3250         This patch hooks up the mock device orientation client on Mac for use
3251         in DumpRenderTree.
3252
3253         The patch adds a new WebDeviceOrientationClient for Mac. This client acts
3254         as a proxy to either a real or mock device orientation provider, both of
3255         which implement a new WebDeviceOrientationProvider interface.
3256
3257         The provider is created by the embedder and passed to the WebView, from
3258         where WebDeviceOrientationClient can access it.
3259
3260         The mock provider, WebDeviceOrientationProviderMock, is a wrapper around
3261         the existing WebCore mock.
3262
3263         * WebCoreSupport/WebDeviceOrientationClient.h: Added.
3264         * WebCoreSupport/WebDeviceOrientationClient.mm: Added.
3265         (WebDeviceOrientationClient::WebDeviceOrientationClient):
3266         (WebDeviceOrientationClient::setController):
3267         (WebDeviceOrientationClient::startUpdating):
3268         (WebDeviceOrientationClient::stopUpdating):
3269         (WebDeviceOrientationClient::lastOrientation):
3270         * WebKit.exp:
3271         * WebView/WebDeviceOrientation.h: Added.
3272         * WebView/WebDeviceOrientation.mm: Added.
3273         (-[WebDeviceOrientation initWithCoreDeviceOrientation:WebCore::]):
3274         (core):
3275         (-[WebDeviceOrientation initWithCanProvideAlpha:alpha:canProvideBeta:beta:canProvideGamma:gamma:]):
3276         (-[WebDeviceOrientation dealloc]):
3277         * WebView/WebDeviceOrientationInternal.h: Added.
3278         * WebView/WebDeviceOrientationProvider.h: Added.
3279         * WebView/WebDeviceOrientationProviderMock.h: Added.
3280         * WebView/WebDeviceOrientationProviderMock.mm: Added.
3281         (-[WebDeviceOrientationProviderMockInternal setOrientation:]):
3282         (-[WebDeviceOrientationProviderMockInternal setController:]):
3283         (-[WebDeviceOrientationProviderMockInternal startUpdating]):
3284         (-[WebDeviceOrientationProviderMockInternal stopUpdating]):
3285         (-[WebDeviceOrientationProviderMockInternal lastOrientation]):
3286         (-[WebDeviceOrientationProviderMock init]):
3287         (-[WebDeviceOrientationProviderMock dealloc]):
3288         (-[WebDeviceOrientationProviderMock setOrientation:]):
3289         (-[WebDeviceOrientationProviderMock setController:]):
3290         (-[WebDeviceOrientationProviderMock startUpdating]):
3291         (-[WebDeviceOrientationProviderMock stopUpdating]):
3292         (-[WebDeviceOrientationProviderMock lastOrientation]):
3293         * WebView/WebDeviceOrientationProviderMockInternal.h: Added.
3294         * WebView/WebView.mm:
3295         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3296         (-[WebView _setDeviceOrientationProvider:]):
3297         (-[WebView _deviceOrientationProvider]):
3298         * WebView/WebViewData.h:
3299         * WebView/WebViewPrivate.h:
3300
3301 2010-09-01  Jia Pu  <jpu@apple.com>
3302
3303         Reviewed by Dan Bernstein.
3304
3305         Add support for autocorrection UI on Mac OS X.
3306         https://bugs.webkit.org/show_bug.cgi?id=44958
3307         <rdar://problem/7326847>
3308
3309         See detailed high level description in WebCore/ChangeLog.
3310
3311         * WebCoreSupport/WebEditorClient.h: Added new member methods declared in
3312           EditorClient. Added m_correctionPanelTag to store the ID of current autocorrection UI object.
3313
3314         * WebCoreSupport/WebEditorClient.mm:
3315         (WebEditorClient::WebEditorClient): Initialize m_correctionPanelTag.
3316         (WebEditorClient::~WebEditorClient): Make sure the autocorrection UI is
3317           dismissed before destroying the object.
3318         (WebEditorClient::respondToChangedSelection): Dismiss autocorrection UI whenever the selection changes.
3319         (WebEditorClient::showCorrectionPanel): Show autocorrection UI.
3320         (WebEditorClient::dismissCorrectionPanel): Dismiss autocorrection UI.
3321
3322 2010-09-01  Mark Rowe  <mrowe@apple.com>
3323
3324         Reviewed by Adam Roben.
3325
3326         <rdar://problem/8374711> WebKit needs to compile without access to QuickDraw private headers.
3327
3328         * Carbon/HIViewAdapter.m:
3329         * Carbon/HIWebView.mm:
3330         * Misc/QuickDrawCompatibility.h: Added.
3331         * Plugins/WebNetscapePluginView.mm:
3332
3333 2010-08-31  Dave Hyatt  <hyatt@apple.com>
3334
3335         Reviewed by Sam Weinig.
3336
3337         https://bugs.webkit.org/show_bug.cgi?id=44863, disentangle style recalc from layout, so that
3338         the former can occur in more places without having to do the latter.
3339
3340         Eliminate Mac-specific code for style re-application and recursive layout/style updating in 
3341         favor of the cross-platform code that all the other ports use.
3342
3343         * Carbon/HIWebView.mm:
3344         (Draw):
3345         * WebCoreSupport/WebFrameLoaderClient.mm:
3346         (WebFrameLoaderClient::forceLayout):
3347         * WebView/WebHTMLView.mm:
3348         (-[WebHTMLView _propagateDirtyRectsToOpaqueAncestors]):
3349         (-[WebHTMLView viewWillDraw]):
3350         (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
3351         (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
3352         (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
3353         (-[WebHTMLView reapplyStyles]):
3354         (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]):
3355         (-[WebHTMLView setNeedsToApplyStyles:]):
3356         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
3357         (-[WebHTMLView _layoutIfNeeded]):
3358         (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
3359         * WebView/WebHTMLViewInternal.h:
3360         * WebView/WebView.mm:
3361         (-[WebView _viewWillDrawInternal]):
3362
3363 2010-08-31  Sam Weinig  <sam@webkit.org>
3364
3365         Reviewed by Darin Adler.
3366
3367         Add ability to count text matches without marking
3368         https://bugs.webkit.org/show_bug.cgi?id=43996
3369
3370         Safari needs to be able to count text matches without triggering lots of repainting.
3371         Rename markAllMatchesForText: to countMatchesForText: and add a markMatches:
3372         parameter.  For backwards compatibility markAllMatchesForText: calls
3373         countMatchesForText: and passes YES for markMatches:.
3374
3375         * WebView/WebDocumentInternal.h:
3376         * WebView/WebHTMLView.mm:
3377         (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
3378         (-[WebHTMLView countMatchesForText:caseSensitive:limit:markMatches:]):
3379         * WebView/WebPDFView.mm:
3380         (-[WebPDFView markAllMatchesForText:caseSensitive:limit:]):
3381         (-[WebPDFView countMatchesForText:caseSensitive:limit:markMatches:]):
3382         * WebView/WebView.mm:
3383         (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
3384         (-[WebView countMatchesForText:caseSensitive:highlight:limit:markMatches:]):
3385         * WebView/WebViewPrivate.h:
3386
3387 2010-08-31  Darin Adler  <darin@apple.com>
3388
3389         Reviewed by Anders Carlsson.
3390
3391         * WebInspector/WebInspectorFrontend.mm:
3392         (-[WebInspectorFrontend initWithFrontendClient:]): Remove a stray semicolon.
3393
3394 2010-08-30  Mark Rowe  <mrowe@apple.com>
3395
3396         Reviewed by Darin Adler.
3397
3398         <rdar://problem/8369736> WebKit build fails.
3399
3400         Temporarily add some extra includes in order to get things building again until <rdar://problem/8374711> is addressed.
3401
3402         * Carbon/HIViewAdapter.m:
3403         * Carbon/HIWebView.mm:
3404         * Plugins/WebNetscapePluginView.mm:
3405
3406 2010-08-30  Andy Estes  <aestes@apple.com>
3407
3408         Reviewed by Darin Adler.
3409
3410         REGRESSION (r66156): Sites using AppleConnect for authentication fail to log in.
3411         https://bugs.webkit.org/show_bug.cgi?id=44865
3412
3413         After http://trac.webkit.org/changeset/66156, sites using the AppleConnect plug-in
3414         for authentication fail to log in. This is due to a bug in AppleConnect that r66156
3415         exposed, but since this will have a significant impact on users of WebKit nightly
3416         builds, a plugin-specific hack should be added while the underlying issue is being
3417         addressed.
3418
3419         * WebCoreSupport/WebFrameLoaderClient.mm:
3420         (WebFrameLoaderClient::createPlugin): Convert plug-in parameter names to lowercase
3421         if the plugin is of type 'application/x-snkp'.
3422
3423 2010-08-27  Jer Noble  <jer.noble@apple.com>
3424
3425         Reviewed by Eric Carlson.
3426
3427         text/plain non-video files cause <video> to hang (while reading them?)
3428         https://bugs.webkit.org/show_bug.cgi?id=44212
3429         
3430         Add the new WebKitSystemInterface function WKQTMovieDisableComponent to
3431         the initialization routine.
3432
3433         * WebCoreSupport/WebSystemInterface.mm:
3434         (InitWebCoreSystemInterface): Initialize WKQTMovieDisableComponent.
3435
3436 2010-08-30  Sheriff Bot  <webkit.review.bot@gmail.com>
3437
3438         Unreviewed, rolling out r66198.
3439         http://trac.webkit.org/changeset/66198
3440         https://bugs.webkit.org/show_bug.cgi?id=44856
3441
3442         It made tests crash on Qt bot (Requested by Ossy_ on #webkit).
3443
3444         * WebCoreSupport/WebInspectorClient.h:
3445         * WebCoreSupport/WebInspectorClient.mm:
3446         (WebInspectorFrontendClient::closeWindow):
3447         (-[WebInspectorWindowController windowShouldClose:]):
3448         (-[WebInspectorWindowController destroyInspectorView]):
3449
3450 2010-08-28  Darin Adler  <darin@apple.com>
3451
3452         Reviewed by Sam Weinig.
3453
3454         Make an internal method used by Apple Mail into SPI
3455         https://bugs.webkit.org/show_bug.cgi?id=44832
3456         rdar://problem/5748951
3457
3458         * WebView/WebFrame.mm:
3459         (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Moved this method
3460         from the internal section to the private section.
3461         * WebView/WebFrameInternal.h: Moved the method declaration out of here.
3462         * WebView/WebFramePrivate.h: Moved the method declaration in here.
3463
3464 2010-08-27  Jer Noble  <jer.noble@apple.com>
3465
3466         Reviewed by Eric Carlson.
3467
3468         Add JavaScript API to allow a page to go fullscreen.
3469         rdar://problem/6867795
3470
3471         Added chrome client overrides which support entering and exiting full screen.  A new preference has
3472         been added (setFullScreenEnabled:) to control at runtime whether full screen support is enabled 
3473         (defaults to disabled).  Added a new WebKitFullScreenListener callback object which notifies WebCore
3474         when the chrome has started/finished its full screen animation.
3475
3476         * Configurations/FeatureDefines.xcconfig:
3477         * WebCoreSupport/WebChromeClient.h:
3478         * WebCoreSupport/WebChromeClient.mm:
3479         (WebChromeClient::supportsFullscreenForElement):
3480         (WebChromeClient::enterFullscreenForElement):
3481         (WebChromeClient::exitFullscreenForElement):
3482         (-[WebKitFullScreenListener initWithElement:]):
3483         (-[WebKitFullScreenListener webkitWillEnterFullScreen]):
3484         (-[WebKitFullScreenListener webkitDidEnterFullScreen]):
3485         (-[WebKitFullScreenListener webkitWillExitFullScreen]):
3486         (-[WebKitFullScreenListener webkitDidExitFullScreen]):
3487         * WebView/WebPreferenceKeysPrivate.h:
3488         * WebView/WebPreferences.h:
3489         * WebView/WebPreferences.mm:
3490         (+[WebPreferences initialize]):
3491         (-[WebPreferences setFullScreenEnabled:]):
3492         (-[WebPreferences fullScreenEnabled]):
3493         * WebView/WebUIDelegatePrivate.h:
3494         * WebView/WebView.mm:
3495         (-[WebView _preferencesChangedNotification:]):
3496
3497 2010-08-27  David Hyatt  <hyatt@apple.com>
3498
3499         Reviewed by Simon Fraser.
3500
3501         https://bugs.webkit.org/show_bug.cgi?id=44788, implement HTML5-compliant doctype switching.
3502
3503         Rename the various modes to match the HTML5 specification:
3504             ParseMode -> CompatibilityMode
3505             CompatMode -> QuirksMode
3506             AlmostStrictMode -> LimitedQuirksMode
3507             StrictMode -> NoQuirksMode
3508             
3509         Remove the htmlHacks() accessor from RenderStyle and make rendering code just go to the document
3510         instead.  This makes switching modes avoid forcing all RenderStyles to detect as changed.
3511         
3512         Clean up user stylesheets to minimize style recalculation when the mode is switched.
3513         
3514         Fix bugs with the propagation of correct modes in the HTML5 parser.  Make sure the
3515         dummy document created for fragment parsing properly inherits the real document's CompatibilityMode.
3516         Make sure the tree builder properly changes the insertion mode to "BeforeHTML" after handling
3517         a doctype token.
3518         
3519         determineParseMode -> setCompatibilityModeFromDoctype, and it now implements the HTML5 algorithm
3520         precisely.
3521
3522         * WebView/WebView.mm:
3523         (-[WebView _preferencesChangedNotification:]):
3524
3525 2010-08-27  Yury Semikhatsky  <yurys@chromium.org>
3526
3527         Reviewed by Pavel Feldman.
3528
3529         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
3530         https://bugs.webkit.org/show_bug.cgi?id=44230
3531
3532         * WebCoreSupport/WebInspectorClient.h:
3533         * WebCoreSupport/WebInspectorClient.mm:
3534         (WebInspectorFrontendClient::closeWindow):
3535         (WebInspectorFrontendClient::disconnectFromBackend):
3536         (-[WebInspectorWindowController windowShouldClose:]):
3537         (-[WebInspectorWindowController destroyInspectorView:]):
3538
3539 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
3540
3541         Unreviewed. Revert r66103 since Qt tests are failing.
3542
3543         * WebCoreSupport/WebInspectorClient.h:
3544         * WebCoreSupport/WebInspectorClient.mm:
3545         (WebInspectorFrontendClient::closeWindow):
3546         (-[WebInspectorWindowController windowShouldClose:]):
3547         (-[WebInspectorWindowController destroyInspectorView]):
3548
3549 2010-08-26  Yury Semikhatsky  <yurys@chromium.org>
3550
3551         Reviewed by Pavel Feldman.
3552
3553         REGRESSION: Crash occurs at objc_msgSend when closing a window that is displaying the web inspector
3554         https://bugs.webkit.org/show_bug.cgi?id=44230
3555
3556         * WebCoreSupport/WebInspectorClient.h:
3557         * WebCoreSupport/WebInspectorClient.mm:
3558         (WebInspectorFrontendClient::closeWindow):
3559         (WebInspectorFrontendClient::disconnectFromBackend):
3560         (-[WebInspectorWindowController windowShouldClose:]):
3561         (-[WebInspectorWindowController destroyInspectorView:]):
3562
3563 2010-08-24  Eric Seidel  <eric@webkit.org>
3564
3565         Reviewed by Adam Barth.
3566
3567         Remove HTML5 parser testing infrastructure now that we don't need it
3568         https://bugs.webkit.org/show_bug.cgi?id=44581
3569
3570         * WebView/WebPreferenceKeysPrivate.h:
3571         * WebView/WebPreferences.mm:
3572         (+[WebPreferences initialize]):
3573         * WebView/WebPreferencesPrivate.h:
3574         * WebView/WebView.mm:
3575         (-[WebView _preferencesChangedNotification:]):
3576
3577 2010-08-24  Sam Weinig  <sam@webkit.org>
3578
3579         Reviewed by Oliver Hunt.
3580
3581         Paste event fires twice for mac WebKit
3582         <rdar://problem/8094611>
3583         https://bugs.webkit.org/show_bug.cgi?id=44535
3584
3585         The mac implementation of paste in WebKit was accidentally calling 
3586         Editor::tryDHTMLPaste twice, once in -[WebHTMLView paste:] and once
3587         in Editor::pasteAsPlainText (which is called -[WebHTMLView paste:]).
3588         Use the new pasteAsPlainTextBypassingDHTML function to bypass the
3589         second call.
3590
3591         * WebView/WebHTMLView.mm:
3592         (-[WebHTMLView paste:]):
3593
3594 2010-08-24  Daniel Cheng  <dcheng@chromium.org>
3595
3596         Reviewed by Eric Seidel.
3597
3598         [chromium] Generate drag images for HTML elements and selections.
3599         https://bugs.webkit.org/show_bug.cgi?id=43449
3600
3601         Fix up calls to Frame::nodeImage, which has a new signature.
3602
3603         * Plugins/WebBaseNetscapePluginView.mm:
3604         (-[WebBaseNetscapePluginView halt]):
3605
3606 2010-08-23  Mike Thole  <mthole@apple.com>
3607
3608         Reviewed by Dan Bernstein.
3609
3610         WebPDFView should remove itself as the delegate of its PDFView before being dealloced
3611         https://bugs.webkit.org/show_bug.cgi?id=44441
3612
3613         * WebView/WebPDFView.mm:
3614         (-[WebPDFView dealloc]): Set the PDFView's delegate to nil.
3615
3616 2010-08-22  Daniel Bates  <dbates@rim.com>
3617
3618         Reviewed by Eric Seidel.
3619
3620         Encapsulate document marker management into DocumentMarkerController
3621         https://bugs.webkit.org/show_bug.cgi?id=44383
3622
3623         Modify call sites in the Apple Mac port to use DocumentMarkerController.
3624
3625         No functionality was changed, so no new tests.
3626
3627         * WebView/WebFrame.mm:
3628         (-[WebFrame _unmarkAllBadGrammar]):
3629         (-[WebFrame _unmarkAllMisspellings]):
3630         * WebView/WebHTMLView.mm:
3631         (-[WebHTMLView unmarkAllTextMatches]):
3632         (-[WebHTMLView rectsForTextMatches]):
3633
3634 2010-08-19  David Kilzer  <ddkilzer@apple.com>
3635
3636         <http://webkit.org/b/44285> Fix compilation with NETSCAPE_PLUGIN_API disabled
3637
3638         Reviewed by Joseph Pecoraro.
3639
3640         * Plugins/Hosted/HostedNetscapePluginStream.mm: Changed
3641         USE(PLUGIN_HOST_PROCESS) to
3642         USE(PLUGIN_HOST_PROCESS) && ENABLE(NETSCAPE_PLUGIN_API).
3643         * Plugins/Hosted/NetscapePluginHostManager.mm: Ditto.
3644         * Plugins/Hosted/NetscapePluginHostProxy.mm: Ditto.
3645         * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Ditto.
3646         * Plugins/Hosted/ProxyInstance.mm: Ditto.
3647         * Plugins/Hosted/WebHostedNetscapePluginView.mm: Ditto.
3648         * WebCoreSupport/WebChromeClient.mm: Ditto.
3649         (WebChromeClient::createWindow):
3650         * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
3651         (WebFrameLoaderClient::dispatchCreatePage):
3652         * WebView/WebHTMLView.mm:
3653         (needsCursorRectsSupportAtPoint): Added #if
3654         ENABLE(NETSCAPE_PLUGIN_API) and #endif macros as needed.
3655         * WebView/WebView.mm:
3656         (+[WebView _isNodeHaltedPlugin:]): Ditto.
3657         (+[WebView _hasPluginForNodeBeenHalted:]): Ditto.
3658         (+[WebView _restartHaltedPluginForNode:]): Ditto.
3659
3660 2010-08-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
3661
3662         Reviewed by Darin Adler.
3663
3664         Add NetworkingContext to avoid layer violations
3665         https://bugs.webkit.org/show_bug.cgi?id=42292
3666
3667         Preparation: Just add the files to the build system.
3668
3669         * WebCoreSupport/WebFrameNetworkingContext.h: Added.
3670         Placeholder with tentative code that might be changed when landing
3671         the rest of it.
3672         * WebCoreSupport/WebFrameNetworkingContext.mm: Added.
3673         Empty placeholder for now.
3674
3675 2010-08-17  Brady Eidson  <beidson@apple.com>
3676
3677         Reviewed by Sam Weinig.
3678
3679         Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
3680         <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
3681
3682         * WebView/WebView.mm:
3683         (-[WebView canGoBack]): Return false if loads are deferred.
3684         (-[WebView canGoForward]): Ditto.
3685
3686 2010-08-14  Joseph Pecoraro  <joepeck@webkit.org>
3687
3688         Reviewed by Pavel Feldman.
3689
3690         Web Inspector: -[WebInspector attach] and detach should work
3691         https://bugs.webkit.org/show_bug.cgi?id=43924
3692
3693         For actions that relate only to the Web Inspector's Frontend
3694         window (actions on the InspectorFrontendClient) the new Obj-C
3695         wrapper class WebInspectorFrontend can be used. For now, this
3696         is just attach and detach.
3697
3698         * WebCoreSupport/WebInspectorClient.mm:
3699         (WebInspectorClient::openInspectorFrontend): setup and attach the WebInspectorFrontend to the WebInspector.
3700         * WebInspector/WebInspector.h:
3701         * WebInspector/WebInspector.mm:
3702         (-[WebInspector dealloc]):
3703         (-[WebInspector attach:]): delegate to the frontend.
3704         (-[WebInspector detach:]): delegate to the frontend.
3705         (-[WebInspector setFrontend:]):
3706         * WebInspector/WebInspectorFrontend.h: Added.
3707         * WebInspector/WebInspectorFrontend.mm: Added.
3708         (-[WebInspectorFrontend initWithFrontendClient:]):
3709         (-[WebInspectorFrontend attach]):
3710         (-[WebInspectorFrontend detach]):
3711         * WebInspector/WebInspectorPrivate.h:
3712
3713 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
3714
3715         Rubber stamped by Sam Weinig.
3716         Switch String::/UString::ascii() to return a CString.
3717
3718         * Plugins/Hosted/ProxyInstance.mm:
3719         (WebKit::ProxyInstance::methodsNamed):
3720         (WebKit::ProxyInstance::fieldNamed):
3721
3722 2010-08-13  Gavin Barraclough  <barraclough@apple.com>
3723
3724         Reviewed by Sam Weinig
3725
3726         Unify UString::UTF8String() & String::utf8() methods,
3727         remove UString::cost() & make atArrayIndex a free function.
3728
3729         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3730         (WebKit::NetscapePluginInstanceProxy::enumerate):
3731
3732 2010-08-12  Sheriff Bot  <webkit.review.bot@gmail.com>
3733
3734         Unreviewed, rolling out r65295.
3735         http://trac.webkit.org/changeset/65295
3736         https://bugs.webkit.org/show_bug.cgi?id=43950
3737
3738         It broke 4 sputnik tests (Requested by Ossy on #webkit).
3739
3740         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3741         (WebKit::NetscapePluginInstanceProxy::enumerate):
3742
3743 2010-08-12  Gavin Barraclough  <barraclough@apple.com>
3744
3745         Reviewed by Sam Weinig
3746
3747         Unify UString::UTF8String() & String::utf8() methods,
3748         remove UString::cost() & make atArrayIndex a free function.
3749
3750         * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3751         (WebKit::NetscapePluginInstanceProxy::enumerate):
3752
3753 2010-08-12  Jeremy Orlow  <jorlow@chromium.org>
3754
3755         Revert for now
3756         https://bugs.webkit.org/show_bug.cgi?id=43794 
3757
3758         * WebView/WebView.mm:
3759         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3760         (-[WebView _preferencesChangedNotification:]):
3761
3762 2010-08-10  Jeremy Orlow  <jorlow@chromium.org>
3763
3764         Reviewed by Adam Barth.
3765
3766         Some settings are linked to the PageGroup not the Page.  Create a new class for those.
3767         https://bugs.webkit.org/show_bug.cgi?id=43794
3768
3769         Change WebView to use the new GroupSettings class rather than Settings for the
3770         settings that moved.  This is sub-optimal since the settings aren't really
3771         per-view, but we can't really change the API at this point.
3772
3773         * WebView/WebView.mm:
3774         (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
3775         (-[WebView _preferencesChangedNotification:]):
3776
3777 2010-08-11  Gavin Barraclough  <barraclough@apple.com>
3778
3779         Rubber stamps by Darin Adler & Sam Weinig.
3780
3781         Bug 43867 - Some UString cleanup
3782
3783         Change JSC::UString data(), size(), and from(), to characters(), length(), and number() to match WTF::String.
3784         Move string concatenation methods to a new header to simplify down UString.h.  Remove is8Bit().
3785
3786         * WebView/WebScriptDebugger.mm:
3787         (toNSString):
3788
3789 2010-08-10  David Hyatt  <hyatt@apple.com>
3790
3791         Reviewed by Dan Bernstein.
3792
3793         https://bugs.webkit.org/show_bug.cgi?id=43806, add ability to paginate screen content.
3794         
3795         Add SPI for entering and exiting screen pagination mode.  This is similar to printing mode but it can be done for on-screen
3796         content.
3797
3798         * WebView/WebHTMLView.mm:
3799         (-[WebHTMLView _web_setPrintingModeRecursive]):
3800         (-[WebHTMLView _web_clearPrintingModeRecursive]):
3801         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]):
3802         (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
3803         (-[WebHTMLView _endPrintMode]):
3804         (-[WebHTMLView _isInScreenPaginationMode]):
3805         (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
3806         (-[WebHTMLView _endScreenPaginationMode]):
3807         (-[WebHTMLView reapplyStyles]):
3808         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:paginateScreenContent:]):
3809         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
3810         (-[WebHTMLView setPageWidthForPrinting:]):
3811         * WebView/WebHTMLViewPrivate.h:
3812
3813 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
3814
3815         Build fix (update more includes)
3816
3817         * Plugins/Hosted/NetscapePluginHostManager.h:
3818
3819 2010-08-10  Chris Marrin  <cmarrin@apple.com>
3820
3821         Reviewed by Oliver Hunt.
3822
3823         Add suspendAnimations/resumeAnimation API to DRT
3824         https://bugs.webkit.org/show_bug.cgi?id=43733
3825         
3826         Mac specific API. Plumbs suspendAnimations/resumeAnimations down to WebCore.
3827
3828         * WebView/WebFrame.mm:
3829         (-[WebFrame _suspendAnimations]):
3830         (-[WebFrame _resumeAnimations]):
3831         * WebView/WebFramePrivate.h:
3832
3833 2010-08-10  Gavin Barraclough  <barraclough@apple.com>
3834
3835         Rubber stamped by Sam Weinig
3836
3837         Bug 43817 - Remove UString::Rep
3838         UString::Rep has for a long time been replaced by UStringImpl (Rep
3839         remaining as a typedef).  UStringImpl has since been removed too
3840         (unified with StringImpl). Remove Rep, rename rep() to impl() and
3841         m_rep to m_impl.  Also add impl() method to Identifier, and rename
3842         its UString member from _ustring to m_string.
3843
3844         * Plugins/Hosted/ProxyInstance.mm:
3845         (WebKit::ProxyInstance::methodsNamed):
3846         (WebKit::ProxyInstance::fieldNamed):
3847
3848 2010-08-06  Gavin Barraclough  <barraclough@apple.com>
3849
3850         Rubber stamped by Sam Weinig
3851
3852         Bug 43594 - Add string forwards to Forward.h
3853         This allows us to remove forward declarations for these classes from
3854         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
3855
3856         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3857         * Plugins/WebBaseNetscapePluginView.h:
3858         * WebCoreSupport/WebFrameLoaderClient.h:
3859         * WebCoreSupport/WebIconDatabaseClient.h:
3860         * WebCoreSupport/WebPluginHalterClient.h:
3861         * WebView/WebViewInternal.h:
3862
3863 2010-08-04  MORITA Hajime  <morrita@google.com>
3864
3865         Reviewed by Tony Chang.
3866
3867         Pasting should fire textInput event.
3868         https://bugs.webkit.org/show_bug.cgi?id=42958
3869
3870         On paste, invoke Editor instead of direct command invocation,
3871         which allows dispatching events before actual paste.
3872
3873         * WebView/WebHTMLView.mm:
3874         (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
3875
3876 2010-08-06  Yongjun Zhang  <yongjun_zhang@apple.com>
3877
3878         Reviewed by Eric Seidel.
3879
3880         add "const" to WebChromeClient::webView().
3881         https://bugs.webkit.org/show_bug.cgi?id=43631
3882
3883         Change WebChromeClient::webView() to be const because ChromeClient::didReceiveViewportArguments
3884         is const method now, and calling webView() inside port-specific didReceiveViewportArguments
3885         implementation fails compiling if webView() is not const.
3886
3887         * WebCoreSupport/WebChromeClient.h:
3888         (WebChromeClient::webView):
3889
3890 2010-08-06  Jessie Berlin  <jberlin@apple.com>
3891
3892         Roll out http://trac.webkit.org/changeset/64801, which broke the Safari Windows Build.
3893         Unreviewed.
3894
3895         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3896         * Plugins/WebBaseNetscapePluginView.h:
3897         * WebCoreSupport/WebFrameLoaderClient.h:
3898         * WebCoreSupport/WebIconDatabaseClient.h:
3899         * WebCoreSupport/WebPluginHalterClient.h:
3900         * WebView/WebViewInternal.h:
3901
3902 2010-08-05  Joseph Pecoraro  <joepeck@webkit.org>
3903
3904         Reviewed by David Kilzer.
3905
3906         Remove Invalid Asserts for Application Cache Quotas
3907         https://bugs.webkit.org/show_bug.cgi?id=43585
3908
3909         Removed Invalid ASSERTs that would always happen for quotas
3910         that were not noQuota().
3911
3912         * WebView/WebPreferences.mm:
3913         (-[WebPreferences applicationCacheTotalQuota]):
3914         (-[WebPreferences applicationCacheDefaultOriginQuota]):
3915
3916 2010-08-05  Gavin Barraclough  <barraclough@apple.com>
3917
3918         Rubber stamped by Sam Weinig
3919
3920         Bug 43594 - Add string forwards to Forward.h
3921         This allows us to remove forward declarations for these classes from
3922         WebCore/WebKit (a step in moving these class from WebCore:: to WTF::).
3923
3924         * Plugins/Hosted/NetscapePluginInstanceProxy.h:
3925         * Plugins/WebBaseNetscapePluginView.h:
3926         * WebCoreSupport/WebFrameLoaderClient.h:
3927         * WebCoreSupport/WebIconDatabaseClient.h:
3928         * WebCoreSupport/WebPluginHalterClient.h:
3929         * WebView/WebViewInternal.h:
3930
3931 2010-08-05  Jian Li  <jianli@chromium.org>
3932
3933         Reviewed by David Levin.
3934
3935         Unify blob related feature defines to ENABLE(BLOB).
3936         https://bugs.webkit.org/show_bug.cgi?id=43081
3937
3938         * Configurations/FeatureDefines.xcconfig:
3939
3940 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
3941
3942         Reviewed by David Kilzer.
3943
3944         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
3945         https://bugs.webkit.org/show_bug.cgi?id=40627
3946
3947         Part 6 - LayoutTest and Cleanup
3948
3949         * WebCoreSupport/WebApplicationCache.h:
3950         * WebCoreSupport/WebApplicationCache.mm:
3951         (+[WebApplicationCache setMaximumSize:]): refactor out deleting the application caches.
3952         (+[WebApplicationCache deleteAllApplicationCaches]): delete application caches.
3953
3954 2010-08-03  Joseph Pecoraro  <joepeck@webkit.org>
3955
3956         Reviewed by David Kilzer.
3957
3958         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
3959         https://bugs.webkit.org/show_bug.cgi?id=40627
3960
3961         Part 5 - Refactor Quota Management in WebSecurityOrigin into Managers
3962
3963         Per-Origin quotas exist for Databases and Application Caches. Clients
3964         given a WebSecurityOrigin have the ability to set the quota for any
3965         per-origin quota type. This puts quota management into an interface
3966         and WebSecurityOrigin allows access to quota managers for the
3967         different types of quotas.
3968
3969         This also deprecates the old methods on WebSecurityOrigin. They are
3970         left in for now to prevent breaking older clients.
3971
3972           The WebQuotaManager interface allows querying and modifying a
3973           per-origin quota. This is implemented for both Databases and
3974           Application Caches.
3975
3976         * Misc/WebQuotaManager.h: Added. Interface for quota management (usage, quota, setQuota).
3977         * Storage/WebDatabaseQuotaManager.h: Added.
3978         * Storage/WebDatabaseQuotaManager.mm: Added.
3979         (-[WebDatabaseQuotaManager origin]):
3980         (-[WebDatabaseQuotaManager usage]):
3981         (-[WebDatabaseQuotaManager quota]):
3982         (-[WebDatabaseQuotaManager setQuota:]):
3983         * Storage/WebDatabaseSecurityOrigin.h: Removed.
3984         * Storage/WebDatabaseSecurityOrigin.mm: Removed.
3985         * WebCoreSupport/WebApplicationCacheQuotaManager.h: Added.
3986         * WebCoreSupport/WebApplicationCacheQuotaManager.mm: Added.
3987         (-[WebApplicationCacheQuotaManager origin]):
3988         (-[WebApplicationCacheQuotaManager usage]):
3989         (-[WebApplicationCacheQuotaManager quota]):
3990         (-[WebApplicationCacheQuotaManager setQuota:]):
3991         * WebCoreSupport/WebSecurityOriginPrivate.h: Added a category to access managers. Deprecated old methods.
3992
3993           Remove the WebSecurityOrigin sub-classes. Managers are better.
3994
3995         * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Removed.
3996         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Removed.
3997
3998           Create the managers lazily. Change old style calls to make use
3999           of the managers.
4000
4001         * WebCoreSupport/WebChromeClient.mm:
4002         (WebChromeClient::exceededDatabaseQuota):
4003         (WebChromeClient::reachedApplicationCacheOriginQuota):
4004         * WebCoreSupport/WebSecurityOrigin.mm:
4005         (-[WebSecurityOrigin applicationCacheQuotaManager]):
4006         (-[WebSecurityOrigin databaseQuotaManager]):
4007         (-[WebSecurityOrigin dealloc]): release the managers if they exist.
4008
4009 2010-08-03  Alex Milowski  <alex@milowski.com>
4010
4011         Reviewed by Beth Dakin.
4012
4013         Changed the ENABLE_MATHML value to enable MathML by default.
4014
4015         * Configurations/FeatureDefines.xcconfig:
4016
4017 2010-08-02  Brady Eidson  <beidson@apple.com>
4018
4019         Reviewed by Anders Carlsson.
4020
4021         Add VisitedLinkStrategy for each platform to implement
4022         https://bugs.webkit.org/show_bug.cgi?id=43393
4023
4024         * WebCoreSupport/WebPlatformStrategies.h:
4025         * WebCoreSupport/WebPlatformStrategies.mm:
4026         (WebPlatformStrategies::createVisitedLinkStrategy):
4027         (WebPlatformStrategies::isLinkVisited): Call back into PageGroup's visited links.
4028         (WebPlatformStrategies::addVisitedLink): Ditto.
4029
4030 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
4031
4032         Reviewed by Darin Fisher.
4033
4034         PopupMenu refactoring in preparation to WebKit2
4035         https://bugs.webkit.org/show_bug.cgi?id=42592
4036
4037         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
4038         instances, concrete classes that inherit from ChromeClient needed to be changed to
4039         implement the new methods.
4040
4041         * WebCoreSupport/WebChromeClient.h:
4042         * WebCoreSupport/WebChromeClient.mm:
4043         (WebChromeClient::selectItemWritingDirectionIsNatural):
4044         (WebChromeClient::createPopupMenu):
4045         (WebChromeClient::createSearchPopupMenu):
4046
4047 2010-08-02  Jeremy Orlow  <jorlow@chromium.org>
4048
4049         Speculative revert of 64425 due to Chromium instability
4050         https://bugs.webkit.org/show_bug.cgi?id=43347
4051
4052         * WebCoreSupport/WebChromeClient.h:
4053         * WebCoreSupport/WebChromeClient.mm:
4054
4055 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
4056
4057         Reviewed by Darin Fisher.
4058
4059         PopupMenu refactoring in preparation to WebKit2
4060         https://bugs.webkit.org/show_bug.cgi?id=42592
4061
4062         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
4063         instances, concrete classes that inherit from ChromeClient needed to be changed to
4064         implement the new methods.
4065
4066         * WebCoreSupport/WebChromeClient.h:
4067         * WebCoreSupport/WebChromeClient.mm:
4068         (WebChromeClient::selectItemWritingDirectionIsNatural):
4069         (WebChromeClient::createPopupMenu):
4070         (WebChromeClient::createSearchPopupMenu):
4071
4072 2010-07-31  Sheriff Bot  <webkit.review.bot@gmail.com>
4073
4074         Unreviewed, rolling out r64422.
4075         http://trac.webkit.org/changeset/64422
4076         https://bugs.webkit.org/show_bug.cgi?id=43304
4077
4078         Build fixes are needed for Snow Leopard and Windows.
4079         (Requested by lca on #webkit).
4080
4081         * WebCoreSupport/WebChromeClient.h:
4082         * WebCoreSupport/WebChromeClient.mm:
4083
4084 2010-07-27  Luiz Agostini  <luiz.agostini@openbossa.org>
4085
4086         Reviewed by Darin Fisher.
4087
4088         PopupMenu refactoring in preparation to WebKit2
4089         https://bugs.webkit.org/show_bug.cgi?id=42592
4090
4091         As ChromeClient was made responsible for providing PopupMenu and SearchPopupMenu
4092         instances, concrete classes that inherit from ChromeClient needed to be changed to
4093         implement the new methods.
4094
4095         * WebCoreSupport/WebChromeClient.h:
4096         * WebCoreSupport/WebChromeClient.mm:
4097         (WebChromeClient::selectItemWritingDirectionIsNatural):
4098         (WebChromeClient::createPopupMenu):
4099         (WebChromeClient::createSearchPopupMenu):
4100
4101 2010-07-31  David Kilzer  <ddkilzer@apple.com>
4102
4103         <http://webkit.org/b/43300> Simplify variables in *.xcconfig files after adding iOS support
4104
4105         Reviewed by Darin Adler.
4106
4107         * Configurations/WebKit.xcconfig: Extracted
4108         PRODUCTION_FRAMEWORKS_DIR and PRODUCTION_ROOT variables.
4109
4110 2010-07-30  Dan Bernstein  <mitz@apple.com>
4111
4112         Reviewed by Darin Adler.
4113
4114         <rdar://problem/8257783> Short documents may print a second blank page
4115         https://bugs.webkit.org/show_bug.cgi?id=43271
4116
4117         * WebView/WebHTMLView.mm:
4118         (-[WebHTMLView _web_setPrintingModeRecursive]): Updated for additional height parameter
4119         to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
4120         (-[WebHTMLView _web_clearPrintingModeRecursive]): Ditto.
4121         (-[WebHTMLView _web_setPrintingModeRecursiveAndAdjustViewSize]): Ditto.
4122         (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]): Added height parameter,
4123         which is scaled and passed on to _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
4124         (-[WebHTMLView _endPrintMode]): Updated for additional height parameter to
4125         _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:.
4126         (-[WebHTMLView layoutToMinimumPageWidth:height:maximumPageWidth:adjustingViewSize:]): Added
4127         height parameter, which is passed on to FrameView::forceLayoutForPagination().
4128         (-[WebHTMLView layout]): Updated for additional height parameter.
4129         (-[WebHTMLView _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize:]): Added height
4130         parameter, which is passed on to -layoutToMinimumPageWidth:height:maximumPageWidth:adjustViewSize:.
4131         (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Updated for additional height
4132         parameter.
4133         (-[WebHTMLView setPageWidthForPrinting:]): Ditto.
4134         (-[WebHTMLView knowsPageRange:]): Pass the available height on the page on to
4135         _setPrinting:minimumPageWidth:height:maximumPageWidth:adjustViewSize.
4136         * WebView/WebHTMLViewPrivate.h: 
4137
4138 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
4139
4140         Fix for tests that broke after r64400. Tracking a more
4141         ideal solution in https://bugs.webkit.org/show_bug.cgi?id=40627
4142
4143         Switch the interface back to (unsigned long long), and move
4144         the WebDatabaseSecurityOrigin implementation up into WebSecurityOrigin.
4145         The subclasses' implementations were not getting called.
4146
4147         * Storage/WebDatabaseSecurityOrigin.mm:
4148         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm:
4149         (-[WebApplicationCacheSecurityOrigin quota]):
4150         (-[WebApplicationCacheSecurityOrigin setQuota:]):
4151         * WebCoreSupport/WebSecurityOrigin.mm:
4152         (-[WebSecurityOrigin usage]):
4153         (-[WebSecurityOrigin quota]):
4154         (-[WebSecurityOrigin setQuota:]):
4155         * WebCoreSupport/WebSecurityOriginPrivate.h:
4156
4157 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
4158
4159         Reviewed by David Kilzer.
4160
4161         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
4162         https://bugs.webkit.org/show_bug.cgi?id=40627
4163
4164         Part 4 - Client Notification when the Quota is Reached
4165
4166         Notify the WebKit client when the per-origin quota is reached
4167         via a delegate method reachedApplicationCacheOriginQuota.
4168
4169           Refactor the WebSecurityOrigin class to be generic enough to
4170           allow quota management of both Databases or Application Caches
4171           via subclasses.
4172
4173         * Storage/WebDatabaseSecurityOrigin.h: Added.
4174         * Storage/WebDatabaseSecurityOrigin.mm: Added.
4175         (-[WebDatabaseSecurityOrigin quota]):
4176         (-[WebDatabaseSecurityOrigin setQuota:]):
4177         * WebCoreSupport/WebApplicationCacheSecurityOrigin.h: Added.
4178         * WebCoreSupport/WebApplicationCacheSecurityOrigin.mm: Added.
4179         (-[WebApplicationCacheSecurityOrigin quota]):
4180         (-[WebApplicationCacheSecurityOrigin setQuota:]):
4181         * Storage/WebSecurityOrigin.mm: Removed. (Moved to WebCoreSupport)
4182         * Storage/WebSecurityOriginPrivate.h: Removed. (Moved to WebCoreSupport)
4183         * WebCoreSupport/WebSecurityOrigin.mm: Added.
4184         (-[WebSecurityOrigin usage]): to be implemented by subclasses.
4185         (-[WebSecurityOrigin quota]): to be implemented by subclasses.
4186         (-[WebSecurityOrigin setQuota:]): to be implemented by subclasses.
4187         * WebCoreSupport/WebSecurityOriginInternal.h: Renamed from WebKit/mac/Storage/WebSecurityOriginInternal.h.
4188         * WebCoreSupport/WebSecurityOriginPrivate.h: Added.
4189
4190           Turn the notification into a WebUI Delegate to call. Following
4191           the example of Databases.
4192
4193         * DefaultDelegates/WebDefaultUIDelegate.m:
4194         (-[WebDefaultUIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:]):
4195         * WebCoreSupport/WebChromeClient.h:
4196         * WebCoreSupport/WebChromeClient.mm:
4197         (WebChromeClient::exceededDatabaseQuota): use the Databases Security Origin subclass.
4198         (WebChromeClient::reachedApplicationCacheOriginQuota): use the Application Cache Security Origin subclass.
4199         * WebView/WebUIDelegatePrivate.h:
4200
4201 2010-07-30  Joseph Pecoraro  <joepeck@webkit.org>
4202
4203         Reviewed by David Kilzer.
4204
4205         Limit ApplicationCache Total and Per-Origin Storage Capacity (Quotas)
4206         https://bugs.webkit.org/show_bug.cgi?id=40627
4207
4208         Part 1 - Add Total and Per-Origin Quota Preferences.
4209
4210         Allow the application cache total size to be a preference, and
4211         add a new preference for the default per-origin quota.
4212
4213           Storage quotas were int64_t (long long). Boilerplate for
4214           these types added for consistency.
4215
4216         * Misc/WebNSDictionaryExtras.h:
4217         * Misc/WebNSDictionaryExtras.m:
4218         (-[NSMutableDictionary _webkit_setLongLong:forKey:]):
4219         * WebCoreSupport/WebApplicationCache.h: setters and accessors for WebCore's cacheStorage.
4220         * WebCoreSupport/WebApplicationCache.mm:
4221         (+[WebApplicationCache maximumSize:]):
4222         (+[WebApplicationCache setMaximumSize:]):
4223