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