1 2010-01-29 Mark Rowe <mrowe@apple.com>
5 Disable ENABLE_INDEXED_DATABASE since it is "completely non-functional".
7 As the comment in FeatureDefines.xcconfig notes, the list of feature defines
8 needs to be kept in sync across the various files. The default values also
9 need to be kept in sync between these files and build-webkit.
11 * Configurations/FeatureDefines.xcconfig:
13 2010-01-29 Alexey Proskuryakov <ap@apple.com>
15 Reviewed by Dan Bernstein.
17 <rdar://problem/7441982> REGRESSION (TOT): Adobe CS4: Installer alerts are displayed as
21 (shouldEnableLoadDeferring): Load deferring is enabled unless the application is Adobe
23 (-[WebView _preferencesChangedNotification:]): Call setLoadDeferringEnabled().
25 2010-01-28 Enrica Casucci <enrica@apple.com>
27 Reviewed by Maciej Stachowiak.
29 Huge plain text pastes are slow
30 <rdar://problem/5195056>
31 https://bugs.webkit.org/show_bug.cgi?id=34237
33 Mail is ignoring the fragment created from plain text or HTML that is
34 passed to the delegate function, that creates a new one.
35 This fix avoids creating the fragment twice.
37 * WebView/WebHTMLView.mm:
38 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
40 2010-01-25 Anders Carlsson <andersca@apple.com>
42 Featureless build fixes.
46 * WebCoreSupport/WebApplicationCache.mm:
47 * WebCoreSupport/WebChromeClient.h:
48 * WebView/WebDataSource.mm:
49 (-[WebDataSource _transferApplicationCache:]):
50 * WebView/WebFrame.mm:
51 (-[WebFrame _cacheabilityDictionary]):
53 (WebKitInitializeApplicationCachePathIfNecessary):
55 * WebView/WebViewData.mm:
56 (-[WebViewPrivate dealloc]):
57 (-[WebViewPrivate finalize]):
59 2010-01-25 Steve Falkenburg <sfalken@apple.com>
61 Reviewed by Simon Fraser.
63 A WebGeolocationControllerClient is leaked for every WebView
64 https://bugs.webkit.org/show_bug.cgi?id=34145
66 * WebCoreSupport/WebGeolocationControllerClient.h:
67 * WebCoreSupport/WebGeolocationControllerClient.mm:
68 (WebGeolocationControllerClient::geolocationDestroyed):
70 2010-01-22 Steve Falkenburg <sfalken@apple.com>
72 Reviewed by Darin Adler.
74 https://bugs.webkit.org/show_bug.cgi?id=34025
75 Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
77 * Configurations/FeatureDefines.xcconfig:
79 2010-01-22 Brady Eidson <beidson@apple.com>
81 Reviewed by Adele Peterson.
83 [WebFrame loadRequest:] does not null check the WebCore::Frame
84 <rdar://problem/7416286> and https://bugs.webkit.org/show_bug.cgi?id=34021
86 * WebView/WebFrame.mm:
87 (-[WebFrame loadRequest:]): Null check the WebCore::Frame as it can disappear
88 out of underneath a WebFrame.
90 2010-01-22 Peter Kasting <pkasting@google.com>
92 Reviewed by David Hyatt.
94 When scrolling by page, hold back 1/8th of the visible size instead of
96 https://bugs.webkit.org/show_bug.cgi?id=32595
98 * WebView/WebFrameView.mm:
99 (-[WebFrameView _verticalPageScrollDistance]):
100 (-[WebFrameView initWithFrame:]):
101 (-[WebFrameView _horizontalPageScrollDistance]):
103 2010-01-20 Jian Li <jianli@chromium.org>
105 Reviewed by Dmitry Titov.
107 Implement File and Blob interfaces as defined in File API spec.
108 https://bugs.webkit.org/show_bug.cgi?id=32912
110 * MigrateHeaders.make:
112 2010-01-19 Timothy Hatcher <timothy@apple.com>
114 Fix erroneous page scrolls when trying to select text or use form elements
115 with the Web Inspector docked.
117 http://webkit.org/b/24403
118 rdar://problem/6753925
120 Reviewed by John Sullivan and Darin Adler.
122 * WebCoreSupport/WebChromeClient.mm:
123 (WebChromeClient::scrollRectIntoView): The scrollRect.move() call was
124 incorrectly converting the rect under the assumption that the frame view
125 is the same size as the WebView. Using convertRect:fromView: instead
126 is enough to fix the bug, but that code isn't needed since WebCore
127 already takes care of scrolling the main frame's document view, so it
128 was redundant to do it here too.
130 2010-01-20 Steve Falkenburg <sfalken@apple.com>
132 Reviewed by Darin Adler and Adam Roben.
134 Feature defines are difficult to maintain on Windows builds
135 https://bugs.webkit.org/show_bug.cgi?id=33883
137 * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
139 2010-01-20 Dan Bernstein <mitz@apple.com>
141 Reviewed by Simon Fraser.
143 <rdar://problem/7489504> Clicking on an overflow scrollbar when the window doesn't have
144 focus only focuses the window; it should start scrolling too
145 https://bugs.webkit.org/show_bug.cgi?id=33906
147 * Misc/WebElementDictionary.mm:
148 (+[WebElementDictionary initializeLookupTable]): Initialize WebElementIsInScrollBarKey.
149 (-[WebElementDictionary _isInScrollBar]): Added. Returns whether the HitTestResult contains
151 * WebView/WebHTMLView.mm:
152 (-[WebHTMLView _isScrollBarEvent:]): Added. Returns whether the event point is in a scroll
154 (-[WebHTMLView acceptsFirstMouse:]): Accept scroll bar events.
155 * WebView/WebView.mm: Define WebElementIsInScrollBarKey.
156 * WebView/WebViewPrivate.h: Declare WebElementIsInScrollBarKey.
158 2010-01-19 Dan Bernstein <mitz@apple.com>
160 Redo Tiger build fix without making WebTypesInternal.h a private header
162 * WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
163 * WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
165 2009-12-18 Anders Carlsson <andersca@apple.com>
167 Reviewed by Dan Bernstein.
169 <rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests
171 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
172 (WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
173 to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
174 from being stopped while waiting for reply.
175 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
176 (WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
177 instance proxy in case the plug-in host crashes while waiting for reply.
178 * Plugins/Hosted/ProxyInstance.h:
179 (WebKit::ProxyInstance::waitForReply): Added. Calls through to
180 NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
181 proxy gets invalidated while waiting for the reply.
182 * Plugins/Hosted/ProxyInstance.mm:
183 (WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
184 (WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
185 (WebKit::ProxyInstance::supportsConstruct): Ditto.
186 (WebKit::ProxyInstance::getPropertyNames): Ditto.
187 (WebKit::ProxyInstance::methodsNamed): Ditto.
188 (WebKit::ProxyInstance::fieldNamed): Ditto.
189 (WebKit::ProxyInstance::fieldValue): Ditto.
190 (WebKit::ProxyInstance::setFieldValue): Ditto.
192 2010-01-19 John Sullivan <sullivan@apple.com>
196 * WebView/WebHTMLRepresentation.h:
197 Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.
199 2010-01-19 Brian Weinstein <bweinstein@apple.com>
201 Reviewed by Tim Hatcher.
203 Part of <http://webkit.org/b/28622>.
204 Caught exceptions still pause the debugger.
206 Update WebScriptDebugger::exception to have the hasHandler parameter.
208 This just adds a new parameter, no behavior is changed.
210 * WebView/WebScriptDebugger.h:
211 * WebView/WebScriptDebugger.mm:
212 (WebScriptDebugger::exception):
214 2010-01-19 Jon Honeycutt <jhoneycutt@apple.com>
216 MSAA: The child <option> elements of a non-multiple <select> are not
219 https://bugs.webkit.org/show_bug.cgi?id=33773
220 <rdar://problem/7550556>
222 * WebCoreSupport/WebViewFactory.mm:
223 (-[WebViewFactory AXMenuListPopupActionVerb]):
225 (-[WebViewFactory AXMenuListActionVerb]):
228 2010-01-19 John Sullivan <sullivan@apple.com>
230 https://bugs.webkit.org/show_bug.cgi?id=33854
231 Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
232 more info about where the result was found
234 Reviewed by Darin Adler
236 * WebView/WebHTMLRepresentation.h:
237 Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
239 * WebView/WebHTMLRepresentation.mm:
240 (-[WebHTMLRepresentation searchForLabels:beforeElement:]):
241 Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
242 (-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
243 New method, calls through to WebCore.
245 2010-01-19 Dave Hyatt <hyatt@apple.com>
247 Reviewed by Adam Roben.
249 Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
251 * WebView/WebScriptWorld.h:
252 * WebView/WebScriptWorld.mm:
253 (+[WebScriptWorld scriptWorldForGlobalContext:]):
255 2010-01-19 Steve Block <steveblock@google.com>
257 Unreviewed build fix.
259 Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464
261 * Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
263 2010-01-19 Steve Block <steveblock@google.com>
265 Reviewed by Adam Barth.
267 Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
268 https://bugs.webkit.org/show_bug.cgi?id=33801
270 * Plugins/Hosted/ProxyInstance.h:
272 2010-01-18 Enrica Casucci <enrica@apple.com>
274 Reviewed by Darin Adler.
276 Script attributes are copied and pasted, making cross-domain attacks possible (30019)
277 <rdar://problem/6008809>
278 https://bugs.webkit.org/show_bug.cgi?id=30019
280 * WebView/WebFrame.mm:
281 (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.
283 2010-01-18 Steve Falkenburg <sfalken@apple.com>
285 Rubber-stamped by Sam Weinig.
287 Add missing export for Geolocation.
291 2010-01-18 Adam Roben <aroben@apple.com>
293 Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]
295 WebKit/mac part of fixing <http://webkit.org/b/33806>
296 <rdar://problem/7552837> Would like API to disallow setting of
297 document.domain for pages with certain URL schemes
299 Reviewed by Sam Weinig.
301 * WebView/WebView.mm:
302 (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
303 * WebView/WebViewPrivate.h:
304 Added. Calls through to SecurityOrigin.
306 2010-01-16 Maciej Stachowiak <mjs@apple.com>
308 Reviewed by Oliver Hunt.
310 Cache JS string values made from DOM strings (Dromaeo speedup)
311 https://bugs.webkit.org/show_bug.cgi?id=33768
312 <rdar://problem/7353576>
314 * Plugins/Hosted/ProxyInstance.mm:
315 (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char*
318 2010-01-13 Simon Fraser <simon.fraser@apple.com>
320 Reviewed by Darin Adler.
322 <rdar://problem/7532544>
324 Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
325 be used for a shadow drawing fix.
327 * WebCoreSupport/WebSystemInterface.m:
328 (InitWebCoreSystemInterface):
330 2010-01-13 Kevin Decker <kdecker@apple.com>
332 Reviewed by Mark Rowe.
334 https://bugs.webkit.org/show_bug.cgi?id=33610
335 <rdar://problem/7288546> Silverlight full screen performance problem seen on Snow Leopard.
337 * Plugins/WebNetscapePluginView.mm:
338 (-[WebNetscapePluginView _workaroundSilverlightFullScreenBug:]): Added. Work around Silverlight full screen
339 performance issue by maintaining an accelerated GL pixel format. We can safely remove this at some point in
340 the future when both Microsoft releases a genuine fix for 7288546 and enough Silverlight users update to the
341 new Silverlight. For now, we'll distinguish older broken versions of Silverlight by asking the plug-in if it
342 resolved its full screen badness.
343 (-[WebNetscapePluginView _createPlugin]): Call _workaroundSilverlightFullScreenBug:YES if this is Silverlight.
344 (-[WebNetscapePluginView _destroyPlugin]): Call _workaroundSilverlightFullScreenBug:NO if this is Silverlight.
346 2010-01-11 Mark Rowe <mrowe@apple.com>
348 Reviewed by Darin Adler.
350 <rdar://problem/7512726> Flash full-screen does not work correctly with Flash 10.1 beta
352 Explicitly track when the plug-in shows and hides a full-screen window to determine
353 whether a plug-in is currently full-screen, rather than relying on menu bar visibility.
354 This ensures that we activate the plug-in host process and client application as
355 appropriate when the plug-in enters or exits full-screen.
357 * Plugins/Hosted/NetscapePluginHostProxy.h:
358 (WebKit::NetscapePluginHostProxy::isFullScreenWindowShowing):
359 * Plugins/Hosted/NetscapePluginHostProxy.mm:
360 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
361 (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
362 (WebKit::NetscapePluginHostProxy::didEnterFullScreen):
363 (WebKit::NetscapePluginHostProxy::didExitFullScreen):
364 (WebKit::NetscapePluginHostProxy::setFullScreenWindowIsShowing):
365 (WKPCSetMenuBarVisible):
366 (WKPCSetFullScreenWindowIsShowing):
367 * Plugins/Hosted/WebKitPluginClient.defs:
369 2010-01-11 Simon Fraser <simon.fraser@apple.com>
371 Reviewed by Kevin Decker.
373 https://bugs.webkit.org/show_bug.cgi?id=33455
374 Allows plugins to participate in accelerated compositing
376 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
377 (-[WebHostedNetscapePluginView createPlugin]):
378 * Plugins/WebNetscapePluginView.mm:
379 (-[WebNetscapePluginView createPlugin]): If accelerated compositing is
380 available, don't use a layer-backed NSView for plugins. Instead, tickle the
381 accelerated compositing code via setNeedsStyleRecalc(SyntheticStyleChange),
382 which will parent the plugin's layer in the accelerated compositing layer
385 2010-01-09 Adam Barth <abarth@webkit.org>
387 Reviewed by Darin Adler.
389 ScriptController::isEnabled needs to be renamed
390 https://bugs.webkit.org/show_bug.cgi?id=32063
392 Rename ScriptController::isEnabled to
393 ScriptController::canExecuteScripts.
395 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
396 (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
397 (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
399 2010-01-07 Daniel Bates <dbates@rim.com>
401 Reviewed by Eric Seidel.
403 https://bugs.webkit.org/show_bug.cgi?id=32987
405 Added ENABLE_XHTMLMP flag. Disabled by default.
407 * Configurations/FeatureDefines.xcconfig:
409 2010-01-07 Alexey Proskuryakov <ap@apple.com>
413 * WebKitPrefix.h: Define JS_EXPORTCLASS here, as well (as empty).
415 2010-01-07 Maciej Stachowiak <mjs@apple.com>
417 Reviewed by Simon Fraser.
419 REGRESSION (r48075): Clicking and dragging in a widget's text field doesn't create a selection; drags widget instead ( Translation, Weather, Ski Report )
420 https://bugs.webkit.org/show_bug.cgi?id=33348
421 <rdar://problem/7310616>
423 * WebView/WebView.mm:
424 (-[WebView _preferencesChangedNotification:]): We only want to
425 handle file: URLs for the user stylesheet now, so special-case the
426 DashboardClient's funky user stylesheet URL by mapping it to the
429 2010-01-07 Kevin Decker <kdecker@apple.com>
431 Reviewed by Simon Fraser.
433 https://bugs.webkit.org/show_bug.cgi?id=33331
434 (WebHostedNetscapePluginView should pass acceleratedCompositingEnabled bool to NetscapePluginHostManager when instantiating plug-ins)
436 * Plugins/Hosted/NetscapePluginHostManager.h: Modify method signature for instantiatePlugin to include acceleratedCompositingEnabled bool.
437 * Plugins/Hosted/NetscapePluginHostManager.mm:
438 (WebKit::NetscapePluginHostManager::instantiatePlugin):
439 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
440 (-[WebHostedNetscapePluginView createPlugin]): Pass accelerated compositing status to NetscapePluginHostManage
442 2010-01-06 Kevin Decker <kdecker@apple.com>
444 Reviewed by Simon Fraser.
447 <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
449 * Plugins/WebNetscapePluginView.mm:
450 (-[WebNetscapePluginView getVariable:value:]): Add case for WKNVSupportsCompositingCoreAnimationPluginsBool.
452 2010-01-06 Kevin Decker <kdecker@apple.com>
454 Reviewed by Simon Fraser.
457 <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
459 * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
460 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
461 (-[WebHostedNetscapePluginView pluginLayer]): Added.
462 * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
463 * Plugins/WebNetscapePluginView.mm:
464 (-[WebNetscapePluginView pluginLayer]): Added.
466 2010-01-06 Kevin Decker <kdecker@apple.com>
468 Reviewed by Eric Carlson.
471 <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
473 Small refactoring moving the PluginWidget class from WebKit to WebCore.
475 * WebCoreSupport/WebFrameLoaderClient.mm: Use the WebCore version of PluginWidget.
477 2010-01-05 Dan Bernstein <mitz@apple.com>
479 Reviewed by Mark Rowe.
481 Re-enable plug-in halting on Mac after r51953
483 * WebCoreSupport/WebPluginHalterClient.mm:
484 (WebPluginHalterClient::enabled): Test for the correct selector.
486 2010-01-04 Dan Bernstein <mitz@apple.com>
488 Reviewed by Ada Chan and Mark Rowe.
490 Updated copyright string
494 2009-12-27 Maciej Stachowiak <mjs@apple.com>
496 Reviewed by Alexey Proskuryakov.
498 plugins/get-url-with-iframe-target.html fails on SnowLeopard (64-bit)
499 https://bugs.webkit.org/show_bug.cgi?id=32982
501 This test has been failing on SnowLeopard since it was landed.
503 The problem is that we never delivered the notification for
504 NPN_GetURLNotify, in the frame-targeting case, for out-of-process
507 I implemented support for this based on how in-process Mac plugins
510 * Plugins/Hosted/HostedNetscapePluginStream.h:
511 * Plugins/Hosted/HostedNetscapePluginStream.mm:
512 (WebKit::HostedNetscapePluginStream::reasonForError):
513 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
514 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
515 (WebKit::NetscapePluginInstanceProxy::PluginRequest::create):
516 (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
517 (WebKit::NetscapePluginInstanceProxy::destroy):
518 (WebKit::NetscapePluginInstanceProxy::performRequest):
519 (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
520 (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
521 (WebKit::NetscapePluginInstanceProxy::loadRequest):
522 * Plugins/Hosted/WebHostedNetscapePluginView.h:
523 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
524 (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithReason:]):
525 (-[WebHostedNetscapePluginView webFrame:didFinishLoadWithError:]):
527 2009-12-22 Darin Adler <darin@apple.com>
529 Reviewed by Mark Rowe.
531 Turn off datagrid by default, at least for all platforms Apple ships.
532 The datagrid implementation isn't ready for general web use yet.
534 * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
536 2009-12-21 Mark Rowe <mrowe@apple.com>
538 Reviewed by Sam Weinig.
540 Don't allocate a WebGeolocationControllerClient unless that compile-time setting is enabled.
542 * WebView/WebView.mm:
543 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
545 2009-12-18 Sam Weinig <sam@webkit.org>
547 Reviewed by Dan Bernstein.
549 Add Mac WebKit side of the client based geolocation provider.
551 * Misc/WebKitErrors.m:
552 (registerErrors): Add Geolocation errors.
553 * Misc/WebKitErrorsPrivate.h:
554 * WebCoreSupport/WebGeolocationControllerClient.h: Added.
555 (WebGeolocationControllerClient::webView):
556 * WebCoreSupport/WebGeolocationControllerClient.mm: Added.
557 (WebGeolocationControllerClient::WebGeolocationControllerClient):
558 (WebGeolocationControllerClient::startUpdating):
559 (WebGeolocationControllerClient::stopUpdating):
560 (WebGeolocationControllerClient::lastPosition):
561 Add implementation of the WebGeolocationControllerClient.
563 * WebView/WebGeolocationPosition.h: Added.
564 * WebView/WebGeolocationPosition.mm: Added.
565 (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
567 (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
568 * WebView/WebGeolocationPositionInternal.h: Added.
569 Add an Objective-C wrapper for GeolocationPosition.
571 * WebView/WebView.mm:
572 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Set the GeolocationControllerClient.
573 (-[WebView _setGeolocationProvider:]): Set the GeolocationProvider
574 (-[WebView _geolocationProvider]): Return the GeolocationProvider.
575 (-[WebView _geolocationDidChangePosition:]): Notify WebCore that the position changed.
576 (-[WebView _geolocationDidFailWithError:]): Notify WebCore that an error occured.
577 * WebView/WebViewData.h:
578 * WebView/WebViewPrivate.h:
580 2009-12-18 Eric Seidel <eric@webkit.org>
582 Reviewed by Adam Barth.
584 REGRESSION(52325) Chromium build broken due to link failure
585 https://bugs.webkit.org/show_bug.cgi?id=32753
587 * WebCoreSupport/WebSystemInterface.m:
588 - Chromium Mac builds use this file, but do not
589 enable Pre-compiled Header (PCH) files so that
590 Chromium build bots can take advantage of the faster
591 distcc 3. Eventually all mac builds will likely use
592 distcc, but for now we'll add Platform.h here and document
593 its usage so it's not removed by accident.
595 2009-12-18 Sam Weinig <sam@webkit.org>
597 Reviewed by Anders Carlsson.
599 Fix preference key name.
601 * WebView/WebPreferenceKeysPrivate.h:
603 2009-12-18 Anders Carlsson <andersca@apple.com>
605 Reviewed by Sam Weinig.
607 Pass preference to plug-in host.
609 * Plugins/Hosted/NetscapePluginHostManager.mm:
610 (WebKit::NetscapePluginHostManager::spawnPluginHost):
612 2009-12-18 Anders Carlsson <andersca@apple.com>
614 Reviewed by Sam Weinig.
616 Add WKPCRunSyncOpenPanel implementation.
618 * Plugins/Hosted/NetscapePluginHostProxy.mm:
619 (WKPCRunSyncOpenPanel):
620 * Plugins/Hosted/WebKitPluginClient.defs:
621 * Plugins/Hosted/WebKitPluginHost.defs:
623 2009-12-18 Anders Carlsson <andersca@apple.com>
625 Reviewed by Sam Weinig.
627 Add a useProxiedOpenPanel WebPreference and tunnel it through to the plug-in host.
629 * Plugins/Hosted/NetscapePluginHostManager.h:
630 * Plugins/Hosted/NetscapePluginHostManager.mm:
631 (WebKit::NetscapePluginHostManager::hostForPackage):
632 (WebKit::NetscapePluginHostManager::spawnPluginHost):
633 (WebKit::NetscapePluginHostManager::instantiatePlugin):
634 * WebView/WebPreferenceKeysPrivate.h:
635 * WebView/WebPreferences.mm:
636 (+[WebPreferences initialize]):
637 (-[WebPreferences usesProxiedOpenPanel]):
638 (-[WebPreferences setUsesProxiedOpenPanel:]):
639 * WebView/WebPreferencesPrivate.h:
641 2009-12-18 Sam Weinig <sam@webkit.org>
643 Reviewed by Anders Carlsson.
645 Update WebKitSystemInterface for <rdar://problem/7237059>.
647 * WebCoreSupport/WebSystemInterface.m:
648 (InitWebCoreSystemInterface):
650 2009-12-18 Adam Roben <aroben@apple.com>
652 Add #includes needed after WebCore clean-up
654 Rubber-stamped by Anders Carlsson.
656 Fixes <http://webkit.org/b/32718>.
658 * WebView/WebFrame.mm:
659 * WebView/WebFrameView.mm:
660 * WebView/WebView.mm:
662 2009-12-17 Adam Roben <aroben@apple.com>
666 * WebView/WebVideoFullscreenController.mm: Added now-needed #import.
668 2009-12-13 Sam Weinig <sam@webkit.org>
670 Reviewed by Dan Bernstein.
672 Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
673 Add client based Geolocation provider
675 Add first cut of a client based Geolocation provider. This is guarded by
676 ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
677 GeolocationControllerClient interface that no-one currently implements,
678 but will in a subsequent patch.
680 * WebView/WebView.mm:
681 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
683 2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
685 Mac build fix. Unreviewed.
687 Re-adds code that was mistakenly removed from my last patch.
689 * WebCoreSupport/WebPluginHalterClient.mm:
690 Add necessary #import.
692 * WebView/WebDelegateImplementationCaching.h:
693 Declare a new overload of CallUIDelegateReturningBoolean.
695 * WebView/WebDelegateImplementationCaching.mm:
696 (CallDelegateReturningBoolean):
697 Add a new overload with different arguments.
698 (CallUIDelegateReturningBoolean):
701 2009-12-10 Jon Honeycutt <jhoneycutt@apple.com>
703 Pass more information about a plug-in to the PluginHalterDelegate
705 Reviewed by Adam Roben.
707 * Plugins/WebBaseNetscapePluginView.mm:
708 (WebHaltablePlugin::isWindowed):
709 Return false - the Mac doesn't really have windowed plug-ins.
710 (WebHaltablePlugin::pluginName):
711 Return the name from the plug-in package.
713 * WebCoreSupport/WebPluginHalterClient.h:
714 Update for new parameters.
716 * WebCoreSupport/WebPluginHalterClient.mm:
717 (WebPluginHalterClient::shouldHaltPlugin):
718 Ditto; pass them when making the delegate call.
720 * WebView/WebUIDelegatePrivate.h:
721 Update for new parameters.
723 2009-12-08 Simon Fraser <simon.fraser@apple.com>
725 Reviewed by Dan Bernstein.
727 <rdar://problem/7295070> WebKit video fullscreen keeps playing after closing the window
729 Fix a leak of the QTMovieView when exiting fullscreen video, and remove the
732 * WebView/WebVideoFullscreenController.mm:
733 (-[WebVideoFullscreenController windowDidLoad]): Set the movie view as the contentView directly.
734 (-[WebVideoFullscreenController setMediaElement:WebCore::]): Cast the contentView to a movie view.
735 (-[WebVideoFullscreenController windowDidExitFullscreen]): Remove the old workaround.
737 2009-12-08 Dmitry Titov <dimich@chromium.org>
739 Rubber-stamped by David Levin.
741 Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
742 It may have caused massive increase of reported leaks on the bots.
743 https://bugs.webkit.org/show_bug.cgi?id=31639
745 * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
747 2009-12-08 Dmitry Titov <dimich@chromium.org>
749 Reviewed by Darin Adler.
751 Add asserts to RefCounted to make sure ref/deref happens on the right thread.
752 https://bugs.webkit.org/show_bug.cgi?id=31639
754 * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
756 2009-12-07 Dmitry Titov <dimich@chromium.org>
758 Rubber-stamped by Darin Adler.
760 Remove ENABLE_SHARED_SCRIPT flags
761 https://bugs.webkit.org/show_bug.cgi?id=32245
762 This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
764 * Configurations/FeatureDefines.xcconfig:
766 2009-12-07 Simon Fraser <simon.fraser@apple.com>
768 Reviewed by Darin Adler.
770 <rdar://problem/7450481> One compositing test keeps DRT in "compositing mode", breaks repaint tests
772 The counter that WebView used to keep track of the number of enclosed WebHTMLViews using
773 accelerated compositing was hard to manage, and maintained incorrectly in a number of cases.
774 This caused one compositing test make DumpRenderTree think that all subsequent tests
775 were compositing too.
777 Replace this counter with notifications, which are only fired if a client (DRT) requests them. The
778 notification informs the client that a WebHTMLView entered compositing mode (or an already-
779 compositing WebHTML was added); it does not say when a view becomes uncomposited, or all
780 compositing subviews were removed, since this is tricky to get right.
782 Change -[WebView _isUsingAcceleratedCompositing] to manually walk the frames, and
783 return YES if any document view is composited.
786 * WebView/WebHTMLView.mm:
787 (-[WebHTMLView close]):
788 (-[WebHTMLView viewDidMoveToSuperview]):
789 (-[WebHTMLView attachRootLayer:]):
790 (-[WebHTMLView detachRootLayer]):
791 * WebView/WebView.mm:
792 (+[WebView automaticallyNotifiesObserversForKey:]):
793 (-[WebView _postsAcceleratedCompositingNotifications]):
794 (-[WebView _setPostsAcceleratedCompositingNotifications:]):
795 (-[WebView _isUsingAcceleratedCompositing]):
796 * WebView/WebViewData.h:
797 * WebView/WebViewInternal.h:
798 * WebView/WebViewPrivate.h:
800 2009-12-07 Gavin Barraclough <barraclough@apple.com>
802 Reviewed by Oliver Hunt.
804 https://bugs.webkit.org/show_bug.cgi?id=32184
805 Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
806 Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
808 * WebView/WebView.mm:
811 2009-12-07 Nikolas Zimmermann <nzimmermann@rim.com>
813 Reviewed by Holger Hans Peter Freyther.
815 Turn on (SVG) Filters support, by default.
816 https://bugs.webkit.org/show_bug.cgi?id=32224
818 * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
820 2009-12-03 Brady Eidson <beidson@apple.com>
822 Reviewed by Sam Weinig.
824 <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
826 * WebCoreSupport/WebFrameLoaderClient.h:
827 * WebCoreSupport/WebFrameLoaderClient.mm:
828 (WebFrameLoaderClient::dispatchDidPushStateWithinPage):
829 (WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
830 (WebFrameLoaderClient::dispatchDidPopStateWithinPage):
831 * WebView/WebDelegateImplementationCaching.h:
832 * WebView/WebFrameLoadDelegatePrivate.h:
833 * WebView/WebView.mm:
834 (-[WebView _cacheFrameLoadDelegateImplementations]):
836 2009-12-03 Pavel Feldman <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
838 Reviewed by Timothy Hatcher.
840 Web Inspector: Simplify the settings support in inspector controller.
842 https://bugs.webkit.org/show_bug.cgi?id=32076
844 * WebCoreSupport/WebInspectorClient.h:
845 * WebCoreSupport/WebInspectorClient.mm:
846 (-[WebInspectorWindowController showWindow:]):
847 (-[WebInspectorWindowController attach]):
848 (-[WebInspectorWindowController detach]):
850 2009-12-03 Ben Murdoch <benm@google.com>
852 Reviewed by Brady Eidson.
854 [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
855 https://bugs.webkit.org/show_bug.cgi?id=31915
857 * History/WebHistoryItem.mm:
858 (WKNotifyHistoryItemChanged): Update WKNotifyHistoryItemChanged() to add the new HistoryItem parameter added in the WebCore portion of this patch.
859 * History/WebHistoryItemInternal.h: ditto.
861 2009-12-03 Ben Murdoch <benm@google.com>
863 Reviewed by Brady Eidson.
865 [Android] The FrameLoaderClient is unaware of BackForwardList changes.
866 https://bugs.webkit.org/show_bug.cgi?id=31914
868 * WebCoreSupport/WebFrameLoaderClient.h:
869 * WebCoreSupport/WebFrameLoaderClient.mm:
870 (WebFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation. Method added to FrameLoaderClient by Android (see bug).
871 (WebFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
872 (WebFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
874 2009-12-02 Dan Bernstein <mitz@apple.com>
876 Reviewed by Mark Rowe.
878 Fix a mistake in the previous change
880 * WebView/WebView.mm:
881 (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
882 Make sure to include the image types’ view and representation classes
883 even when plug-ins are not allowed.
885 2009-12-02 Dan Bernstein <mitz@apple.com>
887 Reviewed by Anders Carlsson.
889 Fixed <rdar://problem/7254127> WebKit can load plug-ins even when
890 plug-ins are disabled
892 Ensure that the shared WebPluginDatabase is not instantiated if no
893 WebViews are used that have plug-ins enabled.
895 * DefaultDelegates/WebDefaultPolicyDelegate.m:
896 (-[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]):
897 Call -[WebView _canShowMIMEType:] on the WebView instead of calling the
900 * WebCoreSupport/WebFrameLoaderClient.mm:
901 (WebFrameLoaderClient::canShowMIMEType): Ditto.
902 (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
903 -[WebFrameView _viewClassForMIMEType:] on the WebView instead of calling
905 (WebFrameLoaderClient::objectContentType): Ditto.
907 * WebView/WebDataSource.mm:
908 (+[WebDataSource _representationClassForMIMEType:allowingPlugins:]):
909 Added the allowPlugins parameter, which is passed through to
910 +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
911 (-[WebDataSource _makeRepresentation]): Pass an allowPlugins value
912 based on the WebView’s preferences.
914 * WebView/WebFrameView.mm:
915 (-[WebFrameView _makeDocumentViewForDataSource:]): Call
916 -[WebFrameView _viewClassForMIMEType:] instead of calling the class
918 (+[WebFrameView _viewClassForMIMEType:allowingPlugins:]): Added the
919 allowPlugins parameter, which is passed through to
920 +[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:].
921 (-[WebFrameView _viewClassForMIMEType:]): Added. Passes an allowPlugins
922 value based on the WebView’s preferences.
924 * WebView/WebFrameViewInternal.h:
925 * WebView/WebView.mm:
926 (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
927 Added the allowPlugins parameter. If false, skip the instantiation of
928 the shared WebPluginDatabase.
929 (-[WebView _viewClass:andRepresentationClass:forMIMEType:]): Pass an
930 allowPlugins value based on the WebView’s preferences.
931 (+[WebView _canShowMIMEType:allowingPlugins:]): Passes allowPlugins to
932 +_viewClass:andRepresentationClass:forMIMEType:allowingPlugins:.
933 (+[WebView canShowMIMEType:]): Changed to pass YES to
934 +_canShowMIMEType:allowingPlugins:.
935 (-[WebView _canShowMIMEType:]): Added. Passes an allowPlugins value
936 based on the WebView’s preferences.
937 (-[WebView _pluginForMIMEType:]): Return nil if plug-ins are disabled.
938 (-[WebView _pluginForExtension:]): Ditto.
939 (-[WebView _isMIMETypeRegisteredAsPlugin:]): Return NO if plug-ins are
941 * WebView/WebViewInternal.h:
943 2009-12-02 Timothy Hatcher <timothy@apple.com>
945 Fixes a crash when scrolling a frame that goes away mid-scroll.
947 <rdar://problem/7400263>
949 Reviewed by John Sullivan.
951 * WebView/WebDynamicScrollBarsView.mm:
952 (-[WebDynamicScrollBarsView scrollWheel:]): Retain self incase the last
953 reference is released when calling super.
955 2009-11-13 Timothy Hatcher <timothy@apple.com>
957 Migrate DOMHTMLInputElementPrivate.h as a private header.
959 Reviewed by Darin Adler.
961 * MigrateHeaders.make:
963 2009-12-01 Nikolas Zimmermann <nzimmermann@rim.com>
965 Reviewed by Simon Fraser.
967 Add SVG animation test framework with 'snapshot' functionality
968 https://bugs.webkit.org/show_bug.cgi?id=31897
970 Add API used by the new 'sampleSVGAnimationForElementAtTime' DRT method,
971 forwarding the call to SVGDocumentExtensions, if SVG is enabled.
973 Implemented just like the existing pauseAnimation* methods for CSS animations.
975 * WebView/WebFrame.mm:
976 (-[WebFrame _pauseSVGAnimation:onSMILNode:atTime:]):
977 * WebView/WebFramePrivate.h:
979 2009-12-01 Sam Weinig <sam@webkit.org>
981 Reviewed by Mark Rowe.
983 Simplify [WebView userAgentForURL:]. No need to call into helper function.
985 * WebCoreSupport/WebFrameLoaderClient.mm:
986 (WebFrameLoaderClient::userAgent):
987 * WebView/WebView.mm:
988 (-[WebView userAgentForURL:]):
989 * WebView/WebViewInternal.h:
991 2009-11-24 Gavin Barraclough <barraclough@apple.com>
993 Reviewed by Geoff Garen.
995 Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
997 WebCore presently has to explicitly specify the world before entering into JSC,
998 which is a little fragile (particularly since property access via a
999 getter/setter might invoke execution). Instead derive the current world from
1000 the lexical global object.
1002 Since WebCore no longer needs to explicitly specify the world on entry to JSC DebuggerCallFrame::evaluate can be called directly.
1004 * WebView/WebScriptDebugDelegate.mm:
1005 (-[WebScriptCallFrame evaluateWebScript:]):
1007 2009-11-24 Dmitry Titov <dimich@chromium.org>
1009 Reviewed by Eric Seidel.
1011 Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
1012 https://bugs.webkit.org/show_bug.cgi?id=31444
1014 * Configurations/FeatureDefines.xcconfig:
1016 2009-11-24 Alexey Proskuryakov <ap@apple.com>
1018 Reviewed by Brady Eidson.
1020 https://bugs.webkit.org/show_bug.cgi?id=31844
1021 SocketStreamHandleCFNet should support CONNECT proxy credentials
1023 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface): Add WKSI methods.
1025 2009-11-23 Simon Fraser <simon.fraser@apple.com>
1027 Reviewed by Dan Bernstein.
1029 DocumentMarkers need to be educated about transforms
1030 https://bugs.webkit.org/show_bug.cgi?id=31751
1032 Find highlight is incorrect with transforms
1033 <rdar://problem/6358394>
1035 Allow callers to specify that Frame::selectionTextRects() takes transforms into account
1036 when computing the set of rects that encompass a selection. For transformed elemenets, the
1037 selection rect will be the bounding box of the selected content.
1039 Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
1041 * WebView/WebHTMLView.mm:
1042 (-[WebHTMLView selectionTextRects]):
1043 Pass RespectTransforms to get a list of rects with transforms taken into account.
1045 2009-11-23 Kevin Decker <kdecker@apple.com>
1047 Reviewed by Adam Roben.
1049 <rdar://problem/7401503>
1051 Added a workaround for plug-ins not drawing immediately.
1053 * Plugins/WebBaseNetscapePluginView.mm: Added new constant.
1054 (-[WebBaseNetscapePluginView _clearSubstituteImage]): Added.
1055 (-[WebBaseNetscapePluginView resumeFromHalt]): Call above new method.
1057 2009-11-20 Dave Hyatt <hyatt@apple.com>
1059 Reviewed by Darin Adler.
1061 Make sure to export WebSerializedJSValue.
1065 2009-11-20 Dave Hyatt <hyatt@apple.com>
1067 Reviewed by Oliver Hunt and Jon Honeycutt.
1069 Add support for WebSerializedJSValue to WebKit. This object wraps the SerializedScriptValue functionality in WebCore
1070 and exposes the ability to do JS value serialization/deserialization to WebKit clients.
1072 * WebView/WebSerializedJSValue.h: Added.
1073 * WebView/WebSerializedJSValue.mm: Added.
1074 (-[WebSerializedJSValue initWithValue:context:]):
1075 (-[WebSerializedJSValue deserialize:]):
1076 (-[WebSerializedJSValue dealloc]):
1078 2009-11-20 Chris Fleizach <cfleizach@apple.com>
1080 Reviewed by Beth Dakin.
1082 WAI-ARIA: add support for 'math' role
1083 https://bugs.webkit.org/show_bug.cgi?id=31706
1085 * WebCoreSupport/WebViewFactory.mm:
1086 (-[WebViewFactory AXARIAContentGroupText:]):
1088 2009-11-19 Eric Carlson <eric.carlson@apple.com>
1090 Reviewed by Dan Bernstein.
1092 <rdar://problem/7035231>
1093 Support closed caption in <video> element
1095 * WebCoreSupport/WebSystemInterface.m:
1096 (InitWebCoreSystemInterface):
1097 Add QTMovieHasClosedCaptions and QTMovieSetShowClosedCaptions.
1099 * WebCoreSupport/WebViewFactory.mm:
1100 (-[WebViewFactory localizedMediaControlElementString:]):
1101 (-[WebViewFactory localizedMediaControlElementHelpText:]):
1102 Add accessibility help strings for media controller closed caption button.
1104 2009-11-18 Michelangelo De Simone <micdesim@gmail.com>
1106 Reviewed by Darin Adler.
1108 Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
1109 Support for validationMessage attribute, as per HTML5 specs.
1111 * WebCoreSupport/WebViewFactory.mm:
1112 (-[WebViewFactory validationMessageValueMissingText]):
1113 (-[WebViewFactory validationMessageTypeMismatchText]):
1114 (-[WebViewFactory validationMessagePatternMismatchText]):
1115 (-[WebViewFactory validationMessageTooLongText]):
1116 (-[WebViewFactory validationMessageRangeUnderflowText]):
1117 (-[WebViewFactory validationMessageRangeOverflowText]):
1118 (-[WebViewFactory validationMessageStepMismatchText]):
1120 2009-11-18 Sam Weinig <sam@webkit.org>
1122 Reviewed by Anders Carlsson.
1124 Make the Mac Geolocation API async.
1126 * WebCoreSupport/WebChromeClient.mm:
1127 (WebChromeClient::requestGeolocationPermissionForFrame):
1128 (-[WebGeolocationPolicyListener initWithGeolocation:]):
1129 (-[WebGeolocationPolicyListener allow]):
1130 (-[WebGeolocationPolicyListener deny]):
1131 Add WebGeolocationPolicyListener implementation of the new WebGeolocationPolicyListener
1132 protocol and use if to implement requestGeolocationPermissionForFrame using the new async
1135 * WebCoreSupport/WebGeolocation.mm: Removed.
1136 * WebCoreSupport/WebGeolocationInternal.h: Removed.
1137 * WebCoreSupport/WebGeolocationMock.mm: Remove bogus include.
1138 * WebCoreSupport/WebGeolocationPrivate.h: Removed.
1139 * WebView/WebUIDelegatePrivate.h: Remove requestGeolocationPermission and add
1140 WebGeolocationPolicyListener protocol and decidePolicyForGeolocationRequestFromOrigin delegate
1143 2009-11-18 Chris Marrin <cmarrin@apple.com>
1145 Reviewed by Simon Fraser.
1147 Add Preferences for WebKitShowDebugBorders and WebKitShowRepaintCounter
1148 https://bugs.webkit.org/show_bug.cgi?id=31601
1150 These are used to debug accelerated compositing layers
1152 * WebView/WebPreferenceKeysPrivate.h:
1153 * WebView/WebPreferences.mm:
1154 (+[WebPreferences initialize]):
1155 (-[WebPreferences showDebugBorders]):
1156 (-[WebPreferences setShowDebugBorders:]):
1157 (-[WebPreferences showRepaintCounter]):
1158 (-[WebPreferences setShowRepaintCounter:]):
1159 * WebView/WebPreferencesPrivate.h:
1160 * WebView/WebView.mm:
1161 (-[WebView _preferencesChangedNotification:]):
1163 2009-11-17 Pavel Feldman <pfeldman@chromium.org>
1165 Reviewed by Timothy Hatcher.
1167 Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
1168 - Updated DRT to show/close inspector for all tests under /inspector
1169 - Introduced LayoutTestController::setTimelineProfilingEnabled and
1170 WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
1171 - Removed reload on each inspector test
1172 - Renamed fast/inspector to fast/inspector-support in order not to trigger
1173 inspector for those.
1174 - Reimplemented timeline tests in order to get rid of reload there.
1175 - Moved tests that don't require harness into the fast group.
1177 https://bugs.webkit.org/show_bug.cgi?id=31472
1179 * WebInspector/WebInspector.h:
1180 * WebInspector/WebInspector.mm:
1181 (-[WebInspector isTimelineProfilingEnabled]):
1182 (-[WebInspector setTimelineProfilingEnabled:]):
1184 2009-11-14 Chris Fleizach <cfleizach@apple.com>
1186 Reviewed by Darin Adler.
1188 Need to implement ARIA role="directory"
1189 https://bugs.webkit.org/show_bug.cgi?id=31516
1191 Fix a spelling error in the comment of a localized (accessibility) string.
1193 * WebCoreSupport/WebViewFactory.mm:
1194 (-[WebViewFactory AXARIAContentGroupText:]):
1196 2009-11-14 Eric Carlson <eric.carlson@apple.com>
1198 Reviewed by Oliver Hunt.
1200 <rdar://problem/7287487>
1201 Do not use QuickTime version to detect media controller theme
1203 * WebCoreSupport/WebSystemInterface.m:
1204 (InitWebCoreSystemInterface): Initialize wkMediaControllerThemeAvailable.
1206 2009-11-13 Adam Roben <aroben@apple.com>
1208 Tell the WebFrameLoadDelegate when window objects in isolated worlds
1211 Fixes <http://webkit.org/b/31124>.
1213 Reviewed by Dave Hyatt.
1215 * WebCoreSupport/WebFrameLoaderClient.h:
1216 * WebCoreSupport/WebFrameLoaderClient.mm:
1217 (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
1218 Replaced windowObjectCleared with this function. If the delegate
1220 -webView:didClearWindowObjectForFrame:inScriptWorld:. Otherwise, if
1221 the passed-in world is the mainThreadNormalWorld(), call
1222 -webView:didClearWindowObject:forFrame:.
1224 * WebView/WebDelegateImplementationCaching.h: Added a new entry in the
1225 frame load delegate implementation cache for the new delegate method.
1227 * WebView/WebFrameLoadDelegatePrivate.h:
1228 * WebView/WebScriptWorld.mm:
1229 (allWorlds): Added. Returns a HashMap of all the WebScriptWorlds in
1231 (-[WebScriptWorld initWithWorld:]): Add ourselves to allWorlds().
1232 (-[WebScriptWorld dealloc]): Remove ourselves from allWorlds().
1233 (+[WebScriptWorld findOrCreateWorld:]): Returns the existing
1234 WebScriptWorld for this DOMWrapperWorld, or a new one if one doesn't
1237 * WebView/WebScriptWorldInternal.h: Declared +findOrCreateWorld:.
1239 * WebView/WebView.mm:
1240 (-[WebView _cacheFrameLoadDelegateImplementations]): Cache the
1241 implementation of the new frame load delegate method.
1243 2009-11-13 Adam Roben <aroben@apple.com>
1245 Finish replacing worldIDs with world objects
1247 The only remaining use of worldIDs was in a method only used by DRT
1248 for the isolated worlds tests.
1250 Fixes <http://webkit.org/b/31414> Replace worldIDs with world objects
1252 Reviewed by Mark Rowe.
1254 * WebView/WebFrame.mm:
1255 (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
1256 * WebView/WebFramePrivate.h:
1258 _stringByEvaluatingJavaScriptInIsolatedWorld:WithGobalObject:FromString:.
1259 Now takes a WebScriptWorld instead of a worldID, so we don't need to
1260 maintain a map of worldID -> world anymore.
1262 2009-11-12 Dan Bernstein <mitz@apple.com>
1264 Reviewed by Adele Peterson.
1266 When exiting full-screen video, rather than resetting the system UI
1267 mode, restore it to what it was when full-screen mode was entered.
1269 * WebView/WebVideoFullscreenController.h: Cleaned up style, removed
1270 unnecessary imports, and added _savedUIMode and _savedUIOptions ivars.
1271 * WebView/WebVideoFullscreenController.mm:
1272 (-[WebVideoFullscreenController delegate]): Cleaned up style.
1273 (-[WebVideoFullscreenController setDelegate:]): Ditto.
1274 (-[WebVideoFullscreenController windowDidExitFullscreen]): Restore the
1276 (-[WebVideoFullscreenController windowDidEnterFullscreen]): Save the
1278 * WebView/WebView.mm: Added now-necessary import.
1280 2009-11-12 Shinichiro Hamaji <hamaji@chromium.org>
1282 Reviewed by Darin Adler.
1284 externalRepresentation should take Frame as the argument
1285 https://bugs.webkit.org/show_bug.cgi?id=31393
1287 No new tests as this is just a refactoring.
1289 * Misc/WebCoreStatistics.mm:
1290 (-[WebFrame renderTreeAsExternalRepresentation]):
1292 2009-11-12 Adam Roben <aroben@apple.com>
1294 Replace worldIDs with world objects
1296 WebScriptWorld is the new object that represents a world. The only
1297 place worldID is still used is in -[WebFrame
1298 _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:],
1299 but that will change soon.
1301 Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
1302 user scripts/stylesheets and isolated worlds
1304 Reviewed by Sam Weinig.
1306 * WebKit.exp: Export WebScriptWorld.
1308 * WebView/WebFrame.mm:
1309 (-[WebFrame _stringByEvaluatingJavaScriptInIsolatedWorld:WithGlobalObject:FromString:]):
1310 Moved the bizarre world caching/creation logic that DRT depends on
1311 here from the findWorld function in ScriptController.cpp. Updated to
1312 use ScriptController::executeScriptInWorld instead of
1313 ScriptController::executeScriptInIsolatedWorld.
1314 (-[WebFrame _contextForWorld:]): Renamed from contextForWorldID:. Now
1315 takes a WebScriptWorld.
1317 * WebView/WebFramePrivate.h: Replaced contextForWorldID: with
1320 * WebView/WebScriptWorld.h: Added.
1321 * WebView/WebScriptWorld.mm: Added.
1322 (-[WebScriptWorld initWithWorld:]): Store the passed-in world in our
1324 (-[WebScriptWorld init]): Create a new DOMWrapperWorld and pass it to
1326 (-[WebScriptWorld dealloc]): Release _private.
1327 (+[WebScriptWorld standardWorld]): Returns a shared instance that
1328 represents WebCore's mainThreadNormalWorld().
1329 (+[WebScriptWorld world]): Returns a new instance.
1330 (core): Returns the DOMWrapperWorld for this WebScriptWorld.
1332 * WebView/WebScriptWorldInternal.h: Added.
1334 * WebView/WebView.mm:
1335 (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]):
1336 (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]):
1337 (+[WebView _removeUserScriptFromGroup:world:url:]):
1338 (+[WebView _removeUserStyleSheetFromGroup:world:url:]):
1339 (+[WebView _removeUserScriptsFromGroup:world:]):
1340 (+[WebView _removeUserStyleSheetsFromGroup:world:]):
1341 * WebView/WebViewPrivate.h:
1342 Changed these functions to take a WebScriptWorld instead of a worldID.
1344 2009-11-12 Chris Fleizach <cfleizach@apple.com>
1346 Reviewed by Darin Adler.
1348 ARIA: add alert type roles
1349 https://bugs.webkit.org/show_bug.cgi?id=31392
1351 * WebCoreSupport/WebViewFactory.mm:
1352 (-[WebViewFactory AXARIAContentGroupText:]):
1354 2009-11-10 Daniel Bates <dbates@webkit.org>
1356 Reviewed by Oliver Hunt.
1358 https://bugs.webkit.org/show_bug.cgi?id=30754
1360 Removed method draggedImage:movedTo:
1362 * WebView/WebFrame.mm:
1363 * WebView/WebFrameInternal.h:
1364 * WebView/WebHTMLView.mm:
1366 2009-11-10 Beth Dakin <bdakin@apple.com>
1368 Reviewed by Darin Adler.
1370 Small WebKit part of:
1371 Fix for <rdar://problem/7059710>
1373 https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
1374 color-correction for CSS colors
1376 * Misc/WebKitNSStringExtras.mm:
1377 (-[NSString _web_drawAtPoint:font:textColor:]): setFillColor now
1378 requires callers to pass a ColorSpace.
1380 2009-11-10 Dan Bernstein <mitz@apple.com>
1382 Reviewed by Eric Carlson and Darin Adler.
1384 WebKit part of making full-screen video pause during scrubbing.
1386 * WebView/WebVideoFullscreenHUDWindowController.h: Added _isScrubbing
1388 * WebView/WebVideoFullscreenHUDWindowController.mm:
1389 (-[WebVideoFullscreenHUDWindowController dealloc]): Assert that
1391 (-[WebVideoFullscreenHUDWindowController endScrubbing]): Call
1392 HTMLMediaElement::endScrubbing().
1393 (-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
1394 If scrubbing has just begun, call HTMLMediaElement::beginScrubbing()
1395 and schedule -endScrubbing to be called when mouse tracking ends.
1397 2009-11-09 Mark Mentovai <mark@chromium.org>
1399 Reviewed by Dan Bernstein.
1401 Track "can have scrollbar" state within FrameView independently of the
1402 individual scrollbar states in ScrollView.
1404 rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
1405 REGRESSION (r48064): mint.com loses scrollbars after coming out of
1408 rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
1409 REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
1411 Test: fast/overflow/scrollbar-restored.html
1413 * WebView/WebFrameView.mm:
1414 (-[WebFrameView _install]):
1416 2009-11-08 Dan Bernstein <mitz@apple.com>
1418 Reviewed by Eric Carlson.
1420 Made the full-screen video HUD appear when playback stops, such as when
1421 the end of the video is reached.
1423 * WebView/WebVideoFullscreenHUDWindowController.h: Cleaned up.
1424 * WebView/WebVideoFullscreenHUDWindowController.mm:
1425 (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Updated
1426 for the renaming of -updateRate to -updatePlayButton.
1427 (-[WebVideoFullscreenHUDWindowController updatePlayButton]): Renamed
1428 -updateRate to this.
1429 (-[WebVideoFullscreenHUDWindowController updateRate]): This method now
1430 responds to changes to the playback rate by updating the play button
1431 and showing or hiding the HUD as necessary.
1432 (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Now only
1433 toggles playing. UI updates are driven by -updateRate being called.
1434 (-[WebVideoFullscreenHUDWindowController playing]): Cleaned up.
1436 2009-11-02 Eric Carlson <eric.carlson@apple.com>
1438 Reviewed by John Sullivan and Mark Rowe.
1440 <rdar://problem/7356733> Voiceover does not read correct media controller time values
1442 * WebCoreSupport/WebViewFactory.mm:
1443 (-[WebViewFactory localizedMediaTimeDescription:]):
1445 2009-11-02 Dan Bernstein <mitz@apple.com>
1447 Reviewed by Anders Carlsson.
1449 Made the remaining time display show negative zero at the end of the
1454 * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
1455 _timeline and _volumeSlider to the more generic NSControl.
1456 * WebView/WebVideoFullscreenHUDWindowController.mm:
1457 (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
1459 (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
1460 assertion that the cast to NSButton * is legal. Removed casts.
1461 (-[WebVideoFullscreenHUDWindowController updateTime]): Use
1462 -setValue:forKey: instead of an NSSlider method.
1463 (timeToString): Changed to support only non-negative values and
1465 (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
1466 prepend a “-” to the time.
1468 2009-11-02 Dan Bernstein <mitz@apple.com>
1470 Reviewed by John Sullivan.
1472 WebKit part of making the appearance of the full-screen video HUD match
1473 QuickTime Player X’s HUD.
1475 * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
1476 #import statements, cleaned up style, and changed _timeline,
1477 _volumeSlider and _playButton to have more specific types.
1478 * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
1480 (webkit_CGFloor): Added this helper function.
1481 (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
1482 (createTimeTextField): Changed to use the bold system font.
1483 (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
1484 subviews’ metrics and the text fields’ text alignment.
1485 (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
1486 from double to float.
1487 (stringToTimeTextAttributed): Removed this useless function that
1488 returned an NSAttributedString masquerading as an NSString.
1489 (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
1490 call to stringToTimeTextAttributed().
1491 (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.
1493 2009-11-02 Chris Fleizach <cfleizach@apple.com>
1495 Reviewed by Beth Dakin.
1497 Support ARIA "tab" roles
1498 https://bugs.webkit.org/show_bug.cgi?id=30842
1500 * WebCoreSupport/WebViewFactory.mm:
1501 (-[WebViewFactory AXARIAContentGroupText:]):
1503 2009-11-01 Dan Bernstein <mitz@apple.com>
1505 Reviewed by Mark Rowe.
1507 Made the space bar toggle playing state in full-screen video when
1508 modifier keys are down. Made it do so without highlighting the
1511 * WebView/WebVideoFullscreenHUDWindowController.mm:
1512 (-[WebVideoFullscreenHUDWindowController keyDown:]):
1514 2009-11-01 Dan Bernstein <mitz@apple.com>
1516 Reviewed by Mark Rowe.
1518 Made the full-screen video HUD respond to the up and down arrow keys by
1519 increasing and decreasing the volume by 1/10 of the range or, when
1520 combined with the Option key, all the way up or down.
1522 Made the volume buttons in the full-screen video HUD match the behavior
1523 of their equivalents in the QuickTime Player HUD by turning the volume
1524 all the way up or down.
1526 Made the volume slider update immediately when the keyboard or volume
1527 buttons are used to change the volume, rather than at the nearest 1/4
1530 Made the elapsed and remaining time displays update immediately when the
1531 play head is dragged across the timeline, rather than at 1/4 second
1534 * WebView/WebVideoFullscreenHUDWindowController.mm:
1535 (-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and
1537 (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
1538 actions of the volume up and volume down buttons.
1539 (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call
1541 (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this
1542 action for the volume down button.
1543 (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added
1544 this action for the volume up button.
1545 (-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer
1547 (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
1548 (-[WebVideoFullscreenHUDWindowController setVolume:]): Call
1551 2009-10-30 Evan Stade <estade@chromium.org>
1553 Reviewed by David Levin.
1555 Notify the chrome when the focused node has changed.
1556 https://bugs.webkit.org/show_bug.cgi?id=30832
1558 Added stub implementation for new ChromeClient function.
1560 * WebCoreSupport/WebChromeClient.h:
1561 * WebCoreSupport/WebChromeClient.mm:
1562 (WebChromeClient::focusedNodeChanged):
1564 2009-10-30 Roland Steiner <rolandsteiner@chromium.org>
1566 Reviewed by Eric Seidel.
1568 Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
1570 Bug 28420 - Implement HTML5 <ruby> rendering
1571 (https://bugs.webkit.org/show_bug.cgi?id=28420)
1573 No new tests (no functional change).
1575 * Configurations/FeatureDefines.xcconfig:
1577 2009-10-29 Mark Rowe <mrowe@apple.com>
1579 Reviewed by Oliver Hunt.
1581 Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder.
1583 * WebView/WebHTMLView.mm:
1584 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
1586 2009-10-29 Anders Carlsson <andersca@apple.com>
1588 Reviewed by Sam Weinig.
1590 https://bugs.webkit.org/show_bug.cgi?id=30932
1591 <rdar://problem/7350269>
1593 REGRESSION: Crash when turning on Private Browsing on site with flash.
1595 Null check setValue.
1597 * Plugins/WebNetscapePluginView.mm:
1598 (-[WebNetscapePluginView privateBrowsingModeDidChange]):
1600 2009-10-29 Eric Carlson <eric.carlson@apple.com>
1602 Reviewed by Kevin Decker.
1604 Refactor some duplicate plug-in clean up code into shared functions.
1606 * Plugins/WebPluginController.mm:
1607 (-[WebPluginController stopOnePlugin:]): New, stop a plug-in.
1608 (-[WebPluginController destroyOnePlugin:]): New, destroy plug-in.
1609 (-[WebPluginController stopAllPlugins]): Call stopOnePlugin.
1610 (-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin.
1611 (-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin.
1613 2009-10-28 Eric Carlson <eric.carlson@apple.com>
1615 Reviewed by Simon Fraser.
1617 <rdar://problem/7303145>
1618 Can't exit full screen mode or restart movie after pressing command -R.
1620 * WebView/WebVideoFullscreenController.mm:
1621 (-[WebVideoFullscreenController _requestExit]):
1622 New, call media element's exitFullscreen method.
1623 (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]):
1624 Call mediaElement->exitFullscreen() after a delay as it turns around and calls
1625 WebVideoFullscreenController:exitFullscreen.
1627 * WebView/WebVideoFullscreenHUDWindowController.h:
1628 * WebView/WebVideoFullscreenHUDWindowController.mm:
1629 (-[WebVideoFullscreenHUDWindow resignFirstResponder]):
1630 New, don't give up responder status.
1631 (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
1632 New, block all command key events.
1633 (-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
1634 Remember when we are in the process of exiting fullscreen, don't allow recursion.
1636 * WebView/WebView.mm:
1637 (-[WebView _exitFullscreen]):
1638 Early return if fullscreen controller is nil.
1640 * WebView/WebWindowAnimation.h:
1641 Correct comment about _window retain status.
1642 * WebView/WebWindowAnimation.m:
1643 (-[WebWindowScaleAnimation dealloc]):
1644 Don't release _window, we never reatained it.
1646 2009-10-27 Shinichiro Hamaji <hamaji@chromium.org>
1648 Reviewed by Darin Adler.
1650 Provide a way to get counter values with layoutTestContoller
1651 https://bugs.webkit.org/show_bug.cgi?id=30555
1653 Add counterValueForElement in WebFrame to call WebCore::counterValueForElement.
1655 * Misc/WebCoreStatistics.h:
1656 * Misc/WebCoreStatistics.mm:
1657 (-[WebFrame counterValueForElement:]):
1659 2009-10-27 Geoffrey Garen <ggaren@apple.com>
1661 Reviewed by Sam Weinig.
1663 Updated for refactoring in the date code.
1665 * WebView/WebView.mm:
1666 (aeDescFromJSValue): Since we just want a number of milliseconds, do that
1667 instead of something more complicated.
1669 2009-10-26 Sam Weinig <sam@webkit.org>
1671 Reviewed by Anders Carlsson.
1673 Move some WebView event handling code into its own file, WebViewEventHandling.mm
1675 * WebView/WebView.mm:
1676 (-[WebView _close]):
1677 (-[WebView _selectedOrMainFrame]):
1678 * WebView/WebViewEventHandling.mm: Added.
1679 (-[WebView _closingEventHandling]):
1680 (-[WebView _setMouseDownEvent:]):
1681 (-[WebView mouseDown:]):
1682 (-[WebView mouseUp:]):
1683 (+[WebView _updateMouseoverWithEvent:]):
1684 (-[WebView _updateMouseoverWithFakeEvent]):
1685 (_updateMouseoverWithEvent:fakeEvent::if):
1686 (-[WebView _stopAutoscrollTimer]):
1687 (-[WebView _setToolTip:]):
1688 * WebView/WebViewInternal.h:
1690 2009-10-26 Simon Fraser <simon.fraser@apple.com>
1692 Reviewed by Sam Weinig.
1694 <rdar://problem/6988966> Hardware layers do not show up in page snapshots
1696 * WebView/WebHTMLViewPrivate.h:
1697 * WebView/WebHTMLView.mm:
1698 (-[WebHTMLView _compositingLayersHostingView]):
1699 Add a private method that returns the NSView used to host compositing layers.
1701 2009-10-23 Mark Rowe <mrowe@apple.com>
1703 Fix engineering builds in the mysterious future.
1705 * Configurations/DebugRelease.xcconfig:
1707 2009-10-23 Gavin Barraclough <barraclough@apple.com>
1709 Reviewed by Geoff Garen.
1711 https://bugs.webkit.org/show_bug.cgi?id=30729
1712 Provide private API to request the global context for a specific world.
1713 Used to initialize parameters on the global object.
1715 * WebView/WebFramePrivate.h:
1716 * WebView/WebFrame.mm:
1717 (-[WebFrame contextForWorldID:]):
1719 2009-10-22 Eric Carlson <eric.carlson@apple.com>
1721 Reviewed by John Sullivan.
1723 <rdar://problem/7322847>
1724 Pressing space bar key in full screen mode should pause movie but doesn't
1726 * WebView/WebVideoFullscreenHUDWindowController.mm:
1727 (-[WebVideoFullscreenHUDWindowController keyDown:]): New, toggle playback on space key.
1728 (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying.
1729 (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged.
1731 2009-10-22 Gavin Barraclough <barraclough@apple.com>
1733 Reviewed by NOBODY (build fix).
1734 Build fix following bug #30696.
1736 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1737 (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
1738 (WebKit::NetscapePluginInstanceProxy::evaluate):
1739 (WebKit::NetscapePluginInstanceProxy::invoke):
1740 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
1741 (WebKit::NetscapePluginInstanceProxy::construct):
1742 (WebKit::NetscapePluginInstanceProxy::getProperty):
1743 (WebKit::NetscapePluginInstanceProxy::setProperty):
1744 (WebKit::NetscapePluginInstanceProxy::removeProperty):
1745 (WebKit::NetscapePluginInstanceProxy::hasProperty):
1746 (WebKit::NetscapePluginInstanceProxy::hasMethod):
1747 (WebKit::NetscapePluginInstanceProxy::enumerate):
1749 2009-10-16 Gavin Barraclough <barraclough@apple.com>
1751 Reviewed by Sam Weinig & Geoff Garen.
1753 https://bugs.webkit.org/show_bug.cgi?id=30696
1754 Update to incorporate support for IsolatedWorlds in JSC bindings.
1756 * WebView/WebFrame.mm:
1757 (-[WebFrame _attachScriptDebugger]):
1758 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
1759 (-[WebFrame globalContext]):
1760 * WebView/WebScriptDebugDelegate.mm:
1761 (-[WebScriptCallFrame evaluateWebScript:]):
1762 * WebView/WebView.mm:
1763 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
1765 2009-10-22 Eric Carlson <eric.carlson@apple.com>
1767 Reviewed by Dan Bernstein & Simon Fraser.
1769 <rdar://problem/7297717>
1770 https://bugs.webkit.org/show_bug.cgi?id=30323
1771 Play/pause button in full-screen video controller does not reflect current state
1773 * WebView/WebVideoFullscreenController.mm:
1774 (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
1775 (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.
1777 * WebView/WebVideoFullscreenHUDWindowController.h:
1778 * WebView/WebVideoFullscreenHUDWindowController.mm:
1779 (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
1780 reflects playback state.
1781 (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
1783 (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.
1785 2009-10-21 John Sullivan <sullivan@apple.com>
1787 Rubber-stamped by Dan Bernstein.
1789 * WebView/WebDynamicScrollBarsView.h:
1790 Corrected a couple of long-obsolete comments regarding Safari's use of this class.
1792 2009-10-20 Dan Bernstein <mitz@apple.com>
1794 Rubber-stamped by Mark Rowe.
1796 <rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing
1797 https://bugs.webkit.org/show_bug.cgi?id=30568
1799 Revert accidental change from r49806.
1801 * WebCoreSupport/WebContextMenuClient.mm:
1802 (WebContextMenuClient::getCustomMenuFromDefaultItems):
1804 2009-10-20 Fumitoshi Ukai <ukai@chromium.org>
1806 Reviewed by David Levin.
1808 Removed WebSocket runtime settings.
1809 https://bugs.webkit.org/show_bug.cgi?id=29896
1811 WebSocket runtime configuration is supported by chromium/v8 only.
1813 * WebView/WebPreferenceKeysPrivate.h:
1814 * WebView/WebPreferences.mm:
1815 (+[WebPreferences initialize]):
1816 * WebView/WebPreferencesPrivate.h:
1817 * WebView/WebView.mm:
1818 (-[WebView _preferencesChangedNotification:]):
1820 2009-10-19 Nate Chapin <japhet@chromium.org>
1822 Reviewed by Alexey Proskuryakov.
1824 Update call to loadFrameRequest to match new parameters.
1826 * WebView/WebPDFView.mm:
1827 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest.
1829 2009-10-19 David Kilzer <ddkilzer@apple.com>
1831 Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:]
1833 Reviewed by Dan Bernstein.
1835 * WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the
1836 @method declaration of
1837 -webView:resource:willSendRequest:redirectResponse:fromDataSource:
1838 which was absent before r3953 and was missed during the great
1839 documentation clean up of r4269.
1841 2009-10-19 Anders Carlsson <andersca@apple.com>
1845 * Plugins/WebNetscapePluginView.mm:
1846 (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1848 2009-10-19 Dan Bernstein <mitz@apple.com>
1850 Reviewed by Anders Carlsson.
1852 Split assertions of conjunctions into separate statements or remove
1853 redundant assertions.
1855 * Plugins/Hosted/NetscapePluginHostProxy.mm:
1856 (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
1857 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
1858 (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
1859 (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1860 * Plugins/WebBaseNetscapePluginView.mm:
1861 (-[WebBaseNetscapePluginView halt]):
1862 (-[WebBaseNetscapePluginView resumeFromHalt]):
1863 * Plugins/WebNetscapePluginView.mm:
1864 (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
1865 (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
1866 * WebCoreSupport/WebContextMenuClient.mm:
1867 (WebContextMenuClient::getCustomMenuFromDefaultItems):
1868 * WebCoreSupport/WebEditorClient.mm:
1869 (WebEditorClient::checkGrammarOfString):
1870 (WebEditorClient::checkTextOfParagraph):
1871 * WebView/WebTextCompletionController.mm:
1872 (-[WebTextCompletionController _reflectSelection]):
1874 2009-10-18 Mark Rowe <mrowe@apple.com>
1876 Reviewed by Dan Bernstein.
1878 <rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest.
1880 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
1881 (WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it.
1883 2009-10-16 Kevin Decker <kdecker@apple.com>
1885 Reviewed by Jon Honeycutt.
1887 <rdar://problem/7304575>
1889 * Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method.
1890 * Plugins/WebBaseNetscapePluginView.mm:
1891 (-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted.
1892 (-[WebBaseNetscapePluginView hasBeenHalted]): Added.
1893 * WebView/WebView.mm:
1894 (+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted.
1895 * WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method.
1897 2009-10-16 Kevin Decker <kdecker@apple.com>
1899 Reviewed by Anders Carlson.
1903 * Plugins/WebBaseNetscapePluginView.mm:
1904 (WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt].
1905 (WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt]
1906 (-[WebBaseNetscapePluginView halt]):
1907 (-[WebBaseNetscapePluginView resumeFromHalt]):
1908 * WebView/WebView.mm:
1909 (_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion.
1911 2009-10-16 Kevin Decker <kdecker@apple.com>
1913 Reviewed by Anders Carlson.
1916 <rdar://problem/7273354>
1918 * WebView/WebView.mm:
1919 (_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin
1920 (+[WebView _isNodeHaltedPlugin:]): Made this a class method.
1921 (+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in
1922 * WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header.
1924 2009-10-16 Kevin Decker <kdecker@apple.com>
1928 <rdar://problem/7273354>
1930 * Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted
1931 * Plugins/WebBaseNetscapePluginView.mm:
1932 (WebHaltablePlugin::halt): Call -halt instead of -stop.
1933 (WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start.
1934 (-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted.
1935 (-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted.
1936 (-[WebBaseNetscapePluginView isHalted]): Added.
1937 * WebView/WebView.mm:
1938 (-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in.
1939 * WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin.
1941 2009-10-15 Eric Carlson <eric.carlson@apple.com>
1943 Reviewed by Adele Peterson.
1945 <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional
1947 * WebView/WebVideoFullscreenHUDWindowController.mm:
1948 (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
1949 (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
1950 (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.
1952 2009-10-15 Eric Carlson <eric.carlson@apple.com>
1954 Reviewed by Simon Fraser.
1956 <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
1958 * WebView/WebVideoFullscreenHUDWindowController.mm:
1959 (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.
1961 2009-10-14 Kevin Decker <kdecker@apple.com>
1965 * Plugins/WebBaseNetscapePluginView.mm:
1966 (WebHaltablePlugin::restart):
1968 2009-10-14 Kevin Decker <kdecker@apple.com>
1970 Reviewed by Anders Carlsson and Jon Honeycutt
1972 <rdar://problem/7304295> snapshots of halted plug-ins are missing
1974 * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
1975 (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
1976 (WebHaltablePlugin::restart): Clear the substitute image.
1978 2009-10-13 Dave Hyatt <hyatt@apple.com>
1980 Reviewed by Adam Roben.
1982 Change the order of arguments on some methods. Split removal for user stylesheets and script into
1983 separate functions based off the type of object being removed.
1985 * WebView/WebView.mm:
1986 (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
1987 (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
1988 (+[WebView _removeUserScriptFromGroup:worldID:url:]):
1989 (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
1990 (+[WebView _removeUserScriptsFromGroup:worldID:]):
1991 (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
1992 * WebView/WebViewPrivate.h:
1994 2009-10-13 Anders Carlsson <andersca@apple.com>
1996 Reviewed by Sam Weinig.
1998 <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API
2000 Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar
2001 when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
2002 value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
2004 * Plugins/Hosted/NetscapePluginHostManager.h:
2005 * Plugins/Hosted/NetscapePluginHostManager.mm:
2006 (WebKit::NetscapePluginHostManager::instantiatePlugin):
2007 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2008 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2009 (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
2010 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2011 (-[WebHostedNetscapePluginView createPlugin]):
2012 (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
2013 * Plugins/Hosted/WebKitPluginHost.defs:
2014 * Plugins/WebBaseNetscapePluginView.h:
2015 * Plugins/WebBaseNetscapePluginView.mm:
2016 (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
2017 (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
2018 (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
2019 * Plugins/WebNetscapePluginView.mm:
2020 (-[WebNetscapePluginView privateBrowsingModeDidChange]):
2021 (-[WebNetscapePluginView getVariable:value:]):
2023 2009-10-12 Simon Fraser <simon.fraser@apple.com>
2025 Reviewed by Darin Adler.
2027 Video keeps playing after going fullscreen, then closing window
2028 https://bugs.webkit.org/show_bug.cgi?id=30164
2030 Clear the QTMovie on the QTMovieView when coming out of fullscreen,
2031 to fix issue where the underlying movie keeps playing.
2033 * WebView/WebVideoFullscreenController.mm:
2034 (-[WebVideoFullscreenController windowDidExitFullscreen]):
2036 2009-10-11 Dan Bernstein <mitz@apple.com>
2038 Reviewed by Darin Adler.
2040 <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
2042 https://bugs.webkit.org/show_bug.cgi?id=30295
2044 Test: plugins/setProperty.html
2046 * Plugins/Hosted/ProxyInstance.mm:
2047 (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
2048 should return early if m_instanceProxy is null.
2050 2009-10-09 Adam Barth <abarth@webkit.org>
2052 Reviewed by Darin Adler.
2054 Factor HistoryController out of FrameLoader
2055 https://bugs.webkit.org/show_bug.cgi?id=30246
2059 * WebCoreSupport/WebFrameLoaderClient.mm:
2060 (WebFrameLoaderClient::restoreViewState):
2061 * WebView/WebView.mm:
2062 (-[WebView _loadBackForwardListFromOtherView:]):
2064 2009-10-09 Mark Rowe <mrowe@apple.com>
2066 Reviewed by Brady Eidson.
2068 <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in
2070 At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
2071 the WebFrame's data source has been zeroed out. This was causing -[WebBaseNetscapePluginView webFrame]
2072 to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
2073 We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.
2075 * Plugins/WebBaseNetscapePluginView.mm:
2076 (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
2077 (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
2078 than taking a windy route through the WebDataSource.
2080 2009-10-09 Brady Eidson <beidson@apple.com>
2082 Reviewed by Dan Bernstein.
2084 Add SPI to specifically enable visited link tracking.
2086 * History/WebHistory.mm:
2087 (+[WebHistory _setVisitedLinkTrackingEnabled:]):
2088 * History/WebHistoryPrivate.h:
2090 2009-10-08 Jon Honeycutt <jhoneycutt@apple.com>
2092 Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
2093 for the existence of a PluginHalterDelegate.
2095 Reviewed by Dan Bernstein.
2097 * WebCoreSupport/WebPluginHalterClient.h:
2098 Add declaration for new function.
2100 * WebCoreSupport/WebPluginHalterClient.mm:
2101 (WebPluginHalterClient::enabled):
2102 Check whether the UIDelegate responds to shouldHaltPlugin.
2104 * WebView/WebPreferenceKeysPrivate.h:
2105 Remove the "enabled" preference key.
2107 * WebView/WebPreferences.mm:
2108 (+[WebPreferences initialize]):
2109 Remove the initialization of the pref.
2111 * WebView/WebPreferencesPrivate.h:
2112 Remove the getter/setter for this pref.
2114 * WebView/WebView.mm:
2115 (-[WebView _preferencesChangedNotification:]):
2116 Remove propagation of the pref.
2118 2009-10-08 Adam Barth <abarth@webkit.org>
2120 Reviewed by Eric Seidel.
2122 Move executeScript from FrameLoader to ScriptController
2123 https://bugs.webkit.org/show_bug.cgi?id=30200
2127 * WebView/WebFrame.mm:
2128 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
2129 * WebView/WebView.mm:
2130 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2132 2009-10-08 Brady Eidson <beidson@apple.com>
2134 Reviewed by Dan Bernstein.
2136 Ask the History Delegate to populate the visited links hash.
2137 <rdar://problem/7285293> and https://webkit.org/b/29904
2139 * History/WebHistory.mm:
2140 (+[WebHistory _removeAllVisitedLinks]):
2141 * History/WebHistoryPrivate.h:
2142 * WebCoreSupport/WebChromeClient.mm:
2143 (WebChromeClient::populateVisitedLinks):
2144 * WebView/WebDelegateImplementationCaching.h:
2145 * WebView/WebDelegateImplementationCaching.mm:
2146 (CallHistoryDelegate):
2147 * WebView/WebHistoryDelegate.h:
2148 * WebView/WebView.mm:
2149 (-[WebView _cacheHistoryDelegateImplementations]):
2150 (-[WebView addVisitedLinks:]):
2151 * WebView/WebViewPrivate.h:
2153 2009-10-08 Anders Carlsson <andersca@apple.com>
2155 Reviewed by Sam Weinig.
2157 Remove the shouldLoadMediaElementURL implementation.
2159 * WebCoreSupport/WebFrameLoaderClient.h:
2160 * WebCoreSupport/WebFrameLoaderClient.mm:
2161 * WebView/WebPolicyDelegatePrivate.h:
2163 2009-10-07 Simon Fraser <simon.fraser@apple.com>
2165 Re-land 49269-49271 since reverting them did not fix the tests.
2167 * WebView/WebHTMLView.mm:
2168 (-[WebHTMLView drawRect:]):
2170 2009-10-07 Simon Fraser <simon.fraser@apple.com>
2172 Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
2175 * WebView/WebHTMLView.mm:
2176 (-[WebHTMLView drawRect:]):
2178 2009-10-07 Adam Barth <abarth@webkit.org>
2180 Reviewed by Darin Adler.
2182 Factor PolicyChecker out of FrameLoader
2183 https://bugs.webkit.org/show_bug.cgi?id=30155
2185 Move the policy callback to the policy object.
2187 * WebCoreSupport/WebFrameLoaderClient.mm:
2188 (WebFrameLoaderClient::dispatchWillSubmitForm):
2189 (WebFrameLoaderClient::receivedPolicyDecison):
2191 2009-10-07 Brady Eidson <beidson@apple.com>
2193 Reviewed by Darin Adler.
2195 Send title changes to the global history delegate.
2196 <rdar://problem/7285293> and https://webkit.org/b/29904
2198 * WebCoreSupport/WebFrameLoaderClient.mm:
2199 (WebFrameLoaderClient::setTitle):
2200 * WebView/WebDelegateImplementationCaching.h:
2201 * WebView/WebHistoryDelegate.h:
2202 * WebView/WebView.mm:
2203 (-[WebView _cacheHistoryDelegateImplementations]):
2205 2009-10-07 Darin Adler <darin@apple.com>
2207 Reviewed by John Sullivan.
2209 Make the setMetadataURL function foolproof by having it remove user info
2210 https://bugs.webkit.org/show_bug.cgi?id=30178
2211 rdar://problem/6544670
2213 * Misc/WebNSFileManagerExtras.m:
2214 (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
2215 Call _web_URLByRemovingUserInfo on the passed in URL string after converting
2216 it to a URL, and then convert it back to a string.
2218 * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
2219 * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
2220 (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
2221 clearer on what this does.
2222 (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
2223 (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
2224 (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
2225 (-[NSURL _web_URLByRemovingUserInfo]): Added.
2227 2009-10-07 Simon Fraser <simon.fraser@apple.com>
2229 Make Dan Bernstein happy.
2231 * WebView/WebHTMLView.mm:
2232 (-[WebHTMLView drawRect:]):
2234 2009-10-07 Simon Fraser <simon.fraser@apple.com>
2236 Reviewed by Dan Bernstein.
2238 Avoid Obj-C message dispatch when possible by storing accessed objects
2241 * WebView/WebHTMLView.mm:
2242 (-[WebHTMLView drawRect:]):
2244 2009-10-07 Simon Fraser <simon.fraser@apple.com>
2246 Reviewed by Dan Bernstein.
2248 Animation stalls for a few seconds partway through
2249 https://bugs.webkit.org/show_bug.cgi?id=30182
2251 Make sure that we only call -disableScreenUpdatesUntilFlush when a window
2252 update is actually going to happen, otherwise screen updates are disabled
2255 * WebView/WebHTMLView.mm:
2256 (-[WebHTMLView drawRect:]):
2258 2009-10-06 Pavel Feldman <pfeldman@chromium.org>
2260 Reviewed by Timothy Hatcher.
2262 Web Inspector: default to an attached inspector window on Windows (as on Mac).
2264 https://bugs.webkit.org/show_bug.cgi?id=30134
2266 * WebCoreSupport/WebInspectorClient.mm:
2267 (-[WebInspectorWindowController showWindow:]):
2269 2009-10-06 Adam Barth <abarth@webkit.org>
2271 Reviewed by Eric Seidel.
2273 Move FrameLoader::canLoad to SecurityOrigin
2274 https://bugs.webkit.org/show_bug.cgi?id=30111
2276 * Plugins/Hosted/HostedNetscapePluginStream.mm:
2277 (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
2278 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2279 (WebKit::NetscapePluginInstanceProxy::loadRequest):
2280 * Plugins/WebBaseNetscapePluginStream.mm:
2281 (WebNetscapePluginStream::WebNetscapePluginStream):
2282 * Plugins/WebNetscapePluginView.mm:
2283 (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
2284 * Plugins/WebPluginContainerCheck.mm:
2285 (-[WebPluginContainerCheck _isForbiddenFileLoad]):
2286 * WebView/WebFrame.mm:
2287 (-[WebFrame _allowsFollowingLink:]):
2289 2009-10-06 Adam Barth <abarth@webkit.org>
2291 Reviewed by Eric Seidel.
2293 Move setLocalLoadPolicy and friends to SecurityOrigin
2294 https://bugs.webkit.org/show_bug.cgi?id=30110
2298 * WebView/WebView.mm:
2299 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2301 2009-10-06 Simon Fraser <simon.fraser@apple.com>
2303 Reviewed by Mark Rowe.
2305 accessibility/media-element.html crashes (and has incorrect result)
2306 https://bugs.webkit.org/show_bug.cgi?id=30108
2308 Fix up the accessibilty label for the newly added fullscreen button,
2309 and update the test result accordingly.
2311 * WebCoreSupport/WebViewFactory.mm:
2312 (-[WebViewFactory localizedMediaControlElementString:]):
2313 Handle "ControlsPanel" which is just an empty container, to avoid
2314 asserting in debug builds.
2316 2009-10-06 Daniel Bates <dbates@webkit.org>
2318 Reviewed by Eric Seidel.
2320 https://bugs.webkit.org/show_bug.cgi?id=30107
2322 Fixes an issue where the Mac build does return the correct drop effect
2323 with respect to the HTML 5 specification when effectAllowed == "none".
2325 Currently, when effectAllowed == "none" and dropEffect == "copy" or
2326 dropEffect == "move" the resulting drop effect is "copy" and "move",
2327 respectively. However, the HTML 5 specification states that regardless
2328 of the specified dropEffect, when effectAllowed == "none" the resulting
2329 drop effect should be "none".
2331 * WebView/WebHTMLView.mm:
2332 (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
2334 2009-10-06 Pavel Feldman <pfeldman@chromium.org>
2336 Reviewed by Timothy Hatcher.
2338 Web Inspector: close inspector client view on
2339 InspectorController::close API call.
2341 In order to run batch web inspector layout tests (and not affect
2342 subsequent tests) we should close inspector client's view upon
2343 InspectorController::close API call.
2345 https://bugs.webkit.org/show_bug.cgi?id=30009
2347 * WebCoreSupport/WebInspectorClient.mm:
2348 (WebInspectorClient::createPage):
2350 2009-10-05 Dan Bernstein <mitz@apple.com>
2352 Rubber-stamped by Mark Rowe.
2354 Moved a WebPluginHalterClient out of the WebCore namesapce.
2356 * WebCoreSupport/WebPluginHalterClient.h:
2358 2009-10-05 Kevin Decker <kdecker@apple.com>
2360 Reviewed by Dan Bernstein.
2362 Added new PluginHalter client, delegate and few more WebPreferences keys.
2364 * WebView/WebPreferenceKeysPrivate.h: Added two new keys.
2365 * WebView/WebPreferences.mm:
2366 (+[WebPreferences initialize]): Initialize newly added key.
2367 (-[WebPreferences pluginAllowedRunTime]): Added.
2368 (-[WebPreferences setPluginAllowedRunTime:]): Added.
2369 * WebView/WebPreferencesPrivate.h: Added above two methods.
2370 * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
2371 * WebView/WebView.mm:
2372 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2373 Setup a new WebPluginHalterClient.
2374 (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
2375 * WebCoreSupport/WebPluginHalterClient.h: Added.
2376 * WebCoreSupport/WebPluginHalterClient.mm: Added.
2377 (WebPluginHalterClient::WebPluginHalterClient):
2378 (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.
2380 2009-10-05 Simon Fraser <simon.fraser@apple.com>
2382 More build fixes for Tiger.
2384 * WebView/WebVideoFullscreenController.mm:
2386 2009-10-05 Simon Fraser <simon.fraser@apple.com>
2388 More build fixes for Tiger.
2390 * WebView/WebVideoFullscreenController.mm:
2391 (-[WebVideoFullscreenWindow animationDidEnd:]):
2392 * WebView/WebWindowAnimation.m:
2394 2009-10-05 Simon Fraser <simon.fraser@apple.com>
2396 More build fixes for Tiger.
2398 * WebView/WebVideoFullscreenController.mm:
2399 * WebView/WebVideoFullscreenHUDWindowController.mm:
2400 (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
2401 (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
2402 (-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
2403 (-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
2404 (-[WebVideoFullscreenHUDWindowController closeWindow]):
2406 2009-10-05 Simon Fraser <simon.fraser@apple.com>
2408 Build fixes for Tiger.
2410 * WebView/WebVideoFullscreenHUDWindowController.h:
2411 * WebView/WebVideoFullscreenHUDWindowController.mm:
2412 (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
2413 (-[WebVideoFullscreenHUDWindowController dealloc]):
2414 (-[WebVideoFullscreenHUDWindowController closeWindow]):
2415 (-[WebVideoFullscreenHUDWindowController windowDidLoad]):
2417 2009-10-05 Simon Fraser <simon.fraser@apple.com>
2419 Build fix. If you call Node::hasTagName(), you also have to include Element.h.
2421 * WebCoreSupport/WebChromeClient.mm:
2423 2009-10-05 Pierre d'Herbemont <pdherbemont@webkit.org>
2425 Reviewed by Simon Fraser
2427 Support fullscreen in MediaPlayer (Mac)
2428 https://bugs.webkit.org/show_bug.cgi?id=26742
2430 Add a fullscreen button to the <video> controller if the media engine,
2431 and the theme have support for fullscreen, and can show appropriate controls.
2432 Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
2433 in WebKit to do a nice animation to fullscreen, with a custom controller.
2435 * WebCoreSupport/WebChromeClient.h:
2436 * WebCoreSupport/WebChromeClient.mm:
2437 (WebChromeClient::supportsFullscreenForNode):
2438 (WebChromeClient::enterFullscreenForNode):
2439 (WebChromeClient::exitFullscreenForNode):
2440 New methods to ask whether fullscreen is possible for a given node, and
2441 notifications on enterying and exiting fullscreen.
2443 * WebView/WebVideoFullscreenController.h: Added.
2444 * WebView/WebVideoFullscreenController.mm: Added.
2445 WebVideoFullscreenController is responsible for creating the fullscreen window,
2446 and coordinating the various animations when going fullscreen.
2448 * WebView/WebVideoFullscreenHUDWindowController.h: Added.
2449 * WebView/WebVideoFullscreenHUDWindowController.mm: Added.
2450 This class manages the heads-up display (HUD) control bar.
2452 * WebView/WebView.mm:
2453 (-[WebView _close]):
2454 Make sure we come out of fullscreen if the WebView is torn down (e.g. if
2455 you close a background window).
2457 (-[WebView _enterFullscreenForNode:WebCore::]):
2458 Make a WebVideoFullscreenController and tell is to start to go fullscreen.
2460 (-[WebView _exitFullscreen]):
2461 Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
2463 * WebView/WebViewData.h:
2464 * WebView/WebViewData.mm:
2465 (-[WebViewPrivate dealloc]):
2466 (-[WebViewPrivate finalize]):
2467 * WebView/WebViewInternal.h:
2468 Keep a pointer to the WebVideoFullscreenController.
2470 * WebView/WebWindowAnimation.h: Added.
2471 * WebView/WebWindowAnimation.m: Added.
2472 (WebWindowAnimationDurationFromDuration):
2475 Handle the animations used during the transitition to fullscreen.
2477 2009-10-05 Anders Carlsson <andersca@apple.com>
2479 Reviewed by Kevin Decker.
2481 WebKit side of <rdar://problem/7179166>
2483 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
2484 Add an m_pluginIsWaitingForDraw member variable.
2486 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
2487 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
2488 Initialize m_pluginIsWaitingForDraw.
2490 (WebKit::NetscapePluginInstanceProxy::invalidateRect):
2491 Set m_pluginIsWaitingForDraw to true.
2493 (WebKit::NetscapePluginInstanceProxy::didDraw):
2494 If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
2496 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
2497 (-[WebHostedNetscapePluginView drawRect:]):
2500 * Plugins/Hosted/WebKitPluginHost.defs:
2501 Add PHPluginInstanceDidDraw.
2503 2009-10-02 Chris Marrin <cmarrin@apple.com>
2505 Reviewed by Adele Peterson.
2507 Add functionality to pause/throttle CSS transitions/animations in a WebView
2508 https://bugs.webkit.org/show_bug.cgi?id=29942
2510 Added both a setter and getter function
2512 * WebView/WebView.mm:
2513 (-[WebView cssAnimationsSuspended]):
2514 (-[WebView setCSSAnimationsSuspended:]):
2515 * WebView/WebViewData.h:
2516 * WebView/WebViewData.mm:
2517 (-[WebViewPrivate init]):
2518 * WebView/WebViewPrivate.h:
2520 2009-10-04 Kevin Decker <kdecker@apple.com>
2522 Reviewed by Sam Weinig.
2524 <rdar://problem/7273363> Plug-ins should use PluginHalter
2526 * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
2527 * Plugins/WebBaseNetscapePluginView.mm:
2528 (WebHaltablePlugin::WebHaltablePlugin): Added.
2529 (WebHaltablePlugin::halt): New method that stops a plug-in.
2530 (WebHaltablePlugin::restart): New method that starts a plug-in.
2531 (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
2532 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
2533 Initialize new _haltable ivar.
2534 (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
2535 (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.
2537 2009-10-05 Pavel Feldman <pfeldman@chromium.org>
2539 Reviewed by Timothy Hatcher.
2541 Web Inspector: add testing harness for Web Inspector.
2543 https://bugs.webkit.org/show_bug.cgi?id=30010
2545 * WebInspector/WebInspector.mm:
2546 (-[WebInspector evaluateInFrontend:callId:script:]):
2547 * WebInspector/WebInspectorPrivate.h: Added.
2549 2009-10-04 Kevin Decker <kdecker@apple.com>
2551 Reviewed by Cameron Zwarich.
2553 * WebView/WebPreferenceKeysPrivate.h: Added new key.
2554 * WebView/WebPreferences.mm:
2555 (+[WebPreferences initialize]): Leave plug-in halting disabled by default.
2556 (-[WebPreferences pluginHalterEnabled]): Added.
2557 (-[WebPreferences setPluginHalterEnabled:]): Ditto.
2558 * WebView/WebPreferencesPrivate.h: Added above new methods.
2560 2009-10-02 Dave Hyatt <hyatt@apple.com>
2562 Reviewed by Adam Roben.
2564 Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
2566 * WebView/WebView.mm:
2568 (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
2569 (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
2570 * WebView/WebViewPrivate.h:
2572 2009-10-01 Mark Rowe <mrowe@apple.com>
2574 Fix the Tiger build. Don't unconditionally enable 3D canvas as it is not supported on Tiger.
2576 * Configurations/FeatureDefines.xcconfig:
2578 2009-10-01 Chris Marrin <cmarrin@apple.com>
2580 Reviewed by Oliver Hunt.
2582 Turn on ENABLE_3D_CANVAS in TOT
2583 https://bugs.webkit.org/show_bug.cgi?id=29906
2585 * Configurations/FeatureDefines.xcconfig:
2586 * WebView/WebPreferenceKeysPrivate.h:
2587 * WebView/WebPreferences.mm:
2588 (+[WebPreferences initialize]):
2589 (-[WebPreferences webGLEnabled]):
2590 (-[WebPreferences setWebGLEnabled:]):
2591 * WebView/WebPreferencesPrivate.h:
2592 * WebView/WebView.mm:
2593 (-[WebView _preferencesChangedNotification:]):
2595 2009-09-30 Sam Weinig <sam@webkit.org>
2597 Reviewed by Dan Bernstein.
2599 Fix for <rdar://problem/7259706>
2600 Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window
2602 * WebView/WebFrame.mm:
2603 (-[WebFrame _allowsFollowingLink:]):
2604 * WebView/WebFramePrivate.h:
2606 2009-09-30 Dave Hyatt <hyatt@apple.com>
2608 Reviewed by Adam Roben.
2610 Add the ability to remove user stylesheets and scripts by URL.
2612 * WebView/WebView.mm:
2613 (+[WebView _removeUserContentFromGroup:url:worldID:]):
2614 * WebView/WebViewPrivate.h:
2616 2009-09-29 Brady Eidson <beidson@apple.com>
2618 Rubberstamped by Dan Bernstein.
2620 Fix license and some sorting in new files.
2622 * WebView/WebHistoryDelegate.h:
2623 * WebView/WebNavigationData.h:
2624 * WebView/WebNavigationData.mm:
2626 2009-09-29 Brady Eidson <beidson@apple.com>
2628 Reviewed by John Sullivan.
2630 WebKit Mac API should provide a delegate interface for global history.
2631 <rdar://problem/7042773> and https://webkit.org/b/29904
2633 * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage
2634 their own global history store.
2636 Object to store all of the bits of data relevant to a page visit:
2637 * WebView/WebNavigationData.h: Added.
2638 * WebView/WebNavigationData.mm: Added.
2639 (-[WebNavigationDataPrivate dealloc]):
2640 (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
2641 (-[WebNavigationData url]):
2642 (-[WebNavigationData title]):
2643 (-[WebNavigationData originalRequest]):
2644 (-[WebNavigationData response]):
2645 (-[WebNavigationData hasSubstituteData]):
2646 (-[WebNavigationData clientRedirectSource]):
2647 (-[WebNavigationData dealloc]):
2649 * WebCoreSupport/WebFrameLoaderClient.mm:
2650 (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
2651 If the implementation for this method exists, call it.
2652 (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto
2654 * WebView/WebDelegateImplementationCaching.h:
2655 * WebView/WebDelegateImplementationCaching.mm:
2656 (WebViewGetHistoryDelegateImplementations):
2657 (CallHistoryDelegate):
2659 * WebView/WebView.mm:
2660 (-[WebView _cacheHistoryDelegateImplementations]):
2661 (-[WebView setHistoryDelegate:]):
2662 (-[WebView historyDelegate]):
2663 * WebView/WebViewData.h:
2664 * WebView/WebViewPrivate.h:
2666 2009-09-29 Kenneth Russell <kbr@google.com>
2668 Reviewed by Dimitri Glazkov.
2670 Add support for run-time flag for 3D canvas
2671 https://bugs.webkit.org/show_bug.cgi?id=29826
2673 * WebView/WebView.mm:
2674 (-[WebView _preferencesChangedNotification:]): Enable experimental
2675 WebGL flag when 3D_CANVAS is enabled in the build.
2677 2009-09-28 Fumitoshi Ukai <ukai@chromium.org>
2679 Reviewed by Eric Seidel.
2681 Add experimentalWebSocketsEnabled in WebPreferences.
2682 https://bugs.webkit.org/show_bug.cgi?id=28941
2684 * WebView/WebPreferenceKeysPrivate.h:
2685 * WebView/WebPreferences.mm:
2686 (+[WebPreferences initialize]):
2687 (-[WebPreferences experimentalWebSocketsEnabled]):
2688 (-[WebPreferences setExperimentalWebSocketsEnabled:]):
2689 * WebView/WebPreferencesPrivate.h:
2690 * WebView/WebView.mm:
2691 (-[WebView _preferencesChangedNotification:]):
2693 2009-09-28 Dan Bernstein <mitz@apple.com>
2695 Reviewed by Anders Carlsson.
2697 <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
2700 CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
2701 Its lifetime is managed by its container. Just use a Vector to store
2702 CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.
2704 * WebView/WebPDFDocumentExtras.mm:
2705 (appendValuesInPDFNameSubtreeToVector):
2706 (getAllValuesInPDFNameTree):
2707 (web_PDFDocumentAllScripts):
2709 2009-09-24 Jon Honeycutt <jhoneycutt@apple.com>
2711 Reviewed by Alice Liu.
2713 * WebView/WebView.mm:
2714 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
2715 Pass 0 for new Page constructor argument.
2717 2009-09-14 John Gregg <johnnyg@google.com>
2719 Reviewed by Eric Seidel.
2721 isEnabled switch for notifications (experimental) in Page Settings
2722 https://bugs.webkit.org/show_bug.cgi?id=28930
2724 Adds support for the experimentalNotificationsEnabled flag in Settings
2725 through WebPreferencesPrivate.
2727 * WebView/WebPreferenceKeysPrivate.h:
2728 * WebView/WebPreferences.mm:
2729 (+[WebPreferences initialize]):
2730 (-[WebPreferences experimentalNotificationsEnabled]):
2731 (-[WebPreferences setExperimentalNotificationsEnabled:]):
2732 * WebView/WebPreferencesPrivate.h:
2733 * WebView/WebView.mm:
2734 (-[WebView _preferencesChangedNotification:]):
2736 2009-09-23 Geoffrey Garen <ggaren@apple.com>
2738 Reviewed by Sam Weinig.
2740 Updated for a WebCore rename.
2742 * WebView/WebFrame.mm:
2743 (-[WebFrame _cacheabilityDictionary]):
2745 2009-09-23 Darin Adler <darin@apple.com>
2747 Reviewed by Dan Bernstein.
2749 Speed up access to history items by caching date computation.
2751 * History/WebHistory.mm:
2752 (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
2753 Returns the beginning of the day that the passed time is within and
2754 the beginning of the next day.
2755 (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
2756 multiple dates within the same day, which is the common case.
2757 (dateKey): Added. Calls beginningOfDay and converts to an integer.
2758 (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
2759 insetad of timeIntervalForBeginningOfDay.
2761 2009-09-23 David Kilzer <ddkilzer@apple.com>
2763 Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h
2765 Reviewed by Mark Rowe.
2767 * WebKitPrefix.h: Removed definition of
2768 WTF_USE_PLUGIN_HOST_PROCESS.
2770 2009-09-22 Timothy Hatcher <timothy@apple.com>
2772 Prevent scrolling multiple frames during latched wheel events.
2774 Reviewed by Anders Carlsson.
2776 * WebView/WebDynamicScrollBarsView.h:
2777 * WebView/WebDynamicScrollBarsView.mm:
2778 (-[WebDynamicScrollBarsView scrollWheel:]):
2780 2009-09-22 Dan Bernstein <mitz@apple.com>
2782 Reviewed by John Sullivan.
2784 <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
2787 * WebView/WebPDFDocumentExtras.mm:
2788 (addWebPDFDocumentExtras): Made methodList static, because
2789 class_addMethods() doesn't copy it.
2791 2009-09-21 Dan Bernstein <mitz@apple.com>
2793 Attempt to fix the Tiger build
2795 * WebView/WebPDFDocumentExtras.mm:
2796 (addWebPDFDocumentExtras):
2798 2009-09-21 Dan Bernstein <mitz@apple.com>
2800 Attempt to fix the Tiger build
2802 * WebView/WebPDFDocumentExtras.mm:
2803 (web_PDFDocumentAllScripts):
2804 (addWebPDFDocumentExtras):
2806 2009-09-21 Dan Bernstein <mitz@apple.com>
2808 Attempt to fix the Tiger build
2810 * WebView/WebPDFDocumentExtras.mm:
2811 * WebView/WebPDFRepresentation.mm:
2813 2009-09-21 Dan Bernstein <mitz@apple.com>
2815 Attempt to fix the Leopard and Tiger builds
2817 * WebView/WebPDFDocumentExtras.mm:
2819 2009-09-21 Dan Bernstein <mitz@apple.com>
2821 Reviewed by Anders Carlsson.
2823 <rdar://problem/4137135> iFrame with PDF not being handled correctly on
2825 https://bugs.webkit.org/show_bug.cgi?id=4151
2827 * WebView/WebJSPDFDoc.h: Added.
2828 * WebView/WebJSPDFDoc.mm: Added.
2829 (jsPDFDocInitialize): Retains the WebDataSource.
2830 (jsPDFDocFinalize): Releases the WebDataSource.
2831 (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
2832 with the PDF document's view.
2833 (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
2835 * WebView/WebPDFDocumentExtras.h: Added.
2836 * WebView/WebPDFDocumentExtras.mm: Added.
2837 (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
2838 tree and adds all values in the subtree to an array.
2839 (allValuesInPDFNameTree): Returns an array with all of the values in a
2841 (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
2842 _web_allScripts]. It gets all values in the document-level "JavaScript"
2843 name tree, which are action dictionaries, and returns an array of the
2845 (addWebPDFDocumentExtras): Adds the -_web_allScripts method to
2847 * WebView/WebPDFRepresentation.h:
2848 * WebView/WebPDFRepresentation.m: Removed.
2849 * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
2850 (+[WebPDFRepresentation initialize]): Added. Calls
2851 addWebPDFDocumentExtras().
2852 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
2853 scripts from the PDF document, create a JavaScript Doc object for the
2854 document, and a JavaScript execution context, then execute every script
2855 in the context, with the Doc object as "this".
2857 2009-09-17 Simon Fraser <simon.fraser@apple.com>
2859 Reviewed by Dave Hyatt.
2861 Compositing layers are incorrectly positioned after scrolling with position:fixed
2862 https://bugs.webkit.org/show_bug.cgi?id=29262
2864 When scrolling a page with compositing layers inside a position:fixed element,
2865 we need to update the compositing layer positions when the scroll position changes.
2867 * WebView/WebHTMLView.mm:
2868 (-[WebHTMLView _frameOrBoundsChanged]):
2869 Call the new FrameView::scrollPositionChanged() method rather than sending the
2870 scroll event directly.
2872 2009-09-17 Kenneth Rohde Christiansen <kenneth@webkit.org>
2874 Reviewed by Simon Hausmann.
2876 Make PlatformWindow return something else than PlatformWidget
2877 https://bugs.webkit.org/show_bug.cgi?id=29085
2879 Reflect the rename of platformWindow and it's return type.
2881 * WebCoreSupport/WebChromeClient.h:
2882 * WebCoreSupport/WebChromeClient.mm:
2883 (WebChromeClient::platformPageClient):
2885 2009-09-17 Anders Carlsson <andersca@apple.com>
2887 Reviewed by Oliver Hunt.
2889 <rdar://problem/7007541>
2890 CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
2892 Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
2894 * Plugins/Hosted/ProxyInstance.mm:
2895 (WebKit::ProxyInstance::invoke):
2896 (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
2897 (WebKit::ProxyInstance::supportsConstruct):
2898 (WebKit::ProxyInstance::getPropertyNames):
2899 (WebKit::ProxyInstance::methodsNamed):
2900 (WebKit::ProxyInstance::fieldNamed):
2901 (WebKit::ProxyInstance::fieldValue):
2902 (WebKit::ProxyInstance::setFieldValue):
2903 (WebKit::ProxyInstance::invalidate):
2905 2009-09-16 Simon Fraser <simon.fraser@apple.com>
2907 Reviewed by Dan Bernstein.
2909 Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
2910 become misplaced when the WebHTMLView is resized or scrolled sometimes.
2911 <rdar://problem/7071636>
2913 The previous fix didn't fix the case where the layers jiggle when resizing the docked
2914 inspector when the view size is over 2048px tall, on Leopard.
2916 * WebView/WebHTMLView.mm:
2917 (-[WebHTMLView _updateLayerHostingViewPosition]):
2919 2009-09-16 Simon Fraser <simon.fraser@apple.com>
2921 Reviewed by Oliver Hunt.
2923 Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
2924 become misplaced when the WebHTMLView is resized or scrolled sometimes.
2925 <rdar://problem/7071636>
2927 We call an internal AppKit method to make sure the layer geometry is updated correctly.
2929 * WebView/WebHTMLView.mm:
2930 (-[WebHTMLView _updateLayerHostingViewPosition]):
2932 2009-09-15 Simon Fraser <simon.fraser@apple.com>
2934 Reviewed by Dan Bernstein.
2936 Fixed position elements flash when CSS transforms are applied on page > 2048px tall
2937 https://bugs.webkit.org/show_bug.cgi?id=27272
2939 Update the previous workaround for misplaced compositing layers, which used a 4096px
2940 threshold, to 2048px since that's the GPU max texture size on some older hardware.
2942 * WebView/WebHTMLView.mm:
2943 (-[WebHTMLView _updateLayerHostingViewPosition]):
2945 2009-09-15 Alex Milowski <alex@milowski.com>
2947 Reviewed by Tor Arne Vestbø.
2949 Added the ENABLE_MATHML to the feaure defines
2951 * Configurations/FeatureDefines.xcconfig:
2953 2009-09-15 Mark Rowe <mrowe@apple.com>
2955 Reviewed by Anders Carlsson.
2957 <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused
2959 In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
2960 -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.
2962 * Plugins/WebBaseNetscapePluginView.mm:
2963 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
2964 with a check that the view is still in the window.
2966 2009-09-14 Brady Eidson <beidson@apple.com>
2968 Reviewed by Alexey Proskuryakov.
2970 Safari 4 cannot be used to update firmware on Linksys routers.
2971 <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
2973 Adopt the new WebCore::CredentialStorage in WebKit/Mac.
2975 * Misc/WebDownload.mm:
2976 (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
2977 * Plugins/WebBaseNetscapePluginView.mm:
2978 (WebKit::getAuthenticationInfo):
2980 2009-09-12 Mark Rowe <mrowe@apple.com>
2982 Reviewed by Anders Carlsson.
2984 Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.
2986 It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
2987 initializes a plug-in and the plug-in removes itself from the document during initialization. -viewDidMoveToWindow
2988 calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.
2990 If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
2991 observe NSWindowWillCloseNotification on all windows. This unexpected observer registration is not balanced by an
2992 unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
2993 <rdar://problem/7090444>.
2995 * Plugins/WebBaseNetscapePluginView.mm:
2996 (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
2997 (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
2998 from -[WebBaseNetscapePluginView viewDidMoveToWindow]. They are already called from within -start with the extra benefit
2999 of ensuring that the view is still in a window when they are called.
3001 2009-09-11 Mark Rowe <mrowe@apple.com>
3003 Reviewed by Jon Honeycutt.
3005 Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream
3007 * Plugins/Hosted/HostedNetscapePluginStream.mm:
3008 (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
3009 If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
3010 This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
3011 Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.
3013 2009-09-11 Eric Seidel <eric@webkit.org>
3015 No review, rolling out r48229.
3016 http://trac.webkit.org/changeset/48229
3018 * WebView/WebFrame.mm:
3019 (-[WebFrame _dragSourceMovedTo:]):
3021 2009-09-10 Mark Rowe <mrowe@apple.com>
3023 Rubber-stamped by Sam Weinig.
3025 Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.
3027 * Configurations/FeatureDefines.xcconfig:
3029 2009-09-09 Jens Alfke <snej@chromium.org>
3031 Reviewed by Eric Seidel.
3033 Initialize DataTransfer's effectAllowed and dropEffect properties correctly
3034 according to HTML5 spec (sec. 7.9.2-7.9.3).
3035 https://bugs.webkit.org/show_bug.cgi?id=26700
3037 * WebView/WebFrame.mm:
3038 (-[WebFrame _dragSourceMovedTo:]):
3039 Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().
3041 2009-09-09 Dave Hyatt <hyatt@apple.com>
3043 Reviewed by Adam Roben.
3045 https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection. This is similar
3046 to user script injection but allows for user stylesheets to be added. The stylesheets are applied immediately
3047 to all Frames in the PageGroup.
3049 Added userscripts/simple-stylesheet.html test case.
3051 * WebView/WebView.mm:
3052 (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
3053 * WebView/WebViewPrivate.h:
3055 2009-09-07 Steve Block <steveblock@google.com>
3057 Reviewed by Adam Barth.
3059 Adds a mock Geolocation service. This will be used to provide predictable behavior of the
3060 Geolocation API for use in LayoutTests. Later changes will integrate the the mock
3061 Geolocation service with DumpRenderTree.
3062 https://bugs.webkit.org/show_bug.cgi?id=28264
3064 * WebCoreSupport/WebGeolocationMockPrivate.h: Added.
3065 * WebCoreSupport/WebGeolocationMock.mm: Added.
3066 (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
3067 (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
3068 * WebKit.exp: Modified. Exports WebGeolocationMock.
3070 2009-09-07 Drew Wilson <atwilson@google.com>
3072 Reviewed by David Levin.
3074 Enable SHARED_WORKERS by default.
3075 https://bugs.webkit.org/show_bug.cgi?id=28959
3077 * Configurations/FeatureDefines.xcconfig:
3079 2009-09-06 Cameron McCormack <cam@mcc.id.au>
3081 Reviewed by Eric Seidel.
3083 Drop <definition-src> support
3084 https://bugs.webkit.org/show_bug.cgi?id=28991
3086 * MigrateHeaders.make: Remove reference to ObjC definition-src
3089 2009-09-04 Mark Mentovai <mark@chromium.org>
3091 Reviewed by Dave Hyatt.
3093 https://bugs.webkit.org/show_bug.cgi?id=28614
3095 Account for scrollbar state changes that occur during layout.
3097 * WebView/WebDynamicScrollBarsView.mm:
3098 (-[WebDynamicScrollBarsView updateScrollers]):
3100 Perform a layout prior to checking whether the scrollbar modes are
3101 off, on, or automatic. The modes may change during layout.
3103 * WebView/WebFrameView.mm:
3104 (-[WebFrameView _install]):
3106 Eliminate duplicated (and incorrect) scrollbar mode tracking between
3107 FrameView and ScrollView.
3109 2009-09-03 Dave Hyatt <hyatt@apple.com>
3111 Reviewed by Adam Roben.
3113 https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
3115 This patch adds new API for adding and removing user scripts from page groups. User scripts
3116 are bundled together in isolated worlds (you can have multiple scripts together in the same
3119 Added userscripts/ directory for holding new tests (along with a simple test of script injection).
3121 * WebView/WebView.mm:
3122 (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
3123 (+[WebView _removeUserContentFromGroup:worldID:]):
3124 (+[WebView _removeAllUserContentFromGroup:]):
3125 * WebView/WebViewPrivate.h:
3127 2009-09-04 Adam Barth <abarth@webkit.org>
3129 Reviewed by Eric Seidel.
3131 https://bugs.webkit.org/show_bug.cgi?id=24696
3133 Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
3135 * WebCoreSupport/WebFrameLoaderClient.mm:
3136 (WebFrameLoaderClient::didDisplayInsecureContent):
3137 (WebFrameLoaderClient::didRunInsecureContent):
3138 * WebView/WebDelegateImplementationCaching.h:
3139 * WebView/WebFrameLoadDelegatePrivate.h: Added.
3141 2009-09-03 Adam Barth <abarth@webkit.org>
3143 Unreviewed build fix.
3145 Change notImplemented() to a FIXME.
3147 * WebCoreSupport/WebFrameLoaderClient.mm:
3148 (WebFrameLoaderClient::didDisplayInsecureContent):
3149 (WebFrameLoaderClient::didRunInsecureContent):
3151 2009-09-03 Adam Barth <abarth@webkit.org>
3153 Reviewed by eric@webkit.org.
3155 https://bugs.webkit.org/show_bug.cgi?id=24696
3157 Plumb mixed content notifications to WebFrameLoadDelegatePrivate.
3159 * WebCoreSupport/WebFrameLoaderClient.mm:
3160 (WebFrameLoaderClient::didDisplayInsecureContent):
3161 (WebFrameLoaderClient::didRunInsecureContent):
3162 * WebView/WebDelegateImplementationCaching.h:
3163 * WebView/WebFrameLoadDelegatePrivate.h: Added.
3165 2009-09-03 Adam Barth <abarth@webkit.org>
3167 Reviewed by Eric Seidel.
3169 https://bugs.webkit.org/show_bug.cgi?id=24696
3171 Stub implementations of mixed content methods of FrameLoaderClient.
3173 * WebCoreSupport/WebFrameLoaderClient.h:
3174 * WebCoreSupport/WebFrameLoaderClient.mm:
3175 (WebFrameLoaderClient::didDisplayInsecureContent):
3176 (WebFrameLoaderClient::didRunInsecureContent):
3178 2009-09-02 Brady Eidson <beidson@apple.com>
3180 Reviewed by Darin Adler.
3182 More partial work towards "Page Cache should support pages with Frames"
3183 https://bugs.webkit.org/show_bug.cgi?id=13631
3185 * WebView/WebHTMLView.mm:
3186 (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
3187 reality of calling this method for pages currently in the PageCache.
3189 2009-08-31 Dimitri Glazkov <dglazkov@chromium.org>
3191 Reverting http://trac.webkit.org/changeset/47904, because it caused
3192 layout test failure.
3194 2009-08-31 Alexey Proskuryakov <ap@webkit.org>
3196 Reviewed by Darin Adler.
3198 https://bugs.webkit.org/show_bug.cgi?id=28852
3199 Rename KURL single argument constructor to avoid confusion
3201 * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.
3203 2009-08-31 Mark Mentovai <mark@chromium.org>
3205 Reviewed by Dave Hyatt.
3207 https://bugs.webkit.org/show_bug.cgi?id=28614
3209 Perform a layout prior to checking whether the scrollbar modes are
3210 off, on, or automatic. The modes may change during layout.
3212 * WebView/WebDynamicScrollBarsView.mm:
3213 (-[WebDynamicScrollBarsView updateScrollers]):
3215 2009-08-28 Chris Fleizach <cfleizach@apple.com>
3217 Reviewed by John Sullivan.
3219 update-webkit-localizable-strings script can no longer complete
3220 https://bugs.webkit.org/show_bug.cgi?id=28792
3222 * WebCoreSupport/WebViewFactory.mm:
3223 (-[WebViewFactory AXARIAContentGroupText:]):
3225 2009-08-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
3227 Reviewed by Holger Freyther.
3229 https://bugs.webkit.org/show_bug.cgi?id=25889
3230 [GTK] scrollbar policy for main frame is not implementable
3232 Add empty implementation for new ChromeClient method.
3234 * WebCoreSupport/WebChromeClient.h:
3235 (WebChromeClient::scrollbarsModeDidChange):
3237 2009-08-25 Eric Carlson <eric.carlson@apple.com>
3239 Reviewed by Oliver Hunt.
3241 <video> and <audio> controller should be accessible
3242 https://bugs.webkit.org/show_bug.cgi?id=28081
3244 * WebCoreSupport/WebViewFactory.mm:
3245 (-[WebViewFactory localizedMediaControlElementString:]):
3246 (-[WebViewFactory localizedMediaControlElementHelpText:]):
3247 (-[WebViewFactory localizedMediaTimeDescription:]):
3250 2009-08-24 Simon Fraser <simon.fraser@apple.com>
3252 Reviewed by NOBODY (build fix)
3254 Turn off ENABLE_3D_CANVAS in the xconfig files.
3256 * Configurations/FeatureDefines.xcconfig:
3258 2009-08-22 Adam Barth <abarth@webkit.org>
3260 Revert 47684. We're going to do this later once clients have had a
3261 chance to opt into the setting they like.
3263 * Misc/WebKitVersionChecks.h:
3264 * WebView/WebPreferences.mm:
3265 (+[WebPreferences initialize]):
3267 2009-08-22 Adam Barth <abarth@webkit.org>
3269 Reviewed by Eric Seidel.
3271 Don't let local files access web URLs
3272 https://bugs.webkit.org/show_bug.cgi?id=28480
3274 * Misc/WebKitVersionChecks.m:
3275 * WebView/WebPreferences.mm:
3276 (+[WebPreferences initialize]):
3278 2009-08-21 Anders Carlsson <andersca@apple.com>
3280 Reviewed by Darin Adler.
3282 <rdar://problem/7162480>
3283 Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
3285 Add a null check for the current context when reflectScrolledClipView: is called from outside a
3288 * WebView/WebDynamicScrollBarsView.mm:
3289 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3291 2009-08-20 Chris Fleizach <cfleizach@apple.com>
3293 Reviewed by Darin Adler.
3295 Enable various "grouping" ARIA roles
3296 https://bugs.webkit.org/show_bug.cgi?id=28486
3298 * WebCoreSupport/WebViewFactory.mm:
3299 (-[WebViewFactory AXARIAContentGroupText:]):
3301 2009-08-19 Mark Rowe <mrowe@apple.com>
3303 Reviewed by Dan Bernstein.
3305 Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot
3307 When the plug-in data is being loaded manually there is a reference cycle between the
3308 NetscapePluginInstanceProxy and the HostedNetscapePluginStream. We need to explicitly
3309 break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
3312 Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
3313 and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.
3315 * Plugins/Hosted/HostedNetscapePluginStream.h:
3316 * Plugins/Hosted/HostedNetscapePluginStream.mm:
3317 (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
3318 (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
3319 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3320 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
3321 (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
3322 (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
3325 2009-08-19 Aaron Boodman <aa@chromium.org>
3327 Reviewed by David Levin.
3329 https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
3330 specify a more granular policy for cross-origin XHR access.
3332 * WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
3333 (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
3334 (+[WebView _resetOriginAccessWhiteLists]): Ditto.
3335 * WebView/WebViewPrivate.h: Ditto.
3337 2009-08-18 Anders Carlsson <andersca@apple.com>
3339 Reviewed by Adele Peterson.
3341 Mac specific part of
3343 <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
3345 * WebCoreSupport/WebFrameLoaderClient.h:
3346 * WebCoreSupport/WebFrameLoaderClient.mm:
3347 Implement shouldLoadMediaElementURL by asking the policy delegate.
3349 * WebView/WebPolicyDelegatePrivate.h:
3350 Add new delegate method, remove some unused cruft.
3352 2009-08-18 Drew Wilson <atwilson@google.com>
3354 Reviewed by Eric Seidel.
3356 Need to extend DumpRenderTree to expose number of worker threads.
3357 https://bugs.webkit.org/show_bug.cgi?id=28292
3360 Exported WebWorkersPrivate so DumpRenderTree can access it.
3361 * Workers/WebWorkersPrivate.h: Added.
3362 * Workers/WebWorkersPrivate.mm: Added.
3363 (+[WebWorkersPrivate workerThreadCount]):
3364 Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.
3366 2009-08-17 Darin Adler <darin@apple.com>
3368 Reviewed by Sam Weinig.
3370 Use a HashMap instead of a list of if statements for the command
3373 * WebView/WebHTMLView.mm:
3374 (createSelectorExceptionMap): Added.
3375 (commandNameForSelector): Use createSelectorExceptionMap.
3377 2009-08-16 David Kilzer <ddkilzer@apple.com>
3379 <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration
3381 Reviewed by Simon Fraser.
3383 Without WebKitPrefix.h, the missing @class CALayer declaration
3384 causes a compile-time error.
3386 * WebView/WebHTMLViewInternal.h: Added @class CALayer
3387 declaration with USE(ACCELERATED_COMPOSITING).
3389 2009-08-16 David Kilzer <ddkilzer@apple.com>
3391 <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
3393 Reviewed by Dan Bernstein.
3395 * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
3397 (WebNetscapePluginStream::deliverData): Changed MIN() to min().
3398 Changed C-style cast to a static_cast.
3399 * Plugins/WebNetscapePluginView.mm: Added using std::min
3401 (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
3402 Changed MIN() to min(). Changed C-style cast to a static_cast.
3403 * WebView/WebHTMLView.mm: Added using std::max statement.
3404 (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
3406 (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
3407 * WebView/WebTextCompletionController.mm: Added using std::max
3408 and using std::min statements.
3409 (-[WebTextCompletionController _placePopupWindow:]): Changed
3410 type of maxWidth variable from float to CGFloat to prevent a
3411 type mismatch on x86_64. Changed MAX() to max() and MIN() to
3412 min(). Added static_cast for a constant value since CGFloat is
3413 defined as a float on i386 and as a double on x86_64.
3415 2009-08-15 Adam Bergkvist <adam.bergkvist@ericsson.com>
3417 Reviewed by Sam Weinig.
3419 Added ENABLE_EVENTSOURCE flag.
3420 https://bugs.webkit.org/show_bug.cgi?id=14997
3422 * Configurations/FeatureDefines.xcconfig:
3424 2009-08-14 Mark Rowe <mrowe@apple.com>
3428 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3429 (WebKit::NetscapePluginInstanceProxy::enumerate): Add the necessary .get() calls.
3431 2009-08-14 Brady Eidson <beidson@apple.com>
3433 Reviewed by Anders Carlsson.
3435 <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html
3436 on 64-bit SnowLeopard
3438 * Plugins/Hosted/HostedNetscapePluginStream.mm:
3439 (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
3440 during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.
3442 2009-08-14 Mark Rowe <mrowe@apple.com>
3444 Reviewed by Brady Eidson.
3446 Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.
3448 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3449 (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.
3451 2009-08-14 Mark Rowe <mrowe@apple.com>
3453 Reviewed by Anders Carlsson.
3455 Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.
3457 * Plugins/Hosted/HostedNetscapePluginStream.mm:
3458 (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
3459 when the load fails.
3461 2009-08-13 Darin Adler <darin@apple.com>
3463 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
3464 * WebView/WebScriptDebugger.mm: Ditto.
3466 2009-08-12 Mark Rowe <mrowe@apple.com>
3468 Reviewed by Kevin Decker.
3470 <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].
3472 * WebView/WebView.mm:
3473 (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.
3475 2009-08-12 Greg Bolsinga <bolsinga@apple.com>
3477 Reviewed by Eric Seidel.
3479 Add delegate methods about focus and blur and state change
3480 https://bugs.webkit.org/show_bug.cgi?id=27153
3482 Have ObjC delegate methods match C++ method names in the ChromeClient.
3484 * WebCoreSupport/WebChromeClient.mm:
3485 (WebChromeClient::formDidFocus):
3486 (WebChromeClient::formDidBlur):
3487 * WebView/WebUIDelegatePrivate.h:
3489 2009-08-11 John Gregg <johnnyg@google.com>
3491 Reviewed by Maciej Stachowiak.
3493 Desktop Notifications API
3494 https://bugs.webkit.org/show_bug.cgi?id=25643
3496 Adds ENABLE_NOTIFICATION flag.
3498 * Configurations/FeatureDefines.xcconfig:
3500 2009-08-11 Anders Carlsson <andersca@apple.com>
3502 Reviewed by Sam Weinig.
3504 Remove dead declarations.
3506 * WebView/WebViewInternal.h:
3508 2009-08-11 Dmitry Titov <dimich@chromium.org>
3510 Reviewed by Adam Roben.
3512 Originally implemented by Glenn Wilson <gwilson@chromium.org>.
3514 Added new methods for overriding default WebPreference values
3515 and for resetting preferences to their defaults.
3516 See https://bugs.webkit.org/show_bug.cgi?id=20534
3518 * WebView/WebPreferences.mm:
3519 (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
3520 * WebView/WebPreferencesPrivate.h: same.
3522 2009-08-09 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
3524 Reviewed by George Staikos.
3526 [WML] Deck access control is completly broken
3527 https://bugs.webkit.org/show_bug.cgi?id=27721
3529 Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.
3531 * WebView/WebFramePrivate.h:
3533 2009-08-07 Simon Fraser <simon.fraser@apple.com>
3535 Fix the build on 10.6.
3537 * WebView/WebHTMLView.mm:
3538 (-[WebHTMLView attachRootLayer:]):
3540 2009-08-07 Simon Fraser <simon.fraser@apple.com>
3542 Fix a stylistic nit related to the location of the *, which, for some
3543 ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
3545 * WebView/WebDynamicScrollBarsView.mm:
3546 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3548 2009-08-07 Simon Fraser <simon.fraser@apple.com>
3550 Reviewed by Dan Bernstein.
3552 Work around an issue on Leopard where composited layers are misplaced and squished when the page
3553 gets over 4096px tall.
3554 https://bugs.webkit.org/show_bug.cgi?id=27272
3555 <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
3556 <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in
3558 * WebView/WebDynamicScrollBarsView.mm:
3559 (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3560 Call -_updateLayerHostingViewPosition after scrolling.
3562 * WebView/WebHTMLView.mm:
3563 (-[WebHTMLView _frameOrBoundsChanged]):
3564 Call -_updateLayerHostingViewPosition after the view changes size.
3566 (-[WebHTMLView attachRootLayer:]):
3567 Turn off default animations, to avoid animations of sublayer transform, and fading-in
3570 * WebView/WebHTMLViewInternal.h:
3571 (-[WebHTMLView _updateLayerHostingViewPosition]):
3572 New method that constrains the height of the layer-hosting view to a max height
3573 of 4096px, and compensates for the height restriction by placing the layer-hosting
3574 view at the top of the visible part of the WebHTMLView, and adjusting the position
3575 of the hosted layers via sublayer transform.
3577 2009-08-07 Anders Carlsson <andersca@apple.com>
3581 * WebView/WebRenderNode.mm:
3582 (-[WebRenderNode _initWithCoreFrame:]):
3584 2009-08-07 Anders Carlsson <andersca@apple.com>
3586 Reviewed by Timothy Hatcher and Sam Weinig.
3588 Change WebRenderNode to take a WebFrame instead of a WebFrameView.
3590 * WebView/WebRenderNode.h:
3591 * WebView/WebRenderNode.mm:
3592 (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
3594 (-[WebRenderNode _initWithCoreFrame:]):
3595 (-[WebRenderNode initWithWebFrame:]):
3597 2009-08-06 Anders Carlsson <andersca@apple.com>
3599 Reviewed by Darin Adler and Dan Bernstein.
3601 * WebCoreSupport/WebFrameLoaderClient.mm:
3602 (WebFrameLoaderClient::hasHTMLView):
3603 Always return true when we're in viewless mode.
3605 2009-08-06 Anders Carlsson <andersca@apple.com>
3607 Remove WebGraphicsExtras.h include.
3609 * Plugins/WebNetscapePluginView.mm:
3611 2009-08-06 Anders Carlsson <andersca@apple.com>
3613 Reviewed by Sam Weinig.
3615 Remove WebGraphicsExtras, it is no longer used.
3617 * Misc/WebGraphicsExtras.c: Removed.
3618 * Misc/WebGraphicsExtras.h: Removed.
3620 2009-08-06 Chris Marrin <cmarrin@apple.com>
3622 Reviewed by David Hyatt.
3624 Added ENABLE_3D_CANVAS flag to build, default to off
3626 * Configurations/FeatureDefines.xcconfig:
3628 2009-08-04 Michael Nordman <michaeln@google.com>
3630 Reviewed by Alexey Proskuryakov.
3632 https://bugs.webkit.org/show_bug.cgi?id=27821
3634 Mods to keep up with ApplicationCacheHost refactoring.
3636 * WebView/WebDataSource.mm:
3637 (-[WebDataSource _transferApplicationCache:]):
3639 2009-07-30 Darin Adler <darin@apple.com>
3641 Reviewed by David Levin.
3643 Use checked casts for render tree
3644 https://bugs.webkit.org/show_bug.cgi?id=23522
3646 * Misc/WebNSAttributedStringExtras.mm:
3647 (fileWrapperForElement):
3648 * Misc/WebNSPasteboardExtras.mm:
3650 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
3651 * WebView/WebFrame.mm:
3652 (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
3653 (-[WebFrame _accessibilityTree]):
3654 * WebView/WebRenderNode.mm:
3658 2009-07-31 Simon Fraser <simon.fraser@apple.com>
3660 Reviewed by Anders Carlsson.
3662 Accelerated animations stutter on pages with lots of animations and 3d transforms
3663 https://bugs.webkit.org/show_bug.cgi?id=27884
3665 This patch changes the strategy for synchronizing painting view the view,
3666 and compositing layer updates. Previously the strategy was to disable screen
3667 updates between the time we updated the layer tree, and painted the view. That
3668 left screen updates disabled for too long (hundreds of milliseconds) in some
3669 cases, causing animation stutter.
3671 The new strategy is to batch up changes to the CA layer tree, and commit them
3672 all at once just before painting happens (referred to as a "sync" in the code).
3673 GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
3674 the values stored in GraphicsLayer into the CA layer tree at commit time.
3676 Compositing layers are then synced in FrameView::paintContents(). However, not
3677 all style/layout changes will result in painting; to deal with style changes that
3678 touch only compositing properties, we set up a runloop observer that takes care
3679 of comitting layer changes when no painting happens.
3681 * WebCoreSupport/WebChromeClient.h:
3682 * WebCoreSupport/WebChromeClient.mm:
3683 (WebChromeClient::scheduleCompositingLayerSync):
3684 scheduleViewUpdate() renamed to syncCompositingStateRecursive()
3686 * WebView/WebView.mm:
3687 (-[WebView _close]):
3688 (-[WebView _clearLayerSyncLoopObserver]):
3689 "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
3691 (-[WebView _syncCompositingChanges]):
3692 Helper method that calls syncCompositingStateRecursive() on the FrameView.
3694 (layerSyncRunLoopObserverCallBack):
3695 (-[WebView _scheduleCompositingLayerSync]):
3696 This is all about layer sycning now. Also, the run loop observer is repeating,
3697 because it has to keep firing until syncCompositingStateRecursive() says that it
3700 * WebView/WebViewData.h:
3701 "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".
3703 * WebView/WebViewInternal.h:
3704 _scheduleViewUpdate is now _scheduleCompositingLayerSync
3706 2009-07-30 Michael Nordman <michaeln@google.com>
3708 Reviewed by Darin Fisher.
3710 https://bugs.webkit.org/show_bug.cgi?id=27821
3712 Mods to keep up with ApplicationCacheHost refactoring.
3714 * WebView/WebDataSource.mm:
3715 (-[WebDataSource _transferApplicationCache:]):
3717 2009-07-29 David Kilzer <ddkilzer@apple.com>
3719 <http://webkit.org/b/27788> Don't export WebPluginController.h as a private header
3721 Reviewed by Mark Rowe.
3723 * Plugins/WebPluginController.h: Changed #import of
3724 WebPluginContainerCheck.h to use a framework-style include in
3725 case other platforms wish to export WebPluginController.h as a
3728 2009-07-29 Kevin McCullough <kmccullough@apple.com>
3730 Reviewed by Darin Adler.
3732 Added foundation work to allow a testing infrastructure for the Web
3735 * WebCoreSupport/WebInspectorClient.h:
3736 * WebCoreSupport/WebInspectorClient.mm:
3737 (WebInspectorClient::inspectorWindowObjectCleared): Send the delegate
3739 * WebView/WebDelegateImplementationCaching.h:
3740 * WebView/WebView.mm:
3741 (-[WebView _cacheFrameLoadDelegateImplementations]):
3742 * WebView/WebViewPrivate.h: The delegate SPI.
3744 2009-07-27 Mark Rowe <mrowe@apple.com>
3746 Reviewed by Darin Adler.
3748 <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
3750 In some situations Microsoft Messenger can attempt to manipulate the DOM from a secondary thread while
3751 updating its file transfer progress bar. This results in corruption of WebCore data structures that is
3752 quickly followed by a crash. We can work around this by having -[WebFrame DOMDocument] return nil when
3753 called from a secondary thread by Microsoft Messenger, which has the effect of turning its attempts at
3754 DOM manipulation in to no-ops.
3756 * WebView/WebFrame.mm:
3757 (needsMicrosoftMessengerDOMDocumentWorkaround):
3758 (-[WebFrame DOMDocument]):
3760 2009-07-27 Alexey Proskuryakov <ap@webkit.org>
3762 Reviewed by Darin Adler.
3764 https://bugs.webkit.org/show_bug.cgi?id=27735
3765 Give a helpful name to JSLock constructor argument
3767 * Misc/WebCoreStatistics.mm:
3768 (+[WebCoreStatistics javaScriptObjectsCount]):
3769 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
3770 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
3771 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
3772 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
3773 (+[WebCoreStatistics shouldPrintExceptions]):
3774 (+[WebCoreStatistics setShouldPrintExceptions:]):
3775 (+[WebCoreStatistics memoryStatistics]):
3776 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
3777 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
3778 (WebKit::NetscapePluginInstanceProxy::evaluate):
3779 (WebKit::NetscapePluginInstanceProxy::invoke):
3780 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
3781 (WebKit::NetscapePluginInstanceProxy::construct):
3782 (WebKit::NetscapePluginInstanceProxy::getProperty):
3783 (WebKit::NetscapePluginInstanceProxy::setProperty):
3784 (WebKit::NetscapePluginInstanceProxy::removeProperty):
3785 (WebKit::NetscapePluginInstanceProxy::hasMethod):
3786 (WebKit::NetscapePluginInstanceProxy::enumerate):
3787 (WebKit::NetscapePluginInstanceProxy::addValueToArray):
3788 * Plugins/WebBaseNetscapePluginStream.mm:
3789 (WebNetscapePluginStream::wantsAllStreams):
3790 * Plugins/WebNetscapePluginView.mm:
3791 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
3792 (-[WebNetscapePluginView setWindowIfNecessary]):
3793 (-[WebNetscapePluginView createPluginScriptableObject]):
3794 (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
3795 (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
3796 (-[WebNetscapePluginView loadPluginRequest:]):
3797 (-[WebNetscapePluginView _printedPluginBitmap]):
3798 * Plugins/WebPluginController.mm:
3799 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
3800 (-[WebPluginController startAllPlugins]):
3801 (-[WebPluginController stopAllPlugins]):
3802 (-[WebPluginController addPlugin:]):
3803 (-[WebPluginController destroyPlugin:]):
3804 (-[WebPluginController destroyAllPlugins]):
3805 * WebView/WebFrame.mm:
3806 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
3807 * WebView/WebScriptDebugDelegate.mm:
3808 (-[WebScriptCallFrame scopeChain]):
3809 (-[WebScriptCallFrame evaluateWebScript:]):
3810 * WebView/WebView.mm:
3811 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
3813 2009-07-24 Darin Adler <darin@apple.com>
3815 Reviewed by Mark Rowe.
3817 REGRESSION (r46298): Exception after clicking on Bookmarks button in the Bookmarks Bar
3818 https://bugs.webkit.org/show_bug.cgi?id=27667
3820 * WebCoreSupport/WebFrameLoaderClient.mm:
3821 (WebFrameLoaderClient::transitionToCommittedForNewPage): Moved the code to set the
3822 title here. This is late enough that both the view and representation exist.
3824 * WebView/WebDataSource.mm:
3825 (-[WebDataSource _makeRepresentation]): Removed the code to set the title from here.
3826 It's a bit too early.
3828 2009-07-24 Andrei Popescu <andreip@google.com>
3830 Reviewed by Anders Carlsson.
3832 ApplicationCache should have size limit
3833 https://bugs.webkit.org/show_bug.cgi?id=22700
3835 Adds the WebApplicationCache class that is
3836 used by the DumpRenderTree test application to
3837 configure the Application Cache maximum size.
3839 * WebCoreSupport/WebApplicationCache.h: Added.
3840 * WebCoreSupport/WebApplicationCache.mm: Added.
3841 * WebCoreSupport/WebChromeClient.h:
3842 * WebCoreSupport/WebChromeClient.mm:
3843 (WebChromeClient::reachedMaxAppCacheSize):
3844 Adds empty implementation of the reachedMaxAppCacheSize callback.
3847 2009-07-23 Darin Adler <darin@apple.com>
3849 * WebView/WebDataSource.mm:
3850 (-[WebDataSource _makeRepresentation]): Landed a comment I forgot last time.
3852 2009-07-23 Darin Adler <darin@apple.com>
3854 Reviewed by Brady Eidson.
3856 URL appears in back/forward button menu instead of title for items with custom representation
3857 https://bugs.webkit.org/show_bug.cgi?id=27586
3858 rdar://problem/5060337
3860 The problem is that DocumentLoader expects to store a title, but for custom representations
3861 it is never passed to the document loader.
3863 * WebView/WebDataSource.mm:
3864 (-[WebDataSource _makeRepresentation]): Added a call to DocumentLoader::setTitle.
3865 Works as long as the title does not change during the document's lifetime, which
3866 is good enough for the simple cases in Safari.
3868 2009-07-20 Darin Adler <darin@apple.com>
3870 Reviewed by Dan Bernstein.
3872 REGRESSION (r39185): Safari adds ".jpeg" extension to images that already have ".JPG" extension
3873 https://bugs.webkit.org/show_bug.cgi?id=27472
3875 * WebView/WebHTMLView.mm:
3876 (matchesExtensionOrEquivalent): Changed category method into a C function.
3877 Made it require the leading dot when checking for the extension and do it
3878 in a non-case-sensitive way.
3879 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Changed to call
3882 2009-07-21 Roland Steiner <rolandsteiner@google.com>
3884 Reviewed by David Levin.
3886 Add ENABLE_RUBY to list of build options
3887 https://bugs.webkit.org/show_bug.cgi?id=27324
3889 * Configurations/FeatureDefines.xcconfig: Added flag ENABLE_RUBY.
3891 2009-07-17 Brian Weinstein <bweinstein@apple.com>
3893 Reviewed by Adam Roben.
3895 Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
3896 https://bugs.webkit.org/show_bug.cgi?id=14272
3898 Removed size calculation code from [WebInspectorWindowController setInitialAttachedHeight] into
3899 InspectorController.cpp to make it cross platform, and use InspectorController to store the
3900 user's preferred size for an attached window, instead of NSUserDefaults.
3902 * WebCoreSupport/WebInspectorClient.mm:
3903 (-[WebInspectorWindowController showWindow:]):
3904 (-[WebInspectorWindowController setAttachedWindowHeight:]):
3906 2009-07-16 Fumitoshi Ukai <ukai@chromium.org>
3908 Reviewed by David Levin.
3910 Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
3911 https://bugs.webkit.org/show_bug.cgi?id=27206
3913 Add ENABLE_WEB_SOCKETS
3915 * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
3917 2009-07-16 Xiaomei Ji <xji@chromium.org>
3919 Reviewed by Darin Adler.
3921 Fix tooltip does not get its directionality from its element's directionality.
3922 https://bugs.webkit.org/show_bug.cgi?id=24187
3924 Per mitz's suggestion in comment #6, while getting the plain-text
3925 title, we also get the directionality of the title. How to handle
3926 the directionality is up to clients. Clients could ignore it,
3927 or use attribute or unicode control characters to display the title
3930 * Misc/WebElementDictionary.mm:
3931 (-[WebElementDictionary _spellingToolTip]): Change spellingToolTip caller due to signature change.
3932 (-[WebElementDictionary _title]): Change title caller due to signature change.
3933 * WebCoreSupport/WebChromeClient.h: Add directionality as 2nd parameter to setToolTip().
3934 * WebCoreSupport/WebChromeClient.mm:
3935 (WebChromeClient::setToolTip): Add directionality as 2nd parameter to setToopTip() (without handling it yet).
3937 2009-07-15 Darin Adler <darin@apple.com>
3939 Reviewed by Sam Weinig.
3941 Renamed parseURL to deprecatedParseURL.
3943 * DOM/WebDOMOperations.mm:
3944 (-[DOMDocument URLWithAttributeString:]): Renamed.
3945 * WebCoreSupport/WebFrameLoaderClient.mm:
3946 (WebFrameLoaderClient::createPlugin): Renamed.
3948 2009-07-15 Brady Eidson <beidson@apple.com>
3950 Reviewed by Dan Bernstein.
3952 https://bugs.webkit.org/show_bug.cgi?id=27304
3953 WebKit should provide usage and eligibility information about the page cache.
3955 * Misc/WebCoreStatistics.h:
3956 * Misc/WebCoreStatistics.mm:
3957 (+[WebCoreStatistics numberCachedPages]):
3958 (+[WebCoreStatistics numberCachedFrames]):
3959 (+[WebCoreStatistics numberAutoreleasedPages]):
3962 * WebView/WebFrame.mm:
3963 (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
3964 why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
3966 * WebView/WebFramePrivate.h:
3968 2009-07-13 Simon Fraser <simon.fraser@apple.com>
3970 Reviewed by Dan Bernstein, Adam Roben.
3972 "Unrecognized selector" console log when the Safari 4 Welcome page navigates to Top Sites.
3973 <rdar://problem/6994893
3975 attachRootGraphicsLayer() should not assume that the frameView's documentView
3978 * WebCoreSupport/WebChromeClient.mm:
3979 (WebChromeClient::attachRootGraphicsLayer):
3981 2009-07-13 Anders Carlsson <andersca@apple.com>
3983 Reviewed by Darin Adler and Kevin Decker.
3985 <rdar://problem/7053687> Core Animation plug-ins continue to grow larger and larger when opening new tabs (32 bit-only)
3987 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
3988 (-[WebHostedNetscapePluginView setLayer:]):
3991 * Plugins/WebNetscapePluginView.mm:
3992 (-[WebNetscapePluginView setLayer:]):
3993 Make sure to set the size of the layer before changing the autoresizing mask so it won't grow everytime it's inserted
3994 into the layer tree.
3996 2009-07-13 Greg Bolsinga <bolsinga@apple.com>
3998 Reviewed by Simon Fraser.
4000 Correct these delegate methods' declarations by adding parameter names.
4002 * WebView/WebUIDelegatePrivate.h:
4004 2009-07-13 Drew Wilson <atwilson@google.com>
4006 Reviewed by David Levin.
4008 Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
4009 https://bugs.webkit.org/show_bug.cgi?id=26932
4011 Added ENABLE(SHARED_WORKERS) flag (disabled by default).
4013 * Configurations/FeatureDefines.xcconfig:
4015 2009-07-12 Keishi Hattori <casey.hattori@gmail.com>
4017 Reviewed by Timothy Hatcher.
4019 Refactor ConsoleMessage to add MessageType attribute.
4020 https://bugs.webkit.org/show_bug.cgi?id=20625
4022 * WebCoreSupport/WebChromeClient.h:
4023 * WebCoreSupport/WebChromeClient.mm:
4024 (WebChromeClient::addMessageToConsole):
4026 2009-07-11 Simon Fraser <simon.fraser@apple.com>
4028 Enable support for accelerated compositing and 3d transforms on Leopard.
4029 <https://bugs.webkit.org/show_bug.cgi?id=20166>
4030 <rdar://problem/6120614>
4032 Reviewed by Oliver Hunt.
4034 * Configurations/FeatureDefines.xcconfig:
4036 2009-07-10 David Kilzer <ddkilzer@apple.com>
4038 Bug 27007: Build fixes when ICONDATABASE is disabled
4040 <https://bugs.webkit.org/show_bug.cgi?id=27007>
4042 Reviewed by Sam Weinig.
4044 * Misc/WebIconDatabase.mm:
4045 (defaultClient): Return 0 if ICONDATABASE is disabled.
4046 * WebCoreSupport/WebFrameLoaderClient.mm:
4047 (WebFrameLoaderClient::dispatchDidReceiveIcon): Commented out
4048 the body of the method if ICONDATABASE is disabled.
4049 (WebFrameLoaderClient::registerForIconNotification): Ditto.
4050 * WebCoreSupport/WebIconDatabaseClient.mm: Added #if
4051 ENABLE(ICONDATABASE)/#endif guard to source.
4052 * WebView/WebView.mm:
4053 (-[WebView setFrameLoadDelegate:]): Wrapped code that starts the
4054 icon database machinery in #if ENABLE(ICONDATABASE)/#endif.
4055 (-[WebView _registerForIconNotification:]): Wrapped method in
4056 #if ENABLE(ICONDATABASE)/#endif guard.
4057 (-[WebView _dispatchDidReceiveIconFromWebFrame:]): Ditto.
4058 * WebView/WebViewInternal.h: Wrapped methods in #if
4059 ENABLE(ICONDATABASE)/#endif guard.
4060 (-[WebView _registerForIconNotification:]):
4061 (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
4063 2009-07-10 Simon Fraser <simon.fraser@apple.com>
4065 Reviewed by John Sullivan.
4067 Flashing as hardware layers are created and destroyed in some content
4068 <rdar://problem/7032246>
4070 There's a window of time between the end of one runloop cycle, after CA layers changes
4071 have been committed, and the window display at the start of the next cycle when
4072 CA may push updates to the screen before AppKit has drawn the view contents. If
4073 we know that we need to do drawing synchronization (which we do when content moves
4074 between a layer and the view), then we need to call -disableScreenUpdatesUntilFlush
4075 from the existing runloop observer that is set up when layers need repainting to
4076 ensure that layer updates don't reach the screen before view-based painting does.
4078 * WebView/WebHTMLView.mm:
4079 (-[WebHTMLView drawRect:]):
4082 * WebView/WebView.mm:
4083 (viewUpdateRunLoopObserverCallBack):
4084 (-[WebView _scheduleViewUpdate]):
4085 Add a big comment to explain the timing of things.
4086 Call -disableScreenUpdatesUntilFlush when the view _needsOneShotDrawingSynchronization.
4088 2009-07-09 Brian Weinstein <bweinstein@apple.com>
4090 Reviewed by Tim Hatcher.
4091 2009-07-10 Adam Barth <abarth@webkit.org>
4093 Reviewed by Sam Weinig with the power of Grayskull.
4095 Enable XSSAuditor by default.
4097 * WebView/WebPreferences.mm:
4098 (+[WebPreferences initialize]):
4100 2009-07-10 Greg Bolsinga <bolsinga@apple.com>
4102 Reviewed by Antti Koivisto.
4104 Add delegate methods about focus and blur and state change
4105 https://bugs.webkit.org/show_bug.cgi?id=27153
4107 Call the appropriate private delegate methods from the ChromeClient.
4109 * WebCoreSupport/WebChromeClient.h:
4110 * WebCoreSupport/WebChromeClient.mm:
4111 (WebChromeClient::formStateDidChange):
4112 (WebChromeClient::formDidFocus):
4113 (WebChromeClient::formDidBlur):
4114 * WebView/WebUIDelegatePrivate.h:
4116 2009-07-09 Brian Weinstein <bweinstein@apple.com>
4118 Reviewed by Tim Hatcher.
4120 https://bugs.webkit.org/show_bug.cgi?id=27141
4122 Updated WebInspectorClient to use Web Inspector Preferences to remember whether or not it should be
4123 docked or a free window instead of NSUserDefaults it used to have.
4125 * WebCoreSupport/WebInspectorClient.mm:
4126 (-[WebInspectorWindowController init]):
4127 (-[WebInspectorWindowController showWindow:]):
4128 (-[WebInspectorWindowController attach]):
4129 (-[WebInspectorWindowController detach]):
4131 2009-07-09 Drew Wilson <atwilson@google.com>
4133 Reviewed by Alexey Proskuryakov.
4135 https://bugs.webkit.org/show_bug.cgi?id=26903
4137 Turned on CHANNEL_MESSAGING by default because the MessageChannel API
4138 can now be implemented for Web Workers and is reasonably stable.
4140 * Configurations/FeatureDefines.xcconfig:
4142 2009-07-09 Darin Adler <darin@apple.com>
4144 Reviewed by Adele Peterson and Dan Bernstein.
4146 <rdar://problem/7024972> Cannot set font to Helvetica Neue Light in Mail compose window
4148 No regression test because this only affects the font panel.
4150 * WebView/WebHTMLView.mm:
4151 (-[WebHTMLView _addToStyle:fontA:fontB:]): Fix code that detects whether the font would
4152 survive a round trip by using the weight corresponding to "bold" or "normal" rather than
4153 the actual weight number.
4155 2009-07-09 Beth Dakin and Jon Honeycutt <bdakin@apple.com>
4157 Reviewed by Dave Hyatt.
4159 Make Widget RefCounted to fix:
4161 <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
4162 at WebCore::Widget::afterMouseDown() after clicking To Do's close
4164 <rdar://problem/6978804> WER #16: Repro Access Violation in
4165 WebCore::PluginView::bindingInstance (1310178023)
4167 <rdar://problem/6991251> WER #13: Crash in WebKit!
4168 WebCore::PluginView::performRequest+203 (1311461169)
4170 * WebCoreSupport/WebFrameLoaderClient.h:
4171 * WebCoreSupport/WebFrameLoaderClient.mm:
4172 (WebFrameLoaderClient::createPlugin):
4174 2009-07-09 Sam Weinig <sam@webkit.org>
4176 Reviewed by Steve Falkenburg.
4178 Roll out r43848. The quirk is no longer necessary.
4180 * WebView/WebView.mm:
4181 (-[WebView WebCore::_userAgentForURL:WebCore::]):
4183 2009-07-09 Alexey Proskuryakov <ap@webkit.org>
4185 Reviewed by Geoff Garen.
4187 <rdar://problem/6921671> Visit count shouldn't be incremented by redirects.
4189 * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory):
4190 Do not increase visit count if there is a redirect source. As a result, only pages that were
4191 explicitly visited by the user (by typing a URL, choosing one from bookmarks, or clicking
4192 a link) will be counted.
4194 * History/WebHistory.mm:
4195 (-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]):
4196 (-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]):
4197 * History/WebHistoryInternal.h:
4198 * History/WebHistoryItem.mm:
4199 (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
4200 * History/WebHistoryItemInternal.h:
4201 Marshal this new argument all the way down to WebCore.
4203 2009-07-08 Greg Bolsinga <bolsinga@apple.com>
4205 Reviewed by Darin Adler.
4207 Add -[WebView _isProcessingUserGesture]
4208 https://bugs.webkit.org/show_bug.cgi?id=27084
4210 Add -_isProcessingUserGesture that calls into WebCore::FrameLoader::isProcessingUserGesture()
4211 so that WebView code can determine if a user gesture is in progress.
4213 * WebView/WebView.mm:
4214 (-[WebView _isProcessingUserGesture]):
4215 * WebView/WebViewPrivate.h:
4217 2009-07-07 Anders Carlsson <andersca@apple.com>
4219 Reviewed by Sam Weinig.
4221 - Fix <rdar://problem/6544693>.
4223 For Flash, don't cache which methods or fields in an object are missing, since they can
4224 be added at any time.
4226 * Plugins/Hosted/NetscapePluginHostManager.mm:
4227 (WebKit::NetscapePluginHostManager::hostForPackage):
4228 * Plugins/Hosted/NetscapePluginHostProxy.h:
4229 (WebKit::NetscapePluginHostProxy::shouldCacheMissingPropertiesAndMethods):
4230 * Plugins/Hosted/NetscapePluginHostProxy.mm:
4231 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
4232 * Plugins/Hosted/ProxyInstance.mm:
4233 (WebKit::ProxyInstance::methodsNamed):
4234 (WebKit::ProxyInstance::fieldNamed):
4236 2009-07-06 David Kilzer <ddkilzer@apple.com>
4238 Bug 27006: Build fix when MAC_JAVA_BRIDGE is disabled
4240 <https://bugs.webkit.org/show_bug.cgi?id=27006>
4242 Reviewed by Darin Adler.
4244 * WebCoreSupport/WebFrameLoaderClient.mm:
4245 (WebFrameLoaderClient::createJavaAppletWidget): Wrap contents of
4246 the method in #if ENABLE(MAC_JAVA_BRIDGE)/#endif and return 0
4247 when this feature is disabled.
4249 2009-07-06 David Kilzer <ddkilzer@apple.com>
4251 Bug 27005: Build fixes when NETSCAPE_PLUGIN_API is disabled
4253 <https://bugs.webkit.org/show_bug.cgi?id=27005>
4255 Reviewed by Geoff Garen.
4257 * Plugins/WebPluginController.mm:
4258 (-[WebPluginController destroyPlugin:]): Wrap call to
4259 ScriptController::cleanupScriptObjectsForPlugin() in
4260 #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
4261 (-[WebPluginController destroyAllPlugins]): Ditto.
4262 * Plugins/WebPluginDatabase.mm:
4263 (-[WebPluginDatabase removePluginInstanceViewsFor:]): Wrap
4264 WebBaseNetscapePluginView class checks in
4265 #if ENABLE(NETSCAPE_PLUGIN_API)/#endif macro.
4266 (-[WebPluginDatabase destroyAllPluginInstanceViews]): Ditto.
4268 2009-07-06 David Kilzer <ddkilzer@apple.com>
4270 BUILD FIX: Use ENABLE(NETSCAPE_PLUGIN_API) instead of USE(PLUGIN_HOST_PROCESS)
4272 In r45579, #if/#endif macros for USE(PLUGIN_HOST_PROCESS) were
4273 used, but ENABLE(NETSCAPE_PLUGIN_API) should have been used
4276 * Plugins/WebNetscapeContainerCheckContextInfo.h:
4277 * Plugins/WebNetscapeContainerCheckContextInfo.mm:
4278 * Plugins/WebNetscapeContainerCheckPrivate.mm:
4280 2009-07-06 David Kilzer <ddkilzer@apple.com>
4282 Bug 27004: Build fix for ENABLE(PLUGIN_PROXY_FOR_VIDEO) after r42618
4284 <https://bugs.webkit.org/show_bug.cgi?id=27004>
4286 Reviewed by Geoff Garen.
4288 * Plugins/WebPluginController.mm:
4289 (mediaProxyClient): Use core() method to convert from
4290 DOMElement to WebCore::Element.
4292 2009-07-06 David Kilzer <ddkilzer@apple.com>
4294 Bug 27003: Build fix when USE(PLUGIN_HOST_PROCESS) is disabled
4296 <https://bugs.webkit.org/show_bug.cgi?id=27003>
4298 Reviewed by Geoff Garen.
4300 * Plugins/WebNetscapeContainerCheckContextInfo.h: Added #if
4301 USE(PLUGIN_HOST_PROCESS)/#endif guards.
4302 * Plugins/WebNetscapeContainerCheckContextInfo.mm: Ditto.
4303 * Plugins/WebNetscapeContainerCheckPrivate.mm: Ditto.
4305 2009-07-06 Anders Carlsson <andersca@apple.com>
4307 Reviewed by Adele Peterson.
4309 Initialize wkIsLatchingWheelEvent.
4311 * WebCoreSupport/WebSystemInterface.m:
4312 (InitWebCoreSystemInterface):
4314 2009-07-03 Dan Bernstein <mitz@apple.com>
4316 Reviewed by Simon Fraser.
4318 - fix <rdar://problem/6964278> REGRESSION (r42118): Scrolling redraw
4319 problem in FileMaker Pro
4321 * WebView/WebHTMLView.mm:
4322 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
4323 Perform layout if needed, even on Mac OS X versions that have
4324 -viewWillDraw. This prevents attempts to draw without layout in case
4325 -viewWillDraw was not called due to NSView issues or the client
4326 did something during the display operation that re-invalidated the
4329 2009-07-02 Anders Carlsson <andersca@apple.com>
4331 Reviewed by Dan Bernstein.
4333 <rdar://problem/6978783>
4334 Software-rendered plug-in does not update correctly when inside a hardware layer
4336 Replace calls to setNeedsDisplay: and setNeedsDisplayInRect: with a call to the new method
4337 invalidatePluginContentRect:. This new method will ask WebCore to do the repainting, taking
4338 transforms into account.
4340 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4341 (WebKit::NetscapePluginInstanceProxy::invalidateRect):
4342 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
4343 (-[WebHostedNetscapePluginView pluginHostDied]):
4344 * Plugins/WebBaseNetscapePluginView.h:
4345 * Plugins/WebBaseNetscapePluginView.mm:
4346 (-[WebBaseNetscapePluginView windowBecameKey:]):
4347 (-[WebBaseNetscapePluginView windowResignedKey:]):
4348 (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
4349 (-[WebBaseNetscapePluginView invalidatePluginContentRect:]):
4350 * Plugins/WebNetscapePluginView.mm:
4351 (-[WebNetscapePluginView invalidateRect:]):
4352 (-[WebNetscapePluginView invalidateRegion:]):
4353 (-[WebNetscapePluginView forceRedraw]):
4355 2009-07-02 Adam Roben <aroben@apple.com>
4357 Fix warnings from update-webkit-localizable-strings
4359 Rubber-stamped by Eric Carlson.
4361 * WebCoreSupport/WebViewFactory.mm:
4362 (-[WebViewFactory mediaElementLoadingStateText]):
4363 (-[WebViewFactory mediaElementLiveBroadcastStateText]):
4364 Changed the localization comments to match the comments in the Windows
4365 version of this file, to avoid warnings about different comments for
4366 the same localized string.
4368 2009-07-02 Simon Fraser <simon.fraser@apple.com>
4370 Reviewed by Dan Bernstein.
4372 Compositing-related preference methods are not public API; should move to WebPreferencesPrivate.h
4373 <rdar://problem/7027363>
4375 Move accelerated-compositing pref to WebPreferencesPrivate.h
4377 * WebView/WebPreferences.h:
4378 * WebView/WebPreferences.mm:
4379 (-[WebPreferences acceleratedCompositingEnabled]):
4380 (-[WebPreferences setAcceleratedCompositingEnabled:]):
4381 * WebView/WebPreferencesPrivate.h:
4383 2009-07-02 Pierre d'Herbemont <pdherbemont@apple.com>
4385 Reviewed by Simon Fraser.
4387 <rdar://problem/6518119>
4389 Add localized strings for media controller status messages.
4391 * WebCoreSupport/WebViewFactory.mm: Add new localized text.
4392 (-[WebViewFactory mediaElementLoadingStateText]):
4393 (-[WebViewFactory mediaElementLiveBroadcastStateText]):
4395 2009-07-01 Brady Eidson <beidson@apple.com>
4397 Reviewed by Sam Weinig.
4399 Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
4401 * WebView/WebPreferenceKeysPrivate.h:
4403 * WebView/WebPreferences.mm:
4404 (+[WebPreferences initialize]):
4405 (-[WebPreferences localFileContentSniffingEnabled]):
4406 (-[WebPreferences setLocalFileContentSniffingEnabled:]):
4407 * WebView/WebPreferencesPrivate.h:
4409 * WebView/WebView.mm:
4410 (-[WebView _preferencesChangedNotification:]):
4412 2009-07-01 David Hyatt <hyatt@apple.com>
4414 Reviewed by Tim Hatcher.
4416 <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
4417 even though the field is not actually focused for keyboard input
4419 Add the concept of whether or not the Page is focused by adding a boolean to the focusController. This allows the
4420 focused frame and focused node to both be cached and changed programmatically without causing errors when the Page doesn't
4423 * WebView/WebHTMLView.mm:
4424 (-[WebHTMLView becomeFirstResponder]):
4425 (-[WebHTMLView resignFirstResponder]):
4427 2009-06-30 Adele Peterson <adele@apple.com>
4429 Reviewed by Dan Bernstein.
4431 Fix for <rdar://problem/7014389> REGRESSION(4-TOT): Hyperlinks have no tooltips in Mail unless you first click in the message body
4433 Updated these new methods (added as part of the viewless WebKit effort) that call through to WebHTMLView to use _selectedOrMainFrame,
4434 instead of just selectedFrame. When the selection changes, I don't think there is a situation where there's no selected frame, but
4435 it seems better to keep these two uses the same, since if there is a case, this will be more like the old behavior, before there was
4436 a version of _selectionChanged in WebView.
4438 * WebView/WebView.mm:
4439 (-[WebView _setToolTip:]):
4440 (-[WebView _selectionChanged]):
4442 2009-06-30 Mark Rowe <mrowe@apple.com>
4444 Reviewed by Timothy Hatcher.
4446 <rdar://problem/7006959> 'Save as…’ does not work in Mail
4448 * WebView/WebFrameView.mm:
4449 (-[WebFrameView initWithFrame:]): Call _needMailThreadWorkaroundIfCalledOffMainThread rather than
4450 needMailThreadWorkaround, as the latter is intended to be used at the point which a workaround would
4451 be applied and thus contains a main thread check. Since -initWithFrame: is called on the main thread,
4452 this was causing us to not switch from exception-throwing to logging for the thread violation behavior.
4454 2009-06-30 Dan Bernstein <mitz@apple.com>
4456 Reviewed by Dave Hyatt.
4458 - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
4459 to Grid" window is clipping
4461 * Misc/WebKitVersionChecks.h: Added
4462 WEBKIT_FIRST_VERSION_WITHOUT_SHADE10_QUIRK
4463 * WebView/WebView.mm:
4464 (-[WebView _needsLinkElementTextCSSQuirk]): Added. Returns YES if the
4465 client app is a version of Shade 10 earlier than 10.6 and it was
4466 linked against a version of WebKit earlier than 531.2.
4467 (-[WebView _preferencesChangedNotification:]): Added a call to
4468 Settings::setTreatsAnyTextCSSLinkAsStylesheet().
4470 2009-06-29 Eric Carlson <eric.carlson@apple.com>
4472 Reviewed by Simon Fraser.
4474 <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
4476 * WebCoreSupport/WebSystemInterface.m:
4477 (InitWebCoreSystemInterface):
4480 2009-06-29 David Hyatt <hyatt@apple.com>
4482 Reviewed by Adam Roben.
4484 Put datagrid behind an #ifdef.
4486 * Configurations/FeatureDefines.xcconfig:
4488 2009-06-26 John Sullivan <sullivan@apple.com>
4490 Added support for disabling Stop Speaking when there is no speaking to stop.
4491 Also fixed Stop Speaking so that it works (formerly it would throw an exception, and
4492 selecting it from the menu would perform a web search instead (!)).
4494 Reviewed by Tim Hatcher.
4496 * WebCoreSupport/WebContextMenuClient.h:
4497 declare isSpeaking()
4499 * WebCoreSupport/WebContextMenuClient.mm:
4500 (WebContextMenuClient::isSpeaking):
4501 implement by calling through to NSApplication
4502 (WebContextMenuClient::stopSpeaking):
4503 fixed implementation by correcting the signature of the NSApplication method
4505 2009-06-26 Chris Marrin <cmarrin@apple.com>
4507 Reviewed by Simon Fraser <simon.fraser@apple.com>.
4509 Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
4511 The flag should always default to true to avoid it getting set
4512 to false in a build with accelerated compositing turned off
4513 and then disabling accelerated compositing when subsequently
4514 running a build with it turned on.
4516 * WebView/WebPreferences.mm:
4517 (+[WebPreferences initialize]):
4519 2009-06-26 Brady Eidson <beidson@apple.com>
4521 Fix SnowLeopard build.
4523 * Plugins/Hosted/HostedNetscapePluginStream.mm:
4524 (WebKit::HostedNetscapePluginStream::didReceiveResponse):
4526 2009-06-26 Brady Eidson <beidson@apple.com>
4528 Reviewed by Sam Weinig
4530 <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
4532 Replace all usage of the now obsolete [NSURLResponse _webcore_MIMEType].
4534 * Plugins/WebBaseNetscapePluginStream.mm:
4535 (WebNetscapePluginStream::didReceiveResponse):
4536 * Plugins/WebNetscapePluginView.mm:
4537 (-[WebNetscapePluginView pluginView:receivedData:]):
4538 * Plugins/WebPluginController.mm:
4539 (-[WebPluginController pluginView:receivedResponse:]):
4540 * WebView/WebDataSource.mm:
4541 (-[WebDataSource _responseMIMEType]):
4542 * WebView/WebResource.mm:
4543 (-[WebResource _initWithData:URL:response:]):
4545 2009-06-26 Alexey Proskuryakov <ap@webkit.org>
4547 Reviewed by Sam Weinig.
4549 <rdar://problem/6651201> Update lookalike character list.
4551 * Misc/WebNSURLExtras.mm: (isLookalikeCharacter): Added more characters to the list.
4553 2009-06-25 Anders Carlsson <andersca@apple.com>
4555 Reviewed by Oliver Hunt.
4557 <rdar://problem/6989017>
4558 REGRESSION (SnowLeopard): RealPlayer content replays when opening a new tab or switching back to the RealPlayer tab
4560 If a plug-in fails in NPP_New, we would try to recreate it whenever the preferences for a web view would change.
4562 Fix this by setting a flag when we fail to instantiate the plug-in, so we only try once.
4564 * Plugins/WebBaseNetscapePluginView.h:
4565 * Plugins/WebBaseNetscapePluginView.mm:
4566 (-[WebBaseNetscapePluginView start]):
4568 2009-06-25 Chris Marrin <cmarrin@apple.com>
4570 Reviewed by Simon Fraser <simon.fraser@apple.com>.
4572 https://bugs.webkit.org/show_bug.cgi?id=26651
4574 Preference is named "WebKitAcceleratedCompositingEnabled"
4575 and is a boolean value. When false, prevents compositing layers from
4576 being created, which prevents hardware animation from running.
4577 Also forces video to do software rendering. Added a cache for
4578 the flag in RenderLayerCompositing and made it all work
4579 on-the-fly when the flag is changed while a page is loaded.
4581 * WebView/WebPreferenceKeysPrivate.h:
4582 * WebView/WebPreferences.h:
4583 * WebView/WebPreferences.mm:
4584 (+[WebPreferences initialize]):
4585 (-[WebPreferences acceleratedCompositingEnabled]):
4586 (-[WebPreferences setAcceleratedCompositingEnabled:]):
4587 * WebView/WebView.mm:
4588 (-[WebView _preferencesChangedNotification:]):
4590 2009-06-24 Dan Bernstein <mitz@apple.com>
4592 Reviewed by Anders Carlsson.
4594 Fix the most recently seen kind of crash in <rdar://problem/5983224>
4596 * WebView/WebHTMLView.mm:
4597 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Null-check the
4600 2009-06-24 Jeff Johnson <opendarwin@lapcatsoftware.com>
4602 Reviewed by Darin Adler.
4604 https://bugs.webkit.org/show_bug.cgi?id=26638 WebKitErrors.m: _initWithPluginErrorCode: does not set localizedDescription
4606 Add localized descriptions for plugin errors.
4607 The localized strings already existed but were unused; now NSLocalizedDescriptionKey is added to the NSError userInfo.
4609 * Misc/WebKitErrors.m:
4610 (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
4612 2009-06-23 Brady Eidson <beidson@apple.com>
4614 Reviewed by Darin Adler.
4616 <rdar://problem/6950660> REGRESSION: iSale 5.5.3 crashes after I click a template to load
4618 Due to some subtle WebKit changes - presumably some delegate callback behavior - a latent bug in
4619 iSale was uncovered where they aren't properly retaining their FrameLoadDelegate, and we ended up
4620 calling back to a dealloc'ed object.
4622 * WebView/WebView.mm:
4623 (-[WebView _needsAdobeFrameReloadingQuirk]): Use more intelligent C++-style initialization.
4624 (-[WebView _needsKeyboardEventDisambiguationQuirks]): Ditto.
4625 (-[WebView _needsFrameLoadDelegateRetainQuirk]): YES for iSale versions under 5.6
4626 (-[WebView dealloc]): Release the delegate if the quirk is in effect.
4627 (-[WebView setFrameLoadDelegate:]): Retain the new delegate if the quirk is in effect.
4629 2009-06-23 Anders Carlsson <andersca@apple.com>
4631 Reviewed by Darin Adler.
4633 - Fix <rdar://problem/6965672>
4635 Defer calls to WKPCInvalidateRect, so we don't try to invalidate while waiting for a reply, since
4638 * Plugins/Hosted/NetscapePluginHostProxy.h:
4639 (WebKit::NetscapePluginHostProxy::isProcessingRequests):
4640 * Plugins/Hosted/NetscapePluginHostProxy.mm:
4641 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
4642 (WebKit::NetscapePluginHostProxy::processRequests):
4643 (WKPCInvalidateRect):
4645 2009-06-22 Timothy Hatcher <timothy@apple.com>
4647 Add Mail on Tiger and Leopard to the list of applications that need the WebView init thread workaround.
4649 <rdar://problem/6929524> Console shows WebKit Threading Violations from Mail
4651 Reviewed by Anders Carlsson.
4653 * WebView/WebView.mm:
4654 (clientNeedsWebViewInitThreadWorkaround): Return true for com.apple.Mail.
4656 2009-06-22 Dan Bernstein <mitz@apple.com>
4658 Reviewed by Anders Carlsson.
4660 - speculative fix for <rdar://problem/6889082>
4661 Crash at -[WebHTMLView(WebPrivate) _updateMouseoverWithEvent:]
4663 The crash seems to happen because lastHitView points to a deleted
4664 object. Since -close calls -_clearLastHitViewIfSelf, I speculate that
4665 lastHitView has been set to an already-closed view.
4667 * WebView/WebHTMLView.mm:
4668 (-[WebHTMLView hitTest:]): Return nil if the view is closed.
4670 2009-06-22 Alexey Proskuryakov <ap@webkit.org>
4672 Reviewed by John Sullivan.
4674 <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
4675 Japanese can't be input.
4677 * WebView/WebHTMLView.mm: (-[WebHTMLView _updateSelectionForInputManager]): Removed an
4678 unnecessary check - the function has an early return for null frame.
4680 2009-06-22 Dan Bernstein <mitz@apple.com>
4682 Reviewed by Dave Hyatt.
4684 - fix <rdar://problem/6990938> REGRESSION (r42787): After showing and
4685 hiding the Find banner, the WebHTMLView's height is not restored
4687 * WebView/WebFrameView.mm:
4688 (-[WebFrameView setFrameSize:]): Mark the FrameView for layout when the
4689 WebFrameView's size changes.
4690 * WebView/WebView.mm:
4691 (-[WebView setFrameSize:]): Left the resize logic here, but only for
4692 the single view model.
4694 2009-06-20 Darin Adler <darin@apple.com>
4696 Reviewed by Sam Weinig.
4698 <rdar://problem/6964221> Need more processing of pluginspage.
4700 * WebCoreSupport/WebFrameLoaderClient.mm:
4701 (WebFrameLoaderClient::createPlugin): Check protocolInHTTPFamily.
4703 2009-06-18 Adam Barth <abarth@webkit.org>
4705 Reviewed by Sam Weinig.
4707 https://bugs.webkit.org/show_bug.cgi?id=26199
4709 Added preference to enable the XSSAuditor.
4711 * WebView/WebPreferenceKeysPrivate.h:
4712 * WebView/WebPreferences.mm:
4713 (+[WebPreferences initialize]):
4714 (-[WebPreferences isXSSAuditorEnabled]):
4715 (-[WebPreferences setXSSAuditorEnabled:]):
4716 * WebView/WebPreferencesPrivate.h:
4717 * WebView/WebView.mm:
4718 (-[WebView _preferencesChangedNotification:]):
4720 2009-06-18 Anders Carlsson <andersca@apple.com>
4722 Reviewed by Sam Weinig.
4724 <rdar://problem/6926859>
4725 NPN_ConvertPoint doesn't give the right value when converting to/from NPCoordinateSpaceFlippedScreen
4727 When inverting Y, use the height of the first screen instead of the screen the window is on.
4729 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
4730 (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
4731 (WebKit::NetscapePluginInstanceProxy::mouseEvent):
4732 * Plugins/WebBaseNetscapePluginView.mm:
4733 (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
4735 2009-06-16 Simon Fraser <simon.fraser@apple.com>
4737 Reviewed by Dan Bernstein
4739 <rdar://problem/6976766> Control-click on pages with accelerated compositing
4740 content does not work.
4742 Part deux. #ifdef the use of _private->layerHostingView with
4743 USE(ACCELERATED_COMPOSITING)
4745 * WebView/WebHTMLView.mm:
4746 (-[WebHTMLView hitTest:]):
4748 2009-06-16 Simon Fraser <simon.fraser@apple.com>
4750 Reviewed by Dan Bernstein
4752 <rdar://problem/6976766> Control-click on pages with accelerated compositing
4753 content does not work.
4755 Remove the WebLayerHostingView subclass of NSView, with its attempts to
4756 forward events to the WebHTMLView, and just fix -[WebHTMLView hitTest:]
4757 to ignore the layerHostingView.
4759 * WebView/WebHTMLView.mm:
4760 (-[WebHTMLView hitTest:]):
4761 (-[WebHTMLView attachRootLayer:]):
4763 2009-06-15 Simon Fraser <simon.fraser@apple.com>
4765 Reviewed by Mark Rowe.
4767 <rdar://problem/6974857>
4769 Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING
4770 switch from config.h to wtf/Platform.h.
4772 * Configurations/FeatureDefines.xcconfig:
4775 2009-06-15 Anders Carlsson <andersca@apple.com>
4777 Reviewed by Dan Bernstein.
4779 <rdar://problem/6967569>
4780 CrashTracer: 15 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostManager::didCreateWindow + 85
4782 Make sure to remove the entry from the plug-in host map so we won't end up with an entry that has a null value.
4784 * Plugins/Hosted/NetscapePluginHostManager.mm:
4785 (WebKit::NetscapePluginHostManager::hostForPackage):
4787 2009-06-15 Dan Bernstein <mitz@apple.com>
4789 Reviewed by Tim Hatcher.
4791 - make the source code font in the Web Inspector match Mac defaults
4793 * WebCoreSupport/WebInspectorClient.mm:
4794 (-[WebInspectorWindowController init]): Set the default monospace font
4795 to 11px Menlo, except on Leopard and Tiger where it is 10px Monaco.
4797 2009-06-09 Justin Garcia <justin.garcia@apple.com>
4799 Reviewed by Eric Seidel. Landed by Adam Barth.
4801 https://bugs.webkit.org/show_bug.cgi?id=26281
4803 REGRESSION: Copying from TextEdit/OmniGraffle and pasting into editable
4806 Prefer RTFD (RTF with inline images) over RTF. In
4807 http://trac.webkit.org/changeset/19745 I accidently reversed their
4810 * WebView/WebHTMLView.mm:
4811 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
4813 2009-06-13 Adam Barth <abarth@webkit.org>
4815 Reviewed by Darin Fisher.
4817 https://bugs.webkit.org/show_bug.cgi?id=24492
4819 Move registerURLSchemeAsLocal from FrameLoader to SecurityOrigin
4821 * WebView/WebView.mm:
4822 (+[WebView registerURLSchemeAsLocal:]):
4824 2009-06-12 Peter Kasting <pkasting@google.com>
4826 Reviewed by Eric Seidel.
4828 * ChangeLog-2007-10-14: Change pseudonym "Don Gibson" to me (was used while Google Chrome was not public); update my email address.
4830 2009-06-08 Dan Bernstein <mitz@apple.com>
4832 Rubber-stamped by Mark Rowe.
4834 - gave Objective-C++ files the .mm extension
4836 * Carbon/HIWebView.m: Removed.
4837 * Carbon/HIWebView.mm: Copied from WebKit/mac/Carbon/HIWebView.m.
4838 * Misc/WebKitNSStringExtras.m: Removed.
4839 * Misc/WebKitNSStringExtras.mm: Copied from WebKit/mac/Misc/WebKitNSStringExtras.m.
4840 * Misc/WebStringTruncator.m: Removed.
4841 * Misc/WebStringTruncator.mm: Copied from WebKit/mac/Misc/WebStringTruncator.m.
4842 * WebInspector/WebNodeHighlight.m: Removed.
4843 * WebInspector/WebNodeHighlight.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlight.m.
4844 * WebInspector/WebNodeHighlightView.m: Removed.
4845 * WebInspector/WebNodeHighlightView.mm: Copied from WebKit/mac/WebInspector/WebNodeHighlightView.m.
4846 * WebView/WebDynamicScrollBarsView.m: Removed.
4847 * WebView/WebDynamicScrollBarsView.mm: Copied from WebKit/mac/WebView/WebDynamicScrollBarsView.m.
4849 2009-06-05 David Hyatt <hyatt@apple.com>
4851 Reviewed by Mark Rowe.
4853 https://bugs.webkit.org/show_bug.cgi?id=26220
4855 Update a WebView's active state when it moves to a different window.
4857 * WebView/WebView.mm:
4858 (-[WebView viewDidMoveToWindow]):
4860 2009-06-04 Sam Weinig <sam@webkit.org>
4862 Reviewed by Alice Liu.
4864 Move WebView internal data into WebViewData.h/mm.
4866 * WebView/WebDelegateImplementationCaching.mm:
4867 * WebView/WebView.mm:
4868 * WebView/WebViewData.h: Copied from mac/WebView/WebViewInternal.h.
4869 * WebView/WebViewData.mm: Copied from mac/WebView/WebViewInternal.mm.
4870 * WebView/WebViewInternal.h:
4871 * WebView/WebViewInternal.mm: Removed.
4873 2009-06-04 David Hyatt <hyatt@apple.com>
4875 Reviewed by Sam Weinig.
4877 Remove _updateFocusedStateForFrame, since it's actually not even necessary now that I made
4878 setFocusedFrame get called explicitly from become/ResignFirstResponder. setFocusedFrame does
4879 the work of focusing the selection already.
4881 * WebCoreSupport/WebFrameLoaderClient.mm:
4882 (WebFrameLoaderClient::transitionToCommittedForNewPage):
4883 * WebView/WebHTMLView.mm:
4884 (-[WebHTMLView becomeFirstResponder]):
4885 (-[WebHTMLView resignFirstResponder]):
4886 * WebView/WebView.mm:
4887 * WebView/WebViewInternal.h:
4889 2009-06-04 Dan Bernstein <mitz@apple.com>
4893 * WebView/WebViewInternal.mm:
4895 2009-06-03 David Hyatt <hyatt@apple.com>
4897 Reviewed by Sam Weinig.
4899 Reworking of focus and active state updating for WebHTMLViews so that it actually works instead of reporting wrong answers.
4901 * WebCoreSupport/WebFrameLoaderClient.mm:
4902 (WebFrameLoaderClient::transitionToCommittedForNewPage):
4903 WebHTMLViews become first responders before they are able to reach their Frames/Pages. This happens because the NSClipView
4904 becomes first responder when the WebHTMLView gets destroyed, and then we transfer the responder state back to the new WebHTMLView
4905 when it is first connected. Once we have transitioned to a new page and have the Frame/Page available, go ahead and explicitly
4906 focus the frame in WebCore and update our focused state. This change allows us to remove the updateFocusedActive timer and the
4907 code from viewDidMoveToWindow.
4909 * WebView/WebHTMLView.mm:
4910 (-[WebHTMLView close]):
4911 (-[WebHTMLView addWindowObservers]):
4912 (-[WebHTMLView viewWillMoveToWindow:]):
4913 (-[WebHTMLView viewDidMoveToWindow]):
4914 (-[WebHTMLView _removeWindowObservers]):
4915 Remove all the updateFocusedActiveState timer code, since it no longer exists.
4917 (-[WebHTMLView windowDidBecomeKey:]):
4918 (-[WebHTMLView windowDidResignKey:]):
4919 Active state updating is no longer done by WebHTMLViews. It is handled by the WebView instead.
4921 (-[WebHTMLView becomeFirstResponder]):
4922 (-[WebHTMLView resignFirstResponder]):
4923 Reworking of WebHTMLView's code for gaining/losing responder status. No longer update active state here, since the active state
4924 can never change just because of responder changes. Make sure that the focused frame gets updated properly (and most importantly
4925 actually cleared when a WebHTMLView resigns responder status).
4927 * WebView/WebHTMLViewInternal.h:
4928 * WebView/WebHTMLViewPrivate.h:
4929 State updating for focused and active states has been made independent.
4931 * WebView/WebView.mm:
4932 (-[WebView _updateActiveState]):
4933 WebView now handles updating of active state in _updateActiveState. It is now purely based off whether the window is key and nothing
4936 (-[WebView addWindowObserversForWindow:]):
4937 (-[WebView removeWindowObservers]):
4938 Start listening for the window becoming/losing key even in the usesDocumentViews case.
4940 (-[WebView _updateFocusedStateForFrame:]):
4941 Focused state updating is split into its own method now and called when WebHTMLViews gain and lose responder status.
4943 (-[WebView _windowDidBecomeKey:]):
4944 (-[WebView _windowDidResignKey:]):
4945 Make sure to call _updateActiveState as the window gains/loses key.
4947 (-[WebView _windowWillOrderOnScreen:]):
4948 Run this code now that WebHTMLView no longer does it.
4950 * WebView/WebViewInternal.h:
4951 * WebView/WebViewPrivate.h:
4952 Updating for the split of focused and active state updating into separate methods.
4954 2009-06-04 Mark Rowe <mrowe@apple.com>
4956 Speculative Tiger build fix.
4958 * WebView/WebDelegateImplementationCaching.h:
4960 2009-06-03 Sam Weinig <sam@webkit.org>
4962 Reviewed by Mark Rowe.
4964 Move delegate implementation caching logic into its own files.
4966 * WebView/WebDelegateImplementationCaching.h: Copied from mac/WebView/WebViewInternal.h.
4967 * WebView/WebDelegateImplementationCaching.mm: Copied from mac/WebView/WebView.mm.
4968 (WebViewGetResourceLoadDelegateImplementations):
4969 (WebViewGetFrameLoadDelegateImplementations):
4970 (WebViewGetScriptDebugDelegateImplementations):
4971 * WebView/WebView.mm:
4972 * WebView/WebViewInternal.h:
4974 2009-06-03 Sam Weinig <sam@webkit.org>
4976 Reviewed by Mark Rowe.
4978 Move WebViewPrivate structure to WebViewInternal.h/mm.
4980 * WebView/WebView.mm:
4981 * WebView/WebViewInternal.h:
4982 * WebView/WebViewInternal.mm: Added.
4983 (+[WebViewPrivate initialize]):
4984 (-[WebViewPrivate init]):
4985 (-[WebViewPrivate dealloc]):
4986 (-[WebViewPrivate finalize]):
4988 2009-06-03 Sam Weinig <sam@webkit.org>
4990 Reviewed by Darin Adler.
4992 Small cleanup in WebView.
4993 - Move global data initialization to WebView's initialization method.
4994 - Move _clearViewUpdateRunLoopObserver from WebViewPrivate to WebView (FileInternal)
4996 * WebView/WebView.mm:
4997 (-[WebViewPrivate init]): Remove global initializers.
4998 (-[WebViewPrivate dealloc]): Cleanup whitespace.
4999 (-[WebViewPrivate finalize]): Ditto.
5000 (-[WebView _close]): Call [self _clearViewUpdateRunLoopObserver] instead of
5001 [_private _clearViewUpdateRunLoopObserver]
5002 (+[WebView initialize]): Move global initializers here.
5003 (-[WebView _clearViewUpdateRunLoopObserver]): Moved from WebViewPrivate.
5004 (viewUpdateRunLoopObserverCallBack): Call [self _clearViewUpdateRunLoopObserver]
5005 instead of [_private _clearViewUpdateRunLoopObserver]
5007 2009-06-03 Dan Bernstein <mitz@apple.com>
5009 Reviewed by Anders Carlsson.
5011 - WebKit part of eliminating WebCoreTextRenderer
5013 * Misc/WebKitNSStringExtras.m:
5014 (webkit_CGCeiling): Added.
5015 (-[NSString _web_drawAtPoint:font:textColor:]): Replaced the malloc()ed
5016 string buffer with a Vector. Moved code from
5017 WebCoreDrawTextAtPoint() to here.
5018 (-[NSString _web_drawDoubledAtPoint:withTopColor:bottomColor:font:]):
5019 (-[NSString _web_widthWithFont:]): Replaced the malloc()ed string buffer
5020 with a Vector. Moved code from WebCoreTextFloatWidth() to here.
5021 * WebView/WebHTMLView.mm:
5022 (-[WebHTMLView _addToStyle:fontA:fontB:]): Replaced call to
5023 WebCoreFindFont() with use of
5024 +[WebFontCache fontWithFamily:traits:weight:size:].
5025 * WebView/WebView.mm:
5026 (+[WebView _setAlwaysUsesComplexTextCodePath:]): Changed to call
5027 Font::setCodePath() directly.
5028 (+[WebView _setShouldUseFontSmoothing:]): Changed to call
5029 Font::setShouldUseSmoothing().
5030 (+[WebView _shouldUseFontSmoothing]): Changed to call
5031 Font::shouldUseSmoothing().
5033 2009-06-03 Dan Bernstein <mitz@apple.com>
5035 Rubber-stamped by Mark Rowe.
5037 - remove a private method that was used only by Safari 3.0.
5039 * WebView/WebView.mm: Removed +_minimumRequiredSafariBuildNumber.
5040 * WebView/WebViewPrivate.h: Ditto.
5042 2009-06-03 Dan Bernstein <mitz@apple.com>
5046 * WebView/WebHTMLView.mm:
5048 2009-06-03 Dan Bernstein <mitz@apple.com>
5050 Reviewed by Anders Carlsson.
5054 * WebView/WebHTMLView.mm:
5055 * WebView/WebView.mm:
5057 2009-06-02 Darin Adler <darin@apple.com>
5059 Reviewed by David Hyatt.
5061 Bug 26112: viewless WebKit -- make events work
5062 https://bugs.webkit.org/show_bug.cgi?id=26112
5064 One change here is to make the -[WebFrame frameView] function assert if ever called
5065 in viewless mode, and fix many callers that would trip that assertion.
5067 A major change is to put some methods and data in WebView that are currently in
5068 WebHTMLView, used only in viewless mode. A next step will be to use the WebView
5069 methods whenever possible, even when not in the viewless mode.
5071 Also fix FrameView to do normal reference counting instead of a strange model with
5072 an explicit deref near creation time.
5074 * WebCoreSupport/WebChromeClient.mm:
5075 (WebChromeClient::scrollRectIntoView): Add code to start in the appropriate place
5076 when dealing with viewless mode. This gets triggered when visiting the Google home page.
5077 (WebChromeClient::setToolTip): Changed to call WebView instead of WebHTMLView.
5078 (WebChromeClient::print): Changed to use a new selector that doesn't require a
5079 WebFrameView if present. Also don't even try to use the old selector in viewless mode.
5081 * WebCoreSupport/WebEditorClient.mm:
5082 (WebEditorClient::respondToChangedSelection): Changed to call WebView instead of WebHTMLView.
5084 * WebCoreSupport/WebFrameLoaderClient.mm:
5085 (WebFrameLoaderClient::transitionToCommittedForNewPage): Added more code paths for
5086 viewless mode to skip things we can't do in that mode, with appropriate FIXME.
5087 Use Frame::create and RefPtr and eliminate the strange reference counting of FrameView.
5089 * WebView/WebDataSource.mm:
5090 (-[WebDataSource _receivedData:]): Added a _usesDocumentViews guard around code that's
5091 specific to document views.
5093 * WebView/WebFrame.mm:
5094 (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Added a _usesDocumentViews
5095 guard around code that's specific to document views.
5096 (-[WebFrame _hasSelection]): Added an implementation for viewless mode.
5097 (-[WebFrame _clearSelection]): Assert we're not in viewless mode; it doesn't really
5098 make sense to clear the selection in only one frame in viewless mode. Later we can
5100 (-[WebFrame _dragSourceMovedTo:]): Assert we're not in viewless mode; the dragging
5101 code for viewless mode shouldn't have to involve the WebFrame object at all.
5102 (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
5103 (-[WebFrame frameView]): Assert we're not in viewless mode. This assertion fires
5104 often, but it's a great pointer to code that needs to be changed.
5106 * WebView/WebHTMLView.mm:
5107 (-[WebHTMLView hitTest:]): Tweaked a comment.
5108 (-[WebHTMLView _updateMouseoverWithEvent:]): Fixed a bug where the fake event for
5109 moving the mouse out of the old view ended up overwriting the event for moving
5110 the mouse within the new view.
5111 (-[WebHTMLView mouseDown:]): Got rid of explicit conversion of event to
5112 PlatformMouseEvent in call to sendContextMenuEvent; that's no longer possible
5113 without passing another argument, and it's now handled in EventHandler.
5115 * WebView/WebTextCompletionController.h: Copied from WebKit/mac/WebView/WebHTMLView.mm.
5116 Removed everything except for the WebTextCompletionController class.
5117 * WebView/WebTextCompletionController.mm: Copied from WebKit/mac/WebView/WebHTMLView.mm.
5120 * WebView/WebUIDelegatePrivate.h: Added webView:printFrame: method.
5122 * WebView/WebView.mm: Moved includes and fields in from WebHTMLView.
5123 (-[WebView _usesDocumentViews]): Updated for name change from useDocumentViews
5124 to usesDocumentViews.
5125 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Ditto.
5126 (-[WebView drawSingleRect:]): Ditto.
5127 (-[WebView isFlipped]): Ditto.
5128 (-[WebView setFrameSize:]): Ditto. Also changed to use _mainCoreFrame method.
5129 (-[WebView _viewWillDrawInternal]): Ditto.
5130 (-[WebView viewWillDraw]): Ditto.
5131 (-[WebView drawRect:]): Ditto.
5132 (-[WebView _close]): Added code to nil out the lastMouseoverView global.
5133 (-[WebView _dashboardRegions]): Use _mainCoreFrame.
5134 (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
5135 (-[WebView _setInViewSourceMode:]): Ditto.
5136 (-[WebView _inViewSourceMode]): Ditto.
5137 (-[WebView _attachScriptDebuggerToAllFrames]): Ditto.
5138 (-[WebView _detachScriptDebuggerFromAllFrames]): Ditto.
5139 (-[WebView textIteratorForRect:]): Ditto.
5140 (-[WebView _executeCoreCommandByName:value:]): Ditto.
5141 (-[WebView addWindowObserversForWindow:]): Ditto.
5142 (-[WebView removeWindowObservers]): Ditto.
5143 (-[WebView _updateFocusedAndActiveState]): Ditto.
5144 (-[WebView _updateFocusedAndActiveStateForFrame:]): Turned into a class method.
5145 Added code to handle the viewless case without calling frameView.
5146 (-[WebView _windowDidBecomeKey:]): Updated for name change from useDocumentViews
5147 to usesDocumentViews.
5148 (-[WebView _windowDidResignKey:]): Ditto.
5149 (-[WebView _windowWillOrderOnScreen:]): Ditto.
5150 (-[WebView mainFrame]): Tweaked.
5151 (-[WebView selectedFrame]): Added a conditional to avoid trying to get at the
5152 frame view in viewless case.
5153 (-[WebView _setZoomMultiplier:isTextOnly:]): Use _mainCoreFrame.
5154 (-[WebView setCustomTextEncodingName:]): Ditto.
5155 (-[WebView windowScriptObject]): Ditto.
5156 (-[WebView setHostWindow:]): Ditto. Also put some code that's needed only for
5157 document views inside _private->usesDocumentViews.
5158 (-[WebView _hitTest:dragTypes:]): Tweaked.
5159 (-[WebView acceptsFirstResponder]): Added case for viewless mode along with a
5160 FIXME, since it's not complete.
5161 (-[WebView becomeFirstResponder]): Ditto.
5162 (-[WebView _webcore_effectiveFirstResponder]): Put the body of this inside
5163 a usesDocumentView check, because we don't need the first responder forwarding
5165 (-[WebView setNextKeyView:]): Ditto.
5166 (-[WebView mouseDown:]): Added. Copied from WebHTMLView. FIXME in here suggests
5167 that we make WebHTMLView share this one soon, which I think is practical.
5168 (-[WebView mouseUp:]): Ditto.
5169 (-[WebView setHoverFeedbackSuspended:]): Added a code path for viewless mode.
5170 (-[WebView shouldClose]): Use _mainCoreFrame.
5171 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
5172 (-[WebView setEditable:]): Ditto.
5173 (-[WebView _frameViewAtWindowPoint:]): Added an assertion that we're not in
5174 viewless mode since this method makes no sense in that mode.
5175 (-[WebView _setMouseDownEvent:]): Added. Copied from WebHTMLView. I plan to
5176 eliminate the one in WebHTMLView soon.
5177 (-[WebView _cancelUpdateMouseoverTimer]): Ditto.
5178 (-[WebView _stopAutoscrollTimer]): Ditto.
5179 (+[WebView _updateMouseoverWithEvent:]): Ditto.
5180 (-[WebView _updateMouseoverWithFakeEvent]): Ditto.
5181 (-[WebView _setToolTip:]): Added. Calls through to the WebHTMLView version.
5182 (-[WebView _selectionChanged]): Ditto.
5183 (-[WebView _mainCoreFrame]): Added.
5184 (-[WebView _needsOneShotDrawingSynchronization]): Moved into the WebInternal
5186 (-[WebView _setNeedsOneShotDrawingSynchronization:]): Ditto.
5187 (-[WebView _startedAcceleratedCompositingForFrame:]): Ditto.
5188 (-[WebView _stoppedAcceleratedCompositingForFrame:]): Ditto.
5189 (viewUpdateRunLoopObserverCallBack): Ditto.
5190 (-[WebView _scheduleViewUpdate]): Ditto.
5192 * WebView/WebViewInternal.h: Made most of the file not compile at all when
5193 included from non-C++ source files, elminating some excess declarations and
5194 typedefs. Moved more methods into the real internal category. Added new
5195 methods _setMouseDownEvent, _cancelUpdateMouseoverTimer, _stopAutoscrollTimer,
5196 _updateMouseoverWithFakeEvent, _selectionChanged, and _setToolTip:.
5198 2009-06-02 Mark Rowe <mrowe@apple.com>
5200 Reviewed by Anders Carlsson.
5202 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
5204 * Configurations/Base.xcconfig:
5206 2009-06-01 Darin Adler <darin@apple.com>
5208 * WebView/WebTextCompletionController.mm: Fix Tiger build by adding import
5209 of WebTypesInternal.h.
5211 2009-06-01 Darin Adler <darin@apple.com>
5213 Reviewed by Maciej Stachowiak.
5215 Bug 26113: break WebTextCompletionController out into its own source file
5216 https://bugs.webkit.org/show_bug.cgi?id=26113
5218 * WebView/WebHTMLView.mm:
5219 (-[WebHTMLViewPrivate dealloc]): Updated for new name.
5220 (-[WebHTMLViewPrivate clear]): Ditto.
5221 (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
5222 (-[WebHTMLView menuForEvent:]): Ditto.
5223 (-[WebHTMLView windowDidResignKey:]): Ditto.
5224 (-[WebHTMLView windowWillClose:]): Ditto.
5225 (-[WebHTMLView mouseDown:]): Ditto.
5226 (-[WebHTMLView resignFirstResponder]): Ditto.
5227 (-[WebHTMLView keyDown:]): Ditto.
5228 (-[WebHTMLView complete:]): Ditto. Also pass WebView to init method.
5229 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Ditto.
5231 * WebView/WebTextCompletionController.h: Copied from mac/WebView/WebHTMLView.mm.
5232 * WebView/WebTextCompletionController.mm: Copied from mac/WebView/WebHTMLView.mm.
5233 Changed initializer to pass in a spearate WebView and WebHTMLView, to smooth the
5234 way for handling viewless mode properly in the future.
5236 2009-05-30 David Kilzer <ddkilzer@apple.com>
5238 Add JSLock to -[WebScriptCallFrame scopeChain]
5240 Reviewed by Darin Adler.
5242 In Debug builds of WebKit, Dashcode launching MobileSafari could
5243 cause the ASSERT(JSLock::lockCount() > 0) assertion to fire in
5244 JSC::Heap::heapAllocate() because the JSLock wasn't taken.
5246 * WebView/WebScriptDebugDelegate.mm:
5247 (-[WebScriptCallFrame scopeChain]): Take JSLock before calling
5248 into JavaScriptCore.
5250 2009-05-28 Mark Rowe <mrowe@apple.com>
5252 Rubber-stamped by Dan Bernstein.
5254 Build fix. Move off a deprecated NSFileManager method.
5256 * Misc/WebNSFileManagerExtras.h:
5257 * Misc/WebNSFileManagerExtras.m:
5258 (-[NSFileManager destinationOfSymbolicLinkAtPath:error:]): Implement a new-in-Leopard method for Tiger to use.
5259 (-[NSFileManager attributesOfItemAtPath:error:]): Ditto.
5260 * Plugins/WebNetscapePluginPackage.mm:
5261 (-[WebNetscapePluginPackage _initWithPath:]): Use the new non-deprecated methods.
5263 2009-05-28 Dirk Schulze <krit@webkit.org>
5265 Reviewed by Nikolas Zimmermann.
5267 Added new build flag --filters. More details in WebCore/ChangeLog.
5269 * Configurations/FeatureDefines.xcconfig:
5271 2009-05-27 Alexey Proskuryakov <ap@webkit.org>
5273 Reviewed by Darin Adler.
5275 https://bugs.webkit.org/show_bug.cgi?id=26009
5276 <rdar://problem/6925656> REGRESSION (r43973): Problems While Working With OpenVanilla
5278 * WebView/WebHTMLView.mm:
5279 (-[WebHTMLView _updateSelectionForInputManager]): Don't call updateWindows if the selection
5280 is None. This routinely happens during editing, and it doesn't mean that we left an editable
5281 area (in which case the selection changes to a non-editable one).
5283 2009-05-26 Sam Weinig <sam@webkit.org>
5285 Reviewed by Brady Eidson.
5287 Fix for <rdar://problem/6916371>
5288 iWeb 'Announce' button does nothing after publishing to MobileMe
5290 Add linked-on-or-after check to allow older WebKit apps to use the
5291 old behavior of sniffing everything (including file: urls)
5293 * Misc/WebKitVersionChecks.h:
5294 * WebView/WebView.mm:
5295 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
5297 2009-05-26 Stephanie Lewis <slewis@apple.com>
5299 Reviewed by Ada Chan and Oliver Hunt.
5301 Remove WebView observers in during fast teardown.
5302 <rdar://problem/6922619> REGRESSION (Tiger-only?): After restoring windows from the previous session, a crash occurs while attempting to quit Safari
5304 * WebView/WebView.mm:
5305 (-[WebView _closeWithFastTeardown]):
5307 2009-05-26 Anders Carlsson <andersca@apple.com>
5309 Reviewed by Dan Bernstein.
5311 <rdar://problem/6901751>
5312 REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
5314 Remove WKCGContextIsSafeToClip.
5316 * WebCoreSupport/WebSystemInterface.m:
5317 (InitWebCoreSystemInterface):
5319 2009-05-26 Dan Bernstein <mitz@apple.com>
5321 Reviewed by Darin Adler.
5323 - fix <rdar://problem/6922371> REGRESSION (r43973): Can't type first
5324 character with an umlaut, circumflex, or accent in Mail or in a wiki
5326 * WebView/WebHTMLView.mm:
5327 (isTextInput): Moved here.
5328 (isInPasswordField): Moved here.
5329 (-[WebHTMLView becomeFirstResponder]): Update the exposeInputContext
5330 flag and let NSApplication update the input manager with the new input
5331 context if necessary.
5332 (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
5333 NSApp global instead of +[NSApplication sharedApplication].
5335 2009-05-26 Mark Rowe <mrowe@apple.com>
5337 Fix the Tiger build.
5339 * Misc/WebNSObjectExtras.mm:
5340 (-[NSInvocation _webkit_invokeAndHandleException:]): Rename the local variable so that
5341 it doesn't conflict with a member variable on Tiger.
5343 2009-05-26 Darin Adler <darin@apple.com>
5345 Reviewed by Mark Rowe.
5347 <rdar://problem/6921835> REGRESSION (r44115): Crash in Leopard Mail viewing message
5349 Fix case where we autorelease an object on the main thread that we are returning
5350 to another thread when using our _webkit_invokeOnMainThread method.
5352 * Misc/WebNSObjectExtras.mm:
5353 (returnTypeIsObject): Added.
5354 (-[WebMainThreadInvoker forwardInvocation:]): Autorelease the object on the calling
5355 thread, balancing a retain done on the main thread.
5356 (-[NSInvocation _webkit_invokeAndHandleException:]): Retain the object on the main
5359 2009-05-26 David Hyatt <hyatt@apple.com>
5361 Back out the workaround for Mail crashing. Darin is working on the real fix.
5363 * Misc/WebNSObjectExtras.mm:
5364 (-[WebMainThreadInvoker forwardInvocation:]):
5366 2009-05-26 David Hyatt <hyatt@apple.com>
5368 Reviewed by Darin Adler.
5370 Fix for https://bugs.webkit.org/show_bug.cgi?id=25969.
5372 Stop using notifications for boundsChanged, since the notifications are being sent too late.
5373 Since subviews get resized before parents do, the notification comes in telling the WebHTMLView
5374 that its size has changed *before* we've done setNeedsLayout in the WebView size change callback.
5376 Become more like the Windows platform and just do the bounds changed immediately as our size is
5377 being altered by subclassing setFrameSize in WebView.
5379 Also patch WebDynamicScrollbarsView to detect the case where neither axis is really spilling out
5380 past the viewport, so that in shrinking situations we figure out that we don't need scrollbars
5383 * WebView/WebDynamicScrollBarsView.m:
5384 (-[WebDynamicScrollBarsView updateScrollers]):
5385 * WebView/WebView.mm:
5386 (-[WebView _boundsChangedToNewSize:]):
5387 (-[WebView setFrameSize:]):
5388 (-[WebView viewWillMoveToWindow:]):
5389 (-[WebView viewDidMoveToWindow]):
5391 2009-05-25 Anders Carlsson <andersca@apple.com>
5393 Reviewed by Sam Weinig.
5395 - WebKit side of <rdar://problem/6914001>.
5397 * Plugins/Hosted/NetscapePluginHostManager.h:
5398 * Plugins/Hosted/NetscapePluginHostManager.mm:
5399 (WebKit::NetscapePluginHostManager::didCreateWindow):
5400 Iterate over all plug-in hosts. If one is in full-screen mode, make sure to activate the
5403 * Plugins/Hosted/NetscapePluginHostProxy.h:
5404 (WebKit::NetscapePluginHostProxy::isMenuBarVisible):
5407 * Plugins/Hosted/NetscapePluginHostProxy.mm:
5409 Add allowPopups flag.
5411 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5412 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5413 (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
5414 (WebKit::NetscapePluginInstanceProxy::PluginRequest::allowPopups):
5415 (WebKit::NetscapePluginInstanceProxy::loadURL):
5416 (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
5417 (WebKit::NetscapePluginInstanceProxy::loadRequest):
5418 (WebKit::NetscapePluginInstanceProxy::evaluate):
5419 Use "allowPopups" instead of "userGesture".
5421 * Plugins/Hosted/WebKitPluginClient.defs:
5422 Add allowPopups argument to Evaluate.
5424 * Plugins/Hosted/WebKitPluginHostTypes.h:
5425 Use "allowPopups" instead of "userGesture".
5427 * WebCoreSupport/WebChromeClient.mm:
5428 (WebChromeClient::createWindow):
5429 Call didCreateWindow here.
5431 * WebCoreSupport/WebFrameLoaderClient.mm:
5432 (WebFrameLoaderClient::dispatchCreatePage):
5435 2009-05-25 Anders Carlsson <andersca@apple.com>
5437 Reviewed by Sam Weinig.
5439 - Fix <rdar://problem/6915849>.
5441 Release the placeholder window after -[NSApplication runModalForWindow] returns.
5443 * Plugins/Hosted/NetscapePluginHostProxy.mm:
5444 (WebKit::NetscapePluginHostProxy::beginModal):
5445 (WebKit::NetscapePluginHostProxy::endModal):
5447 2009-05-24 Dan Bernstein <mitz@apple.com>
5449 - revert an accidental change from r43964.
5451 * WebView/WebView.mm:
5452 (+[WebView _setShouldUseFontSmoothing:]):
5454 2009-05-24 Darin Adler <darin@apple.com>
5456 Reviewed by Dan Bernstein and Tim Hatcher.
5458 <rdar://problem/6913045> New console message spewed by automator CLI after installing JetstreamLeo40B21a
5460 * Misc/WebNSObjectExtras.mm:
5461 (-[WebMainThreadInvoker initWithTarget:]): Tweaked argument name.
5462 (-[WebMainThreadInvoker forwardInvocation:]): Removed call to retainArguments.
5463 This was unneeded and in the case of a newly created but not yet fully initialized
5464 NSView object it caused the abovementioned bug.
5465 (-[WebMainThreadInvoker handleException:]): Tweaked argument name. Added assertion.
5466 (-[NSInvocation _webkit_invokeAndHandleException:]): Tweaked name of local variable
5467 that holds the exception.
5469 2009-05-23 David Kilzer <ddkilzer@apple.com>
5471 Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
5473 <https://bugs.webkit.org/show_bug.cgi?id=25495>
5475 Reviewed by Oliver Hunt.
5477 * History/WebHistory.mm:
5478 (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Return
5479 0 instead of an empty auto_ptr<>.
5480 * History/WebHistoryItem.mm:
5481 (-[WebHistoryItem initFromDictionaryRepresentation:]): Use
5482 OwnPtr<> instead of auto_ptr<> for stack variable.
5483 * WebCoreSupport/WebChromeClient.h:
5484 (WebChromeClient::createHTMLParserQuirks): Return a PassOwnPtr<>
5485 instead of a raw HTMLParserQuirks pointer.
5487 2009-05-23 David Kilzer <ddkilzer@apple.com>
5489 Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr
5491 <https://bugs.webkit.org/show_bug.cgi?id=25495>
5493 Reviewed by Oliver Hunt.
5495 * ForwardingHeaders/wtf/OwnPtrCommon.h: Added.
5496 * ForwardingHeaders/wtf/PassOwnPtr.h: Added.
5498 2009-05-22 Darin Adler <darin@apple.com>
5500 Reviewed by Dan Bernstein.
5502 - Fix <rdar://problem/6913765> REGRESSION (r42331-r42334): Extra scroll
5503 bars appearing on Welcome panels of iLife '09 apps
5505 * WebView/WebView.mm:
5506 (needsUnwantedScrollBarWorkaround): Added. Checks if this is a panel
5507 where scroll bars are unwanted. For safety, limited to only Apple applications.
5508 (-[WebView viewDidMoveToWindow]): If the workaround is needed, disallow
5509 scrolling the main frame. This prevents scroll bars from appearing.
5511 2009-05-22 Adam Barth <abarth@webkit.org>
5513 Reviewed by Maciej Stachowiak.
5515 https://bugs.webkit.org/show_bug.cgi?id=25955
5517 Remove the policyBaseURL parameter from setCookie. This parameter is
5518 redudant with the document parameter.
5520 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5521 (WebKit::NetscapePluginInstanceProxy::setCookies):
5522 * Plugins/WebNetscapePluginView.mm:
5523 (-[WebNetscapePluginView setVariable:forURL:value:length:]):
5525 2009-05-21 Darin Fisher <darin@chromium.org>
5527 Fix-up coding style.
5529 * WebCoreSupport/WebEditorClient.mm:
5530 (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
5532 2009-05-20 Siddhartha Chattopadhyaya <sidchat@google.com>
5534 Reviewed by Justin Garcia.
5536 Add automatic spell correction support in WebKit
5538 https://bugs.webkit.org/show_bug.cgi?id=24953
5540 * WebCoreSupport/WebEditorClient.h:
5541 * WebCoreSupport/WebEditorClient.mm:
5542 (WebEditorClient::getAutoCorrectSuggestionForMisspelledWord):
5544 2009-05-21 Alexey Proskuryakov <ap@webkit.org>
5546 Reviewed by Darin Adler.
5548 <rdar://problem/6907542> REGRESSION (r43143): Hang in RenderLineBoxList::dirtyLinesFromChangedChild
5549 when clicking link to load Flash animation (http://www.roambi.com)
5551 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
5552 Don't call -[NSApplication updateWindows] here, WebHTMLView can take care of this.
5554 * WebView/WebHTMLView.mm:
5555 (-[WebHTMLView inputContext]): Use a precomputed boolean stored in WebHTMLViewPrivate, as
5556 calling isTextInput() is not always safe.
5557 (-[WebHTMLView textStorage]): Ditto.
5558 (-[WebHTMLView _updateSelectionForInputManager]): Update _private->exposeInputContext when
5559 selection changes, and let AppKit update its cache if necessary.
5561 2009-05-21 Alexey Proskuryakov <ap@webkit.org>
5563 Reviewed by Darin Adler.
5565 <rdar://problem/5579292> REGRESSION (2-3): "Default default" encoding for Korean changed
5566 from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
5568 * WebView/WebPreferences.mm:
5569 (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Update the existing fix
5570 for the changed result of CFStringConvertEncodingToIANACharSetName().
5572 2009-05-21 Alexey Proskuryakov <ap@webkit.org>
5574 Reviewed by Darin Adler.
5576 <rdar://problem/6883758> REGRESSION (r43143): First character typed with input method does
5577 not go into inline hole (seen with Chinese & Kotoeri on top Chinese website www.baidu.com)
5579 * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::respondToChangedSelection):
5580 Call -[NSApplication updateWindows] to make AppKit re-fetch the input context when selection
5581 changes. Since we use SelectionController to check whether the view is editable, it is
5582 important not to re-fetch the context too early, e.g. from a focus changed notification.
5584 2009-05-21 Eric Seidel <eric@webkit.org>
5586 Reviewed by Alexey Proskuryakov.
5588 Rename DragController::dragOperation() to sourceDragOperation() for clarity
5590 * WebView/WebHTMLView.mm:
5591 (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
5593 2009-05-21 Dan Bernstein <mitz@apple.com>
5595 Reviewed by Anders Carlsson.
5597 - WebKit part of <rdar://problem/6901751> REGRESSION (r35515): Tiger
5598 crash painting the selection on registration page of car2go.com
5600 * WebCoreSupport/WebSystemInterface.m:
5601 (InitWebCoreSystemInterface): Added CGContextIsSafeToClip.
5603 2009-05-20 Stephanie Lewis <slewis@apple.com>
5605 Update the order files. <rdar://problem/6881750> Generate new order files.
5609 2009-05-20 Brady Eidson <beidson@apple.com>
5611 Reviewed by Darin Adler.
5613 <rdar://problem/6905336> REGRESSION: "Clear History" does not save empty history to disk
5615 * History/WebHistory.mm:
5616 (-[WebHistoryPrivate data]): If there are no entries, return an empty NSData instead of nil.
5618 2009-05-20 Anders Carlsson <andersca@apple.com>
5620 Reviewed by Darin Adler and Kevin Decker.
5622 WebKit side of <rdar://problem/6895072>
5624 Pass the localization as a launch property.
5626 * Plugins/Hosted/NetscapePluginHostManager.mm:
5627 (WebKit::NetscapePluginHostManager::spawnPluginHost):
5629 2009-05-20 Dan Bernstein <mitz@apple.com>
5631 - fix the build after r43918
5633 * WebCoreSupport/WebChromeClient.h:
5634 (WebChromeClient::setCursor):
5636 2009-05-20 Darin Adler <darin@apple.com>
5638 Reviewed by John Sullivan.
5640 <rdar://problem/4023899> Shift-Tab skips key views in toolbar in Safari, although Tab
5641 iterates through them properly
5643 * WebView/WebView.mm:
5644 (-[WebView previousValidKeyView]): Work around a bug in -[NSView previousValidKeyView].
5646 2009-05-19 Timothy Hatcher <timothy@apple.com>
5648 Add a new private API method that will dispatch pending loads that have been scheduled
5649 because of recent DOM additions or style changes.
5651 <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not
5652 loaded because willSendRequest doesn't happen immediately
5654 Reviewed by Antti Koivisto.
5656 * WebView/WebView.mm:
5657 (-[WebView _dispatchPendingLoadRequests]): Call Loader::servePendingRequests().
5658 * WebView/WebViewPrivate.h: Added _dispatchPendingLoadRequests.
5660 2009-05-18 Sam Weinig <sam@webkit.org>
5662 <rdar://problem/6899044> Can't see Apple ad on nytimes.com unless I spoof the user agent
5664 Add user agent hack for pointroll.com.
5666 Reviewed by Steve Falkenburg.
5668 * WebView/WebView.mm:
5669 (-[WebView WebCore::_userAgentForURL:WebCore::]):
5671 2009-05-16 Anders Carlsson <andersca@apple.com>
5673 Reviewed by Sam Weinig and Dan Bernstein.
5675 Fix <rdar://problem/6889644>
5677 * Plugins/Hosted/NetscapePluginHostManager.mm:
5678 (WebKit::NetscapePluginHostManager::spawnPluginHost):
5680 2009-05-16 Dan Bernstein <mitz@apple.com>
5682 - revert an accidental change from r43802.
5684 * WebInspector/WebInspector.mm:
5686 2009-05-16 Anders Carlsson <andersca@apple.com>
5688 Reviewed by Dan Bernstein.
5690 <rdar://problem/6895347> Mouse wheeling in the QuickTime plug-in (incorrectly) scrolls the page
5692 Fix logic. The plug-in returns true if it handled the event.
5694 * Plugins/WebNetscapePluginView.mm:
5695 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
5697 2009-05-16 Dan Bernstein <mitz@apple.com>
5699 Reviewed by Alexey Proskuryakov.
5701 - fix <rdar://problem/6873305> Two distinct characters are not displayed
5702 correctly with 2 of the font selections from the stickies widget
5704 * WebView/WebHTMLView.mm:
5705 (-[WebHTMLView _plainTextFromPasteboard:]): Return precomposed text.
5706 This is consistent with
5707 -_documentFragmentFromPasteboard:forType:inContext:subresources:.
5709 2009-05-15 Anders Carlsson <andersca@apple.com>
5711 Reviewed by Dan Bernstein.
5713 Fix <rdar://problem/6875398>.
5715 * Plugins/Hosted/NetscapePluginHostManager.mm:
5716 (WebKit::NetscapePluginHostManager::instantiatePlugin):
5717 If we failed to instantiate the plug-in, call cleanup() so that any streams created by the plug-in from its
5718 NPP_New callback are destroyed.
5720 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5721 Make cleanup() public.
5723 2009-05-15 Darin Adler <darin@apple.com>
5725 Reviewed by Anders Carlsson.
5727 <rdar://problem/6889823> hash table iterator used after hash table modified in
5728 ProxyInstance::fieldNamed() when viewing movie trailer
5730 * Plugins/Hosted/ProxyInstance.mm:
5731 (WebKit::ProxyInstance::methodsNamed): Move add call after the waitForReply call.
5732 Anders says that by the time we return someone else might have done the same add
5734 (WebKit::ProxyInstance::fieldNamed): Ditto.
5736 2009-05-15 Anders Carlsson <andersca@apple.com>
5738 Reviewed by Darin Adler.
5740 <rdar://problem/6892055>
5741 Replace WKN_GetLocation with WKN_ResolveURL (WKN_GetLocation was confusing and did not take the base URL into account)
5743 * Plugins/Hosted/NetscapePluginHostProxy.mm:
5747 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5748 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5749 (WebKit::NetscapePluginInstanceProxy::resolveURL):
5750 Use FrameLoader::complete URL here.
5752 * Plugins/Hosted/WebKitPluginClient.defs:
5753 Add new MIG definition.
5755 * Plugins/WebBaseNetscapePluginView.h:
5756 * Plugins/WebBaseNetscapePluginView.mm:
5757 (-[WebBaseNetscapePluginView resolvedURLStringForURL:target:]):
5758 * Plugins/WebNetscapeContainerCheckPrivate.h:
5759 * Plugins/WebNetscapeContainerCheckPrivate.mm:
5760 (browserContainerCheckFuncs):
5761 * Plugins/WebNetscapePluginView.h:
5762 * Plugins/WebNetscapePluginView.mm:
5763 (-[WebNetscapePluginView resolveURL:forTarget:]):
5767 2009-05-15 Dan Bernstein <mitz@apple.com>
5769 Reviewed by Darin Adler.
5771 - fix <rdar://problem/6892052> WebTextIterator should not “emit
5772 characters between all visible positions”
5774 * WebView/WebTextIterator.mm:
5775 (-[WebTextIterator initWithRange:]): Changed to construct a TextIterator
5776 with emitCharactersBetweenAllVisiblePositions set to false.
5778 2009-05-15 Mark Rowe <mrowe@apple.com>
5780 Reviewed by Dave Kilzer.
5782 Look for libWebKitSystemInterface.a in a more reasonable location.
5784 * Configurations/DebugRelease.xcconfig:
5786 2009-05-14 David Hyatt <hyatt@apple.com>
5788 Reviewed by Tim Hatcher.
5790 Fix for <rdar://problem/6886217> REGRESSION (S4 beta-ToT): Adium chat window contents no longer resize.
5792 Technically this is a bug in Adium. It appears that Adium has subclassed the WebView and implemented
5793 viewDidMoveToWindow in its subclass improperly. It doesn't call up to the base class WebView like it
5794 should and so our boundsChanged notification never gets added.
5796 Reduce the dependence on viewDidMoveToWindow by moving the registration of observers into
5797 viewWillMoveToWindow instead.
5799 * WebView/WebView.mm:
5800 (-[WebView addSizeObserversForWindow:]):
5801 (-[WebView removeWindowObservers]):
5802 (-[WebView addWindowObserversForWindow:]):
5803 (-[WebView viewWillMoveToWindow:]):
5804 (-[WebView viewDidMoveToWindow]):
5805 (-[WebView viewDidMoveToSuperview]):
5807 2009-05-14 David Levin <levin@chromium.org>
5809 Reviewed by Eric Seidel.
5811 https://bugs.webkit.org/show_bug.cgi?id=24704
5813 Allow the local cache directory to be set using a defaults key.
5815 * Misc/WebKitNSStringExtras.h:
5816 * Misc/WebKitNSStringExtras.m:
5817 (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
5820 2009-05-14 Darin Adler <darin@apple.com>
5822 Reviewed by Adam Roben.
5824 <rdar://problem/6879999> Automator actions that use WebKit on a background thread fail when run outside of Automator
5826 * WebView/WebView.mm:
5827 (clientNeedsWebViewInitThreadWorkaround): Added. Contains new broader rule.
5828 (needsWebViewInitThreadWorkaround): Changed to call clientNeedsWebViewInitThreadWorkaround.
5830 2009-05-14 Darin Adler <darin@apple.com>
5832 Reviewed by John Sullivan.
5834 Bug 24049: Second right-click crashes safari when alert invoked
5835 https://bugs.webkit.org/show_bug.cgi?id=24049
5836 rdar://problem/6878977
5838 * WebView/WebHTMLView.mm:
5839 (-[WebHTMLView rightMouseUp:]): Added a retain/autorelease of the event.
5840 (-[WebHTMLView menuForEvent:]): Ditto. Also cleaned up the logic here and
5841 eliminated some use of pointers that might be invalid after calling through
5843 (-[WebHTMLView scrollWheel:]): Ditto.
5844 (-[WebHTMLView acceptsFirstMouse:]): Ditto.
5845 (-[WebHTMLView shouldDelayWindowOrderingForEvent:]): Ditto.
5846 (-[WebHTMLView mouseDown:]): Ditto.
5847 (-[WebHTMLView mouseDragged:]): Ditto.
5848 (-[WebHTMLView mouseUp:]): Ditto.
5849 (-[WebHTMLView keyDown:]): Ditto.
5850 (-[WebHTMLView keyUp:]): Ditto.
5851 (-[WebHTMLView flagsChanged:]): Ditto.
5852 (-[WebHTMLView performKeyEquivalent:]): Ditto.
5854 2009-05-14 Mark Rowe <mrowe@apple.com>
5856 Rubber-stamped by Darin Adler.
5858 <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
5860 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
5861 Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
5862 if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
5864 * Configurations/Base.xcconfig:
5866 2009-05-13 Anders Carlsson <andersca@apple.com>
5868 Reviewed by Sam Weinig.
5870 WebKit side of <rdar://problem/6884476>.
5872 * Plugins/Hosted/NetscapePluginHostProxy.mm:
5874 Forward this to the plug-in instance proxy.
5876 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
5877 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
5878 (WebKit::NetscapePluginInstanceProxy::getLocation):
5879 Ask the plug-in view for the location.
5881 * Plugins/Hosted/WebKitPluginClient.defs:
5884 * Plugins/WebBaseNetscapePluginView.h:
5885 * Plugins/WebBaseNetscapePluginView.mm:
5886 (-[WebBaseNetscapePluginView locationStringForTarget:]):
5887 Return the URL for a given frame.
5889 * Plugins/WebNetscapeContainerCheckPrivate.h:
5890 Bump version. Add new declaration to the vtable.
5892 * Plugins/WebNetscapeContainerCheckPrivate.mm:
5893 (browserContainerCheckFuncs):
5894 Add new declaration to the vtable.
5896 * Plugins/WebNetscapePluginView.h:
5897 * Plugins/WebNetscapePluginView.mm:
5898 (-[WebNetscapePluginView locationForTarget:]):
5899 Call the base class method.
5903 Forward this to the plug-in view.
5905 2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
5907 Reviewed by Darin Adler.
5909 <rdar://problem/6871587> Smart Copy/Paste setting should persist as continuous
5910 spell checking setting does
5912 * WebView/WebPreferenceKeysPrivate.h: Added WebSmartInsertDeleteEnabled.
5914 * WebView/WebView.mm:
5915 (-[WebViewPrivate init]): Initialize based on WebSmartInsertDeleteEnabled
5917 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
5918 Removed code that initialized here.
5919 (-[WebView setSmartInsertDeleteEnabled:]): Set default here was with
5920 continuous spell checking setting.
5922 2009-05-13 Darin Adler <darin@apple.com>
5924 Revert the parser arena change. It was a slowdown, not a speedup.
5925 Better luck next time (I'll break it up into pieces).
5927 2009-05-13 Darin Adler <darin@apple.com>
5929 Reviewed by Cameron Zwarich.
5931 Bug 25674: syntax tree nodes should use arena allocation
5932 https://bugs.webkit.org/show_bug.cgi?id=25674
5934 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
5935 New ones needed due to reducing includes of JSDOMBinding.h.
5936 * WebView/WebScriptDebugger.mm: Ditto.
5938 2009-05-13 Douglas R. Davidson <ddavidso@apple.com>
5940 Reviewed by Darin Adler.
5942 <rdar://problem/6879145>
5943 Generate a contextual menu item allowing autocorrections to
5944 easily be changed back. Refrain from re-correcting items
5945 that have already been autocorrected once.
5947 * WebCoreSupport/WebViewFactory.mm:
5948 (-[WebViewFactory contextMenuItemTagChangeBack:]):
5949 * WebView/WebUIDelegatePrivate.h:
5951 2009-05-12 Anders Carlsson <andersca@apple.com>
5953 Reviewed by Dan Bernstein.
5955 Fix <rdar://problem/6878105>.
5957 When instantiating the QT plug-in under Dashboard, force "kiosk mode".
5959 * Plugins/WebBaseNetscapePluginView.mm:
5960 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
5962 2009-05-12 Dan Bernstein <mitz@apple.com>
5964 Reviewed by Darin Adler.
5966 - declare a forgotten method
5968 * DOM/WebDOMOperationsPrivate.h: Declare -[DOMNode markupString] in the
5969 WebDOMNodeOperationsPendingPublic category.
5971 2009-05-10 Alexey Proskuryakov <ap@webkit.org>
5973 Reviewed by Dan Bernstein.
5975 <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
5977 * Misc/WebDownload.m: Removed.
5978 * Misc/WebDownload.mm: Copied from WebKit/mac/Misc/WebDownload.m.
5979 (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Try to use
5980 credentials from WebCore storage.
5982 2009-05-08 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
5984 Not reviewed. Fix clean builds, forgot to land name() -> formControlName() rename patch in WebKit. Only landed the WebCore side.
5986 * WebView/WebHTMLRepresentation.mm:
5987 (-[WebHTMLRepresentation elementWithName:inForm:]):
5989 2009-05-08 Anders Carlsson <andersca@apple.com>
5991 Reviewed by Kevin Decker.
5993 - Fix <rdar://problem/6866712>.
5995 Instead of just caching whether a plug-in object _has_ a field or method, also add an entry to the cache
5996 if it _doesn't_ have a certain field or method. This way we have to make fewer calls to the plug-in host.
5998 * Plugins/Hosted/ProxyInstance.mm:
5999 (WebKit::ProxyInstance::methodsNamed):
6000 (WebKit::ProxyInstance::fieldNamed):
6002 2009-05-08 Douglas R. Davidson <ddavidso@apple.com>
6004 Reviewed by Darin Adler.
6006 Fixes for <rdar://problem/6852771>.
6007 Disable text checking menu items if view is not editable.
6009 * WebView/WebHTMLView.mm:
6010 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6011 (-[WebHTMLView smartInsertDeleteEnabled]):
6012 (-[WebHTMLView setSmartInsertDeleteEnabled:]):
6013 (-[WebHTMLView toggleSmartInsertDelete:]):
6014 * WebView/WebHTMLViewInternal.h:
6016 2009-05-08 Alexey Proskuryakov <ap@webkit.org>
6018 Reviewed by Maciej Stachowiak.
6020 <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
6022 * Plugins/WebBaseNetscapePluginView.mm: (WebKit::getAuthenticationInfo): Ask WebCore for
6023 credentials first (but also ask NSURLCredentialStorage, because WebCore won't know about
6024 permanent credentials).
6026 2009-05-05 Ben Murdoch <benm@google.com>
6028 Reviewed by Eric Seidel.
6030 Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
6031 https://bugs.webkit.org/show_bug.cgi?id=24776
6033 * Storage/WebDatabaseManager.mm:
6034 * Storage/WebDatabaseManagerInternal.h:
6035 * Storage/WebDatabaseManagerPrivate.h:
6036 * Storage/WebDatabaseTrackerClient.h:
6037 * Storage/WebDatabaseTrackerClient.mm:
6038 * Storage/WebSecurityOrigin.mm:
6039 (-[WebSecurityOrigin usage]):
6040 (-[WebSecurityOrigin quota]):
6041 (-[WebSecurityOrigin setQuota:]):
6042 * Storage/WebSecurityOriginPrivate.h:
6043 * WebCoreSupport/WebChromeClient.h:
6044 * WebCoreSupport/WebChromeClient.mm:
6045 * WebView/WebView.mm:
6046 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
6048 2009-05-04 Anders Carlsson <andersca@apple.com>
6050 Reviewed by Kevin Decker.
6052 Fix <rdar://problem/6797644>.
6054 Make sure to send a reply even when an instance proxy can't be found.
6056 * Plugins/Hosted/NetscapePluginHostProxy.mm:
6059 (WKPCInvokeDefault):
6065 2009-05-04 Darin Adler <darin@apple.com>
6067 Reviewed by Eric Seidel.
6069 Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
6070 and NamedMappedAttrMap.h include of MappedAttribute.h
6071 https://bugs.webkit.org/show_bug.cgi?id=24924
6073 * WebView/WebFrame.mm: Added include of CSSMutableStyleDeclaration.h
6076 2009-05-02 Geoffrey Garen <ggaren@apple.com>
6078 Reviewed by Sam Weinig.
6080 Simplified null-ish JSValues.
6082 Replaced calls to noValue() with calls to JSValue() (which is what
6083 noValue() returned). Removed noValue().
6085 Removed "JSValue()" initialiazers, since default construction happens...
6088 * WebView/WebScriptDebugDelegate.mm:
6089 (-[WebScriptCallFrame evaluateWebScript:]):
6091 2009-05-02 Alexey Proskuryakov <ap@webkit.org>
6093 Reviewed by Dan Bernstein.
6095 <rdar://problem/6741615> REGRESSION (r38629): Shortcut "Flag/Junk" in MobileMe does not work
6096 when Kotoeri is used.
6098 * WebView/WebHTMLView.mm: (-[WebHTMLView inputContext]): Return a nil input context when
6099 focus is not in editable content.
6101 2009-05-01 Geoffrey Garen <ggaren@apple.com>
6103 Rubber Stamped by Sam Weinig.
6105 Renamed JSValuePtr => JSValue.
6107 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6108 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6109 (WebKit::NetscapePluginInstanceProxy::evaluate):
6110 (WebKit::NetscapePluginInstanceProxy::invoke):
6111 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
6112 (WebKit::NetscapePluginInstanceProxy::construct):
6113 (WebKit::NetscapePluginInstanceProxy::getProperty):
6114 (WebKit::NetscapePluginInstanceProxy::setProperty):
6115 (WebKit::NetscapePluginInstanceProxy::hasMethod):
6116 (WebKit::NetscapePluginInstanceProxy::addValueToArray):
6117 (WebKit::NetscapePluginInstanceProxy::marshalValue):
6118 (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
6119 (WebKit::NetscapePluginInstanceProxy::demarshalValue):
6120 (WebKit::NetscapePluginInstanceProxy::demarshalValues):
6121 * Plugins/Hosted/ProxyInstance.h:
6122 * Plugins/Hosted/ProxyInstance.mm:
6123 (WebKit::ProxyField::valueFromInstance):
6124 (WebKit::ProxyField::setValueToInstance):
6125 (WebKit::ProxyInstance::invoke):
6126 (WebKit::ProxyInstance::invokeMethod):
6127 (WebKit::ProxyInstance::invokeDefaultMethod):
6128 (WebKit::ProxyInstance::invokeConstruct):
6129 (WebKit::ProxyInstance::defaultValue):
6130 (WebKit::ProxyInstance::stringValue):
6131 (WebKit::ProxyInstance::numberValue):
6132 (WebKit::ProxyInstance::booleanValue):
6133 (WebKit::ProxyInstance::valueOf):
6134 (WebKit::ProxyInstance::fieldValue):
6135 (WebKit::ProxyInstance::setFieldValue):
6136 * WebView/WebFrame.mm:
6137 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
6138 * WebView/WebScriptDebugDelegate.mm:
6139 (-[WebScriptCallFrame _convertValueToObjcValue:]):
6140 (-[WebScriptCallFrame exception]):
6141 (-[WebScriptCallFrame evaluateWebScript:]):
6142 * WebView/WebView.mm:
6143 (aeDescFromJSValue):
6144 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
6146 2009-05-01 Pavel Feldman <pfeldman@chromium.org>
6148 Reviewed by Timothy Hatcher.
6150 Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
6152 https://bugs.webkit.org/show_bug.cgi?id=25347
6154 * WebCoreSupport/WebFrameLoaderClient.h:
6155 * WebCoreSupport/WebFrameLoaderClient.mm:
6156 (WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
6158 2009-04-30 David Kilzer <ddkilzer@apple.com>
6160 Provide a mechanism to create a quirks delegate for HTMLParser
6162 Reviewed by David Hyatt.
6164 * WebCoreSupport/WebChromeClient.h:
6165 (WebChromeClient::createHTMLParserQuirks): Added. The default
6166 implementation of this factory method returns 0.
6168 2009-04-30 Dimitri Glazkov <dglazkov@chromium.org>
6170 Reviewed by Timothy Hatcher.
6172 https://bugs.webkit.org/show_bug.cgi?id=25470
6173 Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
6175 * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER define.
6177 2009-04-30 Kevin Decker <kdecker@apple.com>
6179 Reviewed by Anders Carlson.
6181 <rdar://problem/6823049>
6183 Fix an issue where some plug-ins would cause the application icon to constantly bounce
6184 up and down in the Dock.
6186 * Plugins/Hosted/NetscapePluginHostProxy.h: Change m_placeholderWindow ivar to be
6187 a subclass of NSWindow, WebPlaceholderModalWindow.
6188 * Plugins/Hosted/NetscapePluginHostProxy.mm: Added WebPlaceholderModalWindow NSWindow subclass.
6189 (-[WebPlaceholderModalWindow _wantsUserAttention]): Prevent NSApp from calling requestUserAttention:
6190 when the window is shown modally, even if the app is inactive.
6191 (WebKit::NetscapePluginHostProxy::beginModal): NSWindow -> WebPlaceholderModalWindow.
6193 2009-04-30 Pavel Feldman <pfeldman@chromium.org>
6195 Reviewed by Dimitri Glazkov.
6197 https://bugs.webkit.org/show_bug.cgi?id=25342
6198 Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
6200 * WebCoreSupport/WebChromeClient.h:
6201 * WebCoreSupport/WebChromeClient.mm:
6202 (WebChromeClient::addMessageToConsole):
6204 2009-04-29 Mark Rowe <mrowe@apple.com>
6206 More build fixing after r43037.
6208 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6209 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6210 (WebKit::NetscapePluginInstanceProxy::invoke):
6211 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
6212 (WebKit::NetscapePluginInstanceProxy::construct):
6213 (WebKit::NetscapePluginInstanceProxy::demarshalValues):
6215 2009-04-29 Dan Bernstein <mitz@apple.com>
6217 Reviewed by Simon Fraser.
6219 - WebKit part of <rdar://problem/6609509> Select All and then Delete
6220 should put Mail editing back into the same state as a new message
6222 * WebView/WebView.mm:
6223 (-[WebView _selectionIsCaret]): Added.
6224 (-[WebView _selectionIsAll]): Added. Returns whether the selection
6225 encompasses the entire document.
6226 * WebView/WebViewPrivate.h:
6228 2009-04-29 Douglas Davidson <ddavidso@apple.com>
6230 Reviewed by Justin Garcia.
6232 <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
6234 * WebView/WebHTMLView.mm:
6235 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6236 (-[WebHTMLView orderFrontSubstitutionsPanel:]):
6237 * WebView/WebView.mm:
6238 (-[WebView validateUserInterfaceItemWithoutDelegate:]):
6240 2009-04-29 David Hyatt <hyatt@apple.com>
6242 Reviewed by Dan Bernstein.
6244 Fix a bug in the bounds checking for setNeedsLayout dirtying when a WebView's size changes. The superview
6245 of the WebView was being incorrectly checked instead of the WebView itself.
6247 * WebView/WebView.mm:
6248 (-[WebView _boundsChanged]):
6250 2009-04-29 Kevin Decker <kdecker@apple.com>
6252 Reviewed by Anders Carlson.
6254 Allow WKN_CheckIfAllowedToLoadURL() to take an optional void* context parameter.
6256 * Plugins/WebNetscapeContainerCheckContextInfo.h:
6257 * Plugins/WebNetscapeContainerCheckContextInfo.mm:
6258 (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:context:]):
6259 (-[WebNetscapeContainerCheckContextInfo callback]):
6260 (-[WebNetscapeContainerCheckContextInfo context]):
6261 * Plugins/WebNetscapeContainerCheckPrivate.h:
6262 * Plugins/WebNetscapeContainerCheckPrivate.mm:
6263 (browserContainerCheckFuncs):
6264 * Plugins/WebNetscapePluginView.h:
6265 * Plugins/WebNetscapePluginView.mm:
6266 (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:context:]):
6267 (-[WebNetscapePluginView _containerCheckResult:contextInfo:]):
6269 (WKN_CheckIfAllowedToLoadURL):
6271 2009-04-29 David Hyatt <hyatt@apple.com>
6273 Reviewed by John Sullivan.
6275 Fix for <rdar://problem/6835573>, Find Banner turns invisible when WebView is resized. Make sure
6276 not to resize the interior views of a WebView in response to its bounds changing when not using
6277 viewless WebKit. Auto-resizing rules were already in place to handle size adjustments for us.
6278 Just mark as needing layout and do nothing else.
6280 This does mean viewless WebKit is broken with the Find Banner, and that will likely require a
6281 Safari change (using a new API that will enable clients to define the edges of the content area as offsets
6282 from the sides of the WebView).
6284 * WebView/WebView.mm:
6285 (-[WebView _boundsChanged]):
6287 2009-04-28 Geoffrey Garen <ggaren@apple.com>
6289 Rubber stamped by Beth Dakin.
6291 Removed scaffolding supporting dynamically converting between 32bit and
6292 64bit value representations.
6294 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6295 (WebKit::NetscapePluginInstanceProxy::marshalValues):
6297 2009-04-28 Anders Carlsson <andersca@apple.com>
6299 Reviewed by Kevin Decker and Darin Adler.
6301 Fix <rdar://problem/6836132>.
6303 * Plugins/Hosted/NetscapePluginHostProxy.mm:
6304 (WKPCCheckIfAllowedToLoadURL):
6305 Call the instance proxy.
6307 (WKPCCancelCheckIfAllowedToLoadURL):
6310 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6311 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6312 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
6313 Initialize the check ID counter.
6315 (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURL):
6316 Create a WebPluginContainerCheck, add it to the map, and start it.
6318 (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
6319 Remove the check from the map.
6321 (WebKit::NetscapePluginInstanceProxy::checkIfAllowedToLoadURLResult):
6322 Call the WKPH MIG callback.
6324 * Plugins/Hosted/WebHostedNetscapePluginView.h:
6325 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6326 (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
6327 Call the instance proxy.
6329 (-[WebHostedNetscapePluginView _containerCheckResult:contextInfo:]):
6332 * Plugins/Hosted/WebKitPluginClient.defs:
6333 * Plugins/Hosted/WebKitPluginHost.defs:
6334 Add MIG declarations.
6336 2009-04-28 Dan Bernstein <mitz@apple.com>
6338 Reviewed by John Sullivan.
6340 - fix <rdar://problem/6786360> Make PDF an insertable pasteboard type
6342 * WebCoreSupport/WebPasteboardHelper.mm:
6343 (WebPasteboardHelper::insertablePasteboardTypes):
6344 * WebView/WebHTMLView.mm:
6345 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
6346 (+[WebHTMLView _insertablePasteboardTypes]):
6347 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
6349 2009-04-27 Douglas R. Davidson <ddavidso@apple.com>
6351 Add the various switches and context menu items needed for
6352 <rdar://problem/6724106> WebViews need to implement text checking
6353 and adopt updatePanels in place of old SPI _updateGrammar.
6355 Reviewed by Justin Garcia.
6357 * WebCoreSupport/WebContextMenuClient.mm:
6358 (fixMenusReceivedFromOldClients):
6359 * WebCoreSupport/WebEditorClient.h:
6360 * WebCoreSupport/WebEditorClient.mm:
6361 (WebEditorClient::uppercaseWord):
6362 (WebEditorClient::lowercaseWord):
6363 (WebEditorClient::capitalizeWord):
6364 (WebEditorClient::showSubstitutionsPanel):
6365 (WebEditorClient::substitutionsPanelIsShowing):
6366 (WebEditorClient::toggleSmartInsertDelete):
6367 (WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
6368 (WebEditorClient::toggleAutomaticQuoteSubstitution):
6369 (WebEditorClient::isAutomaticLinkDetectionEnabled):
6370 (WebEditorClient::toggleAutomaticLinkDetection):
6371 (WebEditorClient::isAutomaticDashSubstitutionEnabled):
6372 (WebEditorClient::toggleAutomaticDashSubstitution):
6373 (WebEditorClient::isAutomaticTextReplacementEnabled):
6374 (WebEditorClient::toggleAutomaticTextReplacement):
6375 (WebEditorClient::isAutomaticSpellingCorrectionEnabled):
6376 (WebEditorClient::toggleAutomaticSpellingCorrection):
6377 (WebEditorClient::checkTextOfParagraph):
6378 * WebCoreSupport/WebViewFactory.mm:
6379 (-[WebViewFactory contextMenuItemTagShowColors]):
6380 (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]):
6381 (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]):
6382 (-[WebViewFactory contextMenuItemTagShowSubstitutions:]):
6383 (-[WebViewFactory contextMenuItemTagSmartCopyPaste]):
6384 (-[WebViewFactory contextMenuItemTagSmartQuotes]):
6385 (-[WebViewFactory contextMenuItemTagSmartDashes]):
6386 (-[WebViewFactory contextMenuItemTagSmartLinks]):
6387 (-[WebViewFactory contextMenuItemTagTextReplacement]):
6388 (-[WebViewFactory contextMenuItemTagTransformationsMenu]):
6389 (-[WebViewFactory contextMenuItemTagMakeUpperCase]):
6390 (-[WebViewFactory contextMenuItemTagMakeLowerCase]):
6391 (-[WebViewFactory contextMenuItemTagCapitalize]):
6392 * WebView/WebHTMLView.mm:
6393 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
6394 (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]):
6395 (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]):
6396 (-[WebHTMLView toggleAutomaticQuoteSubstitution:]):
6397 (-[WebHTMLView isAutomaticLinkDetectionEnabled]):
6398 (-[WebHTMLView setAutomaticLinkDetectionEnabled:]):
6399 (-[WebHTMLView toggleAutomaticLinkDetection:]):
6400 (-[WebHTMLView isAutomaticDashSubstitutionEnabled]):
6401 (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]):
6402 (-[WebHTMLView toggleAutomaticDashSubstitution:]):
6403 (-[WebHTMLView isAutomaticTextReplacementEnabled]):
6404 (-[WebHTMLView setAutomaticTextReplacementEnabled:]):
6405 (-[WebHTMLView toggleAutomaticTextReplacement:]):
6406 (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]):
6407 (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]):
6408 (-[WebHTMLView toggleAutomaticSpellingCorrection:]):
6409 * WebView/WebHTMLViewInternal.h:
6410 * WebView/WebPreferenceKeysPrivate.h:
6411 * WebView/WebUIDelegatePrivate.h:
6412 * WebView/WebView.mm:
6413 (-[WebViewPrivate init]):
6414 (-[WebView validateUserInterfaceItemWithoutDelegate:]):
6415 (-[WebView setGrammarCheckingEnabled:]):
6416 (-[WebView isAutomaticQuoteSubstitutionEnabled]):
6417 (-[WebView isAutomaticLinkDetectionEnabled]):
6418 (-[WebView isAutomaticDashSubstitutionEnabled]):
6419 (-[WebView isAutomaticTextReplacementEnabled]):
6420 (-[WebView isAutomaticSpellingCorrectionEnabled]):
6421 (-[WebView setAutomaticQuoteSubstitutionEnabled:]):
6422 (-[WebView toggleAutomaticQuoteSubstitution:]):
6423 (-[WebView setAutomaticLinkDetectionEnabled:]):
6424 (-[WebView toggleAutomaticLinkDetection:]):
6425 (-[WebView setAutomaticDashSubstitutionEnabled:]):
6426 (-[WebView toggleAutomaticDashSubstitution:]):
6427 (-[WebView setAutomaticTextReplacementEnabled:]):
6428 (-[WebView toggleAutomaticTextReplacement:]):
6429 (-[WebView setAutomaticSpellingCorrectionEnabled:]):
6430 (-[WebView toggleAutomaticSpellingCorrection:]):
6431 * WebView/WebViewPrivate.h:
6433 2009-04-27 David Kilzer <ddkilzer@apple.com>
6435 Consolidate runtime application checks for Apple Mail and Safari
6437 Reviewed by Mark Rowe and Darin Adler.
6439 * WebCoreSupport/WebContextMenuClient.mm:
6440 (isAppleMail): Removed.
6441 (fixMenusToSendToOldClients): Switched to use
6442 applicationIsAppleMail().
6443 * WebView/WebFrame.mm:
6444 (-[WebFrame reload]): Switched to use applicationIsSafari().
6445 * WebView/WebPDFView.mm:
6446 (-[WebPDFView menuForEvent:]): Ditto.
6447 * WebView/WebResource.mm:
6448 (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]):
6449 Switched to use applicationIsAppleMail().
6450 * WebView/WebView.mm:
6451 (runningLeopardMail): Ditto.
6452 (runningTigerMail): Ditto.
6453 (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched
6454 to use applicationIsSafari().
6456 2009-04-27 Kevin Decker <kdecker@apple.com>
6458 Fix the Tiger build.
6460 * Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented
6461 the two methods below. But the Tiger compiler didn't know that.
6462 (-[WebNetscapePluginView webView]):
6463 (-[WebNetscapePluginView webFrame]):
6465 2009-04-27 Kevin Decker <kdecker@apple.com>
6467 Reviewed by Anders Carlsson.
6469 <rdar://problem/6352982>
6471 * Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and
6472 _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.
6474 Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in
6475 -[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]
6476 * Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
6477 * Plugins/WebNetscapeContainerCheckContextInfo.mm: Added.
6478 (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer.
6479 (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID.
6480 (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.
6482 * Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
6483 * Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h
6485 (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
6486 Here, we increment the request ID and start the container check.
6488 (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
6489 It's where we actually call into the plug-in and provide the allow-or-deny result.
6491 (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL.
6492 Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.
6494 (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
6495 this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
6496 it to do it's teardown process.
6498 (-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.
6500 * Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
6501 * Plugins/WebPluginContainerCheck.mm:
6502 (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter.
6503 (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector.
6504 (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar.
6505 (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
6506 * Plugins/WebPluginController.mm:
6507 (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style
6508 plug-ins do not need additional context information.
6510 2009-04-25 Brady Eidson <beidson@apple.com>
6512 Reviewed by Sam Weinig
6514 Some *obvious* style cleanup in my last patch.
6516 * History/WebBackForwardList.mm:
6517 (bumperCarBackForwardHackNeeded):
6519 2009-04-25 Brady Eidson <beidson@apple.com>
6521 Reviewed by Oliver Hunt
6523 <rdar://problem/6817607> BumperCar 2.2 crashes going back (invalid WebHistoryItem)
6525 BumperCar was holding a pointer to a WebHistoryItem they never retain, then later
6526 tried to go to it. In some cases it would be dealloc'ed first.
6527 When WebHistoryItems were pure Objective-C they probably got away with this more often.
6528 With the WebCore/Obj-C mixed WebHistoryItems it's more likely to crash.
6530 * History/WebBackForwardList.mm:
6531 (bumperCarBackForwardHackNeeded):
6532 (-[WebBackForwardList backListWithLimit:]): If this is BumperCar, hang on to the
6533 NSArray of WebHistoryItems until the next time this method is called.
6534 (-[WebBackForwardList forwardListWithLimit:]): Ditto.
6536 * Misc/WebKitVersionChecks.h: Added WEBKIT_FIRST_VERSION_WITHOUT_BUMPERCAR_BACK_FORWARD_QUIRK.
6538 2009-04-24 Anders Carlsson <andersca@apple.com>
6540 Reviewed by Darin Adler.
6542 Fix <rdar://problem/6761635>.
6544 Make sure to keep an extra reference to the instance proxy in case the plug-in host crashes while
6545 we're waiting for a reply.
6547 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6548 (WebKit::NetscapePluginInstanceProxy::destroy):
6550 2009-04-24 Brady Eidson <beidson@apple.com>
6552 Reviewed by Dan Bernstein
6554 Currently working on a bug where a WebHistoryItem was being used after being dealloc'ed.
6555 I added this assertion to help catch the case as soon as it happens instead of random
6556 issues downstream. Figured it's worth checking in by itself.
6558 * History/WebHistoryItem.mm:
6559 (core): ASSERT that the WebCore::HistoryItem inside this WebHistoryItem is supposed to have
6560 this WebHistoryItem as a wrapper.
6562 2009-04-23 Beth Dakin <bdakin@apple.com>
6564 Reviewed by Darin Adler.
6566 Fix for <rdar://problem/6333461> REGRESSION (r36864-r36869):
6567 Dragging stocks widget scrollbar drags the whole widget
6569 Look for our new WebCore scrollbars in the WebHTMLView and add
6570 proper Dashboard regions for them.
6572 * WebView/WebView.mm:
6573 (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]):
6574 (-[WebView _addScrollerDashboardRegions:from:]):
6576 2009-04-23 John Sullivan <sullivan@apple.com>
6578 fixed <rdar://problem/6822479> Assertion failure after Reset Safari in new history-writing code
6580 Reviewed by Oliver Hunt
6582 * History/WebHistory.mm:
6583 (-[WebHistoryPrivate data]):
6584 Return nil immediately if there are no entries; this matches a recent Windows-platform fix.
6586 2009-04-23 Dimitri Glazkov <dglazkov@chromium.org>
6588 Reviewed by Darin Adler.
6590 https://bugs.webkit.org/show_bug.cgi?id=25313
6591 Missing scroll bars in GMail.
6593 * WebView/WebDynamicScrollBarsView.m:
6594 (-[WebDynamicScrollBarsView updateScrollers]): Added check for the ScrollbarAlwaysOn
6597 2009-04-23 Kevin Decker <kdecker@apple.com>
6599 * Plugins/WebPluginContainerCheck.h: Fix the Tiger build.
6601 2009-04-23 Anders Carlsson <andersca@apple.com>
6603 Reviewed by Geoffrey Garen.
6605 Fix <rdar://problem/6821992>
6607 Add a new m_inDestroy member variable. Set it to true when in destroy, and have all NPRuntime functions return false
6608 when m_inDestroy is true.
6610 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6611 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6612 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
6613 (WebKit::NetscapePluginInstanceProxy::destroy):
6614 (WebKit::NetscapePluginInstanceProxy::invoke):
6615 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
6616 (WebKit::NetscapePluginInstanceProxy::construct):
6617 (WebKit::NetscapePluginInstanceProxy::getProperty):
6618 (WebKit::NetscapePluginInstanceProxy::setProperty):
6619 (WebKit::NetscapePluginInstanceProxy::removeProperty):
6620 (WebKit::NetscapePluginInstanceProxy::hasProperty):
6621 (WebKit::NetscapePluginInstanceProxy::hasMethod):
6622 (WebKit::NetscapePluginInstanceProxy::enumerate):
6624 2009-04-23 David Hyatt <hyatt@apple.com>
6628 Fix for <rdar://problem/6789879> REGRESSION (42464): Hitting assertion when loading message in Mail + TOT WebKit
6630 Make the Mac platform the same as all the other platforms. Instead of (incorrectly) marking a FrameView for layout
6631 when its underlying document view changes, just mark the outermost frame view for layout when the WebView's size changes.
6633 * WebView/WebHTMLView.mm:
6634 (-[WebHTMLView _frameOrBoundsChanged]):
6635 (-[WebHTMLView addSuperviewObservers]):
6636 * WebView/WebView.mm:
6637 (-[WebView _boundsChanged]):
6638 (-[WebView removeSizeObservers]):
6639 (-[WebView addSizeObservers]):
6641 2009-04-23 Kevin Decker <kdecker@apple.com>
6643 Reviewed by Tim Hatcher.
6645 Second part of the fix for <rdar://problem/6352982>
6647 * Plugins/WebBaseNetscapePluginView.h: Make this class conform to WebPluginContainerCheckController
6648 * Plugins/WebBaseNetscapePluginView.mm: Likewise.
6649 (-[WebBaseNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added skeleton method.
6650 * Plugins/WebPluginContainerCheck.h: Added protocol for <WebPluginContainerCheckController>
6651 * Plugins/WebPluginContainerCheck.mm:
6652 (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]):
6653 * Plugins/WebPluginController.h: Make this class conform to WebPluginContainerCheckController
6655 2009-04-23 Kevin Decker <kdecker@apple.com>
6657 Reviewed by Anders Carlsson.
6659 First part of <rdar://problem/6352982>
6661 * Plugins/WebBaseNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h; Added two new method:
6662 checkIfAllowedToLoadURL:url:frame:callbackFunc: and cancelCheckIfAllowedToLoadURL:
6663 * Plugins/WebBaseNetscapePluginView.mm:
6664 (-[WebBaseNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added skeleton method, does nothing interesting
6666 (-[WebBaseNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Likewise.
6667 * Plugins/WebNetscapeContainerCheckPrivate.h: Added.
6668 * Plugins/WebNetscapeContainerCheckPrivate.mm: Added.
6669 (browserContainerCheckFuncs): Added.
6670 * Plugins/WebNetscapePluginView.h: Imported #WebNetscapeContainerCheckPrivate.h;
6671 * Plugins/WebNetscapePluginView.mm: Imported #WebNetscapeContainerCheckPrivate.h; added WKN_CheckIfAllowedToLoadURL
6672 and WKN_CancelCheckIfAllowedToLoadURL functions.
6673 (-[WebNetscapePluginView getVariable:value:]): Return vtable for container check functions.
6675 (WKN_CheckIfAllowedToLoadURL): Added new private function.
6676 (WKN_CancelCheckIfAllowedToLoadURL): Ditto.
6678 2009-04-22 Oliver Hunt <oliver@apple.com>
6680 Reviewed by Darin Adler.
6682 <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
6684 Make mouseUP forward to the root view as we do for mouseMoves and mouseDragged:.
6686 * WebView/WebHTMLView.mm:
6687 (-[WebHTMLView mouseUp:]):
6689 2009-04-22 Oliver Hunt <oliver@apple.com>
6691 Reviewed by Darin Adler.
6693 <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves
6695 Make mouseDragged forward to the root view as we do for mouseMoves.
6697 * WebView/WebHTMLView.mm:
6698 (-[WebHTMLView mouseDragged:]):
6700 2009-04-22 Anders Carlsson <andersca@apple.com>
6702 Reviewed by Oliver Hunt.
6704 Fix <rdar://problem/6792694>
6706 When we're trying to instantiate a plug-in and the plug-in host has died, we need to invalidate the
6707 instance so that it doesn't stick around and do bad things.
6709 * Plugins/Hosted/NetscapePluginHostManager.mm:
6710 (WebKit::NetscapePluginHostManager::instantiatePlugin):
6712 2009-04-22 Sam Weinig <sam@webkit.org>
6714 Rubber-stamped by Darin Adler.
6716 Fix for <rdar://problem/6816957>
6717 Turn off Geolocation by default
6719 * Configurations/FeatureDefines.xcconfig:
6721 2009-04-21 Dan Bernstein <mitz@apple.com>
6723 Reviewed by Jon Honeycutt.
6725 - Mac part of fixing for <rdar://problem/6755137> Action dictionary for
6726 policy decision is missing keys when full-page zoom is used
6728 * WebCoreSupport/WebFrameLoaderClient.mm:
6729 (WebFrameLoaderClient::actionDictionary): Use absoluteLocation() instead
6730 of pageX() and pageY(), which are adjusted for zoom.
6732 2009-04-21 Anders Carlsson <andersca@apple.com>
6734 Reviewed by Darin Adler and Kevin Decker.
6736 WebKit side of <rdar://problem/6781642>.
6738 When we call resize with an actual changed size, block until the plug-in host is done.
6740 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6741 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6742 (WebKit::NetscapePluginInstanceProxy::resize):
6743 * Plugins/Hosted/WebHostedNetscapePluginView.h:
6744 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6745 (-[WebHostedNetscapePluginView updateAndSetWindow]):
6746 * Plugins/Hosted/WebKitPluginHost.defs:
6748 2009-04-17 Timothy Hatcher <timothy@apple.com>
6750 Change how sudden termination works with WebView teardown.
6752 <rdar://problem/6383352&6383379&6383940>
6754 Reviewed by Darin Adler.
6756 * WebCoreSupport/WebChromeClient.h: Remove disableSuddenTermination/enableSuddenTermination.
6757 * WebCoreSupport/WebChromeClient.mm: Ditto.
6758 * WebView/WebFrame.mm:
6759 (-[WebFrame _pendingFrameUnloadEventCount]): Ask the DOMWindow.
6760 * WebView/WebView.mm:
6761 (+[WebView canCloseAllWebViews]): Call DOMWindow::dispatchAllPendingBeforeUnloadEvents.
6762 (+[WebView closeAllWebViews]): Call DOMWindow::dispatchAllPendingUnloadEvents and
6763 call close on all the WebViews.
6764 (-[WebView _closeWithFastTeardown]): Remove code for unload event dispatch.
6765 (-[WebView _close]): Correct a comment.
6766 (+[WebView _applicationWillTerminate]): Call closeAllWebViews.
6767 * WebView/WebViewPrivate.h: Add canCloseAllWebViews and closeAllWebViews.
6769 2009-04-21 Geoffrey Garen <ggaren@apple.com>
6771 Reviewed by Mark Rowe.
6773 Tiger crash fix: Put VM tags in their own header file, and fixed up the
6774 #ifdefs so they're not used on Tiger.
6776 * ForwardingHeaders/wtf/VMTags.h: Copied from ForwardingHeaders/wtf/HashTraits.h.
6778 2009-04-17 Anders Carlsson <andersca@apple.com>
6780 Reviewed by Sam Weinig.
6782 <rdar://problem/6722845>
6783 In the Cocoa event model, NPWindow's window field should be null
6785 * Plugins/Hosted/NetscapePluginHostProxy.mm:
6787 Get the instance proxy and call it's convertPoint function.
6789 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6790 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6791 (WebKit::NetscapePluginInstanceProxy::convertPoint):
6792 Call convertPoint on the plug-in view.
6794 * Plugins/Hosted/WebKitPluginClient.defs:
6797 * Plugins/WebBaseNetscapePluginView.h:
6798 Add a declaration for convertFromX:andY:space:toX:andY:space:.
6800 * Plugins/WebBaseNetscapePluginView.mm:
6801 (-[WebBaseNetscapePluginView convertFromX:andY:space:toX:andY:space:]):
6802 Convert a point from one coordinate system to another.
6804 * Plugins/WebNetscapePluginEventHandler.h:
6805 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
6806 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
6807 (WebNetscapePluginEventHandlerCarbon::drawRect):
6808 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
6809 Add CGContextRef to drawRect.
6811 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
6812 (WebNetscapePluginEventHandlerCocoa::drawRect):
6813 Set the passed in context.
6815 * Plugins/WebNetscapePluginPackage.mm:
6816 (-[WebNetscapePluginPackage _tryLoad]):
6817 Add NPN_ConvertPoint to the browserFuncs vtable.
6819 * Plugins/WebNetscapePluginView.mm:
6820 (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
6821 Only set the window for the Carbon event model.
6823 (-[WebNetscapePluginView restorePortState:]):
6824 It's OK for the window context to be null.
6826 (-[WebNetscapePluginView sendDrawRectEvent:]):
6827 Pass the CGContextRef to drawRect.
6831 Call the plug-in view method.
6833 2009-04-20 Sam Weinig <sam@webkit.org>
6835 Rubber-stamped by Tim Hatcher.
6837 Add licenses for xcconfig files.
6839 * Configurations/Base.xcconfig:
6840 * Configurations/DebugRelease.xcconfig:
6841 * Configurations/FeatureDefines.xcconfig:
6842 * Configurations/Version.xcconfig:
6843 * Configurations/WebKit.xcconfig:
6845 2009-04-20 Anders Carlsson <andersca@apple.com>
6847 Reviewed by Dan Bernstein.
6849 WebKit side of <rdar://problem/6781302>
6851 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6852 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6853 (WebKit::NetscapePluginInstanceProxy::keyEvent):
6854 Pass the event keyChar.
6856 (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
6859 (WebKit::NetscapePluginInstanceProxy::flagsChanged):
6862 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6863 (-[WebHostedNetscapePluginView flagsChanged:]):
6864 Call NetscapePluginInstanceProxy::flagsChanged.
6866 * Plugins/Hosted/WebKitPluginHost.defs:
6867 Add a keyChar argument.
6869 2009-04-19 Adele Peterson <adele@apple.com>
6871 Reviewed by Darin Adler.
6873 Fix for <rdar://problem/6804809> REGRESSION: In Mail, Home and End do not scroll message
6875 If no scrolling occurs, call tryToPerform on the next responder. Then our WebResponderChainSink
6876 will correctly detect if no responders handle the selector.
6878 * WebView/WebFrameView.mm:
6879 (-[WebFrameView _scrollToBeginningOfDocument]):
6880 (-[WebFrameView _scrollToEndOfDocument]):
6881 (-[WebFrameView scrollToBeginningOfDocument:]):
6882 (-[WebFrameView scrollToEndOfDocument:]):
6883 (-[WebFrameView scrollLineUp:]):
6884 (-[WebFrameView scrollLineDown:]):
6886 2009-04-19 David Kilzer <ddkilzer@apple.com>
6888 Make FEATURE_DEFINES completely dynamic
6890 Reviewed by Darin Adler.
6892 Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME
6893 variables for each feature, making it possible to remove all
6894 knowledge of FEATURE_DEFINES from build-webkit.
6896 * Configurations/FeatureDefines.xcconfig: Extract a variable
6897 from FEATURE_DEFINES for each feature setting.
6899 2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
6901 Reviewed by Mark Rowe.
6903 <rdar://problem/6781295> video.buffered and video.seekable are not
6904 the same. video.buffered should return only what is buffered and
6905 not what is seekable
6907 * WebCoreSupport/WebSystemInterface.m:
6908 (InitWebCoreSystemInterface): Add wkQTMovieMaxTimeSeekable.
6910 2009-04-18 Pierre d'Herbemont <pdherbemont@apple.com>
6912 Reviewed by Adele Peterson.
6914 <rdar://problem/6747241> work around QTKit no longer reaching
6915 QTMovieLoadStateComplete
6917 * WebCoreSupport/WebSystemInterface.m:
6918 (InitWebCoreSystemInterface): Init the new WKSI exported symbol.
6920 2009-04-17 Anders Carlsson <andersca@apple.com>
6922 Reviewed by Dan Bernstein.
6924 <rdar://problem/6714488>
6925 REGRESSION (Safari 3-4): Edit menu commands (cut/copy/paste/select all) do not work on Flash content
6927 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
6928 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6929 (WebKit::NetscapePluginInstanceProxy::syntheticKeyDownWithCommandModifier):
6930 Send a keyDown event to the plug-in host.
6932 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
6933 (-[WebHostedNetscapePluginView sendModifierEventWithKeyCode:character:]):
6934 Call the plug-in instance proxy.
6936 * Plugins/WebBaseNetscapePluginView.mm:
6937 (-[WebBaseNetscapePluginView sendModifierEventWithKeyCode:character:]):
6938 Add this. Subclasses are required to override it.
6940 (-[WebBaseNetscapePluginView cut:]):
6941 (-[WebBaseNetscapePluginView copy:]):
6942 (-[WebBaseNetscapePluginView paste:]):
6943 (-[WebBaseNetscapePluginView selectAll:]):
6944 Call sendModifierEventWithKeyCode.
6946 * Plugins/WebNetscapePluginEventHandler.h:
6947 Add syntheticKeyDownWithCommandModifier.
6949 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
6950 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
6951 (WebNetscapePluginEventHandlerCarbon::syntheticKeyDownWithCommandModifier):
6952 Send the synthetic event.
6954 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
6955 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
6956 (WebNetscapePluginEventHandlerCocoa::syntheticKeyDownWithCommandModifier):
6957 Send the synthetic event.
6959 * Plugins/WebNetscapePluginView.mm:
6960 (-[WebNetscapePluginView sendModifierEventWithKeyCode:character:]):
6961 Call the event handler.
6963 2009-04-17 David Kilzer <ddkilzer@apple.com>
6965 Simplify FEATURE_DEFINES definition
6967 Reviewed by Darin Adler.
6969 This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME
6970 variables to their own FeatureDefines.xcconfig file. It also
6971 extracts a new ENABLE_GEOLOCATION variable so that
6972 FEATURE_DEFINES only needs to be defined once.
6974 * Configurations/FeatureDefines.xcconfig: Added.
6975 * Configurations/WebKit.xcconfig: Removed definition of
6976 ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include
6977 of FeatureDefines.xcconfig.
6979 2009-04-17 Anders Carlsson <andersca@apple.com>
6981 Reviewed by Darin Adler.
6983 Fix crashes seen in regression tests with hosted plug-ins.
6985 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
6986 (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad): Check the stream for 0,
6989 2009-04-17 Darin Adler <darin@apple.com>
6991 Reviewed by Antti Koivisto.
6993 Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC
6994 https://bugs.webkit.org/show_bug.cgi?id=25210
6996 * DOM/WebDOMOperations.mm:
6997 (-[DOMNode markupString]): Use the core function instead of an Objective-C method.
6998 (-[DOMNode _subresourceURLs]): Ditto.
6999 (-[DOMDocument _focusableNodes]): Ditto.
7000 (-[DOMRange webArchive]): Ditto.
7001 (-[DOMRange markupString]): Ditto.
7003 * Misc/WebElementDictionary.mm: Added now-needed include since the core and kit
7004 functions now come from the internal headers from DOM bindings.
7005 * Misc/WebNSPasteboardExtras.mm: Ditto.
7006 * Plugins/WebNullPluginView.mm: Ditto.
7007 * Plugins/WebPluginController.mm: Ditto.
7008 * WebCoreSupport/WebChromeClient.mm: Ditto.
7009 * WebCoreSupport/WebInspectorClient.mm: Ditto.
7010 * WebCoreSupport/WebPasteboardHelper.mm: Ditto.
7011 * WebView/WebHTMLView.mm: Ditto.
7013 * WebCoreSupport/WebEditorClient.mm: Made kit function have internal linkage
7014 since it's only used in this file. Someone had instead added a declaration to
7015 suppress the warning you would otherwise get. Removed the core function.
7016 (WebEditorClient::textFieldDidBeginEditing): Added correct type checking.
7017 Previously the function would check only that something was an HTMLElement,
7018 but then cast it to HTMLInputElement. Also call kit instead of old wrap method.
7019 (WebEditorClient::textFieldDidEndEditing): Ditto.
7020 (WebEditorClient::textDidChangeInTextField): Ditto.
7021 (WebEditorClient::doTextFieldCommandFromEvent): Ditto.
7022 (WebEditorClient::textWillBeDeletedInTextField): Ditto.
7023 (WebEditorClient::textDidChangeInTextArea): Ditto, but for HTMLTextAreaElement.
7025 * WebView/WebFrame.mm: Removed the core and kit functions here which are no longer
7026 needed since they're automatically generated now.
7027 (-[WebFrame _nodesFromList:]): Use kit.
7028 (-[WebFrame _markupStringFromRange:nodes:]): Use core.
7029 (-[WebFrame _stringForRange:]): More of the same.
7030 (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
7031 (-[WebFrame _firstRectForDOMRange:]): Ditto.
7032 (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
7033 (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
7035 (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
7036 (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
7037 (-[WebFrame _markDOMRange]): Ditto.
7038 (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
7039 (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
7040 (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
7041 (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
7042 (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
7043 (-[WebFrame _characterRangeAtPoint:]): Ditto.
7044 (-[WebFrame _typingStyle]): Ditto.
7045 (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
7046 (-[WebFrame _pauseAnimation:onNode:atTime:]): Ditto.
7047 (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]): Ditto.
7048 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
7050 * WebView/WebFrameInternal.h: Removed the core and kit functions here which are no longer
7051 needed since they're automatically generated now.
7053 * WebView/WebHTMLRepresentation.mm:
7054 (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Use core.
7055 (formElementFromDOMElement): Ditto.
7056 (inputElementFromDOMElement): Ditto.
7057 * WebView/WebTextIterator.mm:
7058 (-[WebTextIterator initWithRange:]): Ditto.
7059 (-[WebTextIterator currentRange]): Ditto.
7060 (-[WebTextIterator currentNode]): Ditto.
7061 * WebView/WebView.mm:
7062 (-[WebView textIteratorForRect:]): Ditto.
7063 (-[WebView setSelectedDOMRange:affinity:]): Ditto.
7065 2009-04-17 Anders Carlsson <andersca@apple.com>
7067 Reviewed by Sam Weinig.
7069 WebKit side of <rdar://problem/6449642>.
7071 * Plugins/Hosted/HostedNetscapePluginStream.h:
7072 (WebKit::HostedNetscapePluginStream::create):
7073 New function that creates a stream from a frame loader.
7075 * Plugins/Hosted/HostedNetscapePluginStream.mm:
7076 (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
7077 Add the constructor that takes a frame loader.
7079 * Plugins/Hosted/NetscapePluginHostManager.h:
7080 * Plugins/Hosted/NetscapePluginHostManager.mm:
7081 (WebKit::NetscapePluginHostManager::instantiatePlugin):
7082 Pass "fullFrame" to the plug-in host.
7084 * Plugins/Hosted/NetscapePluginHostProxy.mm:
7085 (WKPCCancelLoadURL):
7086 Call NetscapePluginInstanceProxy::cancelStreamLoad.
7088 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7089 (WebKit::NetscapePluginInstanceProxy::create):
7090 Pass "fullFrame" to the constructor.
7092 (WebKit::NetscapePluginInstanceProxy::manualStream):
7093 New getter for the manual stream.
7095 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7096 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
7097 Take the implicit request into account if we have a full frame plug-in.
7099 (WebKit::NetscapePluginInstanceProxy::setManualStream):
7100 Setter for the manual stream.
7102 (WebKit::NetscapePluginInstanceProxy::cancelStreamLoad):
7103 Cancel the manual stream if necessary.
7105 * Plugins/Hosted/WebHostedNetscapePluginView.h:
7106 WebHostedNetscapePluginView now conforms to the WebPluginManualLoader protocol.
7108 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
7109 (-[WebHostedNetscapePluginView createPlugin]):
7110 Pass "fullFrame" to instantiatePlugin.
7112 (-[WebHostedNetscapePluginView pluginView:receivedResponse:]):
7113 (-[WebHostedNetscapePluginView pluginView:receivedData:]):
7114 (-[WebHostedNetscapePluginView pluginView:receivedError:]):
7115 (-[WebHostedNetscapePluginView pluginViewFinishedLoading:]):
7116 Call the equivalent manual stream functions.
7118 * WebCoreSupport/WebFrameLoaderClient.mm:
7119 (WebFrameLoaderClient::createPlugin):
7120 Use a macro for getting the plug-in view type.
7122 2009-04-14 Simon Fraser <simon.fraser@apple.com>
7124 Reviewed by Dan Bernstein
7126 https://bugs.webkit.org/show_bug.cgi?id=25157
7128 Move the run loop observer cleanup from -close
7131 * WebView/WebView.mm:
7132 (-[WebView _close]):
7135 2009-04-14 Anders Carlsson <andersca@apple.com>
7137 Reviewed by Sam Weinig.
7139 - Speculative fix for <rdar://problem/6781422>
7141 Protect the plug-in instance proxy in case it's deleted while waiting for a reply.
7143 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7144 (WebKit::NetscapePluginInstanceProxy::wheelEvent):
7146 2009-04-14 Adele Peterson <adele@apple.com>
7150 Initialize WebKitSystemInterface in class methods that could get called before a WebView/WebFrame is set up. This was causing Mail to crash on launch.
7152 * Misc/WebCache.mm: (+[WebCache initialize]):
7153 * WebView/WebView.mm: (+[WebView initialize]):
7155 2009-04-13 Kevin Decker <kdecker@apple.com>
7159 <rdar://problem/6784955> REGRESSION: closing a tab containing a PDF causes world leaks
7161 Simplify the _trackFirstResponder method by just caching the value instead of retaining
7164 * WebView/WebPDFView.h: Eliminated trackedFirstResponder object and replaced it with
7165 a firstResponderIsPDFDocumentView boolean.
7166 * WebView/WebPDFView.mm:
7167 (-[WebPDFView dealloc]): Removed no longer necessary ASSERT.
7168 (-[WebPDFView viewWillMoveToWindow:]): Removed call to release and nil-out trackedFirstResponder,
7169 which no longer exists. In the new code all we do now is set firstResponderIsPDFDocumentView to NO.
7170 (-[WebPDFView _trackFirstResponder]): Rewrote this method to just cache the value instead
7171 of retaining an object.
7173 2009-04-13 David Hyatt <hyatt@apple.com>
7175 Reviewed by Sam Weinig.
7177 Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when
7178 it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes.
7180 This patch also eliminates WebHTMLView's separate notion of needing a layout and just consolidates it with
7181 WebCore's notion of needing layout.
7183 * WebView/WebDynamicScrollBarsView.m:
7184 (-[WebDynamicScrollBarsView updateScrollers]):
7185 * WebView/WebHTMLView.mm:
7186 (-[WebHTMLView _frameOrBoundsChanged]):
7187 (-[WebHTMLView initWithFrame:]):
7188 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
7189 (-[WebHTMLView setNeedsLayout:]):
7190 (-[WebHTMLView _layoutIfNeeded]):
7191 (-[WebHTMLView _needsLayout]):
7192 * WebView/WebHTMLViewInternal.h:
7194 2009-04-13 Darin Adler <darin@apple.com>
7196 * WebView/WebViewPrivate.h: Updated comments.
7198 2009-04-13 Antti Koivisto <antti@apple.com>
7200 Reviewed by Darin Adler.
7202 <rdar://problem/6740294> Increase the connection count per host
7204 * WebCoreSupport/WebSystemInterface.m:
7205 (InitWebCoreSystemInterface):
7207 2009-04-13 Brady Eidson <beidson@apple.com>
7209 Reviewed by Tim Hatcher
7211 Tweak my last check-in, moving the thread violation check up to the API-level calls so the logging is more
7212 useful to developers/users.
7214 * WebView/WebFrame.mm:
7215 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not on the main thread, only
7216 perform the "call on main thead" workaround, as the log/exception raising is now up at the API level.
7217 (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Perform a thread violation check here so logging
7219 (-[WebFrame loadHTMLString:baseURL:]): Ditto.
7220 (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
7222 2009-04-13 Brady Eidson <beidson@apple.com>
7224 Reviewed by Kevin Decker
7226 <rdar://problem/6712063> Garmin WebUpdater crashes
7228 * WebView/WebFrame.mm:
7229 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): If not called on the main thread,
7230 add a ThreadViolationCheckRoundTwo() call to either log or raise an exception. In the case where it's
7231 only a log, reschedule the _loadData call to occur on the main thread.
7233 2009-04-10 Dan Bernstein <mitz@apple.com>
7235 Reviewed by Jon Honeycutt.
7237 - fix <rdar://problem/6752340> Light blue-green background in content
7240 * WebView/WebView.mm:
7241 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
7242 Use device white, rather than calibrated white, as the default
7245 2009-04-10 Darin Adler <darin@apple.com>
7247 Reviewed by Brady Eidson.
7249 <rdar://problem/6773515> crash in push_heap inside WebCore when printing
7251 The crash was due to manipulating a timer on a different thread than the one it was created on.
7253 * History/WebHistoryItem.mm:
7254 (-[WebWindowWatcher windowWillClose:]): Call later on main thread, if called on non-main thread.
7255 * WebView/WebHTMLView.mm:
7256 (-[WebHTMLView windowDidBecomeKey:]): Ditto.
7257 (-[WebHTMLView windowDidResignKey:]): Ditto.
7258 (-[WebHTMLView windowWillClose:]): Ditto.
7259 (-[WebHTMLView _updateControlTints]): Added. Factored out the non-thread-safe part of
7260 our override of _windowChangedKeyState.
7261 (-[WebHTMLView _windowChangedKeyState]): Call _updateControlTints later on main thread, if
7262 called on non-main thread.
7263 * WebView/WebPreferences.mm:
7264 (-[WebPreferences _postPreferencesChangesNotification]): Call later on main thread, if called
7267 2009-04-10 Timothy Hatcher <timothy@apple.com>
7269 Remove DOMDocumentPrivate.h now that <rdar://problem/6730996> is fixed.
7271 Rubber-stamped by Mark Rowe.
7273 * Misc/DOMDocumentPrivate.h: Removed.
7275 2009-04-10 Pierre d'Herbemont <pdherbemont@apple.com>
7277 Reviewed by Adele Peterson.
7279 <rdar://problem/6646998> Avoid starting QTKitServer if possible
7280 Add the requires symbol in the WebSystemInterface. It is used by
7283 * WebCoreSupport/WebSystemInterface.m:
7284 (InitWebCoreSystemInterface): Add wkQTIncludeOnlyModernMediaFileTypes.
7286 2009-04-09 Kevin Decker <kdecker@apple.com>
7290 <rdar://problem/4680397> tearing seen because deferred updates are disabled
7292 * WebView/WebFrameView.mm:
7293 (-[WebFrameView initWithFrame:]): Don't call WKDisableCGDeferredUpdates on post-Leopard if
7294 NSAppKitVersionNumberWithDeferredWindowDisplaySupport is defined.
7296 2009-04-09 John Sullivan <sullivan@apple.com>
7298 <rdar://problem/6775682> WebKit's support for SnowLeopard sudden termination for
7299 downloads is broken and should be removed
7301 Reviewed by Darin Adler
7303 * Misc/WebDownload.m:
7304 (-[WebDownloadInternal downloadDidBegin:]):
7305 remove disableSuddenTermination call
7306 (-[WebDownloadInternal downloadDidFinish:]):
7307 remove enableSuddenTermination call
7308 (-[WebDownloadInternal download:didFailWithError:]):
7309 remove enableSuddenTermination call
7311 2009-04-09 Darin Adler <darin@apple.com>
7313 Reviewed by Anders Carlsson and Sam Weinig.
7315 Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing
7317 Longer term solution is to change the design so Safari doesn't read and write all of history.
7318 This patch is step one: Do the serializing, which is done on the main thread, much faster.
7320 * History/WebHistory.mm:
7321 (-[WebHistoryPrivate data]): Added. Returns the NSData object containing serialized history.
7322 For creating new SPI so you can get the data in memory instead of on disk. Uses WebHistoryWriter.
7323 (-[WebHistoryPrivate saveToURL:error:]): Changed to call [self data
7324 (-[WebHistory _data]): Added.
7325 (WebHistoryWriter::WebHistoryWriter): Added.
7326 (WebHistoryWriter::writeHistoryItems): Added.
7328 * History/WebHistoryPrivate.h: Added a new _data method.
7330 2009-04-09 Mike Thole <mthole@apple.com>
7332 Rubber-stamped by Mark Rowe.
7336 * Panels/WebAuthenticationPanel.h:
7337 Declare the 'separateRealmLabel' IBOutlet as an NSTextField instead of 'id'.
7338 This fixes a duplicate method warning (setAutoresizingMask: on NSView and CALayer)
7340 2009-04-09 Mike Thole <mthole@apple.com>
7342 Reviewed by Ada Chan.
7344 <rdar://problem/5697111> Basic authentication dialog spoofing vulnerability
7346 * Panels/WebAuthenticationPanel.h:
7347 Added IBOutlet for separateRealmLabel
7348 * Panels/WebAuthenticationPanel.m:
7349 (-[WebAuthenticationPanel setUpForChallenge:]):
7350 In the realm case, decide if it is a simple or complex realm name. A realm name
7351 is considered complex if it has any whitespace or newline characters. Present
7352 alternative text and layout for the complex case, where the realm name isn't inline
7353 with the rest of the sheet's text.
7355 * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
7356 * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
7357 Updated the nib with a new 'separateRealmLabel' outlet.
7358 Updated the File's Owner to correctly be WebAuthenticationPanel.
7359 Fixed springs on the sheet's icon to keep it from moving during a resize.
7361 2009-04-09 David Kilzer <ddkilzer@apple.com>
7363 Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
7365 Rolled r42345 back in. The build failure was caused by an
7366 internal script which had not been updated the same way that
7367 build-webkit was updated.
7369 * Configurations/WebKit.xcconfig:
7370 * DOM/WebDOMOperations.mm:
7371 * MigrateHeaders.make:
7373 2009-04-09 Alexey Proskuryakov <ap@webkit.org>
7375 Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings.
7376 It broke Mac build, and I don't know how to fix it.
7378 * Configurations/WebKit.xcconfig:
7379 * DOM/WebDOMOperations.mm:
7380 * MigrateHeaders.make:
7382 2009-04-08 David Kilzer <ddkilzer@apple.com>
7384 <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings
7386 Reviewed by Darin Adler and Maciej Stachowiak.
7388 Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so
7389 that SVG DOM Objective-C bindings may be optionally disabled.
7391 * Configurations/WebKit.xcconfig: Added
7392 ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in
7394 * DOM/WebDOMOperations.mm: Removed unused header.
7395 * MigrateHeaders.make: Switched from using ENABLE_SVG to using
7396 ENABLE_SVG_DOM_OBJC_BINDINGS.
7398 2009-04-08 David Hyatt <hyatt@apple.com>
7400 Reviewed by Adam Roben and Darin Adler
7402 Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, fixed positioned elements end up in
7403 inconsistent positions. Rewrite updateScrollers to improve the correctness.
7405 * WebView/WebDynamicScrollBarsView.h:
7406 * WebView/WebDynamicScrollBarsView.m:
7407 (-[WebDynamicScrollBarsView updateScrollers]):
7409 2009-04-07 Anders Carlsson <andersca@apple.com>
7411 Fix Tiger build for real this time.
7413 * Plugins/WebNetscapePluginView.h:
7414 * Plugins/WebNetscapePluginView.mm:
7415 (-[WebNetscapePluginView getVariable:forURL:value:length:]):
7416 (-[WebNetscapePluginView setVariable:forURL:value:length:]):
7417 (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
7419 (NPN_GetValueForURL):
7420 (NPN_SetValueForURL):
7422 2009-04-07 David Hyatt <hyatt@apple.com>
7424 Reviewed by Adam Roben
7426 Mac portion of fix to make DumpRenderTree always produce accurate scrollbar results. Change
7427 updateScrollers to call minimumContentsSize when a WebHTMLView is inside the WebDynamicScrollbarsView.
7429 * WebView/WebDynamicScrollBarsView.m:
7430 (-[WebDynamicScrollBarsView updateScrollers]):
7432 2009-04-07 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk>
7434 Reviewed by Anders Carlsson.
7436 Trying to fix Tiger build.
7438 * Plugins/WebNetscapePluginView.h:
7439 * Plugins/WebNetscapePluginView.mm:
7440 (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
7442 2009-04-07 Anders Carlsson <andersca@apple.com>
7444 Try to fix the Leopard build once more.
7446 * Plugins/WebBaseNetscapePluginView.h:
7447 * Plugins/WebBaseNetscapePluginView.mm:
7448 * Plugins/WebNetscapePluginView.mm:
7449 (-[WebNetscapePluginView getVariable:forURL:value:length:]):
7451 2009-04-07 Anders Carlsson <andersca@apple.com>
7453 ...and try to fix the Leopard build.
7456 (NPN_GetAuthenticationInfo):
7458 2009-04-07 Anders Carlsson <andersca@apple.com>
7460 Try to fix the Tiger build.
7462 * Plugins/WebBaseNetscapePluginView.mm:
7464 2009-04-07 Anders Carlsson <andersca@apple.com>
7466 Reviewed by Sam Weinig.
7468 <rdar://problem/6667001>
7469 NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo()
7471 * Plugins/Hosted/NetscapePluginHostProxy.mm:
7475 (WKPCGetAuthenticationInfo):
7476 New MIG functions to be used by the plug-in host.
7478 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7479 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7480 (WebKit::NetscapePluginInstanceProxy::getCookies):
7481 (WebKit::NetscapePluginInstanceProxy::setCookies):
7482 (WebKit::NetscapePluginInstanceProxy::getProxy):
7483 (WebKit::NetscapePluginInstanceProxy::getAuthenticationInfo):
7486 * Plugins/Hosted/WebKitPluginClient.defs:
7489 * Plugins/WebBaseNetscapePluginView.h:
7490 * Plugins/WebBaseNetscapePluginView.mm:
7491 (-[WebBaseNetscapePluginView URLWithCString:]):
7492 Factor this out of URLWithCString.
7494 (-[WebBaseNetscapePluginView requestWithURLCString:]):
7495 Call URLWithCString.
7497 (WebKit::proxiesForURL):
7498 Return a string representation of proxies for a given URL.
7500 (WebKit::getAuthenticationInfo):
7501 Get the authentication info for a given host/protocol/scheme/realm/port combination.
7503 * Plugins/WebNetscapePluginPackage.mm:
7504 (-[WebNetscapePluginPackage _tryLoad]):
7505 Initialize the new vtable functions.
7507 * Plugins/WebNetscapePluginView.h:
7508 * Plugins/WebNetscapePluginView.mm:
7509 (-[WebNetscapePluginView getVariable:forURL:value:length:]):
7510 (-[WebNetscapePluginView setVariable:forURL:value:length:]):
7511 (-[WebNetscapePluginView getAuthenticationInfoWithProtocol:host:port:scheme:realm:username:usernameLength:password:passwordLength:]):
7515 (NPN_GetValueForURL):
7516 (NPN_SetValueForURL):
7517 (NPN_GetAuthenticationInfo):
7518 Call the plug-in view functions.
7520 2009-04-03 Kevin Decker <kdecker@apple.com>
7522 Reviewed by Anders Carlsson.
7524 <rdar://problem/6756512>
7526 * Plugins/Hosted/NetscapePluginHostManager.mm:
7527 (WebKit::NetscapePluginHostManager::spawnPluginHost): Tweaked the visibleName property.
7529 2009-04-03 John Sullivan <sullivan@apple.com>
7531 Reviewed by Ada Chan
7533 <rdar://problem/6755838> Removing all icons can delete other items from disk.
7535 * Misc/WebIconDatabase.mm:
7536 (importToWebCoreFormat):
7537 When snooping around in various directories looking for a directory full of Safari-2-style
7538 icon database information to convert and delete, bail out without doing the delete part if
7539 we didn't actually find any Safari-2-style icon database information.
7541 2009-04-03 John Sullivan <sullivan@apple.com>
7543 fixed <rdar://problem/6355573> [WebView _setCacheModel:] leaks the result of _CFURLCacheCopyCacheDirectory
7545 Reviewed by Adam Roben
7547 * WebView/WebView.mm:
7548 (+[WebView _setCacheModel:]):
7549 use WebCFAutorelease rather than autorelease on result of method that returns CFStringRef
7551 2009-04-03 Chris Marrin <cmarrin@apple.com>
7553 Reviewed by David Hyatt.
7555 Fixed https://bugs.webkit.org/show_bug.cgi?id=24941
7557 This fix essentially does a -viewWillDraw call for layout. It adds
7558 a CFRunLoopObserver which performs layout just before drawing on the
7559 Mac platform. This makes sure layout is complete before rendering and
7562 * WebCoreSupport/WebChromeClient.h:
7563 * WebCoreSupport/WebChromeClient.mm:
7564 (WebChromeClient::attachRootGraphicsLayer):
7565 (WebChromeClient::setNeedsOneShotDrawingSynchronization):
7566 (WebChromeClient::scheduleViewUpdate):
7567 * WebView/WebView.mm:
7568 (-[WebViewPrivate _clearViewUpdateRunLoopObserver]):
7569 (-[WebView _viewWillDrawInternal]):
7570 (-[WebView viewWillDraw]):
7572 (viewUpdateRunLoopObserverCallBack):
7573 (-[WebView _scheduleViewUpdate]):
7574 * WebView/WebViewInternal.h:
7576 2009-04-03 Anders Carlsson <andersca@apple.com>
7578 Reviewed by Kevin Decker.
7580 WebKit side of <rdar://problem/6752953>.
7582 Pass the clip rect to the plug-in host.
7584 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7585 (WebKit::NetscapePluginInstanceProxy::resize):
7586 * Plugins/Hosted/WebKitPluginHost.defs:
7588 2009-04-02 Mark Rowe <mrowe@apple.com>
7590 Reviewed by Dan Bernstein and Timothy Hatcher.
7592 <rdar://problem/6684745> Crash in -[WebView removeSizeObservers] when loading NIB file
7594 The implementation of -[NSView initWithCoder:] can result in -viewWillMoveToSuperview:/-viewDidMoveToSuperview: being sent to
7595 our view before we've had a chance to initialize _private, so we need to ensure it is non-nil before dereferencing it in those
7598 * WebView/WebView.mm:
7599 (-[WebView removeSizeObservers]): Nil-check _private before dereferencing it.
7600 (-[WebView addSizeObservers]): Ditto.
7602 2009-04-02 Adele Peterson <adele@apple.com>
7604 Reviewed by Darin Adler.
7606 Add a way to get a list of focusable nodes.
7608 * DOM/WebDOMOperations.mm:
7609 (-[DOMDocument _focusableNodes]):
7610 * DOM/WebDOMOperationsInternal.h: Added.
7611 * DOM/WebDOMOperationsPrivate.h: Make this a private header.
7612 Move old methods to WebDOMOperationsInternal.h
7613 * WebView/WebHTMLView.mm: Use methods from WebDOMOperationsInternal.h
7615 2009-04-01 Darin Adler <darin@apple.com>
7617 Reviewed by Geoff Garen.
7619 Bug 22378: Crash submitting a form when parsing an XHTML document
7620 https://bugs.webkit.org/show_bug.cgi?id=22378
7621 rdar://problem/6388377
7623 * History/WebHistoryItem.mm:
7624 (-[WebHistoryItem targetItem]): Call targetItem directly instead of callling
7625 isTargetItem, hasChildren, and recurseToFindTargetItem.
7627 * WebCoreSupport/WebFrameLoaderClient.mm:
7628 (WebFrameLoaderClient::dispatchWillSubmitForm): Updated for the new
7629 textFieldValues function in FormState.
7631 * WebView/WebPDFView.mm:
7632 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Updated for name and
7633 argument change of loadFrameRequest.
7635 2009-04-01 Greg Bolsinga <bolsinga@apple.com>
7637 Reviewed by Mark Rowe.
7639 https://bugs.webkit.org/show_bug.cgi?id=24990
7640 Put SECTORDER_FLAGS into xcconfig files.
7642 * Configurations/Base.xcconfig:
7643 * Configurations/DebugRelease.xcconfig:
7645 2009-03-31 Anders Carlsson <andersca@apple.com>
7647 Reviewed by Adam Roben.
7649 WebKit side of <rdar://problem/6500266>.
7651 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7652 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7653 (WebKit::NetscapePluginInstanceProxy::wheelEvent):
7656 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
7657 (-[WebHostedNetscapePluginView scrollWheel:]):
7658 Call NetscapePluginInstanceProxy::wheelEvent. If the plug-in processed the event, don't
7661 * Plugins/Hosted/WebKitPluginHost.defs:
7664 2009-03-31 Darin Adler <darin@apple.com>
7666 Reviewed by Adele Peterson.
7668 <rdar://problem/6740581> REGRESSION (r41793): Page Down and Page Up don’t work in Leopard Mail
7670 * WebView/WebHTMLView.mm:
7671 (-[WebResponderChainSink tryToPerform:with:]): Added. Without this we would think we had
7672 handled an event when we actually hadn't. Specifically, when -[WebFrameView scrollPageDown:]
7673 calls tryToPerform on the next responder.
7675 2009-03-30 Greg Bolsinga <bolsinga@apple.com>
7677 Reviewed by Simon Fraser.
7679 https://bugs.webkit.org/show_bug.cgi?id=24938
7681 Build fixes when building --no-svg
7683 DOMHTMLFrameElementPrivate.h and DOMHTMLIFrameElementPrivate.h are only available with ENABLE_SVG.
7685 * MigrateHeaders.make:
7687 2009-03-29 Darin Adler <darin@apple.com>
7689 Reviewed by Cameron Zwarich.
7691 * Plugins/WebNullPluginView.mm: Added now-needed includes.
7692 * WebView/WebHTMLRepresentation.mm: Ditto.
7693 * WebView/WebHTMLView.mm: Ditto.
7695 2009-03-27 Timothy Hatcher <timothy@apple.com>
7697 * MigrateHeaders.make: Remove DOMHTMLBodyElementPrivate.h since it
7698 is not generated anymore.
7700 2009-03-27 Adam Roben <aroben@apple.com>
7702 Don't include substitute data URLs in global history redirect chains
7706 Reviewed by Darin Adler.
7708 * WebCoreSupport/WebFrameLoaderClient.mm:
7709 (WebFrameLoaderClient::updateGlobalHistory): Don't call
7710 updateGlobalHistoryRedirectLinks. FrameLoader calls this for us now.
7711 (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
7712 Added an assertion to help catch cases where we might be adding a
7713 substitute data URL into a redirect chain.
7715 2009-03-27 Darin Adler <darin@apple.com>
7717 Reviewed by Adam Roben.
7719 <rdar://problem/6541923> REGRESSION (r38629): Tab cycle in empty tab is broken
7721 * WebView/WebHTMLView.mm:
7722 (-[WebHTMLView _wantsKeyDownForEvent:]): Only return YES when we have a Frame.
7724 2009-03-27 Darin Adler <darin@apple.com>
7726 Reviewed by John Sullivan and Anders Carlsson.
7728 <rdar://problem/5987442> Pasteboard not exposed to WebEditingDelegate for WebViewInsertActionPasted (needed for system services)
7730 Added SPI to tell which pasteboard is currently being inserted.
7731 I chose to put it on WebView to be forward-looking since we're migrating things
7732 from WebHTMLView to WebView in the future.
7734 * WebView/WebHTMLView.mm:
7735 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Add calls to _setInsertionPasteboard.
7736 (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
7737 * WebView/WebView.mm:
7738 (-[WebViewPrivate dealloc]): Assert the pasteboard is nil.
7739 (-[WebViewPrivate finalize]): Ditto.
7740 (-[WebView _insertionPasteboard]): Return the pastebaord.
7741 (-[WebView _setInsertionPasteboard:]): Set the pasteboard.
7742 * WebView/WebViewInternal.h: Added _setInsertionPasteboard.
7743 * WebView/WebViewPrivate.h: Added _insertionPasteboard.
7745 2009-03-25 Timothy Hatcher <timothy@apple.com>
7747 Expose new DOM methods as public Objective-C API.
7749 <rdar://problem/5837350> Expose new DOM classes and methods
7750 as public API (match the additions to the JavaScript DOM)
7752 Reviewed by Mark Rowe and Darin Adler.
7754 * MigrateHeaders.make:
7755 * Misc/DOMDocumentPrivate.h: Added. Forwarding header for
7756 <rdar://problem/6730996>.
7758 2009-03-26 Jungshik Shin <jshin@chromium.org>
7760 Reviewed by Alexey Proskuryakov.
7762 Add WebPreferences for encoding autodetection on Mac.
7764 http://bugs.webkit.org/show_bug.cgi?id=16482
7766 * WebView/WebPreferenceKeysPrivate.h:
7767 * WebView/WebPreferences.mm:
7768 (+[WebPreferences initialize]):
7769 (-[WebPreferences usesEncodingDetector]):
7770 (-[WebPreferences setUsesEncodingDetector:]):
7771 * WebView/WebPreferencesPrivate.h:
7772 * WebView/WebView.mm:
7773 (-[WebView _preferencesChangedNotification:]):
7775 2009-03-26 Anders Carlsson <andersca@apple.com>
7777 Reviewed by Dan Bernstein.
7779 - Fix <rdar://problem/6687055> and <rdar://problem/6713639>.
7781 * Plugins/Hosted/NetscapePluginHostProxy.mm:
7782 (WKPCInvalidateRect):
7783 Call NetscapePluginInstanceProxy::invalidateRect.
7785 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
7786 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
7787 (WebKit::NetscapePluginInstanceProxy::cleanup):
7788 Stop the request timer, set m_pluginView to nil.
7790 (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
7791 No need to set m_pluginView to nil here anymore, it's now done in cleanup().
7793 (WebKit::NetscapePluginInstanceProxy::performRequest):
7794 (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
7795 Assert that the plug-in view is not nil.
7797 (WebKit::NetscapePluginInstanceProxy::invalidateRect):
7798 Call setNeedsDisplayInRect here.
7800 2009-03-25 Anders Carlsson <andersca@apple.com>
7802 Reviewed by Darin Adler.
7804 <rdar://problem/6714964>
7805 CrashTracer: [REGRESSION] 51 crashes in Safari at com.apple.WebKit • WebNetscapePluginStream::deliverData + 775
7807 Don't release m_deliveryData since it's a RetainPtr. Also, use adoptNS instead of releasing newDeliveryData manually.
7809 * Plugins/WebBaseNetscapePluginStream.mm:
7810 (WebNetscapePluginStream::deliverData):
7812 2009-03-25 Mike Thole <mthole@apple.com>
7814 Reviewed by Kevin Decker.
7816 <rdar://problem/6453738> call SetWindow when user creates a new tab
7818 CoreGraphics plug-ins now receive an NPP_SetWindow call when moving to a background tab.
7819 Flash is excluded from this change in behavior, as it has historical WebKit-specific code
7820 that isn't compatible with this change.
7822 * Plugins/WebNetscapePluginView.h:
7823 Added an _isFlash ivar.
7824 * Plugins/WebNetscapePluginView.mm:
7825 (-[WebNetscapePluginView _createPlugin]):
7826 Set the new _isFlash ivar based on the bundle identifier.
7827 (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
7828 When using the CG drawing model and in a non-drawable state, set the portState
7829 to NULL and return early.
7830 (-[WebNetscapePluginView updateAndSetWindow]):
7831 When using the CG drawing model, call -setWindowIfNecessary even if the portState is NULL.
7832 Flash is an exception to this, due to its historical behavior.
7833 (-[WebNetscapePluginView setWindowIfNecessary]):
7834 Removed an assertion that was no longer true. The [NSView focus] view
7835 is no longer guaranteed to be 'self' at this point.
7836 Also modified the debug logging for CG plug-ins to include the size of the
7837 window's clipRect, which was useful in verifying the correct behavior of this patch.
7839 2009-03-24 Dan Bernstein <mitz@apple.com>
7841 Reviewed by Oliver Hunt.
7843 - speculative fix for <rdar://problem/6630134> Crash at
7844 Editor::compositionRange()
7846 * WebView/WebHTMLView.mm:
7847 (-[WebHTMLView markedRange]): Null-check the Frame like most other
7848 methods in this class.
7850 2009-03-23 Sam Weinig <sam@webkit.org>
7852 Reviewed by Dan Bernstein.
7854 Fix for <rdar://problem/6140966>
7855 Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache
7858 (+[WebCache empty]):
7860 2009-03-23 Adele Peterson <adele@apple.com>
7862 Reviewed by Mark Rowe & Dave Hyatt.
7864 Merge some of the individual Mail quirks into two settings that we can check for future quirks.
7866 * WebView/WebView.mm:
7867 (runningLeopardMail):
7869 (-[WebView _preferencesChangedNotification:]):
7871 2009-03-23 Darin Adler <darin@apple.com>
7873 * WebView/WebTextIterator.h: Fixed a spelling error in a comment.
7875 2009-03-22 Dan Bernstein <mitz@apple.com>
7877 Reviewed by John Sullivan.
7879 - fix <rdar://problem/6640741> Messages not displaying after the
7880 Safari 4 beta was installed
7882 Mail assumes that if -[WebArchive subresources] is not nil, then it
7883 contains at least one object.
7885 * WebView/WebArchive.mm:
7886 (-[WebArchive subresources]): Preserve the behavior of returning nil
7887 if there are no subresources.
7889 2009-03-20 Adele Peterson <adele@apple.com>
7893 Reviewed by Darin Adler.
7895 * WebView/WebFrameView.mm: (-[WebFrameView initWithFrame:]):
7897 2009-03-20 Timothy Hatcher <timothy@apple.com>
7899 Change how threading exceptions are checked so they are reported
7900 by what round they were added. That way WebKit can decided the
7901 behavior per-round based on linked-on-or-after checks.
7903 <rdar://problem/6626741&6648478&6635474&6674079>
7905 Reviewed by Darin Adler.
7907 * History/WebBackForwardList.mm: Use the new WebCoreThreadViolationCheckRoundOne macro.
7908 * History/WebHistoryItem.mm: Ditto.
7909 * Misc/WebIconDatabase.mm: Ditto.
7911 * WebView/WebArchive.mm: Use the new WebCoreThreadViolationCheckRoundTwo macro.
7912 * WebView/WebResource.mm: Ditto.
7913 (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Check Mail's bundle version
7914 to truly decide if it is an old Mail client.
7915 * WebView/WebView.mm: Ditto.
7917 * Misc/WebKitVersionChecks.h: Add a new linked-on-or-after version define.
7918 * WebView/WebFrameView.mm:
7919 (-[WebFrameView initWithFrame:]): Set the default thread violation behavior per-round
7920 based on difference version checks and the Mail workaround check.
7922 2009-03-20 Darin Adler <darin@apple.com>
7924 Reviewed by Timothy Hatcher.
7926 * WebView/WebTextIterator.h: Improved comments to point out some of the pitfalls
7929 2009-03-20 Darin Adler <darin@apple.com>
7931 Reviewed by Adele Peterson.
7933 Use a better technique to handle finding out if something responds to a selector
7934 in WebHTMLView's doCommandBySelector method.
7936 * WebView/WebHTMLView.mm:
7937 (-[WebHTMLView doCommandBySelector:]): Removed unneeded check for 0 coreFrame;
7938 this is already handled by coreCommandBySelector: so doesn't need to be checked
7939 twice. Got rid of initial value for eventWasHandled boolean to make it more clear.
7940 Use WebResponderChainSink to find out if a command is handled rather than walking
7941 the responder chain explicitly.
7942 (-[WebResponderChainSink initWithResponderChain:]): Added.
7943 (-[WebResponderChainSink detach]): Added.
7944 (-[WebResponderChainSink receivedUnhandledCommand]): Added.
7945 (-[WebResponderChainSink noResponderFor:]): Added.
7946 (-[WebResponderChainSink doCommandBySelector:]): Added.
7948 2009-03-19 Timothy Hatcher <timothy@apple.com>
7950 Remove #ifndef BUILDING_ON_TIGER around code that schedules runloop modes
7951 for Page, so the new RunLoopTimer in WebCore always gets a default mode.
7952 Fixes the layout test failures on the Tiger build bots.
7954 Reviewed by Mark Rowe.
7956 * WebView/WebView.mm:
7957 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
7958 (-[WebView scheduleInRunLoop:forMode:]):
7959 (-[WebView unscheduleFromRunLoop:forMode:]):
7961 2009-03-18 Anders Carlsson <andersca@apple.com>
7963 Reviewed by Oliver Hunt.
7965 WebKit side of <rdar://problem/6688244>.
7967 Try reinitializing the vendor port if it's invalid.
7969 * Plugins/Hosted/NetscapePluginHostManager.mm:
7970 (WebKit::NetscapePluginHostManager::spawnPluginHost):
7972 2009-03-18 Anders Carlsson <andersca@apple.com>
7974 Reviewed by Darin Adler.
7976 <rdar://problem/6504776>
7977 CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore • WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ...
7979 If the m_pluginView member was zeroed out as a result of making a call into the plug-in, the pluginFunctionCallDepth would be off
7980 causing the plug-in never to be stopped. Simplify the code by using a RAII object.
7982 * Plugins/WebBaseNetscapePluginStream.mm:
7983 (PluginStopDeferrer::PluginStopDeferrer):
7984 (PluginStopDeferrer::~PluginStopDeferrer):
7985 (WebNetscapePluginStream::startStream):
7986 (WebNetscapePluginStream::wantsAllStreams):
7987 (WebNetscapePluginStream::destroyStream):
7989 2009-03-17 Darin Adler <darin@apple.com>
7991 Reviewed by Adele Peterson.
7993 <rdar://problem/6687005> Need support for new move-left/right selectors.
7995 * WebView/WebHTMLView.mm: Added the four new selectors to the command-forwarding list.
7996 * WebView/WebView.mm: Ditto.
7998 2009-03-17 Darin Adler <darin@apple.com>
8000 Reviewed by Adele Peterson.
8002 Bug 24477: REGRESSION (r41467): Page Down key scrolls two pages
8003 https://bugs.webkit.org/show_bug.cgi?id=24477
8004 rdar://problem/6674184
8006 * WebView/WebHTMLView.mm:
8007 (responderChainRespondsToSelector): Added.
8008 (-[WebHTMLView doCommandBySelector:]): Set eventWasHandled based on whether we
8009 can find a responder that responds to this selector rather than always assuming
8010 the selector will not be handled.
8012 2009-03-17 Mark Rowe <mrowe@apple.com>
8016 * Plugins/Hosted/HostedNetscapePluginStream.mm:
8018 2009-03-17 David Kilzer <ddkilzer@apple.com>
8020 Use -[NSURLResponse(WebCoreURLResponse) _webcore_MIMEType] consistently
8022 Reviewed by Darin Adler.
8024 WebKit r30323 added -_webcore_MIMEType to fix issues with
8025 incorrect MIME types in NS[HTTP]URLResponse objects. However,
8026 uses of -[NSURLResponse MIMEType] still persist in WebKit that
8027 should be switched to use -_webcore_MIMEType. Note that
8028 -[WebDataSource _responseMIMEType] calls back into WebCore to
8029 get the MIME type from the ResourceResponse object, which has
8030 already retrieved it via -_webcore_MIMEType.
8032 * Plugins/Hosted/HostedNetscapePluginStream.mm:
8033 (WebKit::HostedNetscapePluginStream::didReceiveResponse): Use
8035 * Plugins/WebBaseNetscapePluginStream.mm:
8036 (WebNetscapePluginStream::didReceiveResponse): Ditto.
8037 * Plugins/WebNetscapePluginView.mm:
8038 (-[WebNetscapePluginView pluginView:receivedData:]): Ditto.
8039 * Plugins/WebPluginController.mm:
8040 (-[WebPluginController pluginView:receivedResponse:]): Ditto.
8041 * WebView/WebHTMLRepresentation.mm:
8042 (-[WebHTMLRepresentation _isDisplayingWebArchive]): Use
8043 -[WebDataSource _responseMIMEType] instead.
8044 * WebView/WebPDFRepresentation.m:
8045 (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Ditto.
8046 * WebView/WebPDFView.mm:
8047 (-[WebPDFView menuForEvent:]): Ditto.
8049 2009-03-17 Simon Fraser <simon.fraser@apple.com>
8051 Reviewed by Darin Adler
8053 https://bugs.webkit.org/show_bug.cgi?id=24396
8055 Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now.
8059 2009-03-17 Kevin Ollivier <kevino@theolliviers.com>
8061 Reviewed by Mark Rowe.
8063 Get BUILDING_ON_* defines from Platform.h.
8065 https://bugs.webkit.org/show_bug.cgi?id=24630
8069 2009-03-16 Darin Adler <darin@apple.com>
8071 Reviewed by Dan Bernstein.
8073 <rdar://problem/6577174> Rename the text directionality submenus to “Paragraph Direction” and “Selection Direction”
8075 * WebCoreSupport/WebViewFactory.mm:
8076 (-[WebViewFactory contextMenuItemTagParagraphDirectionMenu]): Changed string here, but only
8077 post-Leopard, since we want this to match the Mac OS X menu on Tiger and Leopard.
8078 (-[WebViewFactory contextMenuItemTagSelectionDirectionMenu]): Changed string here.
8080 2009-03-16 Anders Carlsson <andersca@apple.com>
8082 Reviewed by Oliver Hunt.
8084 Don't mig_deallocate random data in case an instance proxy method returns false.
8086 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8089 (WKPCInvokeDefault):
8093 2009-03-16 Anders Carlsson <andersca@apple.com>
8095 Reviewed by Oliver Hunt.
8097 <rdar://problem/6633944>
8098 REGRESSION (Safari 4 PB): Many crashes in Flip4Mac involving loading the plugin
8100 Defer loading while calling webPlugInInitialize since it can end up spinning the run loop.
8102 * Plugins/WebPluginController.mm:
8103 (-[WebPluginController addPlugin:]):
8105 2009-03-16 Anders Carlsson <andersca@apple.com>
8107 Reviewed by Sam Weinig.
8109 Fix <rdar://problem/6622601>
8111 Make sure to update both the window frame and the plug-in frame.
8113 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8114 (-[WebHostedNetscapePluginView addWindowObservers]):
8116 2009-03-15 Dan Bernstein <mitz@apple.com>
8118 Reviewed by Adele Peterson.
8120 - fix <rdar://problem/6607773> WebKit should support the "Default"
8121 paragraph writing direction -- or at least validate the menu item
8124 Made WebHTMLView validate user interface items with the selector
8125 -makeBaseWritingDirectionNatural: by returning NO and, if the item is
8126 a menu item, setting its state to "off".
8128 Strictly speaking, since -makeBaseWritingDirectionNatural: is never
8129 valid for WebViews, WebHTMLView should not need to respond to it and
8130 validate it, however because other responders respond to all three
8131 -makeBaseWritingDirection*: messages and set the menu item state, having
8132 WebHTMLView do the same makes application developers' lives easier.
8134 * WebView/WebHTMLView.mm:
8135 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
8136 (-[WebHTMLView makeBaseWritingDirectionNatural:]):
8138 2009-03-13 Mark Rowe <mrowe@apple.com>
8140 Rubber-stamped by Dan Bernstein.
8142 Take advantage of the ability of recent versions of Xcode to easily switch the active
8145 * Configurations/DebugRelease.xcconfig:
8147 2009-03-13 Anders Carlsson <andersca@apple.com>
8149 Reviewed by Kevin Decker and Geoffrey Garen.
8151 <rdar://problem/6590384>
8152 REGRESSION (Safari 3-4): Tiger-only Crash occurs at WebView hostWindow () after reloading a set of tabs then quitting
8154 When we're doing fast teardown, plug-in views can be destroyed from -[WebView dealloc]'s [super dealloc] call,
8155 and thus calling -[WebView hostWindow] will crash since _private is nil.
8157 * WebView/WebView.mm:
8158 (-[WebView hostWindow]):
8160 2009-03-13 Anders Carlsson <andersca@apple.com>
8162 And yet another attempt...
8164 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
8165 (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler):
8166 (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler):
8167 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
8169 2009-03-13 Anders Carlsson <andersca@apple.com>
8171 Another attempt at fixing the build.
8173 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
8174 (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
8176 2009-03-13 Anders Carlsson <andersca@apple.com>
8178 Try to fix the SL build.
8180 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
8181 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
8182 (WebNetscapePluginEventHandlerCocoa::keyDown):
8184 2009-03-13 Greg Bolsinga <bolsinga@apple.com>
8186 Reviewed by Simon Fraser.
8188 Update Geolocation perimission dialogs to be asynchronous.
8189 https://bugs.webkit.org/show_bug.cgi?id=24505
8191 WebGeolocation is a wrapper around WebCore::Geolocation. It mimics the
8192 coding style set by WebSecurityOrigin.
8194 WebChromeClient now calls the private UI delegate method
8195 -webView:frame:requestGeolocationPermission:securityOrigin:
8197 * WebCoreSupport/WebChromeClient.h:
8198 * WebCoreSupport/WebChromeClient.mm:
8199 (WebChromeClient::requestGeolocationPermissionForFrame):
8200 * WebCoreSupport/WebGeolocation.mm: Added.
8202 (-[WebGeolocation shouldClearCache]):
8203 (-[WebGeolocation setIsAllowed:]):
8204 (-[WebGeolocation dealloc]):
8205 * WebCoreSupport/WebGeolocationInternal.h: Added.
8206 * WebCoreSupport/WebGeolocationPrivate.h: Added.
8207 * WebView/WebUIDelegatePrivate.h:
8209 2009-03-13 Anders Carlsson <andersca@apple.com>
8211 Reviewed by Dan Bernstein.
8213 <rdar://problem/6610666> Revise the Cocoa event model text API
8215 Replace the text input API with a simpler API that uses a separate text input window.
8217 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
8218 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
8219 (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
8220 Initialize m_keyEventHandler to 0.
8222 (WebNetscapePluginEventHandlerCocoa::keyDown):
8223 If the plug-in returns 0 from NPP_HandleEvent, pass the event to the TSM machinery.
8225 (WebNetscapePluginEventHandlerCocoa::focusChanged):
8226 Install/remove the key event handler as needed.
8228 (WebNetscapePluginEventHandlerCocoa::handleTSMEvent):
8229 Get the text and send a TextInput event.
8231 * Plugins/WebNetscapePluginView.h:
8232 * Plugins/WebNetscapePluginView.mm:
8233 Remove the old text input API.
8235 (-[WebNetscapePluginView inputContext]):
8236 Always return nil here.
8239 * Plugins/nptextinput.h: Removed.
8241 2009-03-12 Anders Carlsson <andersca@apple.com>
8243 Reviewed by Mike Thole and Mark Rowe.
8245 Fix <rdar://problem/6624105>.
8247 Make sure to process incoming messages for the NSEventTrackingRunLoopMode as well.
8249 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8250 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
8252 2009-03-12 Anders Carlsson <andersca@apple.com>
8254 Reviewed by Geoffrey Garen.
8256 WebKit side of <rdar://problem/6607801>
8258 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8259 (WebKit::NetscapePluginInstanceProxy::destroy):
8260 Pass a requestID to _WKPCDestroyPluginInstance and wait until we get a reply back.
8262 * Plugins/Hosted/WebKitPluginHost.defs:
8263 Add requestID parameter.
8265 2009-03-12 Kevin Decker <kdecker@apple.com>
8267 Reviewed by Anders Carlsson.
8269 * Plugins/WebNetscapePluginPackage.mm:
8270 (-[WebNetscapePluginPackage _unloadWithShutdown:]): Simply a small SUPPORT_CFM code block.
8272 2009-03-12 Kevin Decker <kdecker@apple.com>
8274 Reviewed by Anders Carlsson.
8276 Fixed: <rdar://problem/5815862> Opening a subclassed NSWindow from a Safari plugin causes Safari to crash on Quit
8278 This fix addresses crashes in both Silverlight and ChemDraw. This type of crash would occur because AppKit still
8279 had a reference to open windows that the plugin created (which no longer exist).
8281 * Plugins/WebNetscapePluginPackage.mm:
8282 (-[WebNetscapePluginPackage _unloadWithShutdown:]): Do not unload the plug-in bundle on browser shutdown.
8284 2009-03-11 David Kilzer <ddkilzer@apple.com>
8286 Remove duplicate header include
8288 Rubber-stamped by Mark Rowe.
8290 * WebView/WebView.mm: Remove duplicate #include <runtime/InitializeThreading.h>.
8291 Also realphabetized lowercase #include statements.
8293 2009-03-11 David Kilzer <ddkilzer@apple.com>
8295 Clarify comments regarding order of FEATURE_DEFINES
8297 Rubber-stamped by Mark Rowe.
8299 * Configurations/WebKit.xcconfig: Added warning about the
8300 consequences when FEATURE_DEFINES are not kept in sync.
8302 2009-03-11 Anders Carlsson <andersca@apple.com>
8304 Reviewed by Sam Weinig.
8306 WebKit side of <rdar://problem/6656147>.
8308 * Plugins/Hosted/NetscapePluginHostManager.mm:
8309 (WebKit::NetscapePluginHostManager::instantiatePlugin):
8310 Pass the requestID to _WKPHInstantiatePlugin.
8312 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8313 Pass the requestID to setCurrentReply.
8315 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8316 (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
8317 Store the reply in a map with the requestID as the key.
8319 (WebKit::NetscapePluginInstanceProxy::waitForReply):
8320 Wait for a reply that matches the given requestID.
8322 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8323 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
8324 Initialize member variables.
8326 (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
8327 Delete all requests.
8329 (WebKit::NetscapePluginInstanceProxy::print):
8330 Pass the requestID to _WKPHPluginInstancePrint.
8332 (WebKit::NetscapePluginInstanceProxy::loadRequest):
8333 Rename m_currentRequestID to m_currentURLRequestID.
8335 (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
8336 Process requests until we find a reply with the right requestID.
8338 (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
8339 Pass a requestID to the _WKPH function.
8341 (WebKit::NetscapePluginInstanceProxy::nextRequestID):
8344 * Plugins/Hosted/ProxyInstance.mm:
8345 Pass a requestID to the _WKPH functions.
8347 * Plugins/Hosted/WebKitPluginClient.defs:
8348 * Plugins/Hosted/WebKitPluginHost.defs:
8349 Add requestID parameters.
8351 2009-03-11 Anders Carlsson <andersca@apple.com>
8353 Reviewed by Darin Adler.
8355 Fix <rdar://problem/6620064>.
8357 * Plugins/WebPluginContainerPrivate.h:
8359 2009-03-10 Xan Lopez <xlopez@igalia.com>
8361 Build fix, no review.
8363 * WebView/WebFrame.mm:
8364 (-[WebFrame _smartDeleteRangeForProposedRange:]):
8366 2009-03-09 Anders Carlsson <andersca@apple.com>
8368 Reviewed by Kevin Decker.
8370 WebKit side of <rdar://problem/6530007>
8372 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8374 Call NetscapePluginInstanceProxy::enumerate.
8376 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8377 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8378 (WebKit::NetscapePluginInstanceProxy::enumerate):
8379 Enumerate the JS object and serialize its values.
8381 * Plugins/Hosted/ProxyInstance.h:
8382 * Plugins/Hosted/ProxyInstance.mm:
8383 (WebKit::ProxyInstance::getPropertyNames):
8384 Ask the plug-in host to get the property names and deserialize them.
8386 * Plugins/Hosted/WebKitPluginClient.defs:
8387 * Plugins/Hosted/WebKitPluginHost.defs:
8389 2009-03-09 Simon Fraser <simon.fraser@apple.com>
8391 Reviewed by Oliver Hunt and Cameron Zwarich
8393 https://bugs.webkit.org/show_bug.cgi?id=24440
8395 The sublayer added to WebHTMLView to host accelerated compositing layers needs to
8396 be a subclass of NSView which allows context menu clicks through.
8398 * WebView/WebHTMLView.mm:
8399 (-[WebLayerHostingView rightMouseDown:]):
8400 (-[WebHTMLView attachRootLayer:]):
8402 2009-03-08 Mark Rowe <mrowe@apple.com>
8404 Reviewed by Oliver Hunt.
8406 Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
8407 Frame.h no longer needs to include it. This cuts the size of the symbols
8408 for a debug build by around 3%.
8410 * Plugins/WebNetscapePluginView.mm:
8411 * WebView/WebFrame.mm:
8412 (-[WebFrame _scrollDOMRangeToVisible:]):
8413 (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
8414 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
8415 * WebView/WebHTMLView.mm:
8416 (-[WebHTMLView jumpToSelection:]):
8417 (-[WebHTMLView centerSelectionInVisibleArea:]):
8419 2009-03-07 Dan Bernstein <mitz@apple.com>
8421 Reviewed by Alexey Proskuryakov.
8423 - fix a bug where debug builds were clearing the HTML5 application cache
8424 on application termination
8426 * WebView/WebView.mm:
8427 (-[WebView _close]): Call -[WebCache setDisabled:YES] instead of
8430 2009-03-06 Douglas R. Davidson <ddavidso@apple.com>
8432 Reviewed by Justin Garcia.
8434 https://bugs.webkit.org/show_bug.cgi?id=24108
8436 Update spelling and grammar checking to use the new combined text
8437 checking (with automatic language identification) on Snow Leopard.
8439 * WebCoreSupport/WebEditorClient.h:
8440 * WebCoreSupport/WebEditorClient.mm:
8441 (WebEditorClient::checkSpellingAndGrammarOfParagraph):
8443 2009-03-05 Adele Peterson <adele@apple.com>
8445 Reviewed by Darin Adler.
8447 Fix for https://bugs.webkit.org/show_bug.cgi?id=24079
8448 <rdar://problem/6611233> REGRESSION (r39549): Page loads cannot be interrupted with Command-. or Escape
8449 <rdar://problem/6636563> Ctrl-tab shortcut doesn't switch tabs when focus is in text field
8451 * WebView/WebHTMLView.mm: (-[WebHTMLView doCommandBySelector:]):
8452 If WebKit does not support the command, we need to pass the selector to super. In this case,
8453 we'll consider the event not to be handled. This is not perfect because in theory, [super doCommandBySelector:]
8454 can do some action that would cause WebKit to need to consider the event handled. But in practice, I've found no
8455 example of that happening and causing broken behavior.
8457 2009-03-04 Mark Rowe <mrowe@apple.com>
8459 Reviewed by Dan Bernstein.
8461 <rdar://problem/6206172> Adoption of new Cocoa API for dictionary contextual menu
8463 * WebView/WebHTMLView.mm:
8464 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
8466 2009-03-04 Adam Barth <abath@webkit.org>
8468 Reviewed by Alexey Proskuryakov.
8470 https://bugs.webkit.org/show_bug.cgi?id=24356
8472 Fix WebKit style for allowUniversalAccessFromFileURLs.
8474 * WebView/WebPreferenceKeysPrivate.h:
8475 * WebView/WebPreferences.mm:
8476 (+[WebPreferences initialize]):
8477 (-[WebPreferences allowUniversalAccessFromFileURLs]):
8478 (-[WebPreferences setAllowUniversalAccessFromFileURLs:]):
8479 * WebView/WebPreferencesPrivate.h:
8480 * WebView/WebView.mm:
8481 (-[WebView _preferencesChangedNotification:]):
8483 2009-03-03 David Kilzer <ddkilzer@apple.com>
8485 <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
8487 Reviewed by Mark Rowe.
8489 The fix is to add INSTALLHDRS_COPY_PHASE = YES and
8490 INSTALLHDRS_SCRIPT_PHASE = YES to WebKit.xcconfig, then to
8491 make sure various build phase scripts work with the installhdrs
8494 * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
8495 based on PLATFORM_NAME to work around the missing definition on
8497 * Configurations/WebKit.xcconfig: Added
8498 WEBCORE_PRIVATE_HEADERS_DIR variable to remove definition of
8499 UMBRELLA_FRAMEWORKS_DIR for Debug and Release builds in the
8500 Xcode project file. Added INSTALLHDRS_COPY_PHASE = YES and
8501 INSTALLHDRS_SCRIPT_PHASE = YES.
8503 2009-03-03 David Kilzer <ddkilzer@apple.com>
8505 Remove last vestiges of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR from WebKit
8507 Reviewed by Adam Roben.
8509 Use of JAVASCRIPTCORE_PRIVATE_HEADERS_DIR was removed in r37465
8510 since NPAPI headers had migrated from JavaScriptCore to WebCore
8513 * Configurations/WebKit.xcconfig: Removed definition of
8514 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR used in Production builds.
8516 2009-03-03 Anders Carlsson <andersca@apple.com>
8518 Reviewed by Darin Adler.
8520 Fix <rdar://problem/6633834>.
8522 * Plugins/Hosted/NetscapePluginHostManager.mm:
8523 (WebKit::NetscapePluginHostManager::instantiatePlugin):
8524 Create a new plug-in instance if the plug-in host has crashed.
8526 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8527 (WebKit::NetscapePluginInstanceProxy::invalidate):
8528 Add a null check for the plug-in host proxy.
8530 2009-03-02 Sam Weinig <sam@webkit.org>
8532 Reviewed by Mark Rowe.
8534 Enable Geolocation (except on Tiger and Leopard).
8536 * Configurations/WebKit.xcconfig:
8538 2009-03-02 Anders Carlsson <andersca@apple.com>
8540 Reviewed by Dan Bernstein.
8542 WebKit part of <rdar://problem/6638658>.
8544 * Plugins/Hosted/NetscapePluginHostManager.h:
8545 * Plugins/Hosted/NetscapePluginHostManager.mm:
8546 (WebKit::NetscapePluginHostManager::createPropertyListFile):
8547 Spawn the plug-in host and wait for it to create the property list.
8549 * Plugins/WebBasePluginPackage.mm:
8550 (-[WebBasePluginPackage createPropertyListFile]):
8551 Factor code out into a new method.
8553 (-[WebBasePluginPackage pListForPath:createFile:]):
8554 Call the newly added createPropertyListFile method.
8556 * Plugins/WebNetscapePluginPackage.mm:
8557 (-[WebNetscapePluginPackage createPropertyListFile]):
8558 Tell the plug-in host manager to create a property list file for us.
8560 2009-03-02 Sam Weinig <sam@webkit.org>
8562 Reviewed by Geoffrey Garen.
8564 Fix for <rdar://problem/6507404> Add Geolocation support.
8566 This is not yet turned on for any Mac platform.
8568 Add SPI to ask the embedding application whether to allow
8569 Geolocation for an origin.
8571 * WebCoreSupport/WebChromeClient.h:
8572 * WebCoreSupport/WebChromeClient.mm:
8573 (WebChromeClient::shouldAllowGeolocationForFrame):
8574 * WebView/WebUIDelegatePrivate.h:
8576 2009-03-02 Anders Carlsson <andersca@apple.com>
8580 * Plugins/WebNetscapePluginPackage.mm:
8581 (-[WebNetscapePluginPackage _tryLoad]):
8583 2009-03-02 Anders Carlsson <andersca@apple.com>
8585 Reviewed by John Sullivan, Ada Chan.
8587 Factor loading code out into its own method and get rid of a bunch of gotos.
8589 * Plugins/WebNetscapePluginPackage.mm:
8590 (-[WebNetscapePluginPackage _tryLoad]):
8591 (-[WebNetscapePluginPackage load]):
8593 2009-03-02 Anders Carlsson <andersca@apple.com>
8597 * Plugins/WebNetscapeDeprecatedFunctions.h:
8599 2009-03-02 Anders Carlsson <andersca@apple.com>
8601 Reviewed by John Sullivan.
8603 Rename WebNetscapePluginPackage.m to WebNetscapePluginPackage.mm
8605 * Plugins/WebNetscapePluginPackage.m: Removed.
8606 * Plugins/WebNetscapePluginPackage.mm: Copied from mac/Plugins/WebNetscapePluginPackage.m.
8608 2009-03-01 Anders Carlsson <andersca@apple.com>
8610 Reviewed by Sam Weinig.
8612 WebKit side of <rdar://problem/6449689>
8614 Pass the visible name to the plug-in host.
8616 * Plugins/Hosted/NetscapePluginHostManager.mm:
8617 (WebKit::NetscapePluginHostManager::spawnPluginHost):
8619 2009-02-27 Alice Liu <alice.liu@apple.com>
8621 Fix <rdar://problem/6531265> REGRESSION (r39185): adding ".jpeg"
8622 extension to images that already have .jpg extension
8624 Reviewed by Oliver Hunt.
8626 * WebView/WebHTMLView.mm:
8627 (-[NSString matchesExtensionEquivalent:]):
8628 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
8629 Relax the check for the proper extension to allow for known
8630 equivalents, special-cased in matchesExtensionEquivalent function.
8632 2009-02-27 Anders Carlsson <andersca@apple.com>
8634 Reviewed by Geoffrey Garen.
8636 <rdar://problem/6631436>
8637 CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::addValueToArray + 55
8639 Port the NPN_Evaluate code over from WebCore instead of using the frame loader.
8641 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8642 (WebKit::NetscapePluginInstanceProxy::evaluate):
8644 2009-02-27 Anders Carlsson <andersca@apple.com>
8646 Reviewed by Geoffrey Garen.
8648 WebKit side of <rdar://problem/6626814>.
8650 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8651 (WKPCInvokeDefault):
8652 Make InvokeDefault async.
8654 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8655 (WebKit::NetscapePluginInstanceProxy::addValueToArray):
8656 Handle passing NPObjects back to the plug-in host.
8658 * Plugins/Hosted/ProxyInstance.h:
8659 (WebKit::ProxyInstance::objectID):
8660 Add objectID getter.
8662 * Plugins/Hosted/WebKitPluginClient.defs:
8663 Make InvokeDefault a simpleroutine.
8665 2009-02-27 Timothy Hatcher <timothy@apple.com>
8667 Fixes an exception by null checking the WebResource before adding it to
8668 the subresources array.
8670 <rdar://problem/5950769> Bug in [WebDataSource subresources] can throw an exception
8672 Reviewed by Geoff Garen and Anders Carlsson.
8674 * WebView/WebDataSource.mm:
8675 (-[WebDataSource subresources]): Null check the WebResource before adding it.
8677 2009-02-27 Timothy Hatcher <timothy@apple.com>
8679 Adds a workaround for Automator creating a WebView from a secondary thread.
8681 <rdar://problem/6631951> REGRESSION (Safari 4 Beta): Automator crash on
8682 secondary thread beneath -[WebView initWithFrame:frameName:groupName:]
8684 Reviewed by Geoff Garen.
8686 * WebView/WebView.mm:
8687 (needsWebViewInitThreadWorkaround): Check for com.apple.Automator.
8689 2009-02-27 Adam Barth <abarth@webkit.org>
8691 Reviewed by Eric Seidel.
8693 Add a preference to reduce the power of file:// URLs.
8695 * WebView/WebPreferenceKeysPrivate.h:
8696 * WebView/WebPreferences.mm:
8697 (+[WebPreferences initialize]):
8698 (-[WebPreferences allowUniversalAccessFromFileUrls]):
8699 (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
8700 * WebView/WebPreferencesPrivate.h:
8701 * WebView/WebView.mm:
8702 (-[WebView _preferencesChangedNotification:]):
8704 2009-02-27 Simon Fraser <simon.fraser@apple.com>
8706 Reviewed by Anders Carlsson
8708 https://bugs.webkit.org/show_bug.cgi?id=24242
8710 setCursor(), and resetCursorRects() on Tiger, were using global, not local
8711 coordinates for elementAtPoint:
8713 * WebView/WebHTMLView.mm:
8717 2009-02-27 Adam Barth <abarth@webkit.org>
8719 Reviewed by Eric Seidel.
8721 Add a preference to reduce the power of file:// URLs.
8723 * WebView/WebPreferenceKeysPrivate.h:
8724 * WebView/WebPreferences.mm:
8725 (+[WebPreferences initialize]):
8726 (-[WebPreferences allowUniversalAccessFromFileUrls]):
8727 (-[WebPreferences setAllowUniversalAccessFromFileUrls:]):
8728 * WebView/WebPreferencesPrivate.h:
8729 * WebView/WebView.mm:
8730 (-[WebView _preferencesChangedNotification:]):
8732 2009-02-26 Adele Peterson <adele@apple.com>
8734 Reviewed by Geoff Garen.
8736 Fix for <rdar://problem/6618166>
8737 https://bugs.webkit.org/show_bug.cgi?id=24216
8738 (REGRESSION r36919) Safari 4 Beta causes MSN Messenger's text entry field to lose focus after entering a message
8740 During a series of firstResponder changes, at some point while the WebHTMLView was losing first responder status,
8741 we incorrectly marked the page as active, and then when the WebHTMLView became first responder again, setActive did nothing.
8742 This change restores behavior from before r36919 to check if the WebHTMLView is in the middle of losing first responder when calling setActive.
8744 In addition to updating editing/selection/designmode-no-caret.html results, I also made sure the test cases that were
8745 fixed in r36919 and r38570 are still fixed.
8747 * WebView/WebHTMLView.mm:
8748 (-[WebHTMLView resignFirstResponder]): Keep track if we're in the process of resigning first responder.
8749 (-[WebHTMLView _isResigningFirstResponder]): Added.
8750 * WebView/WebHTMLViewInternal.h:
8751 * WebView/WebView.mm: (-[WebView _updateFocusedAndActiveStateForFrame:]): Don't set the page to be active
8752 if the document view is currently resigning first responder.
8754 2009-02-25 Anders Carlsson <andersca@apple.com>
8756 Reviewed by Kevin Decker.
8758 Fix <rdar://problem/6623697>.
8760 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8761 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8762 (WebKit::NetscapePluginInstanceProxy::print):
8763 Ask the plug-in host to print, create a CGImage of the returned bytes and draw
8764 the image into the passed in context.
8766 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8767 (-[WebHostedNetscapePluginView drawRect:]):
8768 When printing, call NetscapePluginInstanceProxy::print.
8770 * Plugins/Hosted/WebKitPluginHost.defs:
8772 2009-02-19 Alexey Proskuryakov <ap@webkit.org>
8774 Reviewed by Darin Adler.
8776 https://bugs.webkit.org/show_bug.cgi?id=24024
8777 REGRESSION (r39845): Assertion failure in -[WebHistoryItem dictionaryRepresentation] when
8778 archiving a submission to about:blank
8780 I don't know how to make an automated test for this bug.
8782 * History/WebHistory.mm: (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
8783 Account for the fact that HTTP method may be non-empty for non-HTTP requests.
8785 2009-02-25 Chris Fleizach <cfleizach@apple.com>
8787 Reviewed by Beth Dakin.
8790 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail
8791 https://bugs.webkit.org/show_bug.cgi?id=24143
8793 * WebView/WebFrame.mm:
8794 (-[WebFrame _accessibilityTree]):
8796 2009-02-25 Simon Fraser <simon.fraser@apple.com>
8798 Build fix with ACCELERATED_COMPOSITING turned on.
8800 I missed a spot in my last commit in renaming to
8801 _stoppedAcceleratedCompositingForFrame:
8803 * WebView/WebHTMLView.mm:
8804 (-[WebHTMLView close]):
8806 2009-02-25 Simon Fraser <simon.fraser@apple.com>
8808 Reviewed by Dan Bernstein
8810 https://bugs.webkit.org/show_bug.cgi?id=23854
8812 Make an observable property, _isUsingAcceleratedCompositing, on
8813 WebView that DumpRenderTree can use to specialize behavior.
8815 This is implemented via a count of Frames that are using
8816 accelerated compositing.
8818 * WebView/WebHTMLView.mm:
8819 (-[WebHTMLViewPrivate clear]):
8820 (-[WebHTMLView close]):
8821 (-[WebHTMLView attachRootLayer:]):
8822 (-[WebHTMLView detachRootLayer]):
8823 * WebView/WebView.mm:
8824 (+[WebView automaticallyNotifiesObserversForKey:]):
8825 (-[WebView _startedAcceleratedCompositingForFrame:]):
8826 (-[WebView _stoppedAcceleratedCompositingForFrame:]):
8827 (-[WebView _isUsingAcceleratedCompositing]):
8828 * WebView/WebViewInternal.h:
8829 * WebView/WebViewPrivate.h:
8831 2009-02-24 Sam Weinig <sam@webkit.org>
8833 Reviewed by Geoffrey Garen.
8835 Related to <rdar://problem/6590295>
8836 Allow disabling javascript: urls.
8838 * WebView/WebView.mm:
8839 (-[WebView _setJavaScriptURLsAreAllowed:]):
8840 * WebView/WebViewPrivate.h:
8842 2009-02-24 Mark Rowe <mrowe@apple.com>
8844 Reviewed by Oliver Hunt.
8846 <rdar://problem/6259220> Rename AVAILABLE_AFTER_WEBKIT_VERSION_3_1 (etc.) to match the other macros
8848 * Carbon/CarbonUtils.h:
8849 * Carbon/HIWebView.h:
8850 * Plugins/WebPlugin.h:
8851 * Plugins/WebPluginViewFactory.h:
8852 * WebView/WebUIDelegate.h:
8854 2009-02-24 Peter Ammon <pammon@apple.com>
8856 Reviewed by Mark Rowe.
8858 Fix <rdar://problem/6251410> Services can modify non-editable content in Safari
8860 * WebView/WebHTMLView.mm:
8861 (-[WebHTMLView validRequestorForSendType:returnType:]): Return self only if we can handle
8862 both the send and return type. We should also handle a nil send or return type by ignoring
8863 the argument and returning whether we can handle the other type passed in.
8865 2009-02-23 Anders Carlsson <andersca@apple.com>
8867 Reviewed by Geoffrey Garen and Darin Adler.
8869 WebKit side of <rdar://problem/6613151>.
8871 Make sure to vm_deallocate all memory we get from MIG callbacks.
8873 * Plugins/Hosted/NetscapePluginHostProxy.mm:
8874 (DataDeallocator::DataDeallocator):
8875 (DataDeallocator::~DataDeallocator):
8876 Add a simple deallocator class.
8880 (WKPCBooleanAndDataReply):
8882 (WKPCGetStringIdentifier):
8884 (WKPCInvokeDefault):
8887 Use the new deallocator class.
8889 2009-02-23 Anders Carlsson <andersca@apple.com>
8891 Reviewed by Darin Adler.
8893 Fix <rdar://problem/6450656>.
8895 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
8896 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8897 (WebKit::NetscapePluginInstanceProxy::insertText):
8898 Add insert text which just calls the new WKPH function.
8900 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
8901 (-[WebHostedNetscapePluginView inputContext]):
8902 Get the input context from the shared input panel.
8904 (-[WebHostedNetscapePluginView keyDown:]):
8905 Let the shared input panel have a go at the event first.
8907 * Plugins/Hosted/WebKitPluginHost.defs:
8908 Add new InsertText function.
8910 2009-02-23 Mark Rowe <mrowe@apple.com>
8912 Fix the build after r41126.
8914 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
8915 (WebKit::NetscapePluginInstanceProxy::invoke):
8916 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
8917 (WebKit::NetscapePluginInstanceProxy::construct):
8919 2009-02-22 Dan Bernstein <mitz@apple.com>
8921 Reviewed by Darin Adler.
8923 - fix <rdar://problem/5966123> REGRESSION (r30741): Generic Sun Applet loading logo appears half off screen
8925 * WebCoreSupport/WebFrameLoaderClient.mm: Correct a copy & paste error
8926 in r30741, and assign the height value, rather than the width, to the
8929 2009-02-21 Anders Carlsson <andersca@apple.com>
8933 * Plugins/Hosted/WebTextInputWindowController.m:
8935 2009-02-20 Anders Carlsson <andersca@apple.com>
8937 Reviewed by Dan Bernstein.
8939 Add a shared floating text input window implementation, to be used by the hosted plug-in view.
8941 * Plugins/Hosted/WebTextInputWindowController.h: Added.
8942 * Plugins/Hosted/WebTextInputWindowController.m: Added.
8944 2009-02-20 Kevin Decker <kdecker@apple.com>
8946 Reviewed by andersca.
8948 <rdar://problem/6496140> Safari sometimes hangs in WKSetMetadataURL for several seconds after downloading a file
8950 Spawn a background thread for WKSetMetadataURL because this function will not return until mds has journaled the data
8951 we are trying to set. Depending on what other I/O is going on, it can take some time.
8953 * Misc/WebNSFileManagerExtras.m: Import pthread.h and FoundationExtras.h
8954 (setMetaData): Added. Calls WKSetMetadataURL().
8955 (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Call setMetaData on a background thread
8957 2009-02-19 Dan Bernstein <mitz@apple.com>
8959 Reviewed by Sam Weinig.
8961 - WebKit part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027
8962 Do not send loader callbacks during CSS styling
8964 * WebView/WebView.mm:
8965 (-[WebView _preferencesChangedNotification:]): Reverted the
8966 iChat-specific quirk added in <http://trac.webkit.org/changeset/41071>.
8968 2009-02-18 Dan Bernstein <mitz@apple.com>
8970 Reviewed by Brady Eidson.
8972 - WebKit part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle
8974 * WebView/WebView.mm:
8975 (-[WebView _preferencesChangedNotification:]): Activate the WebCore
8976 workaround for this crash in iChat.
8978 2009-02-18 Anders Carlsson <andersca@apple.com>
8980 Reviewed by Sam Weinig.
8982 Fix for <rdar://problem/6542390>
8984 There's no need to call setDefersLoading here - we already defer anything a plug-in can do that
8985 would cause a load to begin.
8987 * Plugins/WebNetscapePluginView.mm:
8988 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
8990 2009-02-18 Adam Roben <aroben@apple.com>
8992 Add SPI to get WebKit's custom pointing-hand cursor
8994 Reviewed by John Sullivan.
8996 * WebView/WebView.mm:
8997 (+[WebView _pointingHandCursor]): Added. Returns the custom
8998 pointing-hand cursor that WebKit uses.
8999 * WebView/WebViewPrivate.h: Added +_pointingHandCursor.
9001 2009-02-17 Eric Carlson <eric.carlson@apple.com>
9003 Reviewed by Antti Koivisto.
9005 https://bugs.webkit.org/show_bug.cgi?id=23917
9006 Allow a WebKit plug-in to act as a proxy for the <audio> and <video>
9009 * Plugins/WebPluginContainerPrivate.h:
9010 * Plugins/WebPluginController.mm:
9011 (mediaProxyClient): New, cast to HTMLMediaElement if it is a video or audio element
9012 (-[WebPluginController _setMediaPlayerProxy:forElement:]): New, pass proxy to HTMLMediaElement
9013 (-[WebPluginController _postMediaPlayerNotification:forElement:]): New, deliver event to HTMLMediaElement
9015 * WebCoreSupport/WebFrameLoaderClient.mm:
9016 (WebFrameLoaderClient::createPlugin): Don't allow a media player proxy plug-in to be chosen by
9017 file extension, only want a match for the new MIME type proxy plug-ins should have.
9019 2009-02-13 Anders Carlsson <andersca@apple.com>
9021 Reviewed by Kevin Decker.
9023 <rdar://problem/6584834> ESPN radio live stream link hangs Safari
9025 When a plug-in invokes JavaScript code that will destroy the plug-in, we need to
9026 defer destruction until we're done executing the script.
9028 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9029 (WebKit::PluginDestroyDeferrer::PluginDestroyDeferrer):
9030 (WebKit::PluginDestroyDeferrer::~PluginDestroyDeferrer):
9031 Add a simple RAII object for deferring destruction of the plug-in instance.
9035 (WKPCInvokeDefault):
9039 (WKPCRemoveProperty):
9042 Use the PluginDestroyDeferrer.
9044 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
9045 (WebKit::NetscapePluginInstanceProxy::pluginID):
9046 Assert that the plug-in ID is not 0 here.
9048 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9049 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
9050 Initialize the call depth.
9052 (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
9053 Set the plug-in ID to 0 to aid debugging.
9055 (WebKit::NetscapePluginInstanceProxy::willCallPluginFunction):
9056 Increment the call depth.
9058 (WebKit::NetscapePluginInstanceProxy::didCallPluginFunction):
9059 Decrement the call depth, if it's 0 and we should stop the plug-in, do so.
9061 (WebKit::NetscapePluginInstanceProxy::shouldStop):
9062 If we're called this with a non-zero call depth, set shouldStopSoon to true.
9064 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
9065 (-[WebHostedNetscapePluginView shouldStop]):
9068 2009-02-12 Brady Eidson <beidson@apple.com>
9070 Reviewed by Kevin Decker
9072 <rdar://problem/6582180> - Wrong HTTP method applied to history item.
9074 * WebCoreSupport/WebFrameLoaderClient.mm:
9075 (WebFrameLoaderClient::updateGlobalHistory): Check the original request, not any
9078 2009-02-12 Anders Carlsson <andersca@apple.com>
9080 Reviewed by Kevin Decker.
9082 <rdar://problem/6579412>
9083 REGRESSION (3.2.1-ToT): Crash in Silverlight viewing streaming lecture
9085 * Plugins/WebNetscapePluginView.h:
9086 * Plugins/WebNetscapePluginView.mm:
9087 (-[WebNetscapePluginView userAgent]):
9088 Apply workaround for Silverlight workaround.
9090 (-[WebNetscapePluginView _createPlugin]):
9091 Check if the plug-in that we're creating is the silverlight plug-in.
9093 2009-02-12 Brady Eidson <beidson@apple.com>
9095 Reviewed by Darin Adler
9097 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members.
9099 * History/WebBackForwardList.mm:
9100 (-[WebBackForwardList dealloc]): Null check before deref()'ing.
9101 (-[WebBackForwardList finalize]): Ditto.
9103 * Misc/WebIconFetcher.mm:
9104 (-[WebIconFetcher dealloc]): Null check before deref()'ing.
9105 (-[WebIconFetcher finalize]): Ditto.
9107 * WebCoreSupport/WebEditorClient.mm: Change to use RefPtr<> instead of ref()/deref().
9108 (-[WebEditCommand initWithEditCommand:]):
9109 (-[WebEditCommand dealloc]):
9110 (-[WebEditCommand finalize]):
9111 (-[WebEditCommand command]):
9113 * WebView/WebArchive.mm: Change to use RefPtr<> instead of ref()/deref().
9114 (-[WebArchivePrivate init]):
9115 (-[WebArchivePrivate initWithCoreArchive:]):
9116 (-[WebArchivePrivate coreArchive]):
9117 (-[WebArchivePrivate setCoreArchive:]):
9118 (-[WebArchivePrivate dealloc]):
9119 (-[WebArchivePrivate finalize]):
9121 * WebView/WebDataSource.mm:
9122 (-[WebDataSourcePrivate dealloc]): Null check before deref()'ing.
9123 (-[WebDataSourcePrivate finalize]): Ditto.
9125 2009-02-12 Brady Eidson <beidson@apple.com>
9127 Reviewed by Kevin Decker
9129 <rdar://problem/6579750> - Crash in WebArchivePrivate in Tiger TextEdit
9131 NSHTMLReader tries to create a WebArchive from a random chunk of data. Previously, WebArchive creation would
9132 fail and return nil and NSHTMLReader would try something else. When we changed the behavior to return an invalid
9133 WebArchive object, things started getting weird.
9135 * WebView/WebArchive.mm:
9136 (-[WebArchivePrivate setCoreArchive:]): Null check the pointer before calling ->deref()
9137 (-[WebArchivePrivate dealloc]): Remove the ASSERT which is now invalid, and null check the pointer before ->deref().
9138 (-[WebArchivePrivate finalize]): Ditto
9139 (-[WebArchive initWithData:]): If the LegacyWebArchive cannot be created, return nil instead of an invalid object.
9141 2009-02-11 Mark Rowe <mrowe@apple.com>
9145 * History/WebHistory.mm:
9146 (-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.
9148 2009-02-11 Brady Eidson <beidson@apple.com>
9150 Reviewed by Mark Rowe
9152 <rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative
9154 Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
9155 and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
9156 which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.
9158 * History/WebHistory.mm:
9159 (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls.
9160 (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded
9161 if an entry for the URL already exists. Use that mode when reading the History.plist so only the most
9162 recent entry for a given URL will be used.
9163 (-[WebHistoryPrivate addItems:]):
9164 (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
9166 2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>
9168 Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
9169 This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.
9171 Reviewed by Timothy Hatcher.
9173 * WebCoreSupport/WebInspectorClient.h:
9174 * WebCoreSupport/WebInspectorClient.mm:
9175 (WebInspectorClient::hiddenPanels):
9177 2009-02-11 Alexey Proskuryakov <ap@webkit.org>
9179 Reviewed by Darin Adler.
9181 <rdar://problem/6562920> Pasted text should be normalized to NFC
9183 * Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through
9184 -[NSString precomposedStringWithCanonicalMapping].
9186 * WebCoreSupport/WebPasteboardHelper.mm:
9187 (WebPasteboardHelper::plainTextFromPasteboard): Ditto.
9189 * WebView/WebHTMLView.mm:
9190 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
9191 Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be
9192 precomposed already, and the conversion is performed outside WebKit for those anyway.
9194 2009-02-10 John Sullivan <sullivan@apple.com>
9196 Reviewed by Dan Bernstein
9198 <https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
9199 Negative visit counts stored in History.plist aren't corrected.
9201 It's not clear how a huge negative visit count ended up in History.plist, but we can't
9202 trust data read from disk so we can at least reset this to something sane. WebCore has
9203 no guard against a visit count overflowing an int, but that seems very unlikely to have
9206 * History/WebHistoryItem.mm:
9207 (-[WebHistoryItem initFromDictionaryRepresentation:]):
9208 If a negative visit count is in the dictionary, replace it with 1. If a negative daily or
9209 weekly visit count is in the dictionary, replace it with 0.
9211 2009-02-10 John Sullivan <sullivan@apple.com>
9213 Reviewed by Dan Bernstein
9215 <https://bugs.webkit.org/show_bug.cgi?id=23891>
9216 [WebHistoryItem _setVisitCount:] is unused and should be removed
9218 * History/WebHistoryItem.mm:
9219 (-[WebHistoryItem _setVisitCount:]):
9220 removed this unused method, which is a synonym for setVisitCount: that was introduced
9221 recently and abandoned even more recently
9223 * History/WebHistoryItemInternal.h:
9224 removed declaration of _setVisitCount:
9226 2009-02-10 Anders Carlsson <andersca@apple.com>
9228 Reviewed by Mark Rowe.
9230 <rdar://problem/6573916>
9231 CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.
9233 * Plugins/Hosted/NetscapePluginHostManager.mm:
9234 (WebKit::NetscapePluginHostManager::instantiatePlugin):
9235 If we failed to instantiate the plug-in, invalidate the instance proxy.
9237 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
9238 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9239 (WebKit::NetscapePluginInstanceProxy::invalidate):
9240 Remove the instance from the plug-in host's set.
9242 (WebKit::NetscapePluginInstanceProxy::destroy):
9245 2009-02-09 Mark Rowe <mrowe@apple.com>
9247 Reviewed by Dan Bernstein.
9249 Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
9250 Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message
9252 * WebView/WebHTMLView.mm:
9253 (-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
9254 yet been initialized if this WebHTMLView was loaded from a nib.
9255 (-[WebHTMLView _removeSuperviewObservers]): Ditto.
9257 2009-02-09 Eric Seidel <eric@webkit.org>
9259 Reviewed by Dave Hyatt.
9261 Rename Selection to VisibleSelection to allow us to separate
9262 the selections the user works with from the ones used by
9263 the JS editing APIs.
9264 https://bugs.webkit.org/show_bug.cgi?id=23852
9266 * WebView/WebFrame.mm:
9267 (-[WebFrame _selectNSRange:]):
9268 * WebView/WebView.mm:
9269 (-[WebView textIteratorForRect:]):
9271 2009-02-06 Anders Carlsson <andersca@apple.com>
9273 Reviewed by Kevin Decker.
9275 Fix crash when plug-in host dies.
9277 * Plugins/Hosted/HostedNetscapePluginStream.mm:
9278 (WebKit::HostedNetscapePluginStream::didFail):
9280 2009-02-05 Eric Seidel <eric@webkit.org>
9282 Reviewed by Justin Garcia.
9284 DOMSelection.getRangeAt() returns a different range than the selection
9285 https://bugs.webkit.org/show_bug.cgi?id=23601
9287 Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range
9289 * WebView/WebFrame.mm:
9290 (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
9291 (-[WebFrame _markDOMRange]):
9292 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
9293 (-[WebFrame _selectedNSRange]):
9294 * WebView/WebHTMLView.mm:
9295 (-[WebHTMLView _selectedRange]):
9296 (-[WebTextCompleteController doCompletion]):
9297 (-[WebHTMLView selectedAttributedString]):
9298 * WebView/WebView.mm:
9299 (-[WebView textIteratorForRect:]):
9300 (-[WebView selectedDOMRange]):
9302 2009-02-06 Geoffrey Garen <ggaren@apple.com>
9304 Reviewed by Sam Weinig.
9306 Part III of <rdar://problem/6552272>.
9308 Refactored to use the redirect data WebCore makes available, instead of
9309 tracking loading state in WebKit.
9311 * History/WebHistory.mm:
9312 (-[WebHistoryPrivate dealloc]):
9313 (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
9314 (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
9315 * History/WebHistoryInternal.h:
9316 * WebCoreSupport/WebFrameLoaderClient.h:
9317 * WebCoreSupport/WebFrameLoaderClient.mm:
9318 (WebFrameLoaderClient::updateGlobalHistory):
9319 (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
9321 2009-02-06 Anders Carlsson <andersca@apple.com>
9323 Reviewed by Sam Weinig.
9325 <rdar://problem/6562220>
9326 CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port
9328 Make the handling of crashes in the plug-in host more robust.
9330 * Plugins/Hosted/NetscapePluginHostProxy.h:
9333 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9334 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
9335 Initialize m_portSet.
9337 (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
9340 (WebKit::NetscapePluginHostProxy::processRequests):
9341 Listen for messages on the port set. If we get a message to the port death notification port,
9342 then call pluginHostDied. Otherwise, process the message.
9344 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
9345 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9346 (WebKit::NetscapePluginInstanceProxy::cleanup):
9347 Factor code that should be shared between destroy() and pluginHostDied() into cleanup.
9349 (WebKit::NetscapePluginInstanceProxy::destroy):
9352 (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
9355 (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
9356 Call NetscapePluginHostProxy::processRequests.
9358 * Plugins/Hosted/ProxyInstance.mm:
9359 (WebKit::ProxyInstance::invalidate):
9360 Add a null check for the host proxy.
9362 2009-02-06 Dan Bernstein <mitz@apple.com>
9364 - try to fix the Tiger build
9366 * Misc/WebNSArrayExtras.h:
9368 2009-02-06 Anders Carlsson <andersca@apple.com>
9370 Reviewed by Dan Bernstein.
9372 <rdar://problem/6563650>
9373 Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)
9375 * Plugins/WebNetscapePluginView.mm:
9376 (-[WebNetscapePluginView loadStream]):
9377 (-[WebNetscapePluginView pluginView:receivedData:]):
9378 (-[WebNetscapePluginView _shouldCancelSrcStream]):
9380 2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>
9382 Reviewed by Dan Bernstein and Geoff Garen.
9384 - WebKit code to track per-day and per-week visit counts in history
9386 For now this data is only exposed via SPI for performance reasons.
9388 * History/WebHistoryItem.mm:
9389 (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support
9391 (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit.
9392 (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data.
9393 (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor.
9394 (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
9395 * History/WebHistoryItemInternal.h: Declare new methods.
9396 * History/WebHistoryItemPrivate.h: Ditto.
9398 * History/WebHistory.mm:
9399 (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use
9400 the new _recordInitialVisit method instead of setting visit count to 1.
9402 * Misc/WebNSArrayExtras.h:
9403 * Misc/WebNSArrayExtras.m:
9404 (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray
9405 (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
9407 2009-02-05 Aaron Boodman <aa@chromium.org>
9409 Reviewed by Dave Hyatt.
9411 https://bugs.webkit.org/show_bug.cgi?id=23708
9412 Adds documentElementAvailable() callback to FrameLoaderClient.
9414 * WebCoreSupport/WebFrameLoaderClient.h:
9415 Stub out documentElementAvailable().
9416 * WebCoreSupport/WebFrameLoaderClient.mm:
9419 2009-02-05 Dan Bernstein <mitz@apple.com>
9423 * WebView/WebScriptDebugger.mm:
9424 (WebScriptDebugger::initGlobalCallFrame):
9426 2009-02-05 Beth Dakin <bdakin@apple.com>
9428 Reviewed by John Sullivan and Brady Eidson.
9430 Fix for <rdar://problem/6557595> REGRESSION: In Mail, selecting a
9431 mail note message doesn't display it in Mail's preview pane
9433 This was failing because revision 36962 removed a version of
9434 setVerticalScrollingMode that mail calls. This patch simply adds
9437 * WebView/WebDynamicScrollBarsView.m:
9438 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]):
9440 2009-02-04 Anders Carlsson <andersca@apple.com>
9444 * WebView/WebScriptDebugger.mm:
9445 (WebScriptDebugger::initGlobalCallFrame):
9447 2009-02-04 Anders Carlsson <andersca@apple.com>
9449 Reviewed by Sam Weinig.
9451 Change PCHasProperty, PCHasMethod and PCGetProperty into simpleroutines.
9453 Rename PHEvaluateReply to PHBooleanAndDataReply and add PHBooleanReply.
9455 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9461 * Plugins/Hosted/WebKitPluginClient.defs:
9462 * Plugins/Hosted/WebKitPluginHost.defs:
9464 2009-02-04 Anders Carlsson <andersca@apple.com>
9466 Reviewed by Mark Rowe.
9470 * WebView/WebScriptDebugger.mm:
9471 (WebScriptDebugger::initGlobalCallFrame):
9473 2009-02-04 Geoffrey Garen <ggaren@apple.com>
9475 Reviewed by Mark Rowe.
9477 Part I of <rdar://problem/6552272>.
9479 Clear the redirectURLs entry when first visiting a site, so sites that
9480 only redirect you the first time you visit them can later learn that
9481 they don't redirect.
9483 * History/WebHistory.mm:
9484 (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
9486 2009-02-04 Timothy Hatcher <timothy@apple.com>
9488 Change the WebSourceId typedef from int to intptr_t now that <rdar://problem/6263297> is fixed.
9490 <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for sourceId, not int
9492 Reviewed by Oliver Hunt.
9494 * WebView/WebScriptDebugDelegate.h:
9496 2009-02-04 Timothy Hatcher <timothy@apple.com>
9498 Switched over from using the WebSafeForwarder for the Script Debug
9499 delegate and added high performance CallScriptDebugDelegate functions.
9501 <rdar://problem/6508457> Launching widget in Dashcode debugger is
9502 super-slow due forwardInvocation: calling debug delegate
9504 Reviewed by Oliver Hunt.
9506 * DefaultDelegates/WebDefaultScriptDebugDelegate.h: Removed.
9507 * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Removed.
9508 * WebView/WebScriptDebugger.mm:
9509 (WebScriptDebugger::initGlobalCallFrame): Use CallScriptDebugDelegate.
9510 (WebScriptDebugger::sourceParsed): Ditto.
9511 (WebScriptDebugger::callEvent): Ditto.
9512 (WebScriptDebugger::atStatement): Ditto.
9513 (WebScriptDebugger::returnEvent): Ditto.
9514 (WebScriptDebugger::exception): Ditto.
9515 * WebView/WebView.mm:
9516 (-[WebViewPrivate dealloc]): Removed scriptDebugDelegateForwarder.
9517 (-[WebView _cacheScriptDebugDelegateImplementations]): Added. Gets the
9518 method implementations for the script debug delegate. Also caches what
9519 didParseSource method to use.
9520 (WebViewGetScriptDebugDelegateImplementations): Added. Returns the
9521 WebScriptDebugDelegateImplementations structure.
9522 (-[WebView setScriptDebugDelegate:]): Call _cacheScriptDebugDelegateImplementations.
9523 (CallDelegate): Added more overloaded versions that take different arguments.
9524 (CallScriptDebugDelegate): Added overloaded versions that take different arguments.
9525 * WebView/WebViewInternal.h:
9527 2009-02-03 Simon Fraser <simon.fraser@apple.com>
9529 Reviewed by Dave Hyatt
9531 https://bugs.webkit.org/show_bug.cgi?id=23365
9533 Hook up accelerated compositing layers the native
9536 * WebCoreSupport/WebChromeClient.h:
9537 * WebCoreSupport/WebChromeClient.mm:
9538 (WebChromeClient::attachRootGraphicsLayer):
9539 (WebChromeClient::setNeedsOneShotDrawingSynchronization):
9540 New methods to hook up the root GraphicsLayer to the native
9541 view system, and to synchronize layer changes with view-based
9542 drawing when layers come and go.
9544 * WebView/WebHTMLView.mm:
9545 (-[WebHTMLViewPrivate clear]):
9546 Clear the pointer to layerHostingView.
9548 (-[WebHTMLView _setAsideSubviews]):
9549 (-[WebHTMLView willRemoveSubview:]):
9550 Keep the special layer-hosting view in the subviews even
9551 when the rest of the subviews are ripped out for
9554 (-[WebHTMLView _isUsingAcceleratedCompositing]):
9555 New utility method for DumpRenderTree to know if we're
9558 (-[WebHTMLView drawRect:]):
9559 Call -disableScreenUpdatesUntilFlush if we have to
9560 synchronize layer changes with painting.
9562 (-[WebHTMLView attachRootLayer:]):
9563 (-[WebHTMLView detachRootLayer]):
9564 Attach and detach the root GraphicsLayer.
9566 * WebView/WebViewInternal.h:
9567 * WebView/WebHTMLViewInternal.h:
9568 * WebView/WebHTMLViewPrivate.h:
9569 New method declarations.
9571 * WebView/WebView.mm:
9572 (-[WebView _needsOneShotDrawingSynchronization]):
9573 (-[WebView _setNeedsOneShotDrawingSynchronization:]):
9574 Set the flag to say if we need to synchronize layer
9575 changes and painting on the next -drawRect: call.
9577 (-[WebView viewWillMoveToWindow:]):
9578 (-[WebView viewDidMoveToWindow]):
9579 Call new notifications that the view was added to or removed from
9580 the window, which are required by the layer hosting mechanism.
9582 2009-02-02 Geoffrey Garen <ggaren@apple.com>
9586 * Plugins/WebPluginController.mm:
9587 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
9589 2009-02-02 Geoffrey Garen <ggaren@apple.com>
9591 Reviewed by Sam Weinig.
9593 Track redirects in global history.
9595 * History/WebHistory.mm:
9596 (-[WebHistoryPrivate dealloc]):
9597 (-[WebHistoryPrivate lastVisitedEntry]):
9598 (-[WebHistoryPrivate setLastVisitedEntry:]): Remember the last global history
9599 entry in case we're asked to add redirect information to it later.
9601 (-[WebHistory _visitedURL:withTitle:method:wasFailure:serverRedirectURL:isClientRedirect:]):
9602 (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]): Record redirect
9603 information in global history.
9605 * History/WebHistoryInternal.h:
9606 * WebCoreSupport/WebFrameLoaderClient.h: See above and below.
9608 * WebCoreSupport/WebFrameLoaderClient.mm:
9609 (WebFrameLoaderClient::updateGlobalHistory):
9610 (WebFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): Record redirect
9611 information in global history.
9613 * WebView/WebFrame.mm:
9614 (-[WebFrame loadRequest:]):
9615 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
9616 * WebView/WebFramePrivate.h: Updated for rename and extra parameter.
9618 2009-02-02 Anders Carlsson <andersca@apple.com>
9620 Reviewed by Dan Bernstein.
9622 Work around a limitation in MIG where two functions can't have the same name even if they're
9623 not in the same subsystem.
9625 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9626 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
9627 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9628 (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
9629 * Plugins/Hosted/WebKitPluginClient.defs:
9630 * Plugins/Hosted/WebKitPluginHost.defs:
9632 2009-02-02 Anders Carlsson <andersca@apple.com>
9634 Reviewed by Sam Weinig.
9636 Implement WKPCGetPluginElementObject.
9638 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9639 (WKPCGetPluginElementNPObject):
9640 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
9641 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9642 (WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
9643 * Plugins/Hosted/WebKitPluginClient.defs:
9644 * Plugins/WebBaseNetscapePluginView.h:
9645 * Plugins/WebBaseNetscapePluginView.mm:
9646 (-[WebBaseNetscapePluginView WebCore::]):
9648 2009-02-02 Anders Carlsson <andersca@apple.com>
9652 * WebView/WebHTMLView.mm:
9654 2009-02-02 Anders Carlsson <andersca@apple.com>
9656 Reviewed by Dan Bernstein.
9658 Make WebBaseNetscapePluginView hold a reference to a HTMLPlugInElement instead of a DOMElement.
9660 * Plugins/Hosted/WebHostedNetscapePluginView.h:
9661 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
9662 (-[WebHostedNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
9663 * Plugins/WebBaseNetscapePluginView.h:
9664 * Plugins/WebBaseNetscapePluginView.mm:
9665 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
9666 (-[WebBaseNetscapePluginView _windowClipRect]):
9667 (-[WebBaseNetscapePluginView visibleRect]):
9668 (-[WebBaseNetscapePluginView dataSource]):
9669 * Plugins/WebKitPluginContainerView.h: Removed.
9670 * Plugins/WebKitPluginContainerView.mm: Removed.
9671 * Plugins/WebNetscapePluginView.h:
9672 * Plugins/WebNetscapePluginView.mm:
9673 (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
9674 (-[WebNetscapePluginView getVariable:value:]):
9675 * WebCoreSupport/WebFrameLoaderClient.mm:
9676 (WebFrameLoaderClient::createPlugin):
9678 2009-02-02 Anders Carlsson <andersca@apple.com>
9680 Reviewed by Dan Bernstein.
9682 Update for changes to WebCore.
9684 * WebCoreSupport/WebFrameLoaderClient.h:
9685 * WebCoreSupport/WebFrameLoaderClient.mm:
9686 (WebFrameLoaderClient::createPlugin):
9688 2009-02-02 Anders Carlsson <andersca@apple.com>
9690 Reviewed by Oliver Hunt.
9692 When a new Web View was not created, report back to the plug-in host.
9694 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9695 (WebKit::NetscapePluginInstanceProxy::performRequest):
9696 * Plugins/Hosted/WebKitPluginHost.defs:
9698 2009-02-02 Anders Carlsson <andersca@apple.com>
9700 Reviewed by Kevin Decker.
9702 Draw the regular missing plug-in icon instead of a red rect when a plug-in has crashed.
9704 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
9705 (-[WebHostedNetscapePluginView drawRect:]):
9707 2009-02-02 Holger Hans Peter Freyther <zecke@selfish.org>
9709 Reviewed by Darin Adler.
9711 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView
9713 https://bugs.webkit.org/show_bug.cgi?id=23428
9715 FrameView::forceLayout could be killed but the comment might
9716 contain a value over the the plain FrameView::layout...
9718 Adjust the WebCore/WebKit consumers of these methods.
9720 * WebView/WebFrame.mm:
9721 (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
9722 * WebView/WebHTMLView.mm:
9723 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
9724 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
9726 2009-01-31 John Sullivan <sullivan@apple.com>
9728 https://bugs.webkit.org/show_bug.cgi?id=23665
9730 Cleaned up code to add/remove NSNotification observers, to avoid performance hit
9731 of calling removeObserver with unspecified notifications, or calling removeObserver
9732 multiple times for the same notification.
9734 Reviewed by Darin Adler
9736 * WebView/WebHTMLView.mm:
9737 added observingMouseMovedNotifications, observingSuperviewNotifications, and
9738 observingWindowNotifications as BOOL ivars of _private object
9739 (-[WebHTMLView _removeMouseMovedObserverUnconditionally]):
9740 moved to file-internal section of file, added leading underscore, now bails out
9741 if we aren't observing the relevant notifications, now records that we are no longer
9742 observing the relevant notifications
9743 (-[WebHTMLView _removeSuperviewObservers]):
9744 ditto, also stores [NSNoticationCenter defaultCenter] in local var to avoid objc dispatch
9745 (-[WebHTMLView _removeWindowObservers]):
9747 (-[WebHTMLView close]):
9748 replace general removeObserver: call with three specific calls for all the notifications
9749 that this class actually observes
9750 (-[WebHTMLView addMouseMovedObserver]):
9751 bail out if already observing relevant notifications, now records that we are observing
9752 the relevant notifications
9753 (-[WebHTMLView removeMouseMovedObserver]):
9754 updated for name change
9755 (-[WebHTMLView addSuperviewObservers]):
9756 bail out if already observing relevant notifications, now records that we are observing
9757 the relevant notifications; also stores [NSNoticationCenter defaultCenter] in local var
9758 to avoid objc dispatch
9759 (-[WebHTMLView addWindowObservers]):
9761 (-[WebHTMLView viewWillMoveToSuperview:]):
9762 updated for name change
9763 (-[WebHTMLView viewWillMoveToWindow:]):
9764 updated for name changes
9766 2009-01-31 Darin Adler <darin@apple.com>
9768 Reviewed by Mark Rowe.
9770 Fix code that assumes all command selectors end in colons.
9771 rdar://problem/6545874
9773 * WebView/WebHTMLView.mm:
9774 (commandNameForSelector): Don't assert, just return a null string, when
9775 the selector doesn't end in a colon.
9777 2009-01-30 Adam Barth <abarth@webkit.org>
9779 Reviewed by Sam Weinig.
9781 Add a pref to disable web security.
9783 * WebView/WebPreferenceKeysPrivate.h:
9784 * WebView/WebPreferencesPrivate.h:
9785 * WebView/WebPreferences.mm:
9786 (+[WebPreferences initialize]):
9787 (-[WebPreferences isWebSecurityEnabled]):
9788 (-[WebPreferences setWebSecurityEnabled:]):
9789 * WebView/WebView.mm:
9790 (-[WebView _preferencesChangedNotification:]):
9792 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
9794 Reviewed by Darin Adler.
9796 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler
9798 Carry out the move and catch up in two call sites.
9800 * WebView/WebHTMLView.mm:
9801 (-[WebHTMLView _frameOrBoundsChanged]):
9803 2009-01-30 Holger Hans Peter Freyther <zecke@selfish.org>
9805 Reviewed by Darin Adler.
9807 isFrameSet was moved from Frame to Document. Update the
9810 * WebView/WebFrame.mm:
9811 (-[WebFrame _isFrameSet]):
9812 * WebView/WebHTMLView.mm:
9813 (-[WebHTMLView knowsPageRange:]):
9815 2009-01-30 Geoffrey Garen <ggaren@apple.com>
9819 * WebView/WebFramePrivate.h:
9821 2009-01-30 Geoffrey Garen <ggaren@apple.com>
9823 Reviewed by Sam Weinig.
9825 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in
9826 preparation for setting them differently during a redirect.
9828 * WebView/WebPDFView.mm:
9829 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
9831 2009-01-30 Anders Carlsson <andersca@apple.com>
9833 Reviewed by Sam Weinig.
9835 Fix <rdar://problem/6544048>
9837 Have NetscapePluginInstanceProxy keep track of all the ProxyInstance objects associated.
9839 When the plug-in instance is destroyed, invalidate all proxy instances.
9841 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
9842 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
9843 (WebKit::NetscapePluginInstanceProxy::destroy):
9844 (WebKit::NetscapePluginInstanceProxy::addInstance):
9845 (WebKit::NetscapePluginInstanceProxy::removeInstance):
9846 * Plugins/Hosted/ProxyInstance.h:
9847 * Plugins/Hosted/ProxyInstance.mm:
9848 (WebKit::ProxyInstance::ProxyInstance):
9849 (WebKit::ProxyInstance::~ProxyInstance):
9850 (WebKit::ProxyInstance::invalidate):
9852 2009-01-30 Anders Carlsson <andersca@apple.com>
9854 Reviewed by Sam Weinig.
9856 Fix <rdar://problem/6490778>.
9858 Change the NPRuntime related functions to use IdentifierRep directly, and make sure to always
9859 validate IdentifierReps before dereferencing them.
9861 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9863 (WKPCGetStringIdentifier):
9864 (WKPCGetIntIdentifier):
9865 (identifierFromIdentifierRep):
9869 (WKPCRemoveProperty):
9872 (WKPCIdentifierInfo):
9874 2009-01-30 Brady Eidson <beidson@apple.com>
9876 Reviewed by Sam Weinig
9878 Remove FrameLoaderClient code that is now handled by FrameLoader itself
9880 * WebCoreSupport/WebFrameLoaderClient.mm:
9881 (WebFrameLoaderClient::frameLoadCompleted):
9883 2009-01-29 Stephanie Lewis <slewis@apple.com>
9887 Update the order files.
9891 2009-01-29 Sam Weinig <sam@webkit.org>
9893 Reviewed by Anders Carlsson.
9895 Second step in tracking the urls a HistoryItem was redirected through
9896 Add SPI to access the array of redirect urls associated with a HistoryItem.
9898 * History/WebHistoryItem.mm:
9899 (-[WebHistoryItem dictionaryRepresentation]):
9900 (-[WebHistoryItem _redirectURLs]):
9901 * History/WebHistoryItemPrivate.h:
9903 2009-01-29 Anders Carlsson <andersca@apple.com>
9905 Reviewed by Dan Bernstein.
9907 Always activate the plug-in host process if we're in "modal mode" and are being told to activate.
9909 * Plugins/Hosted/NetscapePluginHostProxy.h:
9910 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9911 (WebKit::NetscapePluginHostProxy::pluginHostDied):
9914 (WebKit::NetscapePluginHostProxy::applicationDidBecomeActive):
9915 If we're modal, we should always bring the plug-in host process to the front.
9917 (WebKit::NetscapePluginHostProxy::beginModal):
9918 Add an observer for the NSApplicationWillBecomeActiveNotification callback.
9920 (WebKit::NetscapePluginHostProxy::endModal):
9921 Remove the observer.
9923 2009-01-29 Sam Weinig <sam@webkit.org>
9925 Reviewed by Mark Rowe.
9927 First step in tracking the urls a HistoryItem was redirected through.
9929 * History/WebHistoryItem.mm:
9930 (-[WebHistoryItem initFromDictionaryRepresentation:]):
9931 (-[WebHistoryItem dictionaryRepresentation]):
9932 * Misc/WebNSDictionaryExtras.h:
9933 * Misc/WebNSDictionaryExtras.m:
9934 (-[NSDictionary _webkit_arrayForKey:]): Add helper.
9936 2009-01-29 Anders Carlsson <andersca@apple.com>
9938 Reviewed by Sam Weinig.
9940 Pass the PSN of the client to the host, and get the PSN of the host back when checking in.
9942 * Plugins/Hosted/NetscapePluginHostManager.h:
9943 * Plugins/Hosted/NetscapePluginHostManager.mm:
9944 (WebKit::NetscapePluginHostManager::hostForPackage):
9945 Get the current PSN and pass it to spawnPluginHost.
9947 (WebKit::NetscapePluginHostManager::spawnPluginHost):
9948 Pass the PSN to the "check in" function.
9950 * Plugins/Hosted/NetscapePluginHostProxy.h:
9951 * Plugins/Hosted/NetscapePluginHostProxy.mm:
9952 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
9954 (WebKit::NetscapePluginHostProxy::pluginHostDied):
9955 Fix a bug noticed by Julien Chaffraix. Call endModal if necessary.
9957 (WebKit::NetscapePluginHostProxy::beginModal):
9958 (WebKit::NetscapePluginHostProxy::endModal):
9959 (WebKit::NetscapePluginHostProxy::setModal):
9960 Split out the code that does all of the work into beginModal and endModal methods.
9962 * Plugins/Hosted/WebKitPluginHost.defs:
9963 * Plugins/WebNetscapePluginView.mm:
9964 (-[WebNetscapePluginView loadStream]):
9966 2009-01-29 David Kilzer <ddkilzer@apple.com>
9968 Remove semi-colons from the end of ObjC method implementations
9970 Rubber-stamped by Adam Roben.
9972 $ find WebKit -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \;
9974 * DefaultDelegates/WebDefaultUIDelegate.m:
9975 (-[WebDefaultUIDelegate webView:setResizable:]):
9976 (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
9977 (-[WebDefaultUIDelegate webView:dragSourceActionMaskForPoint:]):
9978 (-[WebDefaultUIDelegate webView:willPerformDragSourceAction:fromPoint:withPasteboard:]):
9979 * History/WebBackForwardList.mm:
9980 (-[WebBackForwardList addItem:]):
9981 (-[WebBackForwardList backListWithLimit:]):
9982 (-[WebBackForwardList forwardListWithLimit:]):
9983 * History/WebHistoryItem.mm:
9984 (-[WebHistoryItem alternateTitle]):
9985 (-[WebHistoryItem setViewState:]):
9986 * Misc/WebCoreStatistics.mm:
9987 (+[WebCoreStatistics garbageCollectJavaScriptObjectsOnAlternateThreadForDebugging:]):
9988 * Misc/WebKitNSStringExtras.m:
9989 (-[NSString _web_drawAtPoint:font:textColor:]):
9990 * Plugins/WebNetscapePluginView.mm:
9991 (-[WebNetscapePluginView setAttributeKeys:andValues:]):
9992 * WebCoreSupport/WebEditorClient.mm:
9993 (-[WebEditCommand command]):
9994 * WebView/WebFrame.mm:
9995 (-[WebFrame _getVisibleRect:]):
9996 * WebView/WebHTMLRepresentation.mm:
9997 (-[WebHTMLRepresentation _redirectDataToManualLoader:forPluginView:]):
9998 * WebView/WebHTMLView.mm:
9999 (-[WebHTMLView elementAtPoint:allowShadowContent:]):
10000 * WebView/WebPreferences.mm:
10001 (-[WebPreferences setAllowsAnimatedImages:]):
10002 (-[WebPreferences setAutosaves:]):
10003 (-[WebPreferences PDFDisplayMode]):
10004 * WebView/WebView.mm:
10005 (+[WebView _viewClass:andRepresentationClass:forMIMEType:]):
10006 (-[WebView _viewClass:andRepresentationClass:forMIMEType:]):
10007 (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
10008 (+[WebView _registerViewClass:representationClass:forURLScheme:]):
10009 (-[WebView _shouldChangeSelectedDOMRange:toDOMRange:affinity:stillSelecting:]):
10010 (-[WebView _insertNewlineInQuotedContent]):
10012 2009-01-28 Geoffrey Garen <ggaren@apple.com>
10014 Reviewed by Sam Weinig.
10016 Updated for WebCore rename.
10018 * WebView/WebView.mm:
10019 (-[WebView setCustomTextEncodingName:]):
10021 2009-01-28 David Kilzer <ddkilzer@apple.com>
10023 Add missing declaration for -[NSURL(WebNSURLExtras) _webkit_isFileURL]
10025 Reviewed by Dan Bernstein.
10027 * Misc/WebNSURLExtras.h:
10028 (-[NSURL(WebNSURLExtras) _webkit_isFileURL]): Added missing
10029 declaration after the implementation was added in r9258.
10031 2009-01-28 Sam Weinig <sam@webkit.org>
10033 Reviewed by Geoff Garen.
10035 Fix for <rdar://problem/6129678>
10036 REGRESSION (Safari 3-4): Local variable not accessible from Dashcode console or variables view
10038 * WebView/WebScriptDebugDelegate.mm:
10039 (-[WebScriptCallFrame scopeChain]): Wrap JSActivations in DebuggerActivations.
10041 2009-01-27 Anders Carlsson <andersca@apple.com>
10043 Reviewed by Oliver Hunt.
10045 Fix two bugs with Core Animation based plug-ins.
10047 1. The plug-in view was marked as opaque even though it's not.
10048 (This would leave garbage in the plug-in view).
10049 2. The plug-in layer needs to have autoresizing turned on.
10051 * Plugins/WebNetscapePluginView.mm:
10052 (-[WebNetscapePluginView setLayer:]):
10054 2009-01-27 Brady Eidson <beidson@apple.com>
10056 Reviewed by Dan Bernstein
10058 Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage
10060 * History/WebHistoryItem.mm:
10062 * WebCoreSupport/WebFrameLoaderClient.h:
10063 * WebCoreSupport/WebFrameLoaderClient.mm:
10064 (WebFrameLoaderClient::savePlatformDataToCachedFrame):
10065 (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
10068 2009-01-26 Anders Carlsson <andersca@apple.com>
10070 Reviewed by Dan Bernstein.
10072 Add the ability for plug-ins to make WebKit operate in "modal mode"
10074 * Plugins/Hosted/NetscapePluginHostProxy.h:
10075 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10076 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
10077 (WebKit::NetscapePluginHostProxy::pluginHostDied):
10078 If the plug-in crashes while we're modal, make sure to leave the modal mode.
10080 (WebKit::NetscapePluginHostProxy::setModal):
10082 * Plugins/Hosted/WebKitPluginClient.defs:
10084 2009-01-26 John Sullivan <sullivan@apple.com>
10086 fixed <rdar://problem/6530053> REGRESSION (Leopard): Shift-tab in http authentication window gets
10087 stuck in the Name field rather than cycling around
10089 Reviewed by Dan Bernstein
10091 * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib:
10092 * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
10093 The two static text fields and the last button all had their "next key view" outlets set to the
10094 name field, which caused shift-tab from the name field to do the wrong thing. Fixed by making each
10095 selectable view have exactly one "next key view" set to it.
10097 2009-01-26 Anders Carlsson <andersca@apple.com>
10099 Reviewed by Sam Weinig.
10101 Add the ability for a plug-in to show or hide the menu bar.
10103 * Plugins/Hosted/NetscapePluginHostProxy.h:
10104 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10105 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
10106 (WebKit::NetscapePluginHostProxy::pluginHostDied):
10107 (WebKit::NetscapePluginHostProxy::setMenuBarVisible):
10108 (WKPCSetMenuBarVisible):
10109 * Plugins/Hosted/WebKitPluginClient.defs:
10111 2009-01-26 Cameron Zwarich <cwzwarich@uwaterloo.ca>
10113 Reviewed by Gavin Barraclough.
10115 Bug 23552: Dashcode evaluator no longer works after making ExecStates actual call frames
10116 <https://bugs.webkit.org/show_bug.cgi?id=23552>
10117 <rdar://problem/6398839>
10119 Dashcode will crash when using the evaluator because it saves a global call
10120 frame, even after global code has finished executing, and then uses this as
10121 a launching pad to execute new JS in the evaluator. The fix is to detect
10122 when Dashcode is attempting to do this and execute code from a global call
10125 * ForwardingHeaders/runtime/Protect.h: Added.
10126 * WebView/WebScriptDebugDelegate.mm:
10127 (-[WebScriptCallFrame _initWithGlobalObject:debugger:caller:debuggerCallFrame:]):
10128 Added debugger, a WebScriptDebugger* argument.
10129 (-[WebScriptCallFrame evaluateWebScript:]): Detect when Dashcode is using
10130 a stale WebScriptCallFrame to execute new JS and evaluate it starting from
10131 the global object's global call frame instead.
10132 * WebView/WebScriptDebugger.h:
10133 (WebScriptDebugger::globalObject): Added.
10134 (WebScriptDebugger::globalCallFrame): Added.
10135 * WebView/WebScriptDebugger.mm:
10136 (WebScriptDebugger::WebScriptDebugger): Initialize m_globalObject.
10137 (WebScriptDebugger::initGlobalCallFrame): Created as a clone of callEvent
10138 so that the global call frame can be saved immediately after being created.
10139 (WebScriptDebugger::callEvent): Pass 'this' as the debugger argument of
10140 WebScriptCallFrame's _initWithGlobalObject method.
10142 2009-01-26 Anders Carlsson <andersca@apple.com>
10144 Reviewed by Oliver Hunt.
10146 Make WKPCInvoke a simpleroutine.
10148 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10150 * Plugins/Hosted/WebKitPluginClient.defs:
10152 2009-01-26 Anders Carlsson <andersca@apple.com>
10154 Reviewed by Sam Weinig.
10156 Implement using plug-in objects as constructors, and setting and getting properties from a plug-in object.
10158 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10159 (WKPCBooleanAndDataReply):
10160 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10161 (WebKit::NetscapePluginInstanceProxy::Reply::):
10162 (WebKit::NetscapePluginInstanceProxy::BooleanAndDataReply::BooleanAndDataReply):
10163 Rename NPObjectInvokeReply to BooleanAndDataReply.
10165 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10166 (WebKit::NetscapePluginInstanceProxy::addValueToArray):
10167 Fix a cut and paste error.
10169 (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
10172 * Plugins/Hosted/ProxyInstance.h:
10173 * Plugins/Hosted/ProxyInstance.mm:
10174 (WebKit::ProxyField::valueFromInstance):
10175 (WebKit::ProxyField::setValueToInstance):
10176 Call the ProxyInstance method.
10178 (WebKit::ProxyInstance::~ProxyInstance):
10179 Release the NPObject.
10181 (WebKit::ProxyInstance::supportsConstruct):
10182 Ask the plug-in host if an instance supports construct.
10184 (WebKit::ProxyInstance::fieldValue):
10185 (WebKit::ProxyInstance::setFieldValue):
10186 Call the plug-in host methods.
10188 * Plugins/Hosted/WebKitPluginHostTypes.h:
10189 Rename ObjectValueType to JSObjectValueType, and add NPObjectValueType.
10191 2009-01-26 Mark Rowe <mrowe@apple.com>
10195 Remove -Wformat=2 from the warning flags as newer versions of GCC emit
10196 warnings about non-literal format strings for uses of our UI_STRING macro.
10198 * Configurations/Base.xcconfig:
10200 2009-01-26 Mark Rowe <mrowe@apple.com>
10202 Rubber-stamped by Sam Weinig.
10204 Clean up after r40240.
10206 * Configurations/Base.xcconfig: Don't dead code strip in debug builds for now as it leads to link errors.
10207 * Plugins/Hosted/HostedNetscapePluginStream.mm: Revert change that is no longer needed now that WebKitPluginHost.defs
10208 is back in the build.
10210 2009-01-25 Darin Adler <darin@apple.com>
10212 * Plugins/Hosted/HostedNetscapePluginStream.mm: Added a missing extern "C".
10214 2009-01-25 Darin Adler <darin@apple.com>
10216 Discussed with Mark Rowe; not sure he reviewed it.
10218 * Configurations/Base.xcconfig: Add all the same warnings as in WebCore except for
10219 -Wcast-qual and -Wunused-parameter, which both need to be off at least for now.
10221 2009-01-25 Mark Rowe <mrowe@apple.com>
10223 Rubber-stamped by Dan Bernstein.
10225 Improve the consistency of settings in our .xcconfig files.
10227 * Configurations/Base.xcconfig: Only dead code strip the normal variant.
10228 Handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS.
10230 2009-01-25 Darin Adler <darin@apple.com>
10232 Reviewed by Sam Weinig.
10234 Bug 23522: use checked casts for render tree
10235 https://bugs.webkit.org/show_bug.cgi?id=23522
10237 Step one: RenderText.
10239 * WebView/WebRenderNode.mm:
10240 (copyRenderNode): Use toRenderText.
10242 2009-01-23 Brady Eidson <beidson@apple.com>
10244 Rubberstamped by Darin Adler
10246 Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role.
10248 * WebCoreSupport/WebCachedFramePlatformData.h: Copied from WebKit/mac/WebCoreSupport/WebCachedPagePlatformData.h.
10249 (WebCachedFramePlatformData::WebCachedFramePlatformData):
10250 * WebCoreSupport/WebCachedPagePlatformData.h: Removed.
10252 * WebCoreSupport/WebFrameLoaderClient.mm:
10253 (WebFrameLoaderClient::savePlatformDataToCachedPage):
10254 (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
10258 2009-01-23 Adele Peterson <adele@apple.com>
10262 Use new linesBoundingBox method instead of
10263 boundingBoxWidth and boundingBoxHeight for RenderText objects.
10265 * WebView/WebRenderNode.mm: (copyRenderNode):
10267 2009-01-23 Anders Carlsson <andersca@apple.com>
10271 * Plugins/Hosted/ProxyInstance.mm:
10272 (WebKit::proxyClass):
10274 2009-01-23 Anders Carlsson <andersca@apple.com>
10278 * Configurations/Base.xcconfig:
10280 2009-01-23 Anders Carlsson <andersca@apple.com>
10282 Reviewed by Sam Weinig.
10284 Turn on -Wmissing-prototypes and fix the resulting warnings.
10286 * Configurations/Base.xcconfig:
10287 * History/WebHistory.mm:
10288 (timeIntervalForBeginningOfDay):
10289 * History/WebHistoryItem.mm:
10290 (historyItemWrappers):
10291 * Misc/WebNSPasteboardExtras.mm:
10292 (imageFromElement):
10293 * WebView/WebFrame.mm:
10294 * WebView/WebScriptDebugger.mm:
10297 2009-01-22 Mark Rowe <mrowe@apple.com>
10299 Rubber-stamped by Anders Carlsson.
10301 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily.
10303 Current versions of Xcode only respect it for C and Objective-C files,
10304 and our code doesn't currently compile if it is applied to C++ and
10305 Objective-C++ files.
10307 * Configurations/Base.xcconfig:
10309 2009-01-22 Anders Carlsson <andersca@apple.com>
10311 Reviewed by Sam Weinig.
10313 Add support for Invoke and InvokeDefault. Clean up code.
10315 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10316 (WKPCBooleanReply):
10317 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10318 (WebKit::NetscapePluginInstanceProxy::Reply::):
10319 (WebKit::NetscapePluginInstanceProxy::BooleanReply::BooleanReply):
10320 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10321 (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
10322 * Plugins/Hosted/ProxyInstance.h:
10323 * Plugins/Hosted/ProxyInstance.mm:
10324 (WebKit::ProxyInstance::invoke):
10325 (WebKit::ProxyInstance::invokeMethod):
10326 (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
10327 (WebKit::ProxyInstance::invokeDefaultMethod):
10328 (WebKit::ProxyInstance::methodsNamed):
10329 (WebKit::ProxyInstance::fieldNamed):
10330 * Plugins/Hosted/WebKitPluginClient.defs:
10331 * Plugins/Hosted/WebKitPluginHost.defs:
10332 * Plugins/Hosted/WebKitPluginHostTypes.h:
10334 2009-01-22 Eric Roman <eroman@chromium.og>
10336 Reviewed by Eric Seidel.
10338 https://bugs.webkit.org/show_bug.cgi?id=20806
10339 Deprecate RSSFeedReferrer() and setRSSFeedReferrer().
10341 * History/WebHistoryItem.mm:
10342 (-[WebHistoryItem RSSFeedReferrer]):
10343 (-[WebHistoryItem setRSSFeedReferrer:]):
10345 2009-01-22 Anders Carlsson <andersca@apple.com>
10347 Reviewed by Kevin Decker.
10349 Don't crash or hang when we fail to instantiate a plug-in.
10351 * Plugins/Hosted/NetscapePluginHostManager.mm:
10352 (WebKit::NetscapePluginHostManager::instantiatePlugin):
10353 Return 0 on failure.
10355 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10356 (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
10357 Null check for the proxy member.
10359 2009-01-21 David Hyatt <hyatt@apple.com>
10361 Devirtualize width/height/x/y on RenderObject and move the methods to RenderBox.
10363 Reviewed by Eric Seidel and Darin Adler
10365 * WebView/WebRenderNode.mm:
10368 2009-01-21 Anders Carlsson <andersca@apple.com>
10370 Reviewed by Sam Weinig.
10372 More browser->plug-in scripting support.
10374 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10375 (WKPCNPObjectHasPropertyReply):
10376 (WKPCNPObjectHasMethodReply):
10377 (WKPCNPObjectInvokeReply):
10378 MIG reply functions.
10380 (WKPCIdentifierInfo):
10381 Return information about an identifier given its 64-bit value.
10383 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10384 Add new reply structs.
10386 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10387 (WebKit::NetscapePluginInstanceProxy::addValueToArray):
10388 Split out code that adds values to the arrays from marshalValue.
10390 (WebKit::NetscapePluginInstanceProxy::marshalValue):
10391 Call addValueToArray.
10393 (WebKit::NetscapePluginInstanceProxy::marshalValues):
10394 Marshal a list of values.
10396 (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
10397 Actually create a proxy instance.
10399 * Plugins/Hosted/ProxyInstance.h:
10400 * Plugins/Hosted/ProxyInstance.mm:
10401 (WebKit::ProxyClass::methodsNamed):
10402 (WebKit::ProxyClass::fieldNamed):
10403 Add a proxy ProxyClass class that just forwards everything to the ProxyInstance class.
10405 (WebKit::proxyClass):
10406 Shared proxyClass getter.
10408 (WebKit::ProxyField::ProxyField):
10409 (WebKit::ProxyField::valueFromInstance):
10410 (WebKit::ProxyField::setValueToInstance):
10411 Add a proxy ProxyField class that just forwards everything to the ProxyInstance class.
10413 (WebKit::ProxyMethod::ProxyMethod):
10414 (WebKit::ProxyMethod::serverIdentifier):
10415 (WebKit::ProxyMethod::numParameters):
10416 Add a dummy ProxyMethod class.
10418 (WebKit::ProxyInstance::invokeMethod):
10419 Call _WKPHNPObjectInvoke.
10421 (WebKit::ProxyInstance::defaultValue):
10422 (WebKit::ProxyInstance::stringValue):
10423 (WebKit::ProxyInstance::numberValue):
10424 (WebKit::ProxyInstance::booleanValue):
10425 (WebKit::ProxyInstance::valueOf):
10426 Add dummy implementations (taken from CInstance).
10428 (WebKit::ProxyInstance::methodsNamed):
10429 Call _WKPHNPObjectHasMethod to determine whether a method with the given name exists.
10431 (WebKit::ProxyInstance::fieldNamed):
10432 Call _WKPHNPObjectHasProperty to determine whether a property with the given name exists.
10434 * Plugins/Hosted/WebKitPluginClient.defs:
10435 * Plugins/Hosted/WebKitPluginHost.defs:
10436 Add new MIG definitions.
10438 2009-01-21 Mark Rowe <mrowe@apple.com>
10440 Reviewed by Tim Hatcher.
10442 Clean up how we force invocations of API that happened on background threads over to the main thread.
10444 This was previously accomplished in a somewhat ad-hoc manner using a mutable dictionary to pass arguments
10445 and return values back from the function. The new approach is to use a proxy object that forwards an
10446 NSInvocation over to the main thread and applies it to the target object, which leads to a much cleaner
10449 * Misc/WebNSObjectExtras.h:
10450 * Misc/WebNSObjectExtras.mm:
10451 (-[WebMainThreadInvoker initWithTarget:]):
10452 (-[WebMainThreadInvoker forwardInvocation:]):
10453 (-[WebMainThreadInvoker methodSignatureForSelector:]):
10454 (-[WebMainThreadInvoker handleException:]):
10455 (-[NSInvocation _webkit_invokeAndHandleException:]): Execute the invocation and forward any exception that was
10456 raised back to the WebMainThreadInvoker.
10457 (-[NSObject _webkit_invokeOnMainThread]):
10459 The following methods are updated to use the proxy object to forward methods to the main thread:
10461 * WebView/WebArchive.mm:
10462 (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
10463 (-[WebArchive mainResource]):
10464 (-[WebArchive subresources]):
10465 (-[WebArchive subframeArchives]):
10466 * WebView/WebResource.mm:
10467 (-[WebResource data]):
10468 (-[WebResource URL]):
10469 (-[WebResource MIMEType]):
10470 (-[WebResource textEncodingName]):
10471 (-[WebResource frameName]):
10472 (-[WebResource _ignoreWhenUnarchiving]):
10473 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
10474 (-[WebResource _initWithData:URL:response:]):
10475 (-[WebResource _suggestedFilename]):
10476 (-[WebResource _response]):
10477 (-[WebResource _stringValue]):
10478 * WebView/WebView.mm:
10479 (-[WebView initWithFrame:frameName:groupName:]):
10480 (-[WebView initWithCoder:]):
10482 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com>
10484 Reviewed by George Staikos.
10486 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 (Add WML <input> element support)
10488 Protect text field related WebEditorClient.mm methods against non-HTMLElement callers.
10489 WebEditorClient.mm relies on HTMLInputElement as input element. Ignore calls from non-HTMLElement elements.
10491 * WebCoreSupport/WebEditorClient.mm:
10492 (WebEditorClient::textFieldDidBeginEditing):
10493 (WebEditorClient::textFieldDidEndEditing):
10494 (WebEditorClient::textDidChangeInTextField):
10495 (WebEditorClient::doTextFieldCommandFromEvent):
10496 (WebEditorClient::textWillBeDeletedInTextField):
10497 (WebEditorClient::textDidChangeInTextArea):
10499 2009-01-19 Anders Carlsson <andersca@apple.com>
10501 Reviewed by Sam Weinig.
10503 Add and implement GetScriptableNPObject.
10505 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10506 (WKPCGetScriptableNPObjectReply):
10507 Create a new reply struct and set it as the current reply.
10510 Get rid of an unused variable.
10512 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10513 (WebKit::NetscapePluginInstanceProxy::Reply::):
10514 (WebKit::NetscapePluginInstanceProxy::GetScriptableNPObjectReply::GetScriptableNPObjectReply):
10515 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10516 (WebKit::NetscapePluginInstanceProxy::createBindingsInstance):
10517 Call _WKPHGetScriptableNPObject and wait for a reply.
10519 * Plugins/Hosted/ProxyInstance.h: Added.
10520 * Plugins/Hosted/ProxyInstance.mm: Added.
10523 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
10524 (-[WebHostedNetscapePluginView JSC::Bindings::createPluginBindingsInstance:JSC::Bindings::]):
10525 Call NetscapePluginInstanceProxy::createBindingsInstance.
10527 * Plugins/Hosted/WebKitPluginClient.defs:
10528 * Plugins/Hosted/WebKitPluginHost.defs:
10529 Add new declarations.
10531 2009-01-19 Sam Weinig <sam@webkit.org>
10533 Rubber-stamped by Gavin Barraclough.
10535 Remove temporary operator-> from JSValuePtr.
10537 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10538 (WebKit::NetscapePluginInstanceProxy::invoke):
10539 (WebKit::NetscapePluginInstanceProxy::hasMethod):
10540 (WebKit::NetscapePluginInstanceProxy::marshalValue):
10541 * WebView/WebFrame.mm:
10542 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
10543 * WebView/WebView.mm:
10544 (aeDescFromJSValue):
10546 2009-01-19 Anders Carlsson <andersca@apple.com>
10548 Reviewed by Sam Weinig.
10550 Make Evaluate an asynchronous method that has a reply method.
10552 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10554 * Plugins/Hosted/WebKitPluginClient.defs:
10555 * Plugins/Hosted/WebKitPluginHost.defs:
10557 2009-01-19 Brady Eidson <beidson@apple.com>
10559 Rubberstamped by Tim Hatcher
10561 Fix long standing typo.
10563 * History/WebBackForwardList.h:
10565 2009-01-19 Mark Rowe <mrowe@apple.com>
10569 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10570 (WebKit::NetscapePluginInstanceProxy::demarshalValue):
10571 (WebKit::NetscapePluginInstanceProxy::demarshalValues):
10573 2009-01-18 Mark Rowe <mrowe@apple.com>
10575 Reviewed by Anders Carlsson.
10577 Fix <https://bugs.webkit.org/show_bug.cgi?id=23414>.
10578 Bug 23414: Reproducible crash accessing View menu with plugins disabled
10580 * WebView/WebFrame.mm:
10581 (-[WebFrame _canProvideDocumentSource]): Null-check the PluginData before using it.
10583 2009-01-17 David Hyatt <hyatt@apple.com>
10585 Eliminate dependencies on "backslashAsCurrencySymbol()" from WebKit, and make sure these alterations
10586 are done in WebCore instead.
10588 Reviewed by Oliver Hunt
10590 * WebView/WebFrame.mm:
10591 (-[WebFrame _selectedString]):
10592 (-[WebFrame _stringForRange:]):
10594 2009-01-17 Eric Carlson <eric.carlson@apple.com>
10596 Reviewed by Adele Peterson
10598 Complete <rdar://problem/6293969>
10600 * WebCoreSupport/WebSystemInterface.m:
10601 (InitWebCoreSystemInterface): Remove UseSharedMediaUI
10603 2009-01-15 Brady Eidson <beidson@apple.com>
10605 Reviewed by Dan Bernstein
10607 Fix problem where a URL visited as non-GET once is flagged as non-GET forever.
10609 * History/WebHistory.mm:
10610 (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): Always update the HTTPNonGet
10611 flag for all loads with an HTTP Method
10613 2009-01-14 Anders Carlsson <andersca@apple.com>
10615 Reviewed by Sam Weinig.
10617 Implement InvokeDefault, Construct, GetProperty and SetProperty.
10619 Fully implement marshalValue.
10621 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10622 (WKPCInvokeDefault):
10626 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10627 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10628 (WebKit::NetscapePluginInstanceProxy::evaluate):
10629 (WebKit::NetscapePluginInstanceProxy::invoke):
10630 (WebKit::NetscapePluginInstanceProxy::invokeDefault):
10631 (WebKit::NetscapePluginInstanceProxy::construct):
10632 (WebKit::NetscapePluginInstanceProxy::getProperty):
10633 (WebKit::NetscapePluginInstanceProxy::setProperty):
10634 (WebKit::NetscapePluginInstanceProxy::marshalValue):
10635 (WebKit::NetscapePluginInstanceProxy::demarshalValue):
10636 * Plugins/Hosted/WebKitPluginClient.defs:
10638 2009-01-14 Anders Carlsson <andersca@apple.com>
10640 Reviewed by Sam Weinig.
10642 Demarshal arguments and pass them to the JS call.
10644 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10646 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10647 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10648 (WebKit::NetscapePluginInstanceProxy::invoke):
10649 (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
10650 (WebKit::NetscapePluginInstanceProxy::demarshalValues):
10652 2009-01-14 Mark Rowe <mrowe@apple.com>
10654 Reviewed by Timothy Hatcher.
10656 <rdar://problem/6496520> REGRESSION: In Mail, a crash occurs when attempting to display a mail message
10658 Move WebArchive and WebResource to use the same approach for initializing themselves on the main thread
10661 * WebView/WebArchive.mm:
10662 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Use _webkit_performSelectorOnMainThread:withObject:.
10663 (-[WebArchive _initWithArguments:]):
10664 * WebView/WebResource.mm:
10665 (-[WebResource _initWithArguments:]): Unbox the BOOL argument.
10667 2009-01-14 Darin Adler <darin@apple.com>
10669 Reviewed by Oliver Hunt.
10671 Fix crash I ran into while printing. I was unable to reproduce it, but also,
10672 it's clear there's no guarantee that the frame will be non-zero in this case,
10673 so it seems fine to check it.
10675 * WebView/WebHTMLView.mm: (-[WebHTMLView reapplyStyles]): Check frame for zero
10676 and don't do anything with it if it's zero.
10678 2009-01-14 Dan Bernstein <mitz@apple.com>
10680 Reviewed by John Sullivan.
10686 2009-01-12 Anders Carlsson <andersca@apple.com>
10688 Reviewed by Darin Adler.
10690 Add a bunch of methods to WebKitPluginClient.defs, and implement them.
10692 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10693 (WebKit::fromUTF8WithLatin1Fallback):
10694 If the length isn't specified, get it by calling strlen.
10697 Evaluate doesn't take any arguments.
10699 (WKPCGetIntIdentifier):
10700 Call _NPN_GetIntIdentifier.
10702 (identifierFromServerIdentifier):
10703 New helper function that returns a JSC Identifier from an NPIdentifier.
10706 Call identifierFromServerIdentifier.
10708 (WKPCRemoveProperty):
10711 Call NetscapePluginInstanceProxy.
10713 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10714 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10715 (WebKit::NetscapePluginInstanceProxy::removeProperty):
10716 (WebKit::NetscapePluginInstanceProxy::hasProperty):
10717 (WebKit::NetscapePluginInstanceProxy::hasMethod):
10719 * Plugins/Hosted/WebKitPluginClient.defs:
10720 Add new definitions.
10722 2009-01-13 Anders Carlsson <andersca@apple.com>
10726 * WebView/WebView.mm:
10727 (-[WebView _initWithArguments:]):
10729 2009-01-13 Timothy Hatcher <timothy@apple.com>
10731 Adds a workaround for the flip4mac installer plugin decoding a WebView from a NIB on a secondary thread.
10733 <rdar://problem/6489788> New WebKit thread checks break installation of flip4mac (thread violation)
10735 Reviewed by Darin Adler.
10737 * Misc/WebKitVersionChecks.h: Add WEBKIT_FIRST_VERSION_WITHOUT_WEBVIEW_INIT_THREAD_WORKAROUND.
10738 * Misc/WebNSObjectExtras.h: Add _webkit_performSelectorOnMainThread:withObject:.
10739 * Misc/WebNSObjectExtras.mm:
10740 (-[NSObject _webkit_performSelectorWithArguments:]): Renamed from _webkit_getPropertyWithArguments.
10741 Passes the optional object to the selector.
10742 (-[NSObject _webkit_performSelectorOnMainThread:withObject:]): Renamed from _webkit_getPropertyOnMainThread:.
10743 Put the optional object into the arguments dictionary.
10744 (-[NSObject _webkit_getPropertyOnMainThread:]): Call _webkit_performSelectorOnMainThread with a nil object.
10745 * WebView/WebResource.mm:
10746 (-[WebResource _ignoreWhenUnarchiving]): Use _cmd instead of making the selector again.
10747 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]): Use the new
10748 _webkit_performSelectorOnMainThread:withObject: method instead of performSelectorOnMainThread.
10749 * WebView/WebView.mm:
10750 (-[WebView _initWithArguments:]): Added. Pulls arguments out of the dictionary and calls the right init method.
10751 (needsWebViewInitThreadWorkaround): Checks if the thead is not the main thread and if we are in the Installer bundle.
10752 (-[WebView initWithFrame:frameName:groupName:]): Call needsWebViewInitThreadWorkaround and use _webkit_performSelectorOnMainThread
10753 to call _initWithArguments: passing the frame, frameName and groupName.
10754 (-[WebView initWithCoder:]): Ditto, except pass the coder to _initWithArguments:.
10756 2009-01-12 Gavin Barraclough <barraclough@apple.com>
10758 Reviewed by Oliver Hunt.
10760 Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough.
10762 * WebView/WebView.mm:
10763 (aeDescFromJSValue):
10765 2009-01-12 Brady Eidson <beidson@apple.com>
10767 Reviewed by Darin Adler
10769 <rdar://problem/6468274> - Track Non-get requests in global history
10771 * History/WebHistory.mm:
10772 (-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
10773 * History/WebHistoryInternal.h:
10775 * History/WebHistoryItem.mm:
10776 (-[WebHistoryItem initFromDictionaryRepresentation:]):
10777 (-[WebHistoryItem dictionaryRepresentation]):
10778 (-[WebHistoryItem _lastVisitWasHTTPNonGet]):
10779 * History/WebHistoryItemPrivate.h:
10781 * WebCoreSupport/WebFrameLoaderClient.mm:
10782 (WebFrameLoaderClient::updateGlobalHistory): Only pass the method through if it was an HTTP load
10784 2009-01-12 Anders Carlsson <andersca@apple.com>
10786 Reviewed by Sam Weinig.
10788 Move marshalling into NetscapePluginInstanceProxy.
10790 Add support for marshallin strings.
10792 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10795 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10796 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10797 (WebKit::NetscapePluginInstanceProxy::evaluate):
10798 (WebKit::NetscapePluginInstanceProxy::invoke):
10799 (WebKit::NetscapePluginInstanceProxy::marshalValue):
10800 * Plugins/Hosted/WebKitPluginHostTypes.h:
10802 2009-01-12 Anders Carlsson <andersca@apple.com>
10804 Reviewed by Sam Weinig.
10806 Implement WKPCInvoke.
10808 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10811 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10812 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10813 (WebKit::NetscapePluginInstanceProxy::idForObject):
10814 (WebKit::NetscapePluginInstanceProxy::invoke):
10815 * Plugins/Hosted/WebKitPluginClient.defs:
10817 2009-01-12 Anders Carlsson <andersca@apple.com>
10819 Reviewed by Sam Weinig.
10821 Move marshalling code to NetscapePluginInstanceProxy. Add support for marshalling JS objects.
10823 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10825 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10826 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10827 (WebKit::NetscapePluginInstanceProxy::marshalValue):
10828 * Plugins/Hosted/WebKitPluginHostTypes.h:
10830 2009-01-12 Julien Chaffraix <jchaffraix@pleyo.com>
10832 Reviewed by Darin Adler.
10834 Bug 22861: Turn the FontCache into a singleton
10835 https://bugs.webkit.org/show_bug.cgi?id=22861
10837 * Misc/WebCoreStatistics.mm:
10838 (+[WebCoreStatistics cachedFontDataCount]):
10839 (+[WebCoreStatistics cachedFontDataInactiveCount]):
10840 (+[WebCoreStatistics purgeInactiveFontData]):
10841 Redirected all the static calls to the global FontCache
10844 2009-01-11 Dmitry Titov <dimich@chromium.org>
10846 Reviewed by Darin Adler.
10848 https://bugs.webkit.org/show_bug.cgi?id=23207
10849 Moved currentTime() to from WebCore to WTF.
10851 * WebView/WebFrame.mm: a different header file included.
10853 2009-01-10 Darin Adler <darin@apple.com>
10855 Reviewed by Sam Weinig.
10857 <rdar://problem/5845089> REGRESSION (r30044): Mail custom stationery missing images
10858 because of change to -[HTMLObjectElement data]
10860 * WebView/WebView.mm:
10861 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]): Added a thread
10862 violation check because I saw this being done off the main thread while testing Mail, and it
10863 caused problems. Put all the one time initialization under a single guard to make things just
10864 a little faster other times, and to make it clearer which things are one-time. Added a call to
10865 the new patchMailRemoveAttributesMethod function.
10866 (-[WebView initWithFrame:frameName:groupName:]): Added a thread violation check here too,
10867 because I assumed it would be slightly better to have a public method name in the violation
10868 message. This calls commonInitialization later, so it will hit that one eventually.
10869 (objectElementDataAttribute): Added. Just returns the value of the "data" attribute.
10870 (recursivelyRemoveMailAttributes): Added. Patch to an internal Mail method that in turn patches
10871 a WebKit method and removes the patch again on the way out.
10872 (patchMailRemoveAttributesMethod): Added. On Leopard only, checks the Mail version, and then
10873 applies the patch that fixes this bug.
10875 2009-01-09 Dan Bernstein <mitz@apple.com>
10877 Reviewed by Darin Adler.
10879 - fixed <rdar://problem/6234347> Add/change conditional key
10880 bindings for changing paragraph- and character-level writing
10881 direction (to match NSTextView)
10883 * WebView/WebHTMLView.mm:
10884 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Added
10885 code to validate makeBaseWritingDirectionLeftToRight: and
10886 makeBaseWritingDirectionRightToLeft:.
10887 (writingDirectionKeyBindingsEnabled): Changed this function to
10888 always return YES, except on Tiger and Leopard.
10889 (-[WebHTMLView makeBaseWritingDirectionLeftToRight:]): Renamed
10890 changeBaseWritingDirectionToLTR: to this.
10891 (-[WebHTMLView makeBaseWritingDirectionRightToLeft:]): Renamed
10892 changeBaseWritingDirectionToRTL: to this.
10893 (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Now calls
10894 makeBaseWritingDirectionLeftToRight:.
10895 (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Now calls
10896 makeBaseWritingDirectionRightToLeft:.
10897 * WebView/WebView.mm: Added makeBaseWritingDirectionLeftToRight
10898 and makeBaseWritingDirectionRightToLeft to
10899 FOR_EACH_RESPONDER_SELECTOR.
10901 2009-01-08 Anders Carlsson <andersca@apple.com>
10903 Reviewed by Sam Weinig.
10905 Add and implement WKPCGetStringIdentifier.
10907 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10908 (WKPCGetStringIdentifier):
10909 * Plugins/Hosted/WebKitPluginClient.defs:
10911 2009-01-08 Stephanie Lewis <slewis@gmail.com>
10915 * WebView/WebTextIterator.mm:
10917 2009-01-08 Anders Carlsson <andersca@apple.com>
10919 Reviewed by Sam Weinig.
10921 Add basic support for evaluating scripts.
10923 * Plugins/Hosted/NetscapePluginHostProxy.mm:
10924 (WebKit::fromUTF8WithLatin1Fallback):
10925 (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
10926 (WKPCReleaseObject):
10929 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10930 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10931 (WebKit::NetscapePluginInstanceProxy::releaseObject):
10932 (WebKit::NetscapePluginInstanceProxy::evaluate):
10933 * Plugins/Hosted/WebKitPluginClient.defs:
10934 * Plugins/Hosted/WebKitPluginHostTypes.h:
10936 2009-01-08 David Hyatt <hyatt@apple.com>
10938 Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll
10940 Add a new ChromeClient method for handling exposure of scrolled rects.
10942 Reviewed by Oliver Hunt
10944 * WebCoreSupport/WebChromeClient.h:
10945 * WebCoreSupport/WebChromeClient.mm:
10946 (WebChromeClient::scrollRectIntoView):
10948 2009-01-08 Darin Adler <darin@apple.com>
10950 Reviewed by Tim Hatcher.
10952 Bug 23185: add a currentRange method to the WebTextIterator SPI
10953 https://bugs.webkit.org/show_bug.cgi?id=23185
10954 rdar://problem/6455834
10956 I also noticed a garbage-collection-related threading issue that I fixed, and
10957 that the SPI for getting text was unnecessarily inefficient, so I fixed that too.
10959 * WebView/WebTextIterator.h: Moved currentNode and currentText into a "deprecated"
10960 category. Added currentTextPointer and currentTextLength.
10962 * WebView/WebTextIterator.mm: Changed m_textIterator into an OwnPtr, and also
10963 used _textIterator to be consistent with ObjC rather than C++ naming.
10964 (+[WebTextIteratorPrivate initialize]): Added. Calls WebCoreObjCFinalizeOnMainThread,
10965 since the finalize method here works with main-thread only WebCore objects.
10966 (-[WebTextIterator initWithRange:]): Changed since _textIterator is an OwnPtr now.
10967 (-[WebTextIterator advance]): Changed name of m_textIterator. Removed null assertion,
10968 since I don't think it provides much value.
10969 (-[WebTextIterator atEnd]): Ditto.
10970 (-[WebTextIterator currentRange]): Added.
10971 (-[WebTextIterator currentTextPointer]): Added.
10972 (-[WebTextIterator currentTextLength]): Added.
10973 (-[WebTextIterator currentNode]): Did same as above, but also put into new category.
10974 (-[WebTextIterator currentText]): Ditto.
10976 2009-01-08 Eric Carlson <eric.carlson@apple.com>
10978 Reviewed by Adele Peterson.
10980 Simplify Mac interfaces for drawing media controller elements
10982 <rdar://problem/6293969>
10984 * WebCoreSupport/WebSystemInterface.m:
10985 (InitWebCoreSystemInterface): Update for changes to media controller functions
10987 2009-01-07 Anders Carlsson <andersca@apple.com>
10989 Reviewed by Dan Bernstein.
10993 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
10994 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
10995 (WebKit::NetscapePluginInstanceProxy::idForObject):
10997 2009-01-07 Anders Carlsson <andersca@apple.com>
10999 Reviewed by Dan Bernstein.
11001 Add a way for a plug-in to get a reference to the Window JS object.
11003 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11004 (WKPCGetWindowNPObject):
11005 Call the appropriate instance.
11007 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11008 Add object ID counter.
11010 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11011 (WebKit::NetscapePluginInstanceProxy::destroy):
11012 Clear the object ID map.
11014 (WebKit::NetscapePluginInstanceProxy::idForObject):
11015 New method that returns a unique ID for a given JS object.
11017 (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
11018 Return the object ID for the window JS object.
11020 * Plugins/Hosted/WebKitPluginClient.defs:
11021 Add GetWindowNPObject.
11023 2009-01-07 Darin Adler <darin@apple.com>
11025 Reviewed by Oliver Hunt.
11027 Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed
11028 https://bugs.webkit.org/show_bug.cgi?id=23160
11030 * WebView/WebView.mm:
11031 (-[WebView setMemoryCacheDelegateCallsEnabled:]): Added.
11032 (-[WebView areMemoryCacheDelegateCallsEnabled]): Added
11033 * WebView/WebViewPrivate.h: Ditto.
11035 2009-01-05 Gavin Barraclough <baraclough@apple.com>
11037 Rubber Stamped by Oliver Hunt.
11039 Replace all uses of JSValue* with new wrapper class, JSValuePtr.
11040 See JavaScriptCore/ChangeLog for more detailed description.
11042 * WebView/WebFrame.mm:
11043 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
11044 * WebView/WebScriptDebugDelegate.mm:
11045 (-[WebScriptCallFrame _convertValueToObjcValue:]):
11046 (-[WebScriptCallFrame exception]):
11047 (-[WebScriptCallFrame evaluateWebScript:]):
11048 * WebView/WebView.mm:
11049 (aeDescFromJSValue):
11050 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
11052 2009-01-06 Pierre-Olivier Latour <pol@apple.com>
11054 Reviewed by Darin Adler.
11056 Exposed through WebFrame private interface the new WebCore API AnimationController::numberOfActiveAnimations() to be used by DRT.
11058 https://bugs.webkit.org/show_bug.cgi?id=23126
11060 * WebView/WebFrame.mm:
11061 (-[WebFrame _numberOfActiveAnimations]):
11062 * WebView/WebFramePrivate.h:
11064 2009-01-05 David Kilzer <ddkilzer@apple.com>
11066 Add SPI to enable, disable and check state of WebIconDatabase
11068 Reviewed by Darin Adler & Timothy Hatcher.
11070 Add -[WebIconDatabase isEnabled] and -[WebIconDatabase setEnabled:]
11071 SPI to make it possible to enable, disable and check the state of
11074 * Misc/WebIconDatabase.mm:
11075 (-[WebIconDatabase init]): Extracted code into -_startUpIconDatabase.
11076 (-[WebIconDatabase iconForURL:withSize:cache:]): Switched to use
11077 -isEnabled instead of -_isEnabled.
11078 (-[WebIconDatabase iconURLForURL:]): Ditto.
11079 (-[WebIconDatabase retainIconForURL:]): Ditto.
11080 (-[WebIconDatabase releaseIconForURL:]): Ditto.
11081 (-[WebIconDatabase isEnabled]): Renamed from -_isEnabled in
11082 WebInternal category.
11083 (-[WebIconDatabase setEnabled:]): Added. Takes care of changing
11084 the enabled/disabled state of the icon database.
11085 (-[WebIconDatabase removeAllIcons]): Switched to use -isEnabled
11086 instead of -_isEnabled.
11087 (-[WebIconDatabase _startUpIconDatabase]): Added. Extrated from
11089 (-[WebIconDatabase _shutDownIconDatabase]): Added. Remove
11090 observers when the icon database is disabled.
11091 * Misc/WebIconDatabaseInternal.h: Added declarations for
11092 -_startUpIconDatabase and -_shutDownIconDatabase.
11093 * Misc/WebIconDatabasePrivate.h: Added declarations for
11094 -isEnabled and -setEnabled:.
11096 2009-01-05 Brady Eidson <beidson@apple.com>
11098 Reviewed by Jon Honeycutt
11100 Expose setting the last-visit-was-failure flag on a history items in preparation for <rdar://problem/6173319>
11102 * History/WebHistoryItem.mm:
11103 (-[WebHistoryItem _setLastVisitWasFailure:]):
11104 * History/WebHistoryItemPrivate.h:
11106 2009-01-05 Adam Treat <adam.treat@torchmobile.com>
11108 Another blind mac build fix
11110 * WebCoreSupport/WebChromeClient.mm:
11111 (WebChromeClient::contentsSizeChanged):
11113 2009-01-05 Adam Treat <adam.treat@torchmobile.com>
11115 Blind mac build fix
11117 * WebCoreSupport/WebChromeClient.mm:
11119 2009-01-05 Adam Treat <adam.treat@torchmobile.com>
11123 * WebCoreSupport/WebChromeClient.h:
11125 2009-01-05 Adam Treat <adam.treat@torchmobile.com>
11127 Reviewed by George Staikos.
11129 Build fix for contentsSizeChanged
11131 * WebCoreSupport/WebChromeClient.h:
11132 * WebCoreSupport/WebChromeClient.mm:
11133 (WebChromeClient::contentsSizeChanged):
11135 2009-01-02 Darin Adler <darin@apple.com>
11137 Reviewed by Sam Weinig.
11139 Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears
11140 inside its web view when resizing its window
11141 https://bugs.webkit.org/show_bug.cgi?id=23072
11142 rdar://problem/6368028
11144 The first attempt at fixing this did not work.
11145 This time I was able to reproduce the bug and test the fix.
11147 * WebCoreSupport/WebFrameLoaderClient.mm:
11148 (applyAppleDictionaryApplicationQuirkNonInlinePart): Changed the arguments and
11149 function names around a bit to make even less code at the call site.
11150 (applyAppleDictionaryApplicationQuirk): Put the check for whether this is the
11151 Dictionary application in here.
11152 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache): Put a call to
11153 applyAppleDictionaryApplicationQuirk here. This was a case I had missed before,
11154 when the script is cached. This fixes one of the two problems with the initial
11155 patch; the other fix is in WebCore.
11156 (WebFrameLoaderClient::dispatchWillSendRequest): Changed the
11157 applyAppleDictionaryApplicationQuirk call here to work the new simpler way.
11159 * WebView/WebView.mm: Had to add an include due to changes in WebCore header includes.
11161 2009-01-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
11163 Reviewed by Darin Adler.
11165 Bug 23060: REGRESSION (r38629): Cannot scroll a WebHTMLView using Home/End/Page up/Page down
11166 <https://bugs.webkit.org/show_bug.cgi?id=23060>
11167 <rdar://problem/6467830>
11169 After r38629, all keyboard events get sent by Editor to the EditorClient, even
11170 if the selection is not editable. If the event's command is unsupported by
11171 WebHTMLView, WebHTMLView mistakenly thinks that the event was handled when it
11172 was not. When using the page up / page down keys, the events generated are of
11173 the form scrollPageUp rather than movePageUp, so they are unsupported by
11174 WebHTMLView and cause this bug to occur.
11176 * WebView/WebHTMLView.mm:
11177 (-[WebHTMLView doCommandBySelector:]):
11179 2009-01-02 Darin Adler <darin@apple.com>
11181 Reviewed by Oliver Hunt.
11183 Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window
11184 https://bugs.webkit.org/show_bug.cgi?id=23072
11185 rdar://problem/6368028
11187 * WebCoreSupport/WebFrameLoaderClient.mm:
11188 (isAppleDictionaryApplication): Added.
11189 (applyAppleDictionaryApplicationQuirk): Added. Under the right conditions, sets
11190 a flag to ask HTMLFrameElementBase to ignore the scrolling attribute.
11191 (WebFrameLoaderClient::dispatchWillSendRequest): Call the two functions above to
11192 apply the quirk when the relevant script is loaded.
11194 2008-12-26 Dan Bernstein <mitz@apple.com>
11196 Reviewed by Sam Weinig.
11198 - fix <rdar://problem/6467608> lastVisitWasFailure flag persists in
11199 global history after a successful visit
11201 * History/WebHistory.mm:
11202 (-[WebHistory _visitedURL:withTitle:wasFailure:]): Changed to always
11203 update the wasFailure flag on the HistoryItem.
11205 2008-12-23 Darin Adler <darin@apple.com>
11207 Reviewed by Alexey Proskuryakov (a slightly earlier version).
11209 - fix https://bugs.webkit.org/show_bug.cgi?id=22976
11210 crash due to Mail's use of WebArchive and WebResource on non-main thread
11212 * Misc/WebKitLogging.h: Improved comments for ASSERT_MAIN_THREAD. Got rid of
11213 WebKitRunningOnMainThread function, which was just a cover for pthread_main_np.
11214 * Misc/WebKitLogging.m: Ditto.
11216 * Misc/WebKitVersionChecks.h: Added a version after which we won't do the
11217 main thread workaround.
11219 * Misc/WebNSObjectExtras.h: Added a new method, _webkit_getPropertyOnMainThread:,
11220 which performs a selector on the main thread, waits for it to complete, and then
11221 returns the value on the caller thread.
11222 * Misc/WebNSObjectExtras.mm: Added.
11224 * WebView/WebArchive.mm:
11225 (-[WebArchive init]): Added WebCoreThreadViolationCheck.
11226 (-[WebArchive initWithMainResource:subresources:subframeArchives:]): Perform
11227 initialization on main thread if needMailThreadWorkaround is true.
11228 Also added WebCoreThreadViolationCheck.
11229 (-[WebArchive initWithData:]): Added WebCoreThreadViolationCheck.
11230 (-[WebArchive mainResource]): Get property on main thread if
11231 needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
11232 (-[WebArchive subresources]): Ditto.
11233 (-[WebArchive subframeArchives]): Ditto.
11234 (-[WebArchive data]): Ditto.
11235 (-[WebArchive _initWithCoreLegacyWebArchive:]): Added WebCoreThreadViolationCheck.
11236 (-[WebArchive _coreLegacyWebArchive]): Ditto.
11237 (-[WebArchive _initWithArguments:]): Added. Used to implement the cross-thread
11238 version of initWithMainResource above.
11240 * WebView/WebResource.mm:
11241 (-[WebResource initWithCoder:]): Added WebCoreThreadViolationCheck.
11242 (-[WebResource data]): Get property on main thread if
11243 needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
11244 (-[WebResource URL]): Ditto.
11245 (-[WebResource MIMEType]): Ditto.
11246 (-[WebResource textEncodingName]): Ditto.
11247 (-[WebResource frameName]): Ditto.
11248 (-[WebResource _ignoreWhenUnarchiving]): Ditto.
11249 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
11250 Perform initialization on main thread if needMailThreadWorkaround is true.
11251 Also added WebCoreThreadViolationCheck.
11252 (-[WebResource _suggestedFilename]): Added. Helper for _fileWrapperRepresentation.
11253 (-[WebResource _fileWrapperRepresentation]): Rewrote to use methods instead of
11254 getting at coreResource directly.
11255 (-[WebResource _response]): Get property on main thread if
11256 needMailThreadWorkaround is true. Also added WebCoreThreadViolationCheck.
11257 (-[WebResource _stringValue]): Ditto.
11258 (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]): Added.
11259 (-[WebResource _initWithArguments:]): Added. Used to implement the cross-thread
11260 version of _initWithData above.
11262 * WebView/WebResourceInternal.h: Changed to include WebResourcePrivate.h since internal
11263 clients have access to the SPI as well as the API. Added definition of MAIL_THREAD_WORKAROUND
11264 and the needMainThreadWorkaround helper function.
11266 * Misc/WebIconDatabase.mm: Removed include of now-defunct FoundationExtras.h
11267 file. This probably fixes clean builds.
11268 * WebCoreSupport/WebIconDatabaseClient.mm: Ditto.
11270 * WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebResourcePrivate.h,
11271 since it's not actually used.
11272 * WebView/WebDataSource.mm: Ditto.
11273 * WebView/WebHTMLRepresentation.mm: Ditto.
11275 2008-12-23 Darin Adler <darin@apple.com>
11277 Reviewed by Dan Bernstein.
11279 - fix https://bugs.webkit.org/show_bug.cgi?id=22979
11280 crash seen in -[WebView drawsBackground] when quitting
11281 <rdar://problem/6464601>
11283 * WebView/WebView.mm:
11284 (-[WebView drawsBackground]): Added comment and a null check for _private.
11286 2008-12-22 Kevin Decker <kdecker@apple.com>
11288 Reviewed by Anders Carlsson.
11290 <rdar://problem/6449588> REGRESSION (r38279-r38280): Minimize them remaximize a window with a flash plugin, plugin doesn't resume at full speed
11292 * Plugins/WebBaseNetscapePluginView.mm:
11293 (-[WebBaseNetscapePluginView windowDidDeminiaturize:]): Deminiaturizing should restart timers, not stop timers.
11295 2008-12-19 Geoffrey Garen <ggaren@apple.com>
11297 Reviewed by Darin Adler, Adele Peterson, Brady Eidson.
11299 Added SPI for getting an unsorted vector of all items in history.
11301 * History/WebHistory.h:
11302 * History/WebHistory.mm:
11303 (-[WebHistory allItems]):
11305 2008-12-18 Dan Bernstein <mitz@apple.com>
11307 Reviewed by Sam Weinig.
11309 - implement FrameLoaderClient::shouldUseCredentialStorage() by calling
11310 a new resource load delegae method.
11312 * WebCoreSupport/WebFrameLoaderClient.h:
11313 * WebCoreSupport/WebFrameLoaderClient.mm:
11314 (WebFrameLoaderClient::shouldUseCredentialStorage): Added. Calls the
11315 delegate method. If the method is unimplemented, returns true for
11316 backwards compatibility.
11317 * WebView/WebView.mm:
11318 (-[WebView _cacheResourceLoadDelegateImplementations]): Initialize the
11319 shouldUseCredentialStorageFunc member.
11320 (CallResourceLoadDelegateReturningBoolean): Added.
11321 * WebView/WebViewInternal.h:
11322 * WebView/WebResourceLoadDelegatePrivate.h: Declared the delegate method
11323 -webView:resource:shouldUseCredentialStorageForDataSource:.
11325 2008-12-18 Cameron Zwarich <zwarich@apple.com>
11327 Reviewed by Jonathan Honeycutt.
11329 Fix an apparent typo in r39385 that is causing lots of crashes.
11331 * WebCoreSupport/WebFrameLoaderClient.mm:
11332 (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
11334 2008-12-18 Brady Eidson <beidson@apple.com>
11336 Reviewed by John Sullivan
11338 Initial visit to a website creates history items that start with a visit count of
11339 zero instead of one
11341 * History/WebHistory.mm:
11342 (-[WebHistoryPrivate visitedURL:withTitle:]): Set the visit count on new items
11344 * History/WebHistoryItem.mm:
11345 (-[WebHistoryItem _setVisitCount:]): Call through to the WebCore item
11346 * History/WebHistoryItemInternal.h:
11348 2008-12-18 Sam Weinig <sam@webkit.org>
11350 Reviewed by John Sullivan.
11352 Implement FrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout() by calling
11353 a new private frame load delegate method.
11355 * WebCoreSupport/WebFrameLoaderClient.h:
11356 * WebCoreSupport/WebFrameLoaderClient.mm:
11357 (WebFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout):
11358 * WebView/WebView.mm:
11359 (-[WebView _cacheFrameLoadDelegateImplementations]):
11360 * WebView/WebViewInternal.h:
11361 * WebView/WebViewPrivate.h:
11363 2008-12-16 Antti Koivisto <antti@apple.com>
11365 Reviewed by John Sullivan.
11367 Add version check for shift-reload behavior.
11369 * Misc/WebKitVersionChecks.h:
11370 * WebView/WebFrame.mm:
11371 (-[WebFrame reload]):
11373 2008-12-16 Anders Carlsson <andersca@apple.com>
11375 Reviewed by Dan Bernstein.
11377 Start sending keyboard events to the plug-in host.
11379 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11380 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11381 (WebKit::NetscapePluginInstanceProxy::keyEvent):
11382 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
11383 (-[WebHostedNetscapePluginView keyDown:]):
11384 (-[WebHostedNetscapePluginView keyUp:]):
11385 * Plugins/Hosted/WebKitPluginHost.defs:
11387 2008-12-16 Anders Carlsson <andersca@apple.com>
11389 Reviewed by Kevin Decker.
11391 <rdar://problem/6450538>
11393 Fix flag enumeration.
11395 * Plugins/Hosted/WebKitPluginHostTypes.h:
11397 2008-12-16 Anders Carlsson <andersca@apple.com>
11399 Reviewed by Kevin Decker.
11401 Instead of passing a gazillion booleans to WKPCLoadURL, pass a single set of flags.
11403 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11405 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11406 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11407 (WebKit::NetscapePluginInstanceProxy::loadURL):
11408 * Plugins/Hosted/WebKitPluginClient.defs:
11409 * Plugins/Hosted/WebKitPluginHostTypes.h:
11411 2008-12-16 Anders Carlsson <andersca@apple.com>
11413 Reviewed by Kevin Decker.
11415 Add trailing null to headers to avoid a crash in the plug-in host.
11417 * Plugins/Hosted/HostedNetscapePluginStream.mm:
11418 (WebKit::HostedNetscapePluginStream::didReceiveResponse):
11420 2008-12-15 Mark Rowe <mrowe@apple.com>
11422 Rubber-stamped by Cameron Zwarich.
11424 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard.
11426 * Configurations/Base.xcconfig:
11427 * Configurations/DebugRelease.xcconfig:
11429 2008-12-15 Stephanie Lewis <slewis@apple.com>
11433 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11435 2008-12-15 Anders Carlsson <andersca@apple.com>
11437 Reviewed by Sam Weinig.
11439 Change InstantiatePlugin to be asynchronous so we won't deadlock if the plug-in tries to call
11440 back into us while it's being instantiated.
11442 * Plugins/Hosted/NetscapePluginHostManager.mm:
11443 (WebKit::NetscapePluginHostManager::instantiatePlugin):
11444 * Plugins/Hosted/NetscapePluginHostProxy.h:
11445 (WebKit::NetscapePluginHostProxy::clientPort):
11446 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11447 (WKPCInstantiatePluginReply):
11448 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11449 (WebKit::NetscapePluginInstanceProxy::Reply::):
11450 (WebKit::NetscapePluginInstanceProxy::Reply::Reply):
11451 (WebKit::NetscapePluginInstanceProxy::Reply::~Reply):
11452 (WebKit::NetscapePluginInstanceProxy::InstantiatePluginReply::InstantiatePluginReply):
11453 (WebKit::NetscapePluginInstanceProxy::setCurrentReply):
11454 (WebKit::NetscapePluginInstanceProxy::waitForReply):
11455 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11456 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
11457 (WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
11458 * Plugins/Hosted/WebKitPluginClient.defs:
11459 * Plugins/Hosted/WebKitPluginHost.defs:
11461 2008-12-15 Anders Carlsson <andersca@apple.com>
11463 Reviewed by Darin Adler.
11465 Let WebKit generate a plug-in ID instead of having the plug-in host do it.
11467 * Plugins/Hosted/NetscapePluginHostManager.mm:
11468 (WebKit::NetscapePluginHostManager::instantiatePlugin):
11469 Create the plug-in proxy before instantiating the plug-in.
11471 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11472 (WebKit::NetscapePluginInstanceProxy::create):
11473 (WebKit::NetscapePluginInstanceProxy::setRenderContextID):
11474 (WebKit::NetscapePluginInstanceProxy::setUseSoftwareRenderer):
11475 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11476 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
11477 * Plugins/Hosted/WebKitPluginHost.defs:
11479 2008-12-15 Anders Carlsson <andersca@apple.com>
11481 Reviewed by Sam Weinig.
11483 LoadURL doesn't need to be asynchronous.
11485 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11487 * Plugins/Hosted/WebKitPluginClient.defs:
11488 * Plugins/Hosted/WebKitPluginHost.defs:
11490 2008-12-15 Antti Koivisto <antti@apple.com>
11492 Reviewed by Darin Adler.
11494 - Add [WebFrame reloadFromOrigin] for performing end-to-end reload.
11495 - Add corresponding IBAction to WebView.
11496 - Temporarily make [WebFrame reload] trigger end-to-end reload if shift modifier is pressed when it is called.
11498 * WebView/WebFrame.h:
11499 * WebView/WebFrame.mm:
11500 (-[WebFrame reload]):
11501 (-[WebFrame reloadFromOrigin]):
11502 * WebView/WebFramePrivate.h: Match the FrameLoadType enum in WebCore.
11503 * WebView/WebView.h:
11504 * WebView/WebView.mm:
11505 (-[WebView reloadFromOrigin:]):
11507 2008-12-14 Dan Bernstein <mitz@apple.com>
11509 Reviewed by Darin Adler.
11511 - fix <rdar://problem/3258561> WebHistoryAllItemsRemovedNotification
11512 should add items to userInfo
11514 * History/WebHistory.mm:
11515 (-[WebHistoryPrivate allItems]): Added this helper method, which returns
11516 all values in the _entriesByURL dictionary.
11517 (-[WebHistory removeAllItems]): Changed to send the array of all items
11518 in the notification.
11520 2008-12-13 Darin Adler <darin@apple.com>
11522 - <rdar://problem/6441035> WebTextIterator class not exported in WebKit
11524 * WebKit.exp: Added the class. We forgot to export it when we added
11525 the WebTextIterator SPI.
11527 2008-12-12 Darin Adler <darin@apple.com>
11529 Rubber stamped by Adam Roben.
11531 - fix <rdar://problem/5648301> Can't tab around to text fields in Safari
11532 login sheet after clicking static text, due to AppKit key loop change
11534 * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib: Removed.
11535 * Panels/English.lproj/WebAuthenticationPanel.nib/designable.nib: Added.
11536 * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib: Removed.
11537 * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib:
11538 Set nextKeyView of the selectable static texts to the editable text.
11539 Updated nib format.
11541 2008-12-12 Stephanie Lewis <slewis@apple.com>
11543 Reviewed by Geoff Garen.
11545 Shrink Cache Sizes.
11547 * WebView/WebView.mm:
11548 (+[WebView _setCacheModel:]):
11550 2008-12-12 Anders Carlsson <andersca@apple.com>
11552 Reviewed by Tim Hatcher.
11554 Don't try to free the dummy "1" port state.
11556 * Plugins/WebNetscapePluginView.mm:
11557 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
11558 (-[WebNetscapePluginView updateAndSetWindow]):
11560 2008-12-11 Cameron Zwarich <zwarich@apple.com>
11562 Rubber-stamped by Mark Rowe.
11564 Roll out r39212 due to assertion failures during layout tests, multiple
11565 layout test failures, memory leaks, and obvious incorrectness.
11567 * WebView/WebPreferenceKeysPrivate.h:
11568 * WebView/WebPreferences.mm:
11569 (-[WebPreferences fullDocumentTeardownEnabled]):
11570 * WebView/WebPreferencesPrivate.h:
11572 2008-12-11 Stephanie Lewis <slewis@apple.com>
11576 * WebView/WebView.mm:
11578 2008-12-11 Stephanie Lewis <slewis@apple.com>
11580 Reviewed by Oliver Hunt.
11582 Empty Web cache before quitting a debug build in order
11583 to report accurate CachedResource leaks.
11585 * WebView/WebView.mm:
11586 (-[WebView _close]):
11588 2008-12-11 Anders Carlsson <andersca@apple.com>
11592 * Misc/WebNSDataExtras.h:
11594 2008-12-11 Anders Carlsson <andersca@apple.com>
11596 Reviewed by Cameron Zwarich.
11598 https://bugs.webkit.org/show_bug.cgi?id=22797
11599 REGRESSION: Crash at http://news.cnet.com/8301-17939_109-10119149-2.html
11601 Make sure to protect the stream because destroyStream can otherwise cause it to be deleted.
11603 * Plugins/WebBaseNetscapePluginStream.mm:
11604 (WebNetscapePluginStream::destroyStreamWithReason):
11606 2008-12-10 Glenn Wilson <gwilson@google.com>
11608 Reviewed by Adam Roben.
11610 Added new methods for overriding default WebPreference values
11611 and for resetting preferences to their defaults.
11612 https://bugs.webkit.org/show_bug.cgi?id=20534
11614 * WebView/WebPreferenceKeysPrivate.h:
11615 * WebView/WebPreferences.mm:
11616 (-[WebPreferences resetToDefaults]): new method
11617 (-[WebPreferences overridePreference:flag:]): new method
11618 * WebView/WebPreferencesPrivate.h: new method signatures
11620 2008-12-10 Anders Carlsson <andersca@apple.com>
11622 Reviewed by Darin Adler.
11624 Implement support for NPN_PostURL/NPN_PostURLNotify in WebKit.
11626 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11627 Add stopAllStreams.
11629 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11630 (WebKit::NetscapePluginInstanceProxy::stopAllStreams):
11631 Factored out this from ::destroy.
11633 (WebKit::NetscapePluginInstanceProxy::destroy):
11634 Call stopAllStreams().
11636 (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
11639 (WebKit::NetscapePluginInstanceProxy::loadURL):
11640 Handle post being true. This code has been copied from WebNetscapePluginView.mm (for now).
11642 2008-12-10 Anders Carlsson <andersca@apple.com>
11644 Reviewed by Darin Adler.
11646 Move two NSData category methods to WebNSDataExtras.m.
11648 * Misc/WebNSDataExtras.h:
11649 * Misc/WebNSDataExtras.m:
11650 (-[NSData _web_startsWithBlankLine]):
11651 (-[NSData _web_locationAfterFirstBlankLine]):
11652 * Plugins/WebNetscapePluginView.mm:
11654 2008-12-10 Alice Liu <alice.liu@apple.com>
11656 fixed https://bugs.webkit.org/show_bug.cgi?id=20685
11658 Reviewed by Darin Adler.
11660 * Misc/WebNSPasteboardExtras.mm:
11661 Ask image for its file extension instead of falling back on MIME type and file path.
11662 Also moved this code to before setting the pasteboard data so as not to set any if
11663 no extension can be determined.
11664 (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
11666 * WebView/WebHTMLView.mm:
11667 Fixed a separate but related long-standing bug of how the filename for the promised
11668 drag data is determined by asking the image for a proper file extension.
11669 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
11671 2008-12-09 Anders Carlsson <andersca@apple.com>
11673 Reviewed by Darin Adler.
11677 * WebView/WebHTMLView.mm:
11678 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
11680 2008-12-09 Anders Carlsson <andersca@apple.com>
11682 Reviewed by Darin Adler.
11684 Implement software rendering of hosted plug-ins.
11686 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11687 (WKPCInvalidateRect):
11688 New MiG function. This is called by the plug-in host when it has drawn something.
11690 * Plugins/Hosted/WebHostedNetscapePluginView.h:
11691 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
11692 (-[WebHostedNetscapePluginView createPlugin]):
11693 Create a software renderer.
11695 (-[WebHostedNetscapePluginView destroyPlugin]):
11696 Destroy the software renderer.
11698 (-[WebHostedNetscapePluginView drawRect:]):
11699 Draw using the software renderer.
11701 * Plugins/Hosted/WebKitPluginClient.defs:
11702 Add InvalidateRect.
11704 2008-12-09 Brett Wilson <brettw@chromium.org>
11706 Reviewed by Dave Hyatt.
11708 https://bugs.webkit.org/show_bug.cgi?id=22177
11710 Add a callback on ChromeClient that the state of form elements on
11711 the page has changed. This is to allow clients implementing session
11712 saving to know when the current state is dirty.
11714 * WebCoreSupport/WebChromeClient.h:
11715 (WebChromeClient::formStateDidChange):
11717 2008-12-09 Anders Carlsson <andersca@apple.com>
11719 Reviewed by Dan Bernstein.
11721 Make sure to pause null events for hosted plug-ins as well.
11723 * WebView/WebHTMLView.mm:
11724 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
11726 2008-12-09 Anders Carlsson <andersca@apple.com>
11728 Reviewed by Darin Adler.
11730 * Plugins/Hosted/NetscapePluginHostProxy.h:
11731 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11732 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
11733 (WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
11734 Unfortunately we can't use a libdispatch source right now, because of <rdar://problem/6393180>.
11736 2008-12-09 Timothy Hatcher <timothy@apple.com>
11738 Implement a few methods needed to keep Dictionary.app working on Leopard.
11740 <rdar://problem/6002160> Internal changes to WebKit in Safari 4
11741 Developer Preview might break Dictionary
11743 Reviewed by Dan Bernstein.
11745 * WebView/WebFrame.mm:
11746 (-[WebFrame convertNSRangeToDOMRange:]): Added. Calls _convertNSRangeToDOMRange.
11747 (-[WebFrame convertDOMRangeToNSRange:]): Added. Calls _convertDOMRangeToNSRange.
11748 * WebView/WebHTMLView.mm:
11749 (-[WebHTMLView _bridge]): Added. Returns the WebFrame, which has the methods
11750 that Dictionary.app is using.
11752 2008-12-08 Anders Carlsson <andersca@apple.com>
11754 Reviewed by Darin Adler.
11756 More work towards getting NPN_GetURL working.
11758 * Plugins/Hosted/HostedNetscapePluginStream.h:
11759 Inherit from NetscapePlugInStreamLoaderClient.
11761 (WebKit::HostedNetscapePluginStream::streamID):
11762 * Plugins/Hosted/HostedNetscapePluginStream.mm:
11763 (WebKit::HostedNetscapePluginStream::startStream):
11764 Keep track of the resposne URL and the MIME type. Pass the response URL to the
11767 (WebKit::HostedNetscapePluginStream::didFinishLoading):
11768 Disconnect the stream.
11770 (WebKit::HostedNetscapePluginStream::start):
11771 Create a plug-in stream loader and start loading.
11773 (WebKit::HostedNetscapePluginStream::stop):
11776 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11778 Fix the parameter order.
11780 (WKPCCancelLoadURL):
11781 New function that cancels a load of a stream with a given reason.
11783 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11784 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11785 (WebKit::NetscapePluginInstanceProxy::destroy):
11788 (WebKit::NetscapePluginInstanceProxy::pluginStream):
11789 Return a plug-in stream given a stream ID.
11791 (WebKit::NetscapePluginInstanceProxy::disconnectStream):
11792 Remove the stream from the streams map.
11794 (WebKit::NetscapePluginInstanceProxy::loadRequest):
11795 Create a stream and load it.
11797 * Plugins/Hosted/WebKitPluginClient.defs:
11800 * Plugins/Hosted/WebKitPluginHost.defs:
11801 Add responseURL to StartStream.
11803 * Plugins/WebBaseNetscapePluginView.h:
11804 * Plugins/WebBaseNetscapePluginView.mm:
11805 (-[WebBaseNetscapePluginView pluginPackage]):
11806 Move this down to the base class from WebNetscapePluginView.
11808 * Plugins/WebNetscapePluginView.h:
11809 * Plugins/WebNetscapePluginView.mm:
11811 2008-12-08 Dan Bernstein <mitz@apple.com>
11813 Reviewed by John Sullivan.
11815 - WebKit/mac part of tracking the global history item for a WebView
11817 * WebView/WebView.mm:
11818 (-[WebView _globalHistoryItem]): Added. Returns the page's global
11820 * WebView/WebViewPrivate.h:
11822 2008-12-06 Simon Fraser <simon.fraser@apple.com>
11824 Reviewed by Dave Hyatt
11826 https://bugs.webkit.org/show_bug.cgi?id=15671
11828 VisiblePosition::caretRect() was renaemd to absoluteCaretBounds().
11830 * WebView/WebFrame.mm:
11831 (-[WebFrame _caretRectAtNode:offset:affinity:]):
11833 2008-12-06 David Kilzer <ddkilzer@apple.com>
11835 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives
11837 <https://bugs.webkit.org/show_bug.cgi?id=22666>
11839 Reviewed by Darin Adler.
11841 * DOM/WebDOMOperations.mm:
11842 (-[DOMNode _subresourceURLs]): Changed from using Vector<KURL> to
11843 ListHashSet<KURL> when calling WebCore::Node::getSubresourceURLs().
11845 2008-12-05 Alexey Proskuryakov <ap@webkit.org>
11847 Reviewed by Darin Adler.
11849 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page"
11850 in Safari before opening a mail message in Mail
11852 * Carbon/CarbonWindowAdapter.m: Removed.
11853 * Carbon/CarbonWindowAdapter.mm: Copied from WebKit/mac/Carbon/CarbonWindowAdapter.m.
11854 (+[CarbonWindowAdapter initialize]):
11855 * History/WebBackForwardList.mm:
11856 (+[WebBackForwardList initialize]):
11857 * History/WebHistoryItem.mm:
11858 (+[WebHistoryItem initialize]):
11859 * Misc/WebElementDictionary.mm:
11860 (+[WebElementDictionary initialize]):
11861 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
11862 (+[WebHostedNetscapePluginView initialize]):
11863 * Plugins/WebBaseNetscapePluginView.mm:
11864 * Plugins/WebBasePluginPackage.m: Removed.
11865 * Plugins/WebBasePluginPackage.mm: Copied from WebKit/mac/Plugins/WebBasePluginPackage.m.
11866 (+[WebBasePluginPackage initialize]):
11867 * Plugins/WebNetscapePluginView.mm:
11868 (+[WebNetscapePluginView initialize]):
11869 * WebCoreSupport/WebEditorClient.mm:
11870 (+[WebEditCommand initialize]):
11871 * WebCoreSupport/WebFrameLoaderClient.mm:
11872 * WebView/WebArchive.mm:
11873 (+[WebArchivePrivate initialize]):
11874 * WebView/WebDataSource.mm:
11875 (+[WebDataSourcePrivate initialize]):
11876 * WebView/WebHTMLView.mm:
11877 (+[WebHTMLViewPrivate initialize]):
11878 (+[WebHTMLView initialize]):
11879 * WebView/WebResource.mm:
11880 (+[WebResourcePrivate initialize]):
11881 * WebView/WebView.mm:
11882 (+[WebViewPrivate initialize]):
11883 Call JSC::initializeThreading();
11885 2008-12-04 Stephanie Lewis <slewis@apple.com>
11889 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11892 2008-12-04 Anders Carlsson <andersca@apple.com>
11894 Reviewed by Sam Weinig.
11896 More work on streams.
11898 * Plugins/Hosted/HostedNetscapePluginStream.h: Added.
11899 (WebKit::HostedNetscapePluginStream::create):
11900 * Plugins/Hosted/HostedNetscapePluginStream.mm: Added.
11901 (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
11902 (WebKit::HostedNetscapePluginStream::startStreamWithResponse):
11903 (WebKit::HostedNetscapePluginStream::startStream):
11904 (WebKit::HostedNetscapePluginStream::didReceiveData):
11905 (WebKit::HostedNetscapePluginStream::didFinishLoading):
11906 (WebKit::HostedNetscapePluginStream::didReceiveResponse):
11907 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11908 (WebKit::NetscapePluginInstanceProxy::pluginView):
11909 (WebKit::NetscapePluginInstanceProxy::hostProxy):
11910 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11911 (WebKit::NetscapePluginInstanceProxy::PluginRequest::PluginRequest):
11912 (WebKit::NetscapePluginInstanceProxy::PluginRequest::requestID):
11913 (WebKit::NetscapePluginInstanceProxy::PluginRequest::request):
11914 (WebKit::NetscapePluginInstanceProxy::PluginRequest::frameName):
11915 (WebKit::NetscapePluginInstanceProxy::PluginRequest::didStartFromUserGesture):
11916 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
11917 (WebKit::NetscapePluginInstanceProxy::performRequest):
11918 (WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
11919 (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
11920 (WebKit::NetscapePluginInstanceProxy::loadRequest):
11921 * Plugins/Hosted/WebKitPluginHost.defs:
11923 2008-12-04 Anders Carlsson <andersca@apple.com>
11925 Reviewed by Sam Weinig.
11927 Start implementing WKPCLoadURL. Currently this has copied a lot of code from WebNetscapePluginView
11928 but once we have a more complete implementation of NPStreams we can start refactoring things so that the
11929 implementations can share more code.
11931 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11933 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
11934 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
11935 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
11936 (WebKit::NetscapePluginInstanceProxy::loadURL):
11937 (WebKit::NetscapePluginInstanceProxy::performRequest):
11938 (WebKit::NetscapePluginInstanceProxy::requestTimerFired):
11939 (WebKit::NetscapePluginInstanceProxy::loadRequest):
11940 * Plugins/Hosted/WebKitPluginClient.defs:
11941 * Plugins/Hosted/WebKitPluginHost.defs:
11943 2008-12-04 Anders Carlsson <andersca@apple.com>
11945 Reviewed by Dan Bernstein.
11947 Move requestWithURLCString to WebBaseNetscapePluginView.
11949 * Plugins/WebBaseNetscapePluginView.h:
11950 * Plugins/WebBaseNetscapePluginView.mm:
11951 (-[WebBaseNetscapePluginView requestWithURLCString:]):
11952 * Plugins/WebNetscapePluginView.mm:
11954 2008-12-03 Anders Carlsson <andersca@apple.com>
11956 Reviewed by Sam Weinig.
11958 Move WebPluginRequest to its own file.
11960 * Plugins/WebNetscapePluginView.mm:
11961 * Plugins/WebPluginRequest.h: Added.
11962 * Plugins/WebPluginRequest.m: Added.
11963 (-[WebPluginRequest initWithRequest:frameName:notifyData:sendNotification:didStartFromUserGesture:]):
11964 (-[WebPluginRequest dealloc]):
11965 (-[WebPluginRequest request]):
11966 (-[WebPluginRequest frameName]):
11967 (-[WebPluginRequest isCurrentEventUserGesture]):
11968 (-[WebPluginRequest sendNotification]):
11969 (-[WebPluginRequest notifyData]):
11971 2008-12-03 Anders Carlsson <andersca@apple.com>
11973 Handle the CA model.
11975 * Plugins/WebNetscapePluginView.mm:
11976 (-[WebNetscapePluginView setWindowIfNecessary]):
11978 2008-12-03 Anders Carlsson <andersca@apple.com>
11980 Reviewed by Kevin Decker.
11982 <rdar://problem/6412293>
11983 Call NPP_SetWindow for CA plug-ins.
11985 * Plugins/WebNetscapePluginView.mm:
11986 (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
11987 (-[WebNetscapePluginView restorePortState:]):
11988 (-[WebNetscapePluginView isNewWindowEqualToOldWindow]):
11989 (-[WebNetscapePluginView updateAndSetWindow]):
11990 (-[WebNetscapePluginView setWindowIfNecessary]):
11992 2008-12-03 Anders Carlsson <andersca@apple.com>
11994 Fix the release build.
11996 * Plugins/Hosted/NetscapePluginHostProxy.mm:
11997 (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
11999 2008-12-03 Anders Carlsson <andersca@apple.com>
12001 Reviewed by Dan Bernstein.
12003 <rdar://problem/6412234>
12004 Don't crash if we can't launch the plug-in host.
12006 * Plugins/Hosted/NetscapePluginHostManager.mm:
12007 (WebKit::NetscapePluginHostManager::instantiatePlugin):
12009 2008-12-02 Anders Carlsson <andersca@apple.com>
12011 Reviewed by Dan Bernstein.
12013 Start processing messages sent to the client port.
12015 * Plugins/Hosted/NetscapePluginHostProxy.h:
12016 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12017 Add a map from ports to plug-in proxies. Turn the set of instances into a map from
12018 pluginID to instance proxy.
12021 Look up the right instance proxy and call status().
12023 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
12024 (WebKit::NetscapePluginInstanceProxy::pluginID):
12025 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
12026 (WebKit::NetscapePluginInstanceProxy::status):
12029 * Plugins/Hosted/WebKitPluginClient.defs:
12030 Add the plug-in ID to StatusText.
12032 2008-12-02 Gregory Hughes <ghughes@apple.com>
12034 Reviewed by Beth Dakin.
12036 Bug 22513: ZOOM: text selection does not send correct zoom bounds
12038 When zoomed, text selection must send the zoom bounds in flipped
12039 screen coordinates.
12041 * WebCoreSupport/WebViewFactory.mm:
12042 (-[WebViewFactory accessibilityConvertScreenRect:]):
12044 2008-12-02 Anders Carlsson <andersca@apple.com>
12046 Reviewed by Dan Bernstein.
12048 Create a client mach port and pass it to the plug-in host.
12050 * Plugins/Hosted/NetscapePluginHostManager.h:
12051 * Plugins/Hosted/NetscapePluginHostManager.mm:
12052 (WebKit::NetscapePluginHostManager::hostForPackage):
12053 (WebKit::NetscapePluginHostManager::spawnPluginHost):
12054 * Plugins/Hosted/NetscapePluginHostProxy.h:
12055 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12056 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
12057 * Plugins/Hosted/WebKitPluginHost.defs:
12059 2008-12-02 Anders Carlsson <andersca@apple.com>
12061 Reviewed by Sam Weinig.
12063 Let the plug-in views know if the plug-in host crashes.
12065 * Plugins/Hosted/NetscapePluginHostManager.h:
12066 * Plugins/Hosted/NetscapePluginHostManager.mm:
12067 (WebKit::NetscapePluginHostManager::instantiatePlugin):
12068 * Plugins/Hosted/NetscapePluginHostProxy.h:
12069 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12070 (WebKit::NetscapePluginHostProxy::pluginHostDied):
12071 (WebKit::NetscapePluginHostProxy::addPluginInstance):
12072 (WebKit::NetscapePluginHostProxy::removePluginInstance):
12074 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
12075 (WebKit::NetscapePluginInstanceProxy::create):
12076 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
12077 Keep a pointer to the host proxy.
12079 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
12080 Add the instance to the host set.
12082 (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
12083 Remove the instance form the host set.
12085 (WebKit::NetscapePluginInstanceProxy::pluginHostDied):
12086 Tell the plug-in view that the plug-in died.
12088 * Plugins/Hosted/WebHostedNetscapePluginView.h:
12089 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
12090 (-[WebHostedNetscapePluginView createPlugin]):
12091 Pass the plug-in view to the instantiatePlugin.
12093 (-[WebHostedNetscapePluginView pluginHostDied]):
12094 Handle the plug-in host crashing.
12096 (-[WebHostedNetscapePluginView drawRect:]):
12097 Fill the plug-in view with a nice red shade if the plug-in crashes.
12099 2008-12-01 Anders Carlsson <andersca@apple.com>
12101 Reviewed by Dan Bernstein.
12103 Recover if the plug-in host dies and we try to instantiate another plugin before we get the port death notification
12105 * Plugins/Hosted/NetscapePluginHostManager.h:
12106 * Plugins/Hosted/NetscapePluginHostManager.mm:
12107 (WebKit::NetscapePluginHostManager::pluginHostDied):
12108 Remove the plug-in host from the map.
12110 (WebKit::NetscapePluginHostManager::instantiatePlugin):
12111 NetscapePluginHostProxy is no longer refcounted.
12113 * Plugins/Hosted/NetscapePluginHostProxy.h:
12114 This is no longer refcounted. Add a set of plug-in instances (unused for now).
12116 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12117 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
12118 Create a death notification port.
12120 (WebKit::NetscapePluginHostProxy::pluginHostDied):
12121 Tell the manager that we're gone and delete ourselves.
12123 (WebKit::NetscapePluginHostProxy::deathPortCallback):
12124 New CFMachPort callback.
12126 2008-12-01 Anders Carlsson <andersca@apple.com>
12128 Reviewed by Dan Bernstein.
12130 Move instantiatePlugin to NetscapePluginHostManager.
12132 * Plugins/Hosted/NetscapePluginHostManager.h:
12133 * Plugins/Hosted/NetscapePluginHostManager.mm:
12134 (WebKit::NetscapePluginHostManager::instantiatePlugin):
12135 * Plugins/Hosted/NetscapePluginHostProxy.h:
12136 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12137 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
12138 (-[WebHostedNetscapePluginView createPlugin]):
12140 2008-12-01 Anders Carlsson <andersca@apple.com>
12142 Reviewed by Dan Bernstein.
12144 Pass the plug-in host port directly to the instance proxy.
12146 * Plugins/Hosted/NetscapePluginHostProxy.mm:
12147 (WebKit::NetscapePluginHostProxy::instantiatePlugin):
12148 * Plugins/Hosted/NetscapePluginInstanceProxy.h:
12149 (WebKit::NetscapePluginInstanceProxy::create):
12150 * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
12151 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
12152 (WebKit::NetscapePluginInstanceProxy::resize):
12153 (WebKit::NetscapePluginInstanceProxy::destroy):
12154 (WebKit::NetscapePluginInstanceProxy::focusChanged):
12155 (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
12156 (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
12157 (WebKit::NetscapePluginInstanceProxy::startTimers):
12158 (WebKit::NetscapePluginInstanceProxy::mouseEvent):
12159 (WebKit::NetscapePluginInstanceProxy::stopTimers):
12161 2008-12-01 Anders Carlsson <andersca@apple.com>
12163 Try to fix the Tiger build.
12165 * Plugins/WebNetscapePluginView.mm:
12167 2008-12-01 Anders Carlsson <andersca@apple.com>
12169 Rename _layer to _pluginLayer where I forgot to do so.
12171 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
12172 (-[WebHostedNetscapePluginView destroyPlugin]):
12173 * Plugins/WebNetscapePluginView.h:
12174 * Plugins/WebNetscapePluginView.mm:
12175 (-[WebNetscapePluginView createPlugin]):
12176 (-[WebNetscapePluginView setLayer:]):
12177 (-[WebNetscapePluginView destroyPlugin]):
12179 2008-12-01 Anders Carlsson <andersca@apple.com>
12181 Reviewed by Adam Roben.
12183 Make sure to re-insert layers as needed so they won't be lost when the layer backed
12184 view is removed from the view hierarchy.
12186 * Plugins/Hosted/WebHostedNetscapePluginView.h:
12187 Add _pluginLayer ivar.
12189 * Plugins/Hosted/WebHostedNetscapePluginView.mm:
12190 (-[WebHostedNetscapePluginView createPlugin]):
12191 Don't add the layer here.
12193 (-[WebHostedNetscapePluginView setLayer:]):
12194 Instead, add it here.
12196 (-[WebHostedNetscapePluginView destroyPlugin]):
12197 Set _pluginLayer to 0.
12199 * Plugins/WebNetscapePluginView.mm:
12200 (-[WebNetscapePluginView createPlugin]):
12201 Don't add the layer here.
12203 (-[WebNetscapePluginView setLayer:]):
12206 2008-11-30 Antti Koivisto <antti@apple.com>
12208 Reviewed by Mark Rowe.
12210 https://bugs.webkit.org/show_bug.cgi?id=22557
12212 Report free size in central and thread caches too.
12214 * Misc/WebCoreStatistics.mm:
12215 (+[WebCoreStatistics memoryStatistics]):
12217 2008-11-29 Antti Koivisto <antti@apple.com>
12219 Reviewed by Dan Bernstein.
12221 https://bugs.webkit.org/show_bug.cgi?id=22557
12222 Add statistics for JavaScript GC heap.
12224 * Misc/WebCoreStatistics.mm:
12225 (+[WebCoreStatistics javaScriptObjectsCount]):
12226 (+[WebCoreStatistics memoryStatistics]):
12228 2008-11-29 Antti Koivisto <antti@apple.com>
12230 Reviewed by Alexey Proskuryakov.
12232 https://bugs.webkit.org/show_bug.cgi?id=22557
12234 - Add purgeable memory statistics to cache statistics.
12235 - Add method for getting fastMalloc statistics.
12236 - Add method to force returning free memory back to system.
12238 * Misc/WebCache.mm:
12239 (+[WebCache statistics]):
12240 * Misc/WebCoreStatistics.h:
12241 * Misc/WebCoreStatistics.mm:
12242 (+[WebCoreStatistics stopIgnoringWebCoreNodeLeaks]):
12243 (+[WebCoreStatistics memoryStatistics]):
12244 (+[WebCoreStatistics returnFreeMemoryToSystem]):
12246 2008-11-26 Mark Rowe <mrowe@apple.com>
12248 Fix the Tiger build.
12250 mig.h does not always define __MigTypeCheck on Tiger, which leads to problems when the generated
12251 code is built with -Wundef.
12253 * Plugins/Hosted/WebKitPluginHostTypes.h:
12255 2008-11-26 Anders Carlsson <andersca@apple.com>
12259 * Configurations/Base.xcconfig:
12261 2008-11-26 Anders Carlsson <andersca@apple.com>
12263 Reviewed by Mark Rowe.
12265 Move WebHostedNetscapePluginView.{h|mm} to Plugins/Hosted.
12267 (-[WebHostedNetscapePluginView handleMouseMoved:]):
12268 (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
12271 (-[WebHostedNetscapePluginView createPlugin]):
12272 Instantiate the plug-in, store the plug-in proxy in the _proxy ivar.
12274 (-[WebHostedNetscapePluginView loadStream]):
12275 (-[WebHostedNetscapePluginView shouldStop]):
12276 Add stubs for these.
12278 (-[WebHostedNetscapePluginView updateAndSetWindow]):
12279 (-[WebHostedNetscapePluginView windowFocusChanged:]):
12280 (-[WebHostedNetscapePluginView destroyPlugin]):
12281 (-[WebHostedNetscapePluginView startTimers]):
12282 (-[WebHostedNetscapePluginView stopTimers]):
12283 (-[WebHostedNetscapePluginView focusChanged]):
12284 (-[WebHostedNetscapePluginView windowFrameDidChange:]):
12285 (-[WebHostedNetscapePluginView mouseDown:]):
12286 (-[WebHostedNetscapePluginView mouseUp:]):
12287 (-[WebHostedNetscapePluginView mouseDragged:]):
12288 (-[WebHostedNetscapePluginView mouseEntered:]):
12289 (-[WebHostedNetscapePluginView mouseExited:]):
12292 (-[WebHostedNetscapePluginView addWindowObservers]):
12293 (-[WebHostedNetscapePluginView removeWindowObservers]):
12294 Add/remove observers for when the window frame changes.
12296 * Plugins/WebHostedNetscapePluginView.h: Removed.
12297 * Plugins/WebHostedNetscapePluginView.mm: Removed.
12299 2008-11-26 Anders Carlsson <andersca@apple.com>
12301 Reviewed by Mark Rowe.
12303 Add the plug-in host proxy and plug-in instance proxy objects.
12305 These are just simple objects that forward their calls to the plug-in host.
12307 * Plugins/Hosted/NetscapePluginHostProxy.h: Added.
12308 (WebKit::NetscapePluginHostProxy::create):
12309 (WebKit::NetscapePluginHostProxy::port):
12310 * Plugins/Hosted/NetscapePluginHostProxy.mm: Added.
12311 (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):
12312 (WebKit::NetscapePluginHostProxy::instantiatePlugin):
12313 * Plugins/Hosted/NetscapePluginInstanceProxy.h: Added.
12314 (WebKit::NetscapePluginInstanceProxy::create):
12315 (WebKit::NetscapePluginInstanceProxy::renderContextID):
12316 (WebKit::NetscapePluginInstanceProxy::useSoftwareRenderer):
12317 * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Added.
12318 (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
12319 (WebKit::NetscapePluginInstanceProxy::resize):
12320 (WebKit::NetscapePluginInstanceProxy::destroy):
12321 (WebKit::NetscapePluginInstanceProxy::focusChanged):
12322 (WebKit::NetscapePluginInstanceProxy::windowFocusChanged):
12323 (WebKit::NetscapePluginInstanceProxy::windowFrameChanged):
12324 (WebKit::NetscapePluginInstanceProxy::startTimers):
12325 (WebKit::NetscapePluginInstanceProxy::mouseEvent):
12326 (WebKit::NetscapePluginInstanceProxy::stopTimers):
12328 2008-11-26 Anders Carlsson <andersca@apple.com>
12330 Reviewed by Dan Bernstein, Mark Rowe and Kevin Decker.
12332 Add the plug-in host manager singleton.
12334 * Plugins/Hosted/NetscapePluginHostManager.h: Added.
12335 * Plugins/Hosted/NetscapePluginHostManager.mm: Added.
12337 (WebKit::NetscapePluginHostManager::hostForPackage):
12338 If there's an existing host proxy available, just return it. Otherwise spawn a new plug-in host and
12339 create a new plug-in host proxy from the new plug-in host port.
12341 (WebKit::NetscapePluginHostManager::spawnPluginHost):
12342 Pass the plug-in host path and the preferred CPU type to the plug-in agent. When the plug-in host has
12343 finished launching, pass it the path to the plug-in bundle.
12345 (WebKit::NetscapePluginHostManager::initializeVendorPort):
12346 Check in with the plug-in agent and get the new plug-in vendor port back.
12348 2008-11-26 Anders Carlsson <andersca@apple.com>
12350 Reviewed by Mark Rowe.
12352 * Plugins/Hosted/WebKitPluginHostTypes.h:
12353 Add copyright headers and fix the spacing around the *'s.
12355 2008-11-26 Anders Carlsson <andersca@apple.com>
12357 Reviewed by Dan Bernstein.
12359 * Plugins/Hosted/WebKitPluginHost.defs:
12360 Add copyright headers.
12362 * Plugins/Hosted/WebKitPluginHostTypes.h: Added.
12363 Forgot to add this.
12365 2008-11-26 Anders Carlsson <andersca@apple.com>
12367 Reviewed by Dan Bernstein.
12369 Add plug-in host .defs.
12371 * Plugins/Hosted/WebKitPluginAgent.defs: Added.
12372 * Plugins/Hosted/WebKitPluginAgentReply.defs: Added.
12373 * Plugins/Hosted/WebKitPluginClient.defs: Added.
12374 * Plugins/Hosted/WebKitPluginHost.defs: Added.
12375 * Plugins/Hosted/WebKitPluginHostTypes.defs: Added.
12377 2008-11-26 Anders Carlsson <andersca@apple.com>
12379 Reviewed by Mark Rowe and Kevin Decker.
12381 Minor plug-in changes.
12383 * Plugins/WebBaseNetscapePluginView.h:
12384 Add add/remove observer method declarations.
12386 * Plugins/WebBaseNetscapePluginView.mm:
12387 (-[WebBaseNetscapePluginView isFlipped]):
12388 Move this down from WebNetscapePluginView.
12390 * Plugins/WebNetscapePluginPackage.h:
12391 * Plugins/WebNetscapePluginPackage.m:
12392 (-[WebNetscapePluginPackage pluginHostArchitecture]):
12393 Getter for the plug-in host architecture.
12395 * Plugins/WebNetscapePluginView.mm:
12397 2008-11-25 Dan Bernstein <mitz@apple.com>
12399 Reviewed by Mark Rowe.
12401 - include the text direction submenu in context menus when appropriate
12403 * WebView/WebPreferences.mm:
12404 (+[WebPreferences initialize]): Changed the default
12405 textDirectionSubmenuInclusionBehavior to "automatically", which includes
12406 the menu when the selection is confined to a single paragraph the either
12407 has right-to-left base writing direction or contains right-to-left or
12408 embedded text. Left the default for Tiger and Leopard to be "never".
12410 2008-11-24 Darin Fisher <darin@chromium.org>
12414 * History/WebHistory.mm:
12416 2008-11-24 Glenn Wilson <gwilson@chromium.org>
12418 Reviewed by Alexey Proskuryakov.
12420 http://bugs.webkit.org/show_bug.cgi?id=15643
12422 Added API support for the "trailing whitespace" work-around. This includes an APIs
12423 to get and set the state of this configuration variable.
12425 * WebCoreSupport/WebEditorClient.h:
12426 * WebCoreSupport/WebEditorClient.mm:
12427 (WebEditorClient::selectTrailingWhitespaceEnabled):
12428 * WebView/WebView.mm:
12429 (-[WebView setSelectTrailingWhitespaceEnabled:]):
12430 (-[WebView isSelectTrailingWhitespaceEnabled]):
12431 (-[WebView setSmartInsertDeleteEnabled:]):
12432 * WebView/WebViewPrivate.h:
12434 2008-11-24 Darin Adler <darin@apple.com>
12436 Reviewed by Dan Bernstein.
12438 - https://bugs.webkit.org/show_bug.cgi?id=22470
12439 remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory
12441 * WebCoreSupport/WebFrameLoaderClient.h: Remove argument.
12442 * WebCoreSupport/WebFrameLoaderClient.mm:
12443 (WebFrameLoaderClient::updateGlobalHistory): Get the URL from the
12444 DocumentLoader, just as we do the title and the failure flag.
12446 2008-11-24 Darin Adler <darin@apple.com>
12448 Reviewed by Dan Bernstein.
12450 - finish https://bugs.webkit.org/show_bug.cgi?id=22295
12451 track which history items are from page load failures
12453 Last time around I did this only for the back/forward list and missed the
12454 global history list.
12456 * History/WebHistory.mm:
12457 (-[WebHistory _visitedURL:withTitle:wasFailure:]): Added wasFailure argument.
12458 Set the flag on the newly created history item. Also eliminated the use of
12459 autorelease on the added-items array.
12460 * History/WebHistoryInternal.h: Ditto.
12462 * WebCoreSupport/WebFrameLoaderClient.mm:
12463 (WebFrameLoaderClient::updateGlobalHistory): Added code to check for failure
12464 and pass the argument in to WebHistory. Given that this function gets other
12465 data from the DocumentLoader, I think we should get rid of the KURL argument,
12466 but that's a separate issue so I don't do it in this patch.
12468 2008-11-24 Simon Fraser <simon.fraser@apple.com>
12470 Fix call to Frame::selectionBounds in Tiger build.
12472 * WebView/WebHTMLView.mm:
12473 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
12475 2008-11-24 Simon Fraser <simon.fraser@apple.com>
12477 Reviewed by Dan Bernstein
12479 Via: https://bugs.webkit.org/show_bug.cgi?id=22433
12481 Rename RenderView::selectionRect() to selectionBounds(), to remove
12482 longstanding ambiguity with the base class selectionRect() method.
12483 Do the same on Frame for consistency with RenderView.
12485 * WebView/WebHTMLView.mm:
12486 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
12487 (-[WebHTMLView selectionRect]):
12488 (-[WebHTMLView selectionImageRect]):
12490 2008-11-20 Pierre-Olivier Latour <pol@apple.com>
12492 Reviewed by Dan Bernstein.
12494 WebKit should be using Device RGB colorspace everywhere for
12497 https://bugs.webkit.org/show_bug.cgi?id=22300
12499 * WebView/WebHTMLView.mm:
12500 (-[WebHTMLView _dragImageForURL:withLabel:]):
12501 (-[WebHTMLView _colorAsString:]):
12503 2008-11-20 Darin Adler <darin@apple.com>
12505 Earlier version reviewed by Justin Garcia.
12507 - part of fix for <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode
12508 Also resolves <rdar://problem/5000134>.
12510 * WebView/WebHTMLView.mm: Removed some unused code, and made the Tiger workaround for bug 3789278
12512 (-[WebHTMLView resignFirstResponder]): Removed code setting unused resigningFirstResponder flag.
12513 (-[WebHTMLView _wantsKeyDownForEvent:]): Added. Returns YES.
12514 (-[WebHTMLView insertText:]): Don't try to insert text if the selection is not editable. We used
12515 to prevent even processing the input, but that's not practical since some commands need to work
12516 even in non-editable regions.
12518 2008-11-20 Anders Carlsson <andersca@apple.com>
12520 Reviewed by Jon Honeycutt.
12522 Move some frame/page checking code down to the base class.
12524 * Plugins/WebBaseNetscapePluginView.mm:
12525 (-[WebBaseNetscapePluginView start]):
12526 * Plugins/WebNetscapePluginView.mm:
12527 (-[WebNetscapePluginView _createPlugin]):
12529 2008-11-19 Anders Carlsson <andersca@apple.com>
12531 Reviewed by Dan Bernstein.
12533 Test: plugins/netscape-plugin-setwindow-size-2.html
12535 Fix bug where NPP_SetWindow wasn't getting called for some plug-ins.
12537 * Plugins/WebNetscapePluginView.mm:
12538 (-[WebNetscapePluginView updateAndSetWindow]):
12539 Don't bail if the drawing model is not the CA drawing model. Remove some code
12540 that was doing the wrong thing.
12542 2008-11-19 Darin Fisher <darin@chromium.org>
12544 Reviewed by Geoff Garen.
12546 https://bugs.webkit.org/show_bug.cgi?id=22345
12547 Define ScriptValue as a thin container for a JSC::Value*.
12549 * WebView/WebFrame.mm:
12550 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
12551 * WebView/WebView.mm:
12552 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
12554 2008-11-19 Anders Carlsson <andersca@apple.com>
12556 Reviewed by Sam Weinig.
12558 <rdar://problem/6383762> WebKit r38340 crash on key press in plugin
12560 Set the value to 0 before calling NPP_GetValue, in case the plug-in returns NPERR_NO_ERROR but does not
12563 * Plugins/WebNetscapePluginView.mm:
12564 (-[WebNetscapePluginView createPlugin]):
12566 2008-11-19 Anders Carlsson <andersca@apple.com>
12568 Reviewed by Sam Weinig.
12570 Make sure to copy the MIME type.
12572 * Plugins/WebBaseNetscapePluginView.mm:
12573 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
12575 2008-11-19 Geoffrey Garen <ggaren@apple.com>
12577 Reviewed by Darin Adler.
12579 First step toward fixing <rdar://problem/6263293> WebScriptDebugDelegate
12580 should use intptr_t for sourceId, not int
12582 Added a conditional typedef (currently disabled) to switch sourceId to
12583 intptr_t in non-Tiger, non-Leopard builds.
12585 * DefaultDelegates/WebDefaultScriptDebugDelegate.m:
12586 (-[WebDefaultScriptDebugDelegate webView:didParseSource:fromURL:sourceId:forWebFrame:]):
12587 (-[WebDefaultScriptDebugDelegate webView:didParseSource:baseLineNumber:fromURL:sourceId:forWebFrame:]):
12588 (-[WebDefaultScriptDebugDelegate webView:didEnterCallFrame:sourceId:line:forWebFrame:]):
12589 (-[WebDefaultScriptDebugDelegate webView:willExecuteStatement:sourceId:line:forWebFrame:]):
12590 (-[WebDefaultScriptDebugDelegate webView:willLeaveCallFrame:sourceId:line:forWebFrame:]):
12591 (-[WebDefaultScriptDebugDelegate webView:exceptionWasRaised:sourceId:line:forWebFrame:]):
12592 * WebView/WebScriptDebugDelegate.h:
12593 * WebView/WebScriptDebugger.mm:
12594 (WebScriptDebugger::sourceParsed):
12595 (WebScriptDebugger::callEvent):
12596 (WebScriptDebugger::atStatement):
12597 (WebScriptDebugger::returnEvent):
12598 (WebScriptDebugger::exception):
12600 2008-11-18 Dan Bernstein <mitz@apple.com>
12602 Reviewed by Mark Rowe.
12604 - fix https://bugs.webkit.org/show_bug.cgi?id=22331
12605 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item
12607 * WebView/WebUIDelegatePrivate.h: Reorder new enum values after existing
12610 2008-11-17 Beth Dakin <bdakin@apple.com>
12612 Reviewed by Adele Peterson.
12614 Fix for <rdar://problem/6373102> REGRESSION (r36919): In a new mail
12615 message, the caret appears in message body by default
12617 This fixes a regression caused by http://trac.webkit.org/changeset/36919.
12618 That change was too sweeping; we do not want to
12619 unconditionally set the page to be active, but we can be looser
12620 than the original constraints. This patch set the window active if
12621 the first responder is or is a descendant of the main frame's frame
12624 * WebView/WebView.mm:
12625 (-[WebView _updateFocusedAndActiveStateForFrame:]):
12627 2008-11-18 Alexey Proskuryakov <ap@webkit.org>
12629 Reviewed by Darin Adler.
12631 https://bugs.webkit.org/show_bug.cgi?id=22337
12632 Enable workers by default
12634 * Configurations/WebKit.xcconfig: Define ENABLE_WORKERS (change from ENABLE_WORKER_THREADS,
12635 which was accidentally committed before).
12637 2008-11-17 Geoffrey Garen <ggaren@apple.com>
12641 Try to fix Mac build.
12643 * WebView/WebScriptDebugDelegate.mm:
12645 2008-11-17 Pierre-Olivier Latour <pol@apple.com>
12647 Reviewed by Sam Weinig.
12649 Added SPI to allow pausing a running CSS transition or animation
12650 at a given time for testing purposes.
12652 https://bugs.webkit.org/show_bug.cgi?id=21261
12654 * WebView/WebFrame.mm:
12655 (-[WebFrame _pauseAnimation:onNode:atTime:]):
12656 (-[WebFrame _pauseTransitionOfProperty:onNode:atTime:]):
12657 * WebView/WebFramePrivate.h:
12659 2008-11-17 Geoffrey Garen <ggaren@apple.com>
12661 Reviewed by Sam Weinig.
12663 Updated for JavaScriptCore renames.
12665 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/runtime/Interpreter.h.
12666 * ForwardingHeaders/runtime/Interpreter.h: Removed.
12667 * WebView/WebScriptDebugDelegate.mm:
12669 2008-11-16 Greg Bolsinga <bolsinga@apple.com>
12671 Reviewed by Darin Adler.
12673 https://bugs.webkit.org/show_bug.cgi?id=21810
12674 Remove use of static C++ objects that are destroyed at exit time (destructors)
12676 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>
12678 * Misc/WebNSPasteboardExtras.mm: Use DEFINE_STATIC_LOCAL
12679 (+[NSPasteboard _web_writableTypesForURL]):
12680 (_createWritableTypesForImageWithoutArchive): Created so accessor has one line initialization
12681 (_writableTypesForImageWithoutArchive): Use create function for one line initialization
12682 (_createWritableTypesForImageWithArchive): Created so accessor has one line initialization
12683 (_writableTypesForImageWithArchive): Use create function for one line initialization
12684 * WebCoreSupport/WebPasteboardHelper.mm: Use DEFINE_STATIC_LOCAL
12685 (WebPasteboardHelper::insertablePasteboardTypes):
12686 * WebView/WebHTMLRepresentation.mm: Use DEFINE_STATIC_LOCAL
12687 (+[WebHTMLRepresentation supportedMIMETypes]):
12688 (+[WebHTMLRepresentation supportedNonImageMIMETypes]):
12689 (+[WebHTMLRepresentation supportedImageMIMETypes]):
12691 2008-11-16 Darin Adler <darin@apple.com>
12693 Reviewed by Dan Bernstein.
12695 - https://bugs.webkit.org/show_bug.cgi?id=22295
12696 track which history items are from page load failures
12698 * History/WebHistoryItem.mm: Added lastVisitWasFailureKey.
12699 (-[WebHistoryItem initFromDictionaryRepresentation:]): Set the lastVisitWasFailure
12700 flag in the history item if the dictionary had lastVisitWasFailureKey true.
12701 (-[WebHistoryItem dictionaryRepresentation]): Set the lastVisitWasFailureKey boolean
12702 in the dictionary if the history item had the lastVisitWasFailure flag.
12703 (-[WebHistoryItem lastVisitWasFailure]): Added.
12705 * History/WebHistoryItemInternal.h: Moved include of WebBackForwardList here from
12706 WebHistoryItemPrivate.h; removed other unneeded includes.
12708 * History/WebHistoryItemPrivate.h: Added lastVisitWasFailure method.
12709 Removed unneeded includes.
12711 * Misc/WebNSDictionaryExtras.h: Added _webkit_boolForKey.
12712 * Misc/WebNSDictionaryExtras.m:
12713 (-[NSDictionary _webkit_boolForKey:]): Added.
12715 2008-11-14 Greg Bolsinga <bolsinga@apple.com>
12717 Reviewed by Darin Adler.
12719 https://bugs.webkit.org/show_bug.cgi?id=21810
12720 Remove use of static C++ objects that are destroyed at exit time (destructors)
12722 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid
12723 exit-time destructor. Update code that was changed to fix this issue that ran
12724 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference
12725 in gcc build 5465). Also typdefs for template types needed to be added in some
12726 cases so the type could make it through the macro successfully.
12728 Basically code of the form:
12731 DEFINE_STATIC_LOCAL(T, m, ());
12733 Also any code of the form:
12734 static T& m = *new T;
12736 DEFINE_STATIC_LOCAL(T, m, ());
12738 * ForwardingHeaders/wtf/StdLibExtras.h: Added.
12739 * History/WebBackForwardList.mm:
12740 (backForwardLists):
12741 * History/WebHistoryItem.mm:
12742 (historyItemWrappers):
12743 * Misc/WebStringTruncator.m:
12745 * Plugins/WebBaseNetscapePluginStream.mm:
12747 * WebView/WebView.mm:
12748 (aeDescFromJSValue):
12750 2008-11-14 Dan Bernstein <mitz@apple.com>
12752 Reviewed by Darin Adler.
12754 - <rdar://problem/6234333> Implement action methods for setting and clearing character-level directionality
12755 - part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate
12757 * WebCoreSupport/WebViewFactory.mm:
12758 (-[WebViewFactory contextMenuItemTagTextDirectionMenu]): Added.
12759 * WebView/WebFrame.mm:
12760 (core): Added a convertor from WebTextDirectionSubmenuInclusionBehavior
12761 to WebCore::TextDirectionSubmenuInclusionBehavior.
12762 * WebView/WebFrameInternal.h:
12763 * WebView/WebHTMLView.mm:
12764 Added makeTextWritingDirectionLeftToRight:,
12765 makeTextWritingDirectionNatural: and
12766 makeTextWritingDirectionRightToLeft: using the WEBCORE_COMMAND macro.
12767 * WebView/WebPreferenceKeysPrivate.h:
12768 Added WebKitTextDirectionSubmenuInclusionBehaviorPreferenceKey.
12769 * WebView/WebPreferences.mm:
12770 (+[WebPreferences initialize]): Set the default Text Direction
12771 submenu inclusion behavior to never include.
12772 (-[WebPreferences textDirectionSubmenuInclusionBehavior]): Added this
12774 (-[WebPreferences setTextDirectionSubmenuInclusionBehavior:]): Ditto.
12775 * WebView/WebPreferencesPrivate.h: Defined the
12776 WebTextDirectionSubmenuInclusionBehavior enum and declared
12778 * WebView/WebUIDelegatePrivate.h:
12779 * WebView/WebView.mm:
12780 (-[WebView _preferencesChangedNotification:]): Added code to transfer
12781 the Text Direction submenu inclusion behavior preference to WebCore
12784 2008-11-14 Darin Adler <darin@apple.com>
12786 Reviewed by Mark Rowe.
12788 - fix https://bugs.webkit.org/show_bug.cgi?id=22222
12789 selectKeyViewPrecedingView: with document view that can't be first responder
12790 makes WebFrameView be first responder
12792 * WebView/WebFrameView.mm: (-[WebFrameView becomeFirstResponder]):
12793 Moved the acceptsFirstResponder special case inside the if statement so it won't
12794 run in the "selecting previous" case. Also removed the "just before shipping Tiger"
12795 code that doesn't need to be here any more.
12797 2008-11-13 Mark Rowe <mrowe@apple.com>
12801 Don't use NSPICTPboardType on systems where it is deprecated. The system will take care of converting
12802 from this format to a format that we can understand.
12804 * WebCoreSupport/WebPasteboardHelper.mm:
12805 (WebPasteboardHelper::insertablePasteboardTypes):
12806 * WebView/WebHTMLView.mm:
12807 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
12808 (+[WebHTMLView _insertablePasteboardTypes]):
12809 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
12811 2008-11-13 John Sullivan <sullivan@apple.com>
12813 fixed <rdar://problem/6361578> Web Kit UI strings: a few edits
12815 Reviewed by Tim Hatcher
12817 * Misc/WebKitErrors.m:
12818 "Cannot show content with specified mime type" -> "Content with specified MIME type can't be shown"
12819 "Cannot show URL" -> "The URL can't be shown"
12820 "Cannot find plug-in" -> "The plug-in can't be found"
12821 "Cannot load plug-in" -> "The plug-in can't be loaded"
12823 * Panels/English.lproj/WebAuthenticationPanel.nib/classes.nib:
12824 * Panels/English.lproj/WebAuthenticationPanel.nib/info.nib:
12825 * Panels/English.lproj/WebAuthenticationPanel.nib/keyedobjects.nib: Added.
12826 * Panels/English.lproj/WebAuthenticationPanel.nib/objects.nib: Removed.
12827 Changed placeholder fine print in the nib to match one of the two strings it might be replaced by.
12828 This automagically updated the nib to a newer format, hence the objects -> keyedobjects change.
12829 I could have changed the placeholder fine print to be empty but this lets localizers understand
12830 the dialog layout better.
12832 * Panels/WebAuthenticationPanel.m:
12833 (-[WebAuthenticationPanel setUpForChallenge:]):
12834 "you need to log in" -> "you must log in"
12835 "Your log-in information" -> "Your login information"
12836 "The name or password entered" -> "The user name or password you entered"
12837 "Please try again." -> "Make sure you're entering them correctly, and then try again."
12839 2008-11-12 Stephanie Lewis <slewis@apple.com>
12843 * Panels/WebAuthenticationPanel.m:
12845 2008-11-12 John Sullivan <sullivan@apple.com>
12847 fixed <rdar://problem/3839110> Authentication dialogs talk about passwords being sent "in the clear"
12849 Reviewed by Tim Hatcher
12851 * Panels/WebAuthenticationPanel.m:
12852 (-[WebAuthenticationPanel setUpForChallenge:]):
12853 use "unencrypted" instead of "in the clear". Also, use the "Your log-in information
12854 will be sent securely" version when the receiving server is https, regardless of
12855 whether it uses basic or digest authentication.
12857 2008-11-12 Darin Adler <darin@apple.com>
12859 Reviewed by Mark Rowe.
12861 - fix https://bugs.webkit.org/show_bug.cgi?id=22223
12862 <rdar://problem/6366864> REGRESSION(r38245): "View Source" crashes the browser
12864 * WebView/WebFrameView.mm: (-[WebFrameView viewDidMoveToWindow]):
12865 Add missing null check.
12867 2008-11-12 Anders Carlsson <andersca@apple.com>
12869 Reviewed by Kevin Decker.
12873 * Plugins/WebNetscapePluginView.mm:
12874 (-[WebNetscapePluginView createPlugin]):
12876 2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
12878 Reviewed by Simon Hausmann.
12880 Move _web_encodingForResource from WebKit into WebCore and change return type
12882 This change is needed to implement NSAPI in WebCore for Mac, see:
12884 https://bugs.webkit.org/show_bug.cgi?id=21427
12887 * Misc/WebKitNSStringExtras.m:
12888 (+[NSString _web_encodingForResource:]):
12890 2008-11-10 Tor Arne Vestbø <tavestbo@trolltech.com>
12892 Reviewed by Simon Hausmann.
12894 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to
12895 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString.
12897 This change is needed to implement NSAPI in WebCore for Mac, see:
12899 https://bugs.webkit.org/show_bug.cgi?id=21427
12901 * Misc/WebKitNSStringExtras.m:
12902 (-[NSString _webkit_isCaseInsensitiveEqualToString:]):
12904 2008-11-11 Dan Bernstein <mitz@apple.com>
12906 Reviewed by Adam Roben.
12908 WebKit/mac part of adding a master volume control for media elements in a WebView
12910 * WebView/WebView.mm:
12911 (-[WebView setMediaVolume:]): Added.
12912 (-[WebView mediaVolume]): Added.
12913 * WebView/WebViewPrivate.h:
12915 2008-11-11 Aaron Golden <agolden@apple.com>
12917 Bug 22134: -[WebHistoryItem dictionaryRepresentation] accesses past the end of a vector
12919 <https://bugs.webkit.org/show_bug.cgi?id=22134>
12921 Reviewed by Geoff Garen.
12923 * History/WebHistoryItem.mm:
12924 (-[WebHistoryItem initFromDictionaryRepresentation:]):
12925 (-[WebHistoryItem dictionaryRepresentation]):
12927 2008-11-10 Anders Carlsson <andersca@apple.com>
12929 Reviewed by Kevin Decker.
12931 Move renewGState to the base class.
12933 * Plugins/WebBaseNetscapePluginView.mm:
12934 (-[WebBaseNetscapePluginView renewGState]):
12935 * Plugins/WebNetscapePluginView.mm:
12937 2008-11-10 Anders Carlsson <andersca@apple.com>
12939 Reviewed by Kevin Decker.
12941 Move start, stop and all the related methods down to WebBaseNetscapePluginView.
12943 * Plugins/WebBaseNetscapePluginView.h:
12944 * Plugins/WebBaseNetscapePluginView.mm:
12945 (-[WebBaseNetscapePluginView updateAndSetWindow]):
12946 (-[WebBaseNetscapePluginView addWindowObservers]):
12947 (-[WebBaseNetscapePluginView removeWindowObservers]):
12948 (-[WebBaseNetscapePluginView start]):
12949 (-[WebBaseNetscapePluginView stop]):
12950 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
12951 (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
12952 (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
12953 (-[WebBaseNetscapePluginView viewWillMoveToHostWindow:]):
12954 (-[WebBaseNetscapePluginView viewDidMoveToHostWindow]):
12955 (-[WebBaseNetscapePluginView windowWillClose:]):
12956 (-[WebBaseNetscapePluginView windowBecameKey:]):
12957 (-[WebBaseNetscapePluginView windowResignedKey:]):
12958 (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
12959 (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
12960 (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
12961 (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
12962 (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
12963 * Plugins/WebNetscapePluginView.h:
12964 * Plugins/WebNetscapePluginView.mm:
12966 2008-11-10 Anders Carlsson <andersca@apple.com>
12968 Reviewed by Kevin Decker.
12970 Move rightMouseDown, rightMouseUp and sendActivateEvent to the base plugin view.
12971 Add stubs for createPlugin, loadStream, shouldStop and destroyPlugin.
12973 * Plugins/WebBaseNetscapePluginView.h:
12974 * Plugins/WebBaseNetscapePluginView.mm:
12975 (-[WebBaseNetscapePluginView windowFocusChanged:]):
12976 (-[WebBaseNetscapePluginView createPlugin]):
12977 (-[WebBaseNetscapePluginView loadStream]):
12978 (-[WebBaseNetscapePluginView destroyPlugin]):
12979 (-[WebBaseNetscapePluginView sendActivateEvent:]):
12980 (-[WebBaseNetscapePluginView rightMouseDown:]):
12981 (-[WebBaseNetscapePluginView rightMouseUp:]):
12982 * Plugins/WebNetscapePluginView.mm:
12983 (-[WebNetscapePluginView windowFocusChanged:]):
12985 2008-11-10 Anders Carlsson <andersca@apple.com>
12987 Reviewed by Kevin Decker.
12989 Factor plug-in type specific code out to three new methods, createPlugin, destroyPlugin and loadStream.
12991 * Plugins/WebNetscapePluginView.mm:
12992 (-[WebNetscapePluginView createPlugin]):
12993 (-[WebNetscapePluginView loadStream]):
12994 (-[WebNetscapePluginView start]):
12995 (-[WebNetscapePluginView shouldStop]):
12996 (-[WebNetscapePluginView destroyPlugin]):
12997 (-[WebNetscapePluginView stop]):
12999 2008-11-10 Anders Carlsson <andersca@apple.com>
13003 * Plugins/WebNetscapePluginPackage.m:
13004 (-[WebNetscapePluginPackage load]):
13006 2008-11-10 Anders Carlsson <andersca@apple.com>
13008 Reviewed by Sam Weinig.
13010 Move even more code down to WebBaseNetscapePluginView, get rid of some unnecessary methods.
13012 * Plugins/WebBaseNetscapePluginView.h:
13013 * Plugins/WebBaseNetscapePluginView.mm:
13014 (-[WebBaseNetscapePluginView focusChanged]):
13015 (-[WebBaseNetscapePluginView visibleRect]):
13016 (-[WebBaseNetscapePluginView acceptsFirstResponder]):
13017 (-[WebBaseNetscapePluginView setHasFocus:]):
13018 (-[WebBaseNetscapePluginView becomeFirstResponder]):
13019 (-[WebBaseNetscapePluginView resignFirstResponder]):
13020 * Plugins/WebNetscapePluginView.h:
13021 * Plugins/WebNetscapePluginView.mm:
13022 (-[WebNetscapePluginView focusChanged]):
13023 (-[WebNetscapePluginView tellQuickTimeToChill]):
13024 (-[WebNetscapePluginView updateAndSetWindow]):
13025 (-[WebNetscapePluginView start]):
13026 (-[WebNetscapePluginView stop]):
13027 (-[WebNetscapePluginView viewWillMoveToWindow:]):
13028 (-[WebNetscapePluginView createPluginScriptableObject]):
13029 (-[WebNetscapePluginView pluginView:receivedData:]):
13030 (-[WebNetscapePluginView pluginView:receivedError:]):
13031 (-[WebNetscapePluginView pluginViewFinishedLoading:]):
13032 (-[WebNetscapePluginView inputContext]):
13033 (-[WebNetscapePluginView hasMarkedText]):
13034 (-[WebNetscapePluginView insertText:]):
13035 (-[WebNetscapePluginView markedRange]):
13036 (-[WebNetscapePluginView selectedRange]):
13037 (-[WebNetscapePluginView setMarkedText:selectedRange:]):
13038 (-[WebNetscapePluginView unmarkText]):
13039 (-[WebNetscapePluginView validAttributesForMarkedText]):
13040 (-[WebNetscapePluginView attributedSubstringFromRange:]):
13041 (-[WebNetscapePluginView characterIndexForPoint:]):
13042 (-[WebNetscapePluginView doCommandBySelector:]):
13043 (-[WebNetscapePluginView firstRectForCharacterRange:]):
13044 (-[WebNetscapePluginView _viewHasMoved]):
13045 (-[WebNetscapePluginView _redeliverStream]):
13047 2008-11-10 Anders Carlsson <andersca@apple.com>
13049 Reviewed by Kevin Decker.
13051 Move timer handling code down to WebBaseNetscapePluginView.
13053 * Plugins/WebBaseNetscapePluginView.h:
13054 * Plugins/WebBaseNetscapePluginView.mm:
13055 (-[WebBaseNetscapePluginView stopTimers]):
13056 (-[WebBaseNetscapePluginView startTimers]):
13057 (-[WebBaseNetscapePluginView restartTimers]):
13058 * Plugins/WebNetscapePluginView.h:
13059 * Plugins/WebNetscapePluginView.mm:
13060 (-[WebNetscapePluginView stopTimers]):
13061 (-[WebNetscapePluginView startTimers]):
13062 (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
13063 * WebView/WebHTMLView.mm:
13064 (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
13066 2008-11-10 Anders Carlsson <andersca@apple.com>
13068 Reviewed by Kevin Decker.
13070 Move a bunch of methods and ivars up to WebBaseNetscapePluginView.
13072 * Plugins/WebBaseNetscapePluginView.h:
13073 * Plugins/WebBaseNetscapePluginView.mm:
13074 (-[WebBaseNetscapePluginView dealloc]):
13075 (-[WebBaseNetscapePluginView finalize]):
13076 (-[WebBaseNetscapePluginView removeTrackingRect]):
13077 (-[WebBaseNetscapePluginView resetTrackingRect]):
13078 (-[WebBaseNetscapePluginView dataSource]):
13079 (-[WebBaseNetscapePluginView webFrame]):
13080 (-[WebBaseNetscapePluginView webView]):
13081 (-[WebBaseNetscapePluginView currentWindow]):
13082 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
13083 (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
13084 * Plugins/WebNetscapePluginView.h:
13085 * Plugins/WebNetscapePluginView.mm:
13086 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
13087 (-[WebNetscapePluginView sendActivateEvent:]):
13088 (-[WebNetscapePluginView restartTimers]):
13089 (-[WebNetscapePluginView setHasFocus:]):
13090 (-[WebNetscapePluginView mouseDown:]):
13091 (-[WebNetscapePluginView mouseUp:]):
13092 (-[WebNetscapePluginView mouseEntered:]):
13093 (-[WebNetscapePluginView mouseExited:]):
13094 (-[WebNetscapePluginView handleMouseMoved:]):
13095 (-[WebNetscapePluginView mouseDragged:]):
13096 (-[WebNetscapePluginView scrollWheel:]):
13097 (-[WebNetscapePluginView keyUp:]):
13098 (-[WebNetscapePluginView keyDown:]):
13099 (-[WebNetscapePluginView flagsChanged:]):
13100 (-[WebNetscapePluginView updateAndSetWindow]):
13101 (-[WebNetscapePluginView setWindowIfNecessary]):
13102 (-[WebNetscapePluginView start]):
13103 (-[WebNetscapePluginView stop]):
13104 (-[WebNetscapePluginView isStarted]):
13105 (-[WebNetscapePluginView dealloc]):
13106 (-[WebNetscapePluginView finalize]):
13107 (-[WebNetscapePluginView drawRect:]):
13108 (-[WebNetscapePluginView windowBecameKey:]):
13109 (-[WebNetscapePluginView preferencesHaveChanged:]):
13110 (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
13111 (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
13112 (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
13113 (-[WebNetscapePluginView _viewHasMoved]):
13115 2008-11-10 Anders Carlsson <andersca@apple.com>
13117 Reviewed by Kevin Decker and Mark Rowe.
13119 Add a WebHostedNetscapePluginView class.
13121 * Plugins/WebHostedNetscapePluginView.h: Added.
13122 * Plugins/WebHostedNetscapePluginView.mm: Added.
13124 * Plugins/WebNetscapePluginPackage.h:
13125 Use the right define.
13127 * Plugins/WebPluginDatabase.mm:
13128 (-[WebPluginDatabase removePluginInstanceViewsFor:]):
13129 Check for WebBaseNetscapePluginView.
13131 (-[WebPluginDatabase destroyAllPluginInstanceViews]):
13132 Check for WebBaseNetscapePluginView.
13134 * WebCoreSupport/WebFrameLoaderClient.mm:
13135 (NetscapePluginWidget::NetscapePluginWidget):
13136 (NetscapePluginWidget::handleEvent):
13137 Use WebBaseNetscapePluginView.
13139 (netscapePluginViewClass):
13140 New function that returns the right netscape plugin view type to use.
13142 (WebFrameLoaderClient::createPlugin):
13143 Get the right class.
13146 Prefix the #define with WTF_.
13148 * WebView/WebHTMLView.mm:
13149 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
13150 Check for WebBaseNetscapePluginView.
13152 * WebView/WebView.mm:
13153 Remove an unnecessary include.
13155 2008-11-10 Anders Carlsson <andersca@apple.com>
13157 Reviewed by Sam Weinig.
13159 Don't use individual ivars for each plug-in vtable function. Instead, get them from the plugin package.
13161 * Plugins/WebBaseNetscapePluginView.mm:
13162 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13163 * Plugins/WebNetscapePluginPackage.h:
13164 * Plugins/WebNetscapePluginPackage.m:
13165 (-[WebNetscapePluginPackage load]):
13166 (-[WebNetscapePluginPackage _unloadWithShutdown:]):
13167 * Plugins/WebNetscapePluginView.h:
13168 * Plugins/WebNetscapePluginView.mm:
13169 (-[WebNetscapePluginView sendEvent:isDrawRect:]):
13170 (-[WebNetscapePluginView setWindowIfNecessary]):
13171 (-[WebNetscapePluginView start]):
13172 (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13173 (-[WebNetscapePluginView createPluginScriptableObject]):
13174 (-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
13175 (-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
13176 (-[WebNetscapePluginView loadPluginRequest:]):
13177 (-[WebNetscapePluginView _createPlugin]):
13178 (-[WebNetscapePluginView _destroyPlugin]):
13179 (-[WebNetscapePluginView _printedPluginBitmap]):
13181 2008-11-10 Anders Carlsson <andersca@apple.com>
13183 Reviewed by Kevin Decker.
13185 Add a new WebBaseNetscapePluginView class.
13187 * Plugins/WebBaseNetscapePluginView.h: Added.
13188 * Plugins/WebBaseNetscapePluginView.mm: Added.
13189 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13190 (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
13191 (-[WebBaseNetscapePluginView handleMouseMoved:]):
13192 * Plugins/WebNetscapePluginView.h:
13193 * Plugins/WebNetscapePluginView.mm:
13194 (-[WebNetscapePluginView cut:]):
13195 (-[WebNetscapePluginView copy:]):
13196 (-[WebNetscapePluginView paste:]):
13197 (-[WebNetscapePluginView selectAll:]):
13198 (-[WebNetscapePluginView start]):
13199 (-[WebNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13201 2008-11-10 Anders Carlsson <andersca@apple.com>
13203 Reviewed by Adam Roben.
13205 Rename WebBaseNetscapePluginView to WebNetscapePluginView.
13207 * Plugins/WebBaseNetscapePluginStream.h:
13208 * Plugins/WebBaseNetscapePluginStream.mm:
13209 (WebNetscapePluginStream::WebNetscapePluginStream):
13210 (WebNetscapePluginStream::setPlugin):
13211 * Plugins/WebBaseNetscapePluginView.h: Removed.
13212 * Plugins/WebBaseNetscapePluginView.mm: Removed.
13213 * Plugins/WebNetscapePluginEventHandler.h:
13214 (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
13215 * Plugins/WebNetscapePluginEventHandler.mm:
13216 (WebNetscapePluginEventHandler::create):
13217 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
13218 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
13219 (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
13220 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
13221 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
13222 (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
13223 * Plugins/WebNetscapePluginView.h: Copied from mac/Plugins/WebBaseNetscapePluginView.h.
13224 * Plugins/WebNetscapePluginView.mm: Copied from mac/Plugins/WebBaseNetscapePluginView.mm.
13225 (+[WebNetscapePluginView setCurrentPluginView:]):
13226 (+[WebNetscapePluginView currentPluginView]):
13227 (-[WebNetscapePluginView loadPluginRequest:]):
13228 * Plugins/WebPluginDatabase.mm:
13229 (-[WebPluginDatabase removePluginInstanceViewsFor:]):
13230 (-[WebPluginDatabase destroyAllPluginInstanceViews]):
13231 * Plugins/npapi.mm:
13232 (pluginViewForInstance):
13233 (NPN_MarkedTextAbandoned):
13234 (NPN_MarkedTextSelectionChanged):
13235 * WebCoreSupport/WebFrameLoaderClient.mm:
13236 (NetscapePluginWidget::NetscapePluginWidget):
13237 (NetscapePluginWidget::handleEvent):
13238 (WebFrameLoaderClient::createPlugin):
13239 * WebView/WebHTMLView.mm:
13240 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
13241 (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
13242 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
13243 * WebView/WebView.mm:
13245 2008-11-09 Darin Adler <darin@apple.com>
13247 Reviewed by John Sullivan.
13249 - fix https://bugs.webkit.org/show_bug.cgi?id=15063
13250 <rdar://problem/5452227> REGRESSION (r25151): Switching to a tab waiting
13251 for first data does not clear the window
13253 * WebCoreSupport/WebFrameLoaderClient.mm:
13254 (WebFrameLoaderClient::frameLoadCompleted): Added comments, and got rid of
13255 a local variable to make this code match the code in the function below
13257 (WebFrameLoaderClient::provisionalLoadStarted): Added comments.
13259 * WebView/WebFrame.mm:
13260 (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Improved comment.
13262 * WebView/WebFrameView.mm:
13263 (-[WebFrameView _scrollView]): Tweaked formatting.
13264 (-[WebFrameView initWithFrame:]): Ditto.
13265 (-[WebFrameView setFrameSize:]): Added a comment and tweaked formatting.
13266 (-[WebFrameView viewDidMoveToWindow]): Added. This is the change that fixes
13267 the bug. Calls setDrawsBackground:YES as appropriate since moving the view
13268 out of the window to switch to another view disrupts the special technique
13269 for showing the old page during the start of loading. This is the identical
13270 reason for the setFrameSize: method above, and the code is almost the same.
13272 2008-11-08 David Kilzer <ddkilzer@apple.com>
13274 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled
13276 <https://bugs.webkit.org/show_bug.cgi?id=22137>
13278 Reviewed by Darin Adler.
13280 * WebView/WebFrame.mm:
13281 (-[WebFrame _accessibilityTree]): Return nil if HAVE(ACCESSIBILITY)
13284 2008-11-08 Dan Bernstein <mitz@apple.com>
13286 Reviewed by Darin Adler.
13288 - WebKit/mac part of adding WebPreferences for controlling databases and local storage
13290 * WebView/WebPreferenceKeysPrivate.h: Added
13291 WebKitDatabasesEnabledPreferenceKey and
13292 WebKitLocalStorageEnabledPreferenceKey.
13293 * WebView/WebPreferences.mm:
13294 (+[WebPreferences initialize]): Made databases and local storage enabled
13296 (-[WebPreferences databasesEnabled]): Added.
13297 (-[WebPreferences setDatabasesEnabled:]): Added.
13298 (-[WebPreferences localStorageEnabled]): Added.
13299 (-[WebPreferences setLocalStorageEnabled:]): Added.
13300 * WebView/WebPreferencesPrivate.h:
13301 * WebView/WebView.mm:
13302 (-[WebView _preferencesChangedNotification:]): Transfer the databases
13303 and local storage preferences to WebCore settings.
13305 2008-11-06 Anders Carlsson <andersca@apple.com>
13307 Reviewed by Kevin Decker.
13309 https://bugs.webkit.org/show_bug.cgi?id=22115
13310 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL
13312 Initialize the browser funcs correctly.
13314 * Plugins/WebNetscapePluginPackage.m:
13315 (-[WebNetscapePluginPackage load]):
13317 2008-11-06 David Kilzer <ddkilzer@apple.com>
13319 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0.
13321 Apparently older versions of gcc have issues with this patch.
13322 Backing out a second time until the issues are resolved.
13324 2008-11-06 Cameron Zwarich <zwarich@apple.com>
13326 Reviewed by Geoff Garen.
13328 Move the remaining files in the kjs subdirectory of JavaScriptCore to
13329 a new parser subdirectory, and remove the kjs subdirectory entirely.
13331 The header SavedBuiltins.h was removed in r32587, so it no longer needs
13332 a forwarding header.
13334 * ForwardingHeaders/kjs: Removed.
13335 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed.
13337 2008-11-06 David Kilzer <ddkilzer@apple.com>
13339 BUILD WAS NOT BROKEN: Rolling r38189 back in.
13341 Please perform a clean build if you see crashes.
13343 2008-11-06 David Kilzer <ddkilzer@apple.com>
13345 BUILD FIX: Backed out r38189 since it apparently broke the world.
13347 2008-11-06 John Sullivan <sullivan@apple.com>
13349 Fixed problem with switching between text-only zoom and full-content zoom
13351 There were two booleans tracking whether zoom was text-only, one in WebCore settings
13352 and one in WebViewPrivate. Fixed by eliminating the one in WebViewPrivate.
13354 Reviewed by Adam Roben
13356 * WebView/WebView.mm:
13357 remove declaration of zoomMultiplierIsTextOnly instance variable in WebViewPrivate
13358 (-[WebViewPrivate init]):
13359 removed initialization of zoomMultiplierIsTextOnly
13360 (-[WebView textSizeMultiplier]):
13361 call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
13362 (-[WebView _setZoomMultiplier:isTextOnly:]):
13363 update WebCore settings rather than WebViewPrivate instance variable
13364 (-[WebView _zoomMultiplier:]):
13365 call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
13366 (-[WebView _realZoomMultiplierIsTextOnly]):
13367 return value from WebCore settings instead of accessing WebViewPrivate instance variable
13368 (-[WebView pageSizeMultiplier]):
13369 call [self _realZoomMultiplierIsTextOnly] instead of accessing WebViewPrivate instance variable
13371 2008-11-06 Greg Bolsinga <bolsinga@apple.com>
13373 Reviewed by Darin Adler.
13375 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors)
13376 https://bugs.webkit.org/show_bug.cgi?id=21810
13378 * History/WebBackForwardList.mm:
13379 (backForwardLists): Changed to leak an object to avoid an exit-time destructor.
13380 * History/WebHistoryItem.mm:
13381 (historyItemWrappers): Ditto
13382 * Misc/WebStringTruncator.m:
13383 (fontFromNSFont): Ditto
13384 * Plugins/WebBaseNetscapePluginStream.mm:
13386 * WebView/WebView.mm:
13387 (aeDescFromJSValue): Ditto
13389 2008-11-05 Anders Carlsson <andersca@apple.com>
13391 Reviewed by Mark Rowe.
13393 Keep track of which plug-in host architecture would be needed for a given plug-in package.
13395 * Plugins/WebNetscapePluginPackage.h:
13396 * Plugins/WebNetscapePluginPackage.m:
13397 (-[WebNetscapePluginPackage _initWithPath:]):
13400 2008-11-05 Cameron Zwarich <zwarich@apple.com>
13402 Rubber-stamped by Sam Weinig.
13404 Correct forwarding headers for files moved to the runtime subdirectory
13405 of JavaScriptCore and remove unused forwarding headers.
13407 * ForwardingHeaders/kjs/collector.h: Removed.
13408 * ForwardingHeaders/kjs/identifier.h: Removed.
13409 * ForwardingHeaders/kjs/interpreter.h: Removed.
13410 * ForwardingHeaders/kjs/lookup.h: Removed.
13411 * ForwardingHeaders/kjs/operations.h: Removed.
13412 * ForwardingHeaders/kjs/protect.h: Removed.
13413 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h.
13414 * WebView/WebScriptDebugDelegate.mm:
13416 2008-11-05 Anders Carlsson <andersca@apple.com>
13418 Reviewed by Kevin Decker.
13420 Remove WebPlugInStreamLoaderDelegate.h
13422 * Plugins/WebBaseNetscapePluginStream.h:
13423 * Plugins/WebPlugInStreamLoaderDelegate.h: Removed.
13425 2008-11-05 Dan Bernstein <mitz@apple.com>
13429 * Plugins/WebBaseNetscapePluginView.mm:
13430 (-[WebBaseNetscapePluginView stop]):
13432 2008-11-04 Anders Carlsson <andersca@apple.com>
13434 Reviewed by Kevin Decker.
13436 Don't leak the CALayer.
13438 * Plugins/WebBaseNetscapePluginView.h:
13439 Make the layer a RetainPtr.
13441 * Plugins/WebBaseNetscapePluginView.mm:
13442 (-[WebBaseNetscapePluginView start]):
13444 (-[WebBaseNetscapePluginView stop]):
13445 Make sure to clear out the layer here.
13447 2008-11-04 Cameron Zwarich <zwarich@apple.com>
13449 Rubber-stamped by Sam Weinig.
13451 Remove the unused kjs/dtoa.h forwarding header.
13453 * ForwardingHeaders/kjs/dtoa.h: Removed.
13455 2008-11-04 Anders Carlsson <andersca@apple.com>
13457 Reviewed by Kevin Decker.
13459 More cleanup. Make a bunch of instance variables RetainPtrs.
13461 * Plugins/WebBaseNetscapePluginView.h:
13462 * Plugins/WebBaseNetscapePluginView.mm:
13463 (-[WebBaseNetscapePluginView visibleRect]):
13464 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
13465 (-[WebBaseNetscapePluginView sendActivateEvent:]):
13466 (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
13467 (-[WebBaseNetscapePluginView stopTimers]):
13468 (-[WebBaseNetscapePluginView restartTimers]):
13469 (-[WebBaseNetscapePluginView setHasFocus:]):
13470 (-[WebBaseNetscapePluginView mouseDown:]):
13471 (-[WebBaseNetscapePluginView mouseUp:]):
13472 (-[WebBaseNetscapePluginView mouseEntered:]):
13473 (-[WebBaseNetscapePluginView mouseExited:]):
13474 (-[WebBaseNetscapePluginView handleMouseMoved:]):
13475 (-[WebBaseNetscapePluginView mouseDragged:]):
13476 (-[WebBaseNetscapePluginView scrollWheel:]):
13477 (-[WebBaseNetscapePluginView keyUp:]):
13478 (-[WebBaseNetscapePluginView keyDown:]):
13479 (-[WebBaseNetscapePluginView flagsChanged:]):
13480 (-[WebBaseNetscapePluginView cut:]):
13481 (-[WebBaseNetscapePluginView copy:]):
13482 (-[WebBaseNetscapePluginView paste:]):
13483 (-[WebBaseNetscapePluginView selectAll:]):
13484 (-[WebBaseNetscapePluginView didStart]):
13485 (-[WebBaseNetscapePluginView start]):
13486 (-[WebBaseNetscapePluginView stop]):
13487 (-[WebBaseNetscapePluginView dataSource]):
13488 (-[WebBaseNetscapePluginView pluginPackage]):
13489 (-[WebBaseNetscapePluginView setPluginPackage:]):
13490 (-[WebBaseNetscapePluginView setAttributeKeys:andValues:]):
13491 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13492 (-[WebBaseNetscapePluginView fini]):
13493 (-[WebBaseNetscapePluginView dealloc]):
13494 (-[WebBaseNetscapePluginView pluginView:receivedError:]):
13495 (-[WebBaseNetscapePluginView requestWithURLCString:]):
13496 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
13497 (-[WebBaseNetscapePluginView loadPluginRequest:]):
13498 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
13499 (-[WebBaseNetscapePluginView userAgent]):
13500 (-[WebBaseNetscapePluginView getVariable:value:]):
13501 (-[WebBaseNetscapePluginView setVariable:value:]):
13502 (-[WebBaseNetscapePluginView _createPlugin]):
13503 (-[WebBaseNetscapePluginView _redeliverStream]):
13505 2008-11-04 Brady Eidson <beidson@apple.com>
13507 Reviewed by John Sullivan
13509 Cleanup global history a tad.
13511 Used to _addItemForURL always create a new item and merge it with a previous item if one existed.
13513 It is more efficient and less complicated to update the previous item if one exists.
13515 * History/WebHistory.mm:
13516 (-[WebHistoryPrivate visitedURL:withTitle:]):
13517 (-[WebHistory _visitedURL:withTitle:]): Instead of calling the general purpose [WebHistoryPrivate addItem:]
13518 with a new history item, call the new special purposed visitedURL:withTitle:
13519 * History/WebHistoryInternal.h:
13521 * History/WebHistoryItem.mm:
13522 (-[WebHistoryItem _visitedWithTitle:]): Call "visited()" on the WebCore history item with the pertinent info.
13523 * History/WebHistoryItemInternal.h:
13525 * WebCoreSupport/WebFrameLoaderClient.mm:
13526 (WebFrameLoaderClient::updateGlobalHistory):
13528 2008-11-04 Anders Carlsson <andersca@apple.com>
13530 Reviewed by Kevin Decker.
13532 https://bugs.webkit.org/show_bug.cgi?id=22065
13534 Only create the plug-in stream loader when the stream is started.
13536 * Plugins/WebBaseNetscapePluginStream.mm:
13537 (WebNetscapePluginStream::WebNetscapePluginStream):
13538 (WebNetscapePluginStream::start):
13540 2008-11-04 Anders Carlsson <andersca@apple.com>
13542 Reviewed by Kevin Decker.
13544 https://bugs.webkit.org/show_bug.cgi?id=22065
13546 Remove some old, unused plug-in code.
13548 * Plugins/WebBaseNetscapePluginView.h:
13549 * Plugins/WebBaseNetscapePluginView.mm:
13550 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
13551 (-[WebBaseNetscapePluginView start]):
13552 (-[WebBaseNetscapePluginView setVariable:value:]):
13554 2008-11-04 Simon Fraser <simon.fraser@apple.com>
13556 Reviewed by Dave Hyatt
13558 https://bugs.webkit.org/show_bug.cgi?id=21941
13560 Rename absolutePosition() to localToAbsolute(), and add the ability
13561 to optionally take transforms into account (which will eventually be the
13564 * WebView/WebRenderNode.mm:
13567 2008-11-01 Alexey Proskuryakov <ap@webkit.org>
13569 Reviewed by Darin Adler.
13571 https://bugs.webkit.org/show_bug.cgi?id=22030
13572 Make EventNames usable from multiple threads
13574 * WebView/WebHTMLView.mm:
13575 * WebView/WebPDFView.mm:
13576 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
13577 Access event names via eventNames() function.
13579 2008-11-04 Cameron Zwarich <zwarich@apple.com>
13581 Reviewed by Mark Rowe.
13583 Delete a forwarding header for a file that no longer exists.
13585 * ForwardingHeaders/kjs/string_object.h: Removed.
13587 2008-11-03 Cameron Zwarich <zwarich@apple.com>
13589 Rubber-stamped by Maciej Stachowiak.
13591 Move more files into the runtime subdirectory of JavaScriptCore.
13593 * ForwardingHeaders/kjs/JSLock.h: Removed.
13594 * ForwardingHeaders/kjs/SymbolTable.h: Removed.
13595 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h.
13596 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h.
13597 * Misc/WebCoreStatistics.mm:
13598 * Plugins/WebBaseNetscapePluginStream.mm:
13599 * Plugins/WebBaseNetscapePluginView.mm:
13600 * Plugins/WebPluginController.mm:
13601 * WebView/WebFrame.mm:
13602 * WebView/WebScriptDebugDelegate.mm:
13603 * WebView/WebView.mm:
13605 2008-11-03 Mark Rowe <mrowe@apple.com>
13607 Fix the 64-bit build.
13609 Pull the frequently-made check for drawingModel == NPDrawingModelQuickDraw out into a
13610 helper function to avoid #ifdef'ing all of the new places that this check is made.
13612 A few other #ifdef's are moved inside functions to allow their call sites to remain #ifdef-free,
13613 and we rely on the compiler to optimise out the check (which will always be false in 64-bit) instead.
13615 * Plugins/WebBaseNetscapePluginView.mm:
13616 (isDrawingModelQuickDraw):
13617 (-[WebBaseNetscapePluginView fixWindowPort]):
13618 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
13619 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
13620 (-[WebBaseNetscapePluginView updateAndSetWindow]):
13621 (-[WebBaseNetscapePluginView start]):
13622 (-[WebBaseNetscapePluginView tellQuickTimeToChill]):
13623 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
13624 (-[WebBaseNetscapePluginView _viewHasMoved]):
13626 2008-11-03 Maciej Stachowiak <mjs@apple.com>
13628 Reviewed by Kevin Decker.
13630 - fix release build (and unitialized variable for CG drawing model!)
13632 * Plugins/WebBaseNetscapePluginView.mm:
13633 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): initialize portState in all code paths
13635 2008-11-03 Kevin Decker <kdecker@apple.com>
13637 Reviewed by Anders Carlsson.
13639 https://bugs.webkit.org/show_bug.cgi?id=22053
13641 This patch adds initial support for the NPDrawingModelCoreAnimation drawing model.
13643 * Plugins/WebBaseNetscapePluginView.h: Added _layer ivar.
13644 * Plugins/WebBaseNetscapePluginView.mm:
13645 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation.
13646 (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
13647 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Slightly refactored a small block of code which with the PortState.
13648 Plug-ins using the NPDrawingModelCoreAnimation drawing model have no PortState.
13649 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): ASSERT this is not a plug-in using NPDrawingModelCoreAnimation
13650 (-[WebBaseNetscapePluginView updateAndSetWindow]): Ditto.
13651 (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
13652 (-[WebBaseNetscapePluginView start]): If the plug-in is a plug-in using the Core Animation model, request a layer from it.
13653 (-[WebBaseNetscapePluginView drawRect:]): Return early for NPDrawingModelCoreAnimation plug-ins.
13654 (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins running on post-Tiger systems WebKit supports
13655 NPDrawingModelCoreAnimation.
13656 (-[WebBaseNetscapePluginView setVariable:value:]): Added the new NPDrawingModelCoreAnimation case, which initializes drawingMode.
13657 (-[WebBaseNetscapePluginView _viewHasMoved]): Reworded the conditional call to updateAndSetWindow to be specific to
13658 CoreGraphics and QuickDraw plug-ins.
13660 2008-10-31 Cameron Zwarich <zwarich@apple.com>
13662 Reviewed by Darin Adler.
13664 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console
13665 <https://bugs.webkit.org/show_bug.cgi?id=22019>
13667 * Misc/WebCoreStatistics.mm:
13668 (+[WebCoreStatistics shouldPrintExceptions]):
13669 (+[WebCoreStatistics setShouldPrintExceptions:]):
13671 2008-10-31 Dan Bernstein <mitz@apple.com>
13673 Reviewed by John Sullivan.
13675 - WebKit/mac part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie
13677 * WebView/WebView.mm:
13678 (-[WebView _cookieEnabled]):
13679 (-[WebView _setCookieEnabled:]):
13680 * WebView/WebViewPrivate.h:
13682 2008-10-31 Brady Eidson <beidson@apple.com>
13684 Reviewed by Darin Adler
13686 [WebHistory setLastVisitedTimeInterval:forItem] was internal to WebHistory.mm and
13687 completely unused. Nuke it!
13689 * History/WebHistory.mm:
13691 2008-10-31 Chris Fleizach <cfleizach@apple.com>
13693 Reviewed by Darin Adler.
13695 <rdar://problem/4361197> Screen Reader's Item Chooser shows scroll area for WebKit Application window
13697 If a WebFrameView does not allow scrolling, its scrollbars should not appear in the accessibility hierarchy.
13699 * WebView/WebDynamicScrollBarsView.m:
13700 (-[WebDynamicScrollBarsView accessibilityIsIgnored]):
13702 2008-10-30 Mark Rowe <mrowe@apple.com>
13704 Reviewed by Jon Homeycutt.
13706 Explicitly default to building for only the native architecture in debug and release builds.
13708 * Configurations/DebugRelease.xcconfig:
13710 2008-10-30 Cameron Zwarich <zwarich@apple.com>
13712 Rubber-stamped by Sam Weinig.
13714 Create a debugger directory in JavaScriptCore and move the relevant
13717 * ForwardingHeaders/debugger: Added.
13718 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h.
13719 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed.
13720 * WebView/WebScriptDebugDelegate.mm:
13721 * WebView/WebScriptDebugger.h:
13722 * WebView/WebScriptDebugger.mm:
13724 2008-10-29 Anders Carlsson <andersca@apple.com>
13726 Reviewed by Kevin Decker.
13728 * Plugins/WebBaseNetscapePluginStream.h:
13729 * Plugins/WebBaseNetscapePluginStream.mm:
13730 (WebNetscapePluginStream::WebNetscapePluginStream):
13731 (WebNetscapePluginStream::~WebNetscapePluginStream):
13732 (WebNetscapePluginStream::start):
13734 2008-10-29 Anders Carlsson <andersca@apple.com>
13736 Reviewed by Sam Weinig.
13738 Remove an unused forward class declaration.
13740 * Plugins/WebBaseNetscapePluginView.h:
13742 2008-10-29 Anders Carlsson <andersca@apple.com>
13744 Reviewed by Sam Weinig.
13746 Remove WebBaseNetscapePluginViewInternal.h and WebBaseNetscapePluginViewPrivate.h.
13748 * Plugins/WebBaseNetscapePluginView.h:
13749 * Plugins/WebBaseNetscapePluginViewInternal.h: Removed.
13750 * Plugins/WebBaseNetscapePluginViewPrivate.h: Removed.
13751 * Plugins/WebNetscapePluginEventHandler.mm:
13752 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
13753 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
13754 * Plugins/npapi.mm:
13755 * WebView/WebHTMLView.mm:
13757 2008-10-29 Anders Carlsson <andersca@apple.com>
13759 Reviewed by Sam Weinig.
13761 Remove WebNetscapePluginEmbeddedView, it adds nothing extra now.
13763 Remove WebNetscapePlugInStreamLoaderClient since WebNetscapePluginStream is the client now.
13765 * Plugins/WebBaseNetscapePluginStream.h:
13766 * Plugins/WebBaseNetscapePluginStream.mm:
13767 * Plugins/WebBaseNetscapePluginView.h:
13768 * Plugins/WebKitPluginContainerView.h:
13769 * Plugins/WebNetscapePluginEmbeddedView.h: Removed.
13770 * Plugins/WebNetscapePluginEmbeddedView.mm: Removed.
13771 * Plugins/WebNetscapePluginEventHandler.h:
13772 * WebCoreSupport/WebFrameLoaderClient.mm:
13773 (NetscapePluginWidget::NetscapePluginWidget):
13774 (NetscapePluginWidget::handleEvent):
13775 (WebFrameLoaderClient::createPlugin):
13776 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Removed.
13777 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Removed.
13778 * WebView/WebHTMLView.mm:
13779 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
13781 2008-10-29 Anders Carlsson <andersca@apple.com>
13783 Reviewed by Sam Weinig.
13785 Remove the WebBaseNetscapePluginStream Objective-C object.
13787 * Plugins/WebBaseNetscapePluginStream.h:
13788 (WebNetscapePluginStream::create):
13789 * Plugins/WebBaseNetscapePluginStream.mm:
13790 (WebNetscapePluginStream::WebNetscapePluginStream):
13791 * Plugins/WebBaseNetscapePluginView.mm:
13792 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
13793 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13794 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
13796 2008-10-29 Brady Eidson <beidson@apple.com>
13798 Reviewed by Sam Weinig
13800 https://bugs.webkit.org/show_bug.cgi?id=21952
13802 Address an outstanding FIXME by removing unused SPI
13804 * History/WebHistory.mm:
13805 (-[WebHistory _addItemForURL:title:]): Fold addItem: into this method
13807 * History/WebHistoryPrivate.h: Removed unused/unneccessary SPI
13809 2008-10-28 Justin Garcia <justin.garcia@apple.com>
13811 Reviewed by Darin Adler.
13813 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored
13815 * WebView/WebHTMLView.mm: IgnoreSpelling is now a WebCore command. That command handles
13816 calling back into WebKit to perform the cross platform work that was removed in this change.
13818 2008-10-28 Cameron Zwarich <zwarich@apple.com>
13820 Reviewed by Mark Rowe.
13822 Move ForwardingHeaders to their correct location after the creation of
13823 the runtime directory in JavaScriptCore.
13825 * ForwardingHeaders/kjs/JSFunction.h: Removed.
13826 * ForwardingHeaders/kjs/JSObject.h: Removed.
13827 * ForwardingHeaders/kjs/JSString.h: Removed.
13828 * ForwardingHeaders/kjs/JSValue.h: Removed.
13829 * ForwardingHeaders/runtime: Added.
13830 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h.
13831 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h.
13832 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h.
13833 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h.
13834 * WebView/WebScriptDebugDelegate.mm:
13835 * WebView/WebScriptDebugger.mm:
13836 * WebView/WebView.mm:
13838 2008-10-28 Adele Peterson <adele@apple.com>
13840 Reviewed by John Sullivan.
13842 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880
13843 "files" string for multifile uploads needs to be localized
13845 * WebCoreSupport/WebViewFactory.mm: (-[WebViewFactory multipleFileUploadTextForNumberOfFiles:]):
13848 2008-10-28 Timothy Hatcher <timothy@apple.com>
13850 Add WebInspector methods to enable the profiler.
13852 https://bugs.webkit.org/show_bug.cgi?id=21927
13854 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does
13855 not slow down JavaScript all the time
13857 Reviewed by Darin Adler and Kevin McCullough.
13859 * WebInspector/WebInspector.h:
13860 * WebInspector/WebInspector.mm:
13861 (-[WebInspector isJavaScriptProfilingEnabled]): Added. Calls InspectorController::profilerEnabled.
13862 (-[WebInspector setJavaScriptProfilingEnabled:]): Added. Call InspectorController's disableProfiler
13863 or enableProfiler methods.
13865 2008-10-27 Timothy Hatcher <timothy@apple.com>
13867 Rename a few methods related to attaching and detaching the debugger.
13869 * Rename attachDebugger to enableDebugger.
13870 * Rename detachDebugger to disableDebugger.
13871 * Rename the debuggerAttached getter to debuggerEnabled.
13873 Reviewed by Darin Adler.
13875 * WebInspector/WebInspector.mm:
13876 (-[WebInspector isDebuggingJavaScript]):
13877 (-[WebInspector startDebuggingJavaScript:]):
13878 (-[WebInspector stopDebuggingJavaScript:]):
13880 2008-10-27 Anders Carlsson <andersca@apple.com>
13882 Reviewed by Maciej Stachowiak.
13884 Use the C++ stream object for JS requests as well.
13886 * Plugins/WebBaseNetscapePluginView.mm:
13887 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13888 (-[WebBaseNetscapePluginView destroyStream:reason:]):
13890 2008-10-27 Anders Carlsson <andersca@apple.com>
13892 Reviewed by Dan Bernstein.
13894 Use the C++ stream object in WebBaseNetscapePluginView. Use a HashSet of RefPtrs to keep track of the streams.
13896 * Plugins/WebBaseNetscapePluginStream.mm:
13897 (WebNetscapePluginStream::~WebNetscapePluginStream):
13898 (WebNetscapePluginStream::setPlugin):
13899 (WebNetscapePluginStream::startStream):
13900 (WebNetscapePluginStream::destroyStream):
13901 (WebNetscapePluginStream::destroyStreamWithReason):
13902 (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
13903 (WebNetscapePluginStream::deliverData):
13904 * Plugins/WebBaseNetscapePluginView.h:
13905 * Plugins/WebBaseNetscapePluginView.mm:
13906 (-[WebBaseNetscapePluginView stop]):
13907 (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:DOMElement:]):
13908 (-[WebBaseNetscapePluginView disconnectStream:]):
13909 (-[WebBaseNetscapePluginView dealloc]):
13910 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
13911 (-[WebBaseNetscapePluginView pluginView:receivedData:]):
13912 (-[WebBaseNetscapePluginView pluginView:receivedError:]):
13913 (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
13914 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
13916 2008-10-27 Anders Carlsson <andersca@apple.com>
13918 Reviewed by Dan Bernstein.
13920 Move code from dealloc and finalize to the WebNetscapePluginStream destructor.
13922 * Plugins/WebBaseNetscapePluginStream.h:
13923 * Plugins/WebBaseNetscapePluginStream.mm:
13924 (WebNetscapePluginStream::~WebNetscapePluginStream):
13925 (-[WebBaseNetscapePluginStream dealloc]):
13926 (-[WebBaseNetscapePluginStream finalize]):
13928 2008-10-27 Anders Carlsson <andersca@apple.com>
13930 Reviewed by Sam Weinig.
13932 Get rid of WebNetscapePlugInStreamLoaderClient, the plug-in stream is its own client.
13934 * Plugins/WebBaseNetscapePluginStream.h:
13935 * Plugins/WebBaseNetscapePluginStream.mm:
13936 (WebNetscapePluginStream::WebNetscapePluginStream):
13937 (-[WebBaseNetscapePluginStream dealloc]):
13938 (-[WebBaseNetscapePluginStream finalize]):
13939 * Plugins/WebBaseNetscapePluginView.mm:
13940 (-[WebBaseNetscapePluginView pluginView:receivedError:]):
13941 (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]):
13942 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
13943 (-[WebBaseNetscapePluginView destroyStream:reason:]):
13945 2008-10-27 Anders Carlsson <andersca@apple.com>
13947 Reviewed by Darin Adler.
13949 Change the Obj-C init methods to simply call WebNetscapePluginStream::create.
13951 * Plugins/WebBaseNetscapePluginStream.h:
13952 (WebNetscapePluginStream::create):
13953 * Plugins/WebBaseNetscapePluginStream.mm:
13954 (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
13955 (WebNetscapePluginStream::WebNetscapePluginStream):
13956 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
13958 2008-10-27 Anders Carlsson <andersca@apple.com>
13960 Reviewed by Kevin Decker.
13962 Convert more code over to C++.
13964 * Plugins/WebBaseNetscapePluginStream.h:
13965 (WebNetscapePluginStream::plugin):
13966 (WebNetscapePluginStream::setRequestURL):
13969 * Plugins/WebBaseNetscapePluginStream.mm:
13970 (WebNetscapePluginStream::start):
13971 (WebNetscapePluginStream::stop):
13974 (WebNetscapePluginStream::startStreamWithResponse):
13977 (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
13978 Call the C++ version.
13980 (-[WebBaseNetscapePluginStream impl]):
13981 New accessor for the C++ class.
13983 * Plugins/WebBaseNetscapePluginView.mm:
13984 (-[WebBaseNetscapePluginView pluginView:receivedData:]):
13985 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
13986 (-[WebBaseNetscapePluginView destroyStream:reason:]):
13987 Call the C++ methods.
13989 2008-10-24 Sam Weinig <sam@webkit.org>
13991 Reviewed by Dan Bernstein.
13993 Fix https://bugs.webkit.org/show_bug.cgi?id=21759
13994 Layering violation: FileChooser should not depend on Document/Frame/Page
13996 * WebCoreSupport/WebChromeClient.h:
13997 * WebCoreSupport/WebChromeClient.mm:
13998 (WebChromeClient::runOpenPanel):
14000 2008-10-24 Anders Carlsson <andersca@apple.com>
14004 * WebView/WebUIDelegate.h:
14006 2008-10-24 Anders Carlsson <andersca@apple.com>
14008 Reviewed by Sam Weinig.
14010 <rdar://problem/5440917> Support NPN_Construct
14014 * Plugins/WebNetscapePluginPackage.m:
14015 (-[WebNetscapePluginPackage load]):
14017 2008-10-24 Mark Rowe <mrowe@apple.com>
14019 Rubber-stamped by Tim Hatcher.
14021 <rdar://problem/6119711> Remove the dependency on Foundation's private __COCOA_FORMAL_PROTOCOLS__ define.
14023 * Misc/EmptyProtocolDefinitions.h:
14025 2008-10-24 Adele Peterson <adele@apple.com>
14027 Reviewed by Sam Weinig.
14029 WebKit part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload.
14031 * WebCoreSupport/WebChromeClient.mm:
14032 (WebChromeClient::runOpenPanel):
14033 (-[WebOpenPanelResultListener chooseFilenames:]):
14034 * WebView/WebUIDelegate.h:
14036 2008-10-24 Timothy Hatcher <timothy@apple.com>
14038 Implement new InspectorClient methods to work with Settings.
14040 https://bugs.webkit.org/show_bug.cgi?id=21856
14042 Reviewed by Darin Adler.
14044 * WebCoreSupport/WebInspectorClient.h: Add the new methods and
14045 guard the ObjC parts of the header.
14047 2008-10-24 Darin Adler <darin@apple.com>
14049 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732
14051 * WebView/WebFrame.mm:
14052 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
14053 * WebView/WebScriptDebugDelegate.mm:
14054 (-[WebScriptCallFrame _convertValueToObjcValue:]):
14055 (-[WebScriptCallFrame exception]):
14056 (-[WebScriptCallFrame evaluateWebScript:]):
14057 * WebView/WebView.mm:
14058 (aeDescFromJSValue):
14059 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
14060 Use JSValue* instead of JSValuePtr.
14062 2008-10-23 Mark Rowe <mrowe@apple.com>
14066 * Misc/WebKitErrors.m:
14067 (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]):
14069 2008-10-20 Sam Weinig <sam@webkit.org>
14071 Reviewed by Anders Carlsson.
14073 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port.
14075 * WebCoreSupport/WebFrameLoaderClient.h:
14076 * WebCoreSupport/WebFrameLoaderClient.mm:
14078 2008-10-20 Alexey Proskuryakov <ap@webkit.org>
14080 Reviewed by Oliver Hunt.
14082 <rdar://problem/6277777> REGRESSION (r36954): XMLHttpRequest not working when
14083 certain WebView delegate actions are taken
14085 * WebView/WebFrame.mm: (-[WebFrame _attachScriptDebugger]): Don't accidentally create
14086 a window shell if there is none yet.
14088 2008-10-19 Darin Adler <darin@apple.com>
14090 Reviewed by Oliver Hunt.
14092 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
14093 improve performance by eliminating JSValue as a base class for JSCell
14095 Remove most uses of JSValue, which will be removed in a future patch.
14097 * WebView/WebFrame.mm:
14098 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
14099 Use JSValuePtr instead of JSValue.
14100 * WebView/WebScriptDebugger.h: Removed declaration of JSValue.
14102 2008-10-18 Darin Adler <darin@apple.com>
14104 Reviewed by Oliver Hunt.
14106 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
14107 improve performance by eliminating JSValue as a base class for JSCell
14109 Tweak a little more to get closer to where we can make JSValuePtr a class.
14111 * WebView/WebScriptDebugDelegate.mm:
14112 (-[WebScriptCallFrame _convertValueToObjcValue:]): Use JSValuePtr.
14113 (-[WebScriptCallFrame exception]): Ditto.
14114 (-[WebScriptCallFrame evaluateWebScript:]): Ditto. And noValue.
14115 * WebView/WebScriptDebugger.mm:
14116 (WebScriptDebugger::WebScriptDebugger): Use new DebuggerCallFrame
14117 constructor that doesn't require explicitly passing an exception.
14118 * WebView/WebView.mm:
14119 (aeDescFromJSValue): Use JSValuePtr.
14120 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
14122 2008-10-18 Dan Bernstein <mitz@apple.com>
14124 Reviewed by Sam Weinig.
14126 - WebKit/mac part of https://bugs.webkit.org/show_bug.cgi?id=21736
14127 Long-dead decoded image data make up for most of the object cache's memory use over time
14129 * WebView/WebView.mm:
14130 (+[WebView _setCacheModel:]): In the primary web browser model, set the
14131 cache's dead decoded data deletion interval to 60 seconds.
14133 2008-10-15 Mark Rowe <mrowe@apple.com>
14135 Reviewed by Jon Honeycutt.
14137 Fix a leak of a CFStringRef reported by the build bot.
14139 * Plugins/WebBaseNetscapePluginView.mm:
14140 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]): Use a autoreleased
14141 NSString rather than manually releasing a CFStringRef when we're done with it.
14143 2008-10-15 Kenneth Russell <kenneth.russell@sun.com>
14145 Reviewed and landed by Anders Carlsson.
14147 https://bugs.webkit.org/show_bug.cgi?id=21572
14149 Initialize pluginFunc.size to the correct size before calling NP_GetEntryPoints.
14151 * Plugins/WebNetscapePluginPackage.m:
14152 (-[WebNetscapePluginPackage load]):
14154 2008-10-15 Mark Rowe <mrowe@apple.com>
14156 Reviewed by Dan Bernstein.
14158 <rdar://problem/6272508> Crash occurs after loading flash content at http://www.macrumors.com/
14160 Restore some code related to the CoreGraphics drawing model that was misplaced in r37131.
14162 * Plugins/WebBaseNetscapePluginView.mm:
14163 (-[WebBaseNetscapePluginView invalidateRegion:]):
14164 (-[WebBaseNetscapePluginView setVariable:value:]):
14166 2008-10-15 Geoffrey Garen <ggaren@apple.com>
14168 Reviewed by Cameron Zwarich.
14170 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
14171 Start the debugger without reloading the inspected page
14173 * WebInspector/WebInspector.mm:
14174 (-[WebInspector startDebuggingJavaScript:]): Updated for rename.
14176 2008-10-14 Maxime Britto <britto@apple.com>
14178 Reviewed by Darin Adler.
14180 Added SPI to use WebCore's TextIterator with WebKit.
14182 * WebView/WebTextIterator.h: Added.
14183 * WebView/WebTextIterator.mm: Added.
14184 (-[WebTextIteratorPrivate dealloc]):
14185 (-[WebTextIterator dealloc]):
14186 (-[WebTextIterator initWithRange:]): Creates a TextIterator
14188 (-[WebTextIterator advance]): Asks the iterator to advance() .
14189 (-[WebTextIterator currentNode]): Returns the current DOMNode from
14191 (-[WebTextIterator currentText]): Returns the current text from the
14193 (-[WebTextIterator atEnd]): Indicated whether the iterator has
14194 reached the end of the range.
14195 * WebView/WebView.h:
14196 * WebView/WebView.mm:
14197 (-[WebView textIteratorForRect:]): Returns a WebTextIterator with
14198 the DOMRange contained in the rectangle given as a parameter.
14200 2008-10-15 Timothy Hatcher <timothy@apple.com>
14202 Clean up user agent generation to simplify the _standardUserAgentWithApplicationName:
14203 class method to not require a WebKit version.
14205 Reviewed by Darin Adler.
14207 * WebView/WebView.mm:
14208 (+[WebView _standardUserAgentWithApplicationName:]): Create the WebKit version.
14209 (-[WebView WebCore::_userAgentForURL:]): Use the simplified _standardUserAgentWithApplicationName:.
14210 Remove code that created the WebKit version.
14211 * WebView/WebViewPrivate.h: Change the method name of _standardUserAgentWithApplicationName:.
14213 2008-10-14 Timothy Hatcher <timothy@apple.com>
14215 Make the user agent generation method a class method and cache the WebKit
14216 version in a static to prevent generating it every time. This is needed
14217 clean up to fix <rdar://problem/6292331>. Moved all code to WebPrivate so
14218 the class method can be in the WebViewPrivate.h header.
14220 Reviewed by John Sullivan.
14222 * WebView/WebView.mm:
14223 (callGestalt): Moved. Same code.
14224 (createMacOSXVersionString): Moved. Same code.
14225 (createUserVisibleWebKitVersionString): Moved from _userVisibleBundleVersionFromFullVersion:
14226 and returns a copied string.
14227 (+[WebView _standardUserAgentWithApplicationName:andWebKitVersion:]): Made into a class method.
14228 (-[WebView WebCore::_userAgentForURL:]): Changed to cache the WebKit version.
14229 * WebView/WebViewPrivate.h: Added +_standardUserAgentWithApplicationName:andWebKitVersion:.
14231 2008-10-13 Maciej Stachowiak <mjs@apple.com>
14233 Rubber stamped by Mark Rowe.
14235 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
14237 * Configurations/DebugRelease.xcconfig:
14239 2008-10-11 Dan Bernstein <mitz@apple.com>
14241 Reviewed by Sam Weinig.
14243 - rename _setAlwaysUseATSU to _setAlwaysUsesComplexTextCodePath and
14244 update it for the renamed WebCoreTextRenderer method; keep the old
14245 method around for clients that use it
14247 * WebView/WebView.mm:
14248 (+[WebView _setAlwaysUseATSU:]):
14249 (+[WebView _setAlwaysUsesComplexTextCodePath:]):
14250 * WebView/WebViewPrivate.h:
14252 2008-10-09 Timothy Hatcher <timothy@apple.com>
14254 Don't convert JavaScriptCore header include paths to WebKit paths. This was needed
14255 back when NPAPI and WebScriptObject migrated from JavaScriptCore. Also remove
14256 JavaScriptCore from the VPATH.
14258 Reviewed by Sam Weinig.
14260 * MigrateHeaders.make:
14262 2008-10-08 Darin Adler <darin@apple.com>
14264 Reviewed by Cameron Zwarich.
14266 - https://bugs.webkit.org/show_bug.cgi?id=21403
14267 Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
14269 * WebView/WebScriptDebugger.mm:
14270 (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
14272 2008-10-08 Timothy Hatcher <timothy@apple.com>
14274 Roll out r37427 because it causes an infinite recursion loading about:blank.
14276 https://bugs.webkit.org/show_bug.cgi?id=21476
14278 2008-10-08 Darin Adler <darin@apple.com>
14280 Reviewed by Cameron Zwarich.
14282 - https://bugs.webkit.org/show_bug.cgi?id=21403
14283 Bug 21403: use new CallFrame class rather than Register* for call frame manipulation
14285 * WebView/WebScriptDebugger.mm:
14286 (WebScriptDebugger::WebScriptDebugger): Update since DebuggerCallFrame is simpler now.
14288 2008-10-07 David Hyatt <hyatt@apple.com>
14290 Move viewless WebKit methods that Safari needs from WebViewInternal to WebViewPrivate.
14292 Reviewed by Tim Hatcher
14294 * WebView/WebView.mm:
14295 (WebKitInitializeApplicationCachePathIfNecessary):
14296 (-[WebView _registerDraggedTypes]):
14297 (-[WebView _usesDocumentViews]):
14298 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
14299 (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
14300 (-[WebView isFlipped]):
14301 (-[WebView viewWillDraw]):
14302 * WebView/WebViewInternal.h:
14303 * WebView/WebViewPrivate.h:
14305 2008-10-07 David Hyatt <hyatt@apple.com>
14307 Fix crash in isFlipped. Null check _private since isFlipped can get called from within AppKit
14308 machinery during teardown of the WebView.
14310 Reviewed by Adam Roben
14312 * WebView/WebView.mm:
14313 (-[WebView isFlipped]):
14315 2008-10-07 David Hyatt <hyatt@apple.com>
14317 Make viewless WebKit update focused and active state when the window becomes and loses key.
14318 The focus controller has been patched to understand that in viewless mode it can recur down and
14319 update all of the frames, which is why this code works now when placed just on the WebView.
14321 Reviewed by Adam Roben
14323 * WebView/WebView.mm:
14324 (-[WebView addWindowObservers]):
14325 (-[WebView removeWindowObservers]):
14326 (-[WebView viewWillMoveToWindow:]):
14327 (-[WebView viewDidMoveToWindow]):
14328 (-[WebView _updateFocusedAndActiveState]):
14329 (-[WebView _windowDidBecomeKey:]):
14330 (-[WebView _windowDidResignKey:]):
14331 (-[WebView _windowWillOrderOnScreen:]):
14333 2008-10-07 David Hyatt <hyatt@apple.com>
14335 Make sure the parent visibility state is set up properly on the outermost ScrollView widget.
14336 This fixes the repainting issues with viewless WebKit on Mac.
14338 Reviewed by Sam Weinig
14340 * WebCoreSupport/WebFrameLoaderClient.mm:
14341 (WebFrameLoaderClient::transitionToCommittedForNewPage):
14343 2008-10-07 David Hyatt <hyatt@apple.com>
14345 Make sure viewless Mac WebKit does a layout if needed before drawing.
14347 Reviewed by Sam Weinig
14349 * WebView/WebView.mm:
14350 (-[WebView viewWillDraw]):
14352 2008-10-07 David Hyatt <hyatt@apple.com>
14354 Make sure observers get hooked up to watch for size changes in viewless WebKit mode.
14356 Reviewed by Sam Weinig
14359 * WebView/WebFrame.mm:
14360 (-[WebFrame _drawRect:contentsOnly:]):
14361 * WebView/WebView.mm:
14362 (-[WebView viewWillDraw]):
14363 (-[WebView _boundsChanged]):
14364 (-[WebView addSizeObservers]):
14365 (-[WebView viewDidMoveToWindow]):
14366 (-[WebView viewDidMoveToSuperview]):
14368 2008-10-07 David Hyatt <hyatt@apple.com>
14370 Make sure WebView listens for size changes and resizes the frame view in viewless mode.
14372 Reviewed by Sam Weinig
14374 * WebView/WebView.mm:
14375 (-[WebView addSizeObservers]):
14376 (-[WebView viewDidMoveToWindow]):
14377 (-[WebView viewDidMoveToSuperview]):
14379 2008-10-06 David Hyatt <hyatt@apple.com>
14381 Enable viewless Mac WebKit to paint some basic pages.
14383 Reviewed by Sam Weinig
14385 * WebCoreSupport/WebChromeClient.mm:
14386 (WebChromeClient::windowResizerRect):
14387 (WebChromeClient::repaint):
14388 (WebChromeClient::screenToWindow):
14389 (WebChromeClient::windowToScreen):
14390 (WebChromeClient::platformWindow):
14391 * WebCoreSupport/WebFrameLoaderClient.h:
14392 * WebCoreSupport/WebFrameLoaderClient.mm:
14393 (WebFrameLoaderClient::forceLayoutForNonHTML):
14394 (WebFrameLoaderClient::dispatchDidCommitLoad):
14395 (WebFrameLoaderClient::transitionToCommittedForNewPage):
14396 (WebFrameLoaderClient::createFrame):
14397 * WebView/WebFrame.mm:
14398 (-[WebFrame _drawRect:contentsOnly:]):
14399 * WebView/WebFrameInternal.h:
14400 * WebView/WebFrameView.mm:
14401 * WebView/WebFrameViewInternal.h:
14402 * WebView/WebHTMLView.mm:
14403 (-[WebHTMLView drawSingleRect:]):
14404 (-[WebHTMLView drawRect:]):
14405 * WebView/WebView.mm:
14406 (-[WebView isFlipped]):
14407 (-[WebView _boundsChanged]):
14408 (-[WebView _mustDrawUnionedRect:singleRects:count:]):
14409 (-[WebView drawSingleRect:]):
14410 (-[WebView drawRect:]):
14411 (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
14412 (-[WebView initWithFrame:frameName:groupName:]):
14413 (-[WebView _initWithFrame:frameName:groupName:usesDocumentViews:]):
14414 (-[WebView initWithCoder:]):
14415 (-[WebView removeSizeObservers]):
14416 (-[WebView viewWillMoveToWindow:]):
14417 (-[WebView viewWillMoveToSuperview:]):
14418 (-[WebView _usesDocumentViews]):
14419 * WebView/WebViewInternal.h:
14421 2008-10-06 Kevin Decker <kdecker@apple.com>
14423 Rubber-stamped by Anders Carlsson.
14425 Rename _webkit_applicationCacheDirectoryWithBundleIdentifier to _webkit_localCacheDirectoryWithBundleIdentifier.
14427 * Misc/WebKitNSStringExtras.h:
14428 * Misc/WebKitNSStringExtras.m:
14429 (+[NSString _webkit_localCacheDirectoryWithBundleIdentifier:]):
14430 * WebView/WebDataSource.mm:
14431 (-[WebDataSource _transferApplicationCache:]):
14432 * WebView/WebView.mm:
14433 (WebKitInitializeApplicationCachePathIfNecessary):
14435 2008-10-06 Anders Carlsson <andersca@apple.com>
14437 Reviewed by Sam Weinig.
14439 Make WebNetscapePluginStream a WebCore::NetscapePlugInStreamLoaderClient.
14441 * Plugins/WebBaseNetscapePluginStream.h:
14442 (WebNetscapePluginStream::~WebNetscapePluginStream):
14443 * Plugins/WebBaseNetscapePluginStream.mm:
14444 (WebNetscapePluginStream::didReceiveResponse):
14445 (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
14446 (WebNetscapePluginStream::wantsAllStreams):
14447 (-[WebBaseNetscapePluginStream wantsAllStreams]):
14448 (WebNetscapePluginStream::didFail):
14449 (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
14450 (WebNetscapePluginStream::didFinishLoading):
14451 (-[WebBaseNetscapePluginStream finishedLoading]):
14452 (WebNetscapePluginStream::didReceiveData):
14453 (-[WebBaseNetscapePluginStream receivedData:]):
14455 2008-10-06 Anders Carlsson <andersca@apple.com>
14457 Bring back the stop method. It was called through performSelector, which
14458 is why I couldn't find any references to it.
14460 * Plugins/WebBaseNetscapePluginStream.h:
14461 * Plugins/WebBaseNetscapePluginStream.mm:
14462 (-[WebBaseNetscapePluginStream stop]):
14464 2008-10-06 Anders Carlsson <andersca@apple.com>
14466 Reviewed by Sam Weinig.
14468 More conversion and cleanup.
14470 * Plugins/WebBaseNetscapePluginStream.h:
14471 * Plugins/WebBaseNetscapePluginStream.mm:
14472 (WebNetscapePluginStream::startStream):
14473 (-[WebBaseNetscapePluginStream startStreamWithResponse:]):
14474 * Plugins/WebBaseNetscapePluginView.mm:
14475 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
14477 2008-10-06 Anders Carlsson <andersca@apple.com>
14479 Reviewed by Sam Weinig.
14481 Fold initWithRequestURL into initWithRequest.
14483 * Plugins/WebBaseNetscapePluginStream.h:
14484 * Plugins/WebBaseNetscapePluginStream.mm:
14485 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
14487 2008-10-06 Anders Carlsson <andersca@apple.com>
14489 Reviewed by Sam Weinig.
14491 Change the init methods not to return nil on failures. (These failures never occur anyway)
14493 Use initWithRequest as the initializer, initWithRequestURL is going to be merged with it.
14495 * Plugins/WebBaseNetscapePluginStream.mm:
14496 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
14497 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
14498 * Plugins/WebBaseNetscapePluginView.mm:
14499 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
14501 2008-10-06 Anders Carlsson <andersca@apple.com>
14503 Reviewed by David Hyatt.
14505 Convert more methods over to C++.
14507 * Plugins/WebBaseNetscapePluginStream.h:
14508 * Plugins/WebBaseNetscapePluginStream.mm:
14509 (WebNetscapePluginStream::ownerForStream):
14510 (WebNetscapePluginStream::pluginCancelledConnectionError):
14511 (WebNetscapePluginStream::errorForReason):
14512 (-[WebBaseNetscapePluginStream errorForReason:]):
14513 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
14514 (WebNetscapePluginStream::cancelLoadAndDestroyStreamWithError):
14515 (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
14516 (WebNetscapePluginStream::deliverData):
14517 (WebNetscapePluginStream::deliverDataTimerFired):
14518 (WebNetscapePluginStream::deliverDataToFile):
14519 (-[WebBaseNetscapePluginStream finishedLoading]):
14520 (-[WebBaseNetscapePluginStream receivedData:]):
14521 * Plugins/WebBaseNetscapePluginView.mm:
14522 (-[WebBaseNetscapePluginView destroyStream:reason:]):
14524 2008-10-06 David Hyatt <hyatt@apple.com>
14526 Add SPI for a new viewless WebKit mode. The idea is that when this flag is set there will be no
14527 views created except for the outermost WebView.
14529 Reviewed by Tim Hatcher
14531 * WebView/WebView.mm:
14532 * WebView/WebViewInternal.h:
14534 2008-10-06 Anders Carlsson <andersca@apple.com>
14536 Reviewed by David Hyatt.
14538 Convert more methods over to C++.
14540 * Plugins/WebBaseNetscapePluginStream.h:
14541 * Plugins/WebBaseNetscapePluginStream.mm:
14542 (WebNetscapePluginStream::reasonForError):
14543 (WebNetscapePluginStream::destroyStreamWithReason):
14544 (WebNetscapePluginStream::cancelLoadWithError):
14545 (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
14546 (WebNetscapePluginStream::destroyStreamWithError):
14547 (-[WebBaseNetscapePluginStream destroyStreamWithError:]):
14548 (-[WebBaseNetscapePluginStream cancelLoadAndDestroyStreamWithError:]):
14549 (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
14550 (-[WebBaseNetscapePluginStream finishedLoading]):
14551 * Plugins/WebBaseNetscapePluginView.mm:
14552 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithError:]):
14554 2008-10-04 Darin Adler <darin@apple.com>
14556 Reviewed by Cameron Zwarich.
14558 - https://bugs.webkit.org/show_bug.cgi?id=21295
14559 Bug 21295: Replace ExecState with a call frame Register pointer
14561 * WebView/WebScriptDebugger.mm:
14562 (WebScriptDebugger::WebScriptDebugger): Remove 0 passed for ExecState.
14564 2008-10-03 John Sullivan <sullivan@apple.com>
14566 Fixed Release build
14568 * Plugins/WebBaseNetscapePluginStream.mm:
14569 (WebNetscapePluginStream::destroyStream):
14570 added !LOG_DISABLED guard around declaration of npErr used only in LOG
14572 2008-10-03 Anders Carlsson <andersca@apple.com>
14574 Reviewed by David Hyatt.
14576 Convert destroyStream over to C++.
14578 * Plugins/WebBaseNetscapePluginStream.h:
14579 * Plugins/WebBaseNetscapePluginStream.mm:
14580 (WebNetscapePluginStream::destroyStream):
14581 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
14582 (-[WebBaseNetscapePluginStream _deliverData]):
14584 2008-10-03 Anders Carlsson <andersca@apple.com>
14586 Reviewed by David Hyatt.
14588 Use a Timer instead of -[NSObject performSelector:withObject:afterDelay];
14590 * Plugins/WebBaseNetscapePluginStream.h:
14591 (WebNetscapePluginStream::WebNetscapePluginStream):
14592 * Plugins/WebBaseNetscapePluginStream.mm:
14593 (-[WebBaseNetscapePluginStream _destroyStream]):
14594 (-[WebBaseNetscapePluginStream _deliverData]):
14595 (WebNetscapePluginStream::deliverDataTimerFired):
14597 2008-10-03 Anders Carlsson <andersca@apple.com>
14599 Reviewed by David Hyatt.
14601 More plug-in stream cleanup.
14603 * Plugins/WebBaseNetscapePluginStream.h:
14604 (WebNetscapePluginStream::create):
14605 (WebNetscapePluginStream::WebNetscapePluginStream):
14606 * Plugins/WebBaseNetscapePluginStream.mm:
14607 (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
14608 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
14609 (-[WebBaseNetscapePluginStream dealloc]):
14610 (-[WebBaseNetscapePluginStream finalize]):
14611 (-[WebBaseNetscapePluginStream setPlugin:]):
14612 (WebNetscapePluginStream::setPlugin):
14613 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
14614 (-[WebBaseNetscapePluginStream _destroyStream]):
14616 2008-10-03 David Hyatt <hyatt@apple.com>
14618 Remove addToDirtyRegion.
14620 Reviewed by Oliver Hunt
14622 * WebCoreSupport/WebChromeClient.h:
14623 * WebCoreSupport/WebChromeClient.mm:
14625 2008-10-02 David Hyatt <hyatt@apple.com>
14627 https://bugs.webkit.org/show_bug.cgi?id=21328
14629 Make widget invalidation more cross-platform.
14631 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function.
14633 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call.
14634 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected.
14636 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer.
14638 (4) FrameViews now do a repaintRectangle on their owner element's renderer.
14640 Reviewed by Sam Weinig
14642 * WebCoreSupport/WebFrameLoaderClient.mm:
14643 (PluginWidget::PluginWidget):
14644 (PluginWidget::invalidateRect):
14645 (NetscapePluginWidget::NetscapePluginWidget):
14646 (WebFrameLoaderClient::createPlugin):
14648 2008-10-02 Darin Adler <darin@apple.com>
14650 Reviewed by Geoff Garen.
14652 - https://bugs.webkit.org/show_bug.cgi?id=21321
14653 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData
14655 * Misc/WebCoreStatistics.mm:
14656 (+[WebCoreStatistics javaScriptObjectsCount]): Use heap. instead of heap-> to
14657 work with the heap.
14658 (+[WebCoreStatistics javaScriptGlobalObjectsCount]): Ditto.
14659 (+[WebCoreStatistics javaScriptProtectedObjectsCount]): Ditto.
14660 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]): Ditto.
14661 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Ditto.
14662 (+[WebCoreStatistics javaScriptReferencedObjectsCount]): Ditto.
14664 2008-10-02 David Hyatt <hyatt@apple.com>
14666 https://bugs.webkit.org/show_bug.cgi?id=21314
14668 Make scrollBackingStore cross-platform.
14670 Reviewed by Sam Weinig
14672 * WebCoreSupport/WebChromeClient.h:
14673 * WebCoreSupport/WebChromeClient.mm:
14674 (WebChromeClient::repaint):
14675 (WebChromeClient::scroll):
14677 2008-10-01 Geoffrey Garen <ggaren@apple.com>
14679 Reviewed by Darin Adler and Cameron Zwarich.
14681 Updated for JavaScriptCore API changes: use a SourceCode instead of
14682 broken out parameters; treat sourceId as intptr_t.
14684 We still treat sourceId as int in some cases because of DashCode. See
14685 <rdar://problem/6263293> WebScriptDebugDelegate should use intptr_t for
14688 * WebView/WebScriptDebugger.h:
14689 * WebView/WebScriptDebugger.mm:
14691 (WebScriptDebugger::sourceParsed):
14692 (WebScriptDebugger::callEvent):
14693 (WebScriptDebugger::atStatement):
14694 (WebScriptDebugger::returnEvent):
14695 (WebScriptDebugger::exception):
14696 (WebScriptDebugger::willExecuteProgram):
14697 (WebScriptDebugger::didExecuteProgram):
14698 (WebScriptDebugger::didReachBreakpoint):
14700 2008-10-01 David Hyatt <hyatt@apple.com>
14702 Move prohibitsScrolling from the Frame to the ScrollView.
14704 Reviewed by Sam Weinig
14706 * WebView/WebView.mm:
14707 (-[WebView setProhibitsMainFrameScrolling:]):
14709 2008-10-01 David Hyatt <hyatt@apple.com>
14711 https://bugs.webkit.org/show_bug.cgi?id=21282
14713 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now.
14715 Reviewed by Adam Roben
14717 * WebCoreSupport/WebChromeClient.h:
14718 * WebCoreSupport/WebChromeClient.mm:
14719 (WebChromeClient::repaint):
14720 (WebChromeClient::screenToWindow):
14721 (WebChromeClient::windowToScreen):
14723 2008-09-30 Dave Hyatt <hyatt@apple.com>
14725 https://bugs.webkit.org/show_bug.cgi?id=21269
14727 This patch makes the ScrollView::paint method cross-platform. The paint method calls the base class
14728 Widget paint on platforms with native widgets (Mac and wx). Otherwise it calls a virtual function,
14729 paintContents, to paint the ScrollView's contents, and then it paints each of the two scrollbars and
14730 the scrollbar corner.
14732 The scrollbar themes are now responsible for painting scrollbar corners. At the moment ScrollbarThemeWin still
14733 paints white (which is incorrect), so a future patch will actually implement proper native scroll corner painting
14736 paintContents is implemented by FrameView, and replaces Frame::paint. All of the FramePrivate member
14737 variables used by Frame::paint have moved to FrameViewPrivate instead. All callers of Frame::paint have
14738 been patched to use FrameView::paintContents instead.
14740 Reviewed by Darin Adler
14742 * WebView/WebFrame.mm:
14743 (-[WebFrame _drawRect:]):
14745 2008-09-30 Kevin Decker <kdecker@apple.com>
14747 Reviewed by Anders Carlsson.
14749 Remove the NPDrawingModelOpenGL entirely. To my knowledge no shipping plug-in ever used it, and no other browser engine
14752 * Plugins/WebBaseNetscapePluginView.h: Removed AGL.h import and OpenGL related ivars.
14753 * Plugins/WebBaseNetscapePluginView.mm: Removed soft linking for OpenGL and AGL frameworks.
14754 Also removed many methods AGL/CGL support methods that are no longer necessary.
14755 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed NPDrawingModelOpenGL related code.
14756 (-[WebBaseNetscapePluginView restorePortState:]): Ditto.
14757 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]): Ditto.
14758 (-[WebBaseNetscapePluginView isNewWindowEqualToOldWindow]): Ditto.
14759 (-[WebBaseNetscapePluginView setWindowIfNecessary]): Ditto.
14760 (-[WebBaseNetscapePluginView stop]): Ditto.
14761 (-[WebBaseNetscapePluginView dealloc]): Ditto.
14762 (-[WebBaseNetscapePluginView drawRect:]):
14763 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]): Ditto.
14764 (-[WebBaseNetscapePluginView invalidateRegion:]): Ditto.
14765 (-[WebBaseNetscapePluginView getVariable:value:]): Tell plug-ins WebKit does not support NPDrawingModelOpenGL.
14766 (-[WebBaseNetscapePluginView setVariable:value:]): Removed NPDrawingModelOpenGL related code.
14767 (-[WebBaseNetscapePluginView _viewHasMoved]): Ditto.
14769 2008-09-30 Dave Hyatt <hyatt@apple.com>
14771 http://bugs.webkit.org/show_bug.cgi?id=21250
14773 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending
14774 repaints up through the ChromeClient.
14776 Reviewed by Darin Adler
14778 * WebCoreSupport/WebChromeClient.h:
14779 * WebCoreSupport/WebChromeClient.mm:
14780 (WebChromeClient::repaint):
14782 2008-09-30 Anders Carlsson <andersca@apple.com>
14784 Reviewed by Mark Rowe and Adam Roben.
14786 No need to use pointers to store C++ objects as pointers in WebViewPrivate, we can just
14787 store them directly.
14789 * Configurations/Base.xcconfig:
14790 Set GCC_OBJC_CALL_CXX_CDTORS to YES.
14792 * WebView/WebView.mm:
14793 (-[WebViewPrivate init]):
14794 (-[WebViewPrivate dealloc]):
14795 (-[WebViewPrivate finalize]):
14796 (-[WebView _preferencesChangedNotification:]):
14797 (-[WebView setApplicationNameForUserAgent:]):
14798 (-[WebView setCustomUserAgent:]):
14799 (-[WebView customUserAgent]):
14800 (-[WebView WebCore::_userAgentForURL:WebCore::]):
14801 (-[WebView _addObject:forIdentifier:]):
14802 (-[WebView _objectForIdentifier:]):
14803 (-[WebView _removeObjectForIdentifier:]):
14805 2008-09-29 Thiago Macieira <thiago.macieira@nokia.com>
14809 Changed copyright from Trolltech ASA to Nokia.
14811 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008.
14814 * WebCoreSupport/WebChromeClient.h:
14815 * WebCoreSupport/WebChromeClient.mm:
14816 * WebCoreSupport/WebEditorClient.h:
14817 * WebCoreSupport/WebEditorClient.mm:
14819 2008-09-28 Timothy Hatcher <timothy@apple.com>
14821 Improves the Web Inspector node highlight so it does not scroll
14822 to reveal the node in the page. This makes the highlight less
14823 invasive and causes less things to change on screen. Also makes
14824 the highlight redraw when the WebView draws, so it stays current
14825 if the node changes on the page for any reason.
14827 <rdar://problem/6115804> Don't scroll when highlighting (21000)
14828 https://bugs.webkit.org/show_bug.cgi?id=21000
14830 Reviewed by Dan Bernstein.
14832 * WebCoreSupport/WebInspectorClient.mm:
14833 (-[WebInspectorWindowController highlightNode:]): Call setNeedsDisplay:YES
14834 if there is an existing highlight.
14835 (-[WebInspectorWindowController didAttachWebNodeHighlight:]): Set the current
14836 highlight node on the inspected WebView.
14837 (-[WebInspectorWindowController willDetachWebNodeHighlight:]): Set the current
14838 highlight node on the inspected WebView to nil.
14839 * WebInspector/WebNodeHighlight.m:
14840 (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Disable screen updates
14841 until flush for the inspected window. Invalidate the whole highlight view since
14842 we don't know the rect that needs updated since the highlight can be larger than
14843 the highlighted element due to the margins and other factors.
14844 * WebInspector/WebNodeHighlightView.m:
14845 * WebView/WebHTMLView.mm:
14846 (-[WebHTMLView drawSingleRect:]): Call setNeedsUpdateInTargetViewRect: on the
14847 current highlight node.
14848 * WebView/WebView.mm:
14849 (-[WebViewPrivate dealloc]): Release the current highlight node.
14850 (-[WebView setCurrentNodeHighlight:]): Set the current highlight node.
14851 (-[WebView currentNodeHighlight]): Return the current highlight node.
14852 * WebView/WebViewInternal.h:
14854 2008-09-28 David Kilzer <ddkilzer@apple.com>
14856 Fix build warning in WebDefaultUIDelegate.m
14858 Reviewed by Dan Bernstein.
14860 This fixes a warning noticed by the clang static analyzer:
14861 .../WebDefaultUIDelegate.m: In function ‘-[WebDefaultUIDelegate webViewFirstResponder:]’:
14862 .../WebDefaultUIDelegate.m:92: warning: initialization from distinct Objective-C type
14864 Note that this doesn't actually cause any change in behavior since
14865 the gcc compiler ignores the semi-colon anyway.
14867 * DefaultDelegates/WebDefaultUIDelegate.m:
14868 (-[WebDefaultUIDelegate webViewFirstResponder:]): Removed semi-colon
14869 from method signature.
14871 2008-09-27 David Hyatt <hyatt@apple.com>
14873 Fix for https://bugs.webkit.org/show_bug.cgi?id=21182
14875 Make sure Mac null checks the view like the other platforms do now that Mac goes through WebCore
14876 to call setAllowsScrolling.
14878 Reviewed by Mark Rowe
14880 * WebCoreSupport/WebFrameLoaderClient.mm:
14881 (WebFrameLoaderClient::createFrame):
14883 2008-09-27 Anders Carlsson <andersca@apple.com>
14885 Reviewed by Sam Weinig.
14887 https://bugs.webkit.org/show_bug.cgi?id=21178
14888 <rdar://problem/6248651>
14890 Check if the plug-in is allowed to load the resource. This matches Firefox.
14892 * Plugins/WebBaseNetscapePluginView.mm:
14893 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
14895 2008-09-26 Matt Lilek <webkit@mattlilek.com>
14897 Reviewed by Tim Hatcher.
14899 Update FEATURE_DEFINES after ENABLE_CROSS_DOCUMENT_MESSAGING was removed.
14901 * Configurations/WebKit.xcconfig:
14903 2008-09-26 David Hyatt <hyatt@apple.com>
14905 https://bugs.webkit.org/show_bug.cgi?id=21164
14907 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform.
14909 Reviewed by Sam Weinig
14911 * WebCoreSupport/WebFrameLoaderClient.mm:
14912 (WebFrameLoaderClient::createFrame):
14913 * WebView/WebDynamicScrollBarsView.h:
14914 * WebView/WebDynamicScrollBarsView.m:
14915 * WebView/WebDynamicScrollBarsViewInternal.h:
14916 * WebView/WebFrameView.mm:
14917 (-[WebFrameView setAllowsScrolling:]):
14918 (-[WebFrameView allowsScrolling]):
14920 2008-09-26 David Hyatt <hyatt@apple.com>
14922 https://bugs.webkit.org/show_bug.cgi?id=21149
14924 More refactoring to make scrollbar modes cross-platform. Reduce the protocol that
14925 WebDynamicScrollBarsView has to implement for communicating with WebCore to just three methods.
14927 Reviewed by Sam Weinig
14929 * WebView/WebDynamicScrollBarsView.m:
14930 (-[WebDynamicScrollBarsView scrollingModes:WebCore::vertical:WebCore::]):
14931 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]):
14932 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]):
14933 (-[WebDynamicScrollBarsView setScrollingModes:vertical:andLock:]):
14934 * WebView/WebDynamicScrollBarsViewInternal.h:
14935 * WebView/WebFrameView.mm:
14936 (-[WebFrameView setAllowsScrolling:]):
14937 * WebView/WebView.mm:
14938 (-[WebView setAlwaysShowVerticalScroller:]):
14939 (-[WebView setAlwaysShowHorizontalScroller:]):
14941 2008-09-26 David Kilzer <ddkilzer@apple.com>
14943 Fix Mac build with XSLT disabled
14945 Reviewed by Alexey.
14947 * Misc/WebCache.mm:
14948 (+[WebCache statistics]): Populate xslStyleSheet statistics with
14949 zeros if XSLT is disabled.
14951 2008-09-25 David Hyatt <hyatt@apple.com>
14953 https://bugs.webkit.org/show_bug.cgi?id=21101
14955 Fix the updating of the active state to not be dumb, so that viewless scrollbars repaint properly.
14957 Reviewed by Tim Hatcher
14959 * WebView/WebHTMLView.mm:
14960 (-[WebHTMLView _updateFocusedAndActiveState]):
14962 2008-09-24 Darin Adler <darin@apple.com>
14964 Reviewed by Dan Bernstein.
14966 - https://bugs.webkit.org/show_bug.cgi?id=21079
14967 <rdar://problem/6203938> Disallow embedding Safari-generated pages
14968 (e.g bookmarks collection) in subframes
14970 * DefaultDelegates/WebDefaultPolicyDelegate.m:
14971 (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
14972 Use the new +[WebView _canHandleRequest:forMainFrame:] so we can give
14973 a different answer for the main frame and subframes.
14974 * WebCoreSupport/WebFrameLoaderClient.mm:
14975 (WebFrameLoaderClient::canHandleRequest): Ditto.
14977 * WebView/WebView.mm:
14978 (+[WebView _canHandleRequest:forMainFrame:]): Added forMainFrame. Only look
14979 for scheme-specific representations for the main frame, not subframes.
14980 (+[WebView _canHandleRequest:]): Give answer for main frame -- calls the
14981 method above with YES for main frame.
14983 * WebView/WebViewInternal.h: Added _canHandleRequest:forMainFrame:.
14985 2008-09-23 David Hyatt <hyatt@apple.com>
14987 https://bugs.webkit.org/show_bug.cgi?id=21039
14989 Teach the viewless Mac scrollbar how to avoid the NSWindow resizer.
14991 Reviewed by Sam Weinig
14993 * WebCoreSupport/WebChromeClient.mm:
14994 (WebChromeClient::windowResizerRect):
14996 2008-09-23 Dan Bernstein <mitz@apple.com>
14998 Reviewed by Beth Dakin.
15000 - fix <rdar://problem/6233388> Crash beneath -[WebFrameView keyDown:]
15002 Test: fast/events/keydown-remove-frame.html
15004 * WebView/WebFrameView.mm:
15005 (-[WebFrameView keyDown:]): Added a null check.
15007 2008-09-21 Dirk Schulze <vbs85@gmx.de>
15009 Reviewed and landed by Eric Seidel.
15011 Moved CGFloat definition to WebKitPrefix so CGFloat can be used more
15012 freely throughout WebCore without worrying about breaking Tiger.
15014 * Misc/WebTypesInternal.h: Removed it from here.
15015 * WebKitPrefix.h: Added it here.
15017 2008-09-20 Matt Lilek <webkit@mattlilek.com>
15019 Reviewed by Tim Hatcher.
15021 Revert r35688. We use a textured window on Leopard, which does not have the
15022 square corners of the standard Aqua window on Tiger.
15024 * WebCoreSupport/WebInspectorClient.mm:
15025 (-[WebInspectorWindowController window]): Add back the call to WKNSWindowMakeBottomCornersSquare.
15027 2008-09-19 Darin Adler <darin@apple.com>
15029 Reviewed by Dan Bernstein.
15031 - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
15032 Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window
15034 * WebView/WebView.mm:
15035 (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
15036 RefCountedLeakCounter::suppressMessages in here.
15037 (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.
15039 2008-09-18 Mark Rowe <mrowe@apple.com>
15041 Reviewed by Dan Bernstein.
15043 Add SPI to WebView to allow DRT to clear the main frame's name between tests.
15045 * WebView/WebView.mm:
15046 (-[WebView _clearMainFrameName]):
15047 * WebView/WebViewPrivate.h:
15049 2008-09-18 Darin Adler <darin@apple.com>
15051 Reviewed by Sam Weinig.
15053 - fix https://bugs.webkit.org/show_bug.cgi?id=20925
15054 LEAK messages appear every time I quit
15056 * WebView/WebPreferences.mm:
15057 (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
15058 to setLogLeakMessages.
15059 * WebView/WebView.mm:
15060 (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
15061 telling it that we can't track leaks because at least one WebView was closed with
15063 (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
15064 cancelMessageSuppression since the WebView is no longer open.
15065 Added an explicit garbage collect to help with the case where we're closing during
15066 the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
15068 (-[WebView initWithFrame:frameName:groupName:]): Call
15069 RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
15070 because at least one WebView is currently open.
15072 2008-09-18 Anders Carlsson <andersca@apple.com>
15074 Reviewed by Adam Roben.
15076 Move the remainder of the stream ivars to the C++ object.
15078 * Plugins/WebBaseNetscapePluginStream.h:
15079 (WebNetscapePluginStream::WebNetscapePluginStream):
15080 * Plugins/WebBaseNetscapePluginStream.mm:
15081 (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
15082 (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
15083 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
15084 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
15085 (-[WebBaseNetscapePluginStream dealloc]):
15086 (-[WebBaseNetscapePluginStream finalize]):
15087 (-[WebBaseNetscapePluginStream setPlugin:]):
15088 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
15089 (-[WebBaseNetscapePluginStream start]):
15090 (-[WebBaseNetscapePluginStream stop]):
15091 (-[WebBaseNetscapePluginStream wantsAllStreams]):
15092 (-[WebBaseNetscapePluginStream _destroyStream]):
15093 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
15094 (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
15095 (-[WebBaseNetscapePluginStream _deliverData]):
15097 2008-09-17 David Hyatt <hyatt@apple.com>
15099 Make the notion of Widget having an underlying native widget cross-platform.
15101 Reviewed by Sam Weinig
15103 * WebCoreSupport/WebFrameLoaderClient.mm:
15104 (NetscapePluginWidget::handleEvent):
15105 * WebView/WebFrame.mm:
15106 (-[WebFrame _dragSourceMovedTo:]):
15107 (-[WebFrame _dragSourceEndedAt:operation:]):
15108 * WebView/WebFrameView.mm:
15109 (-[WebFrameView _install]):
15110 * WebView/WebRenderNode.mm:
15113 2008-09-16 Anders Carlsson <andersca@apple.com>
15115 Reviewed by Cameron Zwarich.
15117 Move more instance variables down to the C++ class.
15119 * Plugins/WebBaseNetscapePluginStream.h:
15120 (WebNetscapePluginStream::WebNetscapePluginStream):
15121 * Plugins/WebBaseNetscapePluginStream.mm:
15122 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
15123 (-[WebBaseNetscapePluginStream dealloc]):
15124 (-[WebBaseNetscapePluginStream finalize]):
15125 (-[WebBaseNetscapePluginStream transferMode]):
15126 (-[WebBaseNetscapePluginStream plugin]):
15127 (-[WebBaseNetscapePluginStream setPlugin:]):
15128 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
15129 (-[WebBaseNetscapePluginStream wantsAllStreams]):
15130 (-[WebBaseNetscapePluginStream _destroyStream]):
15131 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
15132 (-[WebBaseNetscapePluginStream _deliverData]):
15133 (-[WebBaseNetscapePluginStream _deliverDataToFile:]):
15134 (-[WebBaseNetscapePluginStream finishedLoading]):
15135 (-[WebBaseNetscapePluginStream receivedData:]):
15137 2008-09-16 Anders Carlsson <andersca@apple.com>
15139 Reviewed by Dave Hyatt.
15141 Move a bunch of instance variables into the C++ class.
15143 * Plugins/WebBaseNetscapePluginStream.h:
15144 * Plugins/WebBaseNetscapePluginStream.mm:
15145 (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
15146 (-[WebBaseNetscapePluginStream errorForReason:]):
15147 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
15148 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
15149 (-[WebBaseNetscapePluginStream dealloc]):
15150 (-[WebBaseNetscapePluginStream setRequestURL:]):
15151 (-[WebBaseNetscapePluginStream setResponseURL:]):
15152 (-[WebBaseNetscapePluginStream setMIMEType:]):
15153 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
15154 (-[WebBaseNetscapePluginStream _destroyStream]):
15155 (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
15156 (-[WebBaseNetscapePluginStream _deliverData]):
15157 (-[WebBaseNetscapePluginStream receivedData:]):
15159 2008-09-16 Anders Carlsson <andersca@apple.com>
15161 Reviewed by Dave Hyatt.
15163 Add a new WebNetscapePluginStream C++ class. The idea is that it is supposed to replace the Obj-C
15164 WebBaseNetscapePluginStream class. The plan is to gradually move/rewrite code from the Obj-C class to the C++ class
15165 until the C++ class can replace the Obj-C class.
15167 * Plugins/WebBaseNetscapePluginStream.h:
15168 (WebNetscapePluginStream::create):
15169 (WebNetscapePluginStream::WebNetscapePluginStream):
15170 * Plugins/WebBaseNetscapePluginStream.mm:
15171 (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
15172 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
15173 (-[WebBaseNetscapePluginStream dealloc]):
15174 (-[WebBaseNetscapePluginStream finalize]):
15176 2008-09-16 Anders Carlsson <andersca@apple.com>
15178 Reviewed by Dave Hyatt.
15180 Instead of storing a pointer to NPP method individually, just store a pointer to the NPNetscapeFuncs vtable.
15182 * Plugins/WebBaseNetscapePluginStream.h:
15183 * Plugins/WebBaseNetscapePluginStream.mm:
15184 (-[WebBaseNetscapePluginStream setPlugin:]):
15185 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
15186 (-[WebBaseNetscapePluginStream wantsAllStreams]):
15187 (-[WebBaseNetscapePluginStream _destroyStream]):
15188 (-[WebBaseNetscapePluginStream _deliverData]):
15189 * Plugins/WebNetscapePluginPackage.h:
15190 * Plugins/WebNetscapePluginPackage.m:
15191 (-[WebNetscapePluginPackage pluginFuncs]):
15193 2008-09-16 Anders Carlsson <andersca@apple.com>
15195 Reviewed by Dave Hyatt.
15197 Remove references to WebNetscapePluginStream.
15199 * Plugins/WebBaseNetscapePluginView.h:
15200 * Plugins/WebNetscapePluginEmbeddedView.h:
15202 2008-09-15 Dan Bernstein <mitz@apple.com>
15204 Reviewed by Dave Hyatt.
15206 - fix https://bugs.webkit.org/show_bug.cgi?id=20860
15207 REGRESSION: Crash in RenderLayer::hasVisibleContent() loading wavy.com
15209 * WebView/WebFrame.mm:
15210 (-[WebFrame _getVisibleRect:]): Changed to check if the RenderPart has
15211 layout before accessing it, instead of checking if the frame inside it
15214 2008-09-15 Chris Fleizach <cfleizach@apple.com>
15216 Reviewed by Darin Adler, Beth Dakin
15218 Support strings for AXLists
15220 * WebCoreSupport/WebViewFactory.mm:
15221 (-[WebViewFactory AXDefinitionListTermText]):
15222 (-[WebViewFactory AXDefinitionListDefinitionText]):
15224 2008-09-15 Anders Carlsson <andersca@apple.com>
15228 Merge WebNetscapePluginStream into WebBaseNetscapePluginStream.
15230 * Plugins/WebBaseNetscapePluginStream.h:
15231 * Plugins/WebBaseNetscapePluginStream.mm:
15232 (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
15233 (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
15234 (-[WebBaseNetscapePluginStream dealloc]):
15235 (-[WebBaseNetscapePluginStream finalize]):
15236 (-[WebBaseNetscapePluginStream start]):
15237 (-[WebBaseNetscapePluginStream stop]):
15238 (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
15239 * Plugins/WebBaseNetscapePluginView.mm:
15240 (-[WebBaseNetscapePluginView pluginView:receivedResponse:]):
15241 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
15242 * Plugins/WebNetscapePluginEmbeddedView.mm:
15243 * Plugins/WebNetscapePluginStream.h: Removed.
15244 * Plugins/WebNetscapePluginStream.mm: Removed.
15246 2008-09-12 John Sullivan <sullivan@apple.com>
15248 Fixed <rdar://problem/6110941> Clicking the print button in PDF content does nothing
15250 Reviewed by Darin Adler
15252 * WebView/WebPDFView.mm:
15253 (-[WebPDFView PDFViewPerformPrint:]):
15254 Implemented PDFKit delegate method that's called after a Print action in the PDF content
15256 2008-09-12 Dan Bernstein <mitz@apple.com>
15258 Reviewed by John Sullivan.
15260 - fix a crash in -visibleRect when it is called during WebFrameView deallocation
15262 * WebView/WebFrameView.mm:
15263 (-[WebFrameView visibleRect]): Added an early return if _private is 0.
15265 2008-09-11 Dan Bernstein <mitz@apple.com>
15267 Reviewed by John Sullivan.
15269 - eliminate excessive repainting when a clipped iframe is moved (noticed in <rdar://problem/6204032>)
15271 * WebView/WebFrame.mm:
15272 (-[WebFrame _getVisibleRect:]): Added. If the frame is in a RenderPart
15273 and has layout, gets the visible rect of the RenderPart and returns
15274 YES. Returns NO otherwise.
15275 * WebView/WebFrameInternal.h:
15276 * WebView/WebFrameView.mm:
15277 (-[WebFrameView visibleRect]): Added. Overrides this NSView method to
15278 take clipping in the render tree into account.
15280 2008-09-09 Dan Bernstein <mitz@apple.com>
15284 * WebCoreSupport/WebSystemInterface.m:
15285 (InitWebCoreSystemInterface):
15287 2008-09-09 Dan Bernstein <mitz@apple.com>
15289 Reviewed by Darin Adler.
15291 - WebKit part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard
15293 * WebCoreSupport/WebSystemInterface.m:
15294 (InitWebCoreSystemInterface):
15296 2008-09-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
15298 Reviewed by Maciej Stachowiak.
15300 Bug 20704: Replace the KJS namespace
15301 <https://bugs.webkit.org/show_bug.cgi?id=20704>
15303 Rename the KJS namespace to JSC.
15305 * Misc/WebCoreStatistics.mm:
15306 * Plugins/WebBaseNetscapePluginStream.mm:
15307 (-[WebBaseNetscapePluginStream wantsAllStreams]):
15308 * Plugins/WebBaseNetscapePluginView.mm:
15309 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
15310 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
15311 (-[WebBaseNetscapePluginView start]):
15312 (-[WebBaseNetscapePluginView createPluginScriptableObject]):
15313 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
15314 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
15315 (-[WebBaseNetscapePluginView loadPluginRequest:]):
15316 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
15317 * Plugins/WebPluginController.mm:
15318 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
15319 (-[WebPluginController startAllPlugins]):
15320 (-[WebPluginController stopAllPlugins]):
15321 (-[WebPluginController addPlugin:]):
15322 (-[WebPluginController destroyPlugin:]):
15323 (-[WebPluginController destroyAllPlugins]):
15324 * WebView/WebFrame.mm:
15325 * WebView/WebScriptDebugDelegate.mm:
15326 * WebView/WebScriptDebugger.h:
15327 * WebView/WebScriptDebugger.mm:
15328 * WebView/WebView.mm:
15329 (-[WebViewPrivate init]):
15331 2008-09-05 Timothy Hatcher <timothy@apple.com>
15333 Correct a typo in the setApplicationChromeModeEnabledEnabled:
15334 method name, remove the extra "Enabled".
15336 * WebView/WebPreferences.mm:
15337 * WebView/WebPreferencesPrivate.h:
15339 2008-09-04 Mark Rowe <mrowe@apple.com>
15341 Reviewed by Eric Seidel.
15343 Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
15344 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
15346 * Configurations/WebKit.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
15348 2008-09-03 Eric Seidel <eric@webkit.org>
15352 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
15354 * Configurations/WebKit.xcconfig:
15355 * WebKitPrefix.h: add rules for V8_BINDINGS
15357 2008-09-01 Adam Barth <abarth@webkit.org>
15359 Reviewed by Sam Weinig.
15361 https://bugs.webkit.org/show_bug.cgi?id=19760
15363 Add a linked-on-or-after check to prevent substitute data from loading
15364 local resources on newer users of WebKit.
15366 * Misc/WebKitVersionChecks.h:
15367 * WebView/WebView.mm:
15368 (-[WebView _commonInitializationWithFrameName:groupName:]):
15370 2008-08-29 Brady Eidson <beidson@apple.com>
15374 Fix regression I introducted in 35946
15375 Already covered by media/video-click-dlbclick-standalone.html
15377 * WebView/WebHTMLRepresentation.mm:
15378 (-[WebHTMLRepresentation receivedData:withDataSource:]): Cancel the load here after
15379 calling [WebFrame _receivedData:] which more closely follows the path taken by PluginDocuments
15381 2008-08-28 Kevin McCullough <kmccullough@apple.com>
15385 <rdar://problem/6095949> REGRESSION (5525.8-6527.1?): "this" is null
15386 when you first hit a breakpoint in Dashcode
15387 - We wanted to reset the callframe whenever eval() was called but
15388 dashcode uses eval() when broken to evaluate the state of the current
15391 * WebView/WebScriptDebugger.mm:
15392 (WebScriptDebugger::willExecuteProgram):
15393 (WebScriptDebugger::didExecuteProgram):
15395 2008-08-27 Robert Kroeger <rjkroege@liqui.org>
15397 Tweaked by Sam Weinig.
15399 Reviewed by Eric Seidel.
15401 Fix https://bugs.webkit.org/show_bug.cgi?id=6595
15402 <rdar://problem/4432150>
15403 Right-click does not fire mouseup event
15405 Adds a rightMouseUp handler to the WebHTMLView.
15407 The added method generates mouseup events for button 2. The result
15408 is that webkit will deliver mousedown and mouseup events for button
15409 2 in a fashion identical to FireFox and will retain event ordering
15410 identical to Internet Explorer.
15412 Test: fast/events/mouseup-from-button2.html
15414 * WebView/WebHTMLView.mm:
15415 (-[WebHTMLView rightMouseUp:]):
15417 2008-08-27 Timothy Hatcher <timothy@apple.com>
15419 Add support for support for -webkit-appearance: default-button on the Mac platform.
15421 <rdar://problem/6173530>
15423 Reviewed by Dave Hyatt.
15425 * WebCoreSupport/WebSystemInterface.m:
15426 (InitWebCoreSystemInterface): Init AdvanceDefaultButtonPulseAnimation.
15427 * WebView/WebPreferenceKeysPrivate.h: Added WebKitApplicationChromeModeEnabledPreferenceKey.
15428 * WebView/WebPreferences.mm:
15429 (+[WebPreferences initialize]): Set WebKitApplicationChromeModeEnabledPreferenceKey to NO.
15430 (-[WebPreferences applicationChromeModeEnabled]): Added.
15431 (-[WebPreferences setApplicationChromeModeEnabledEnabled:]): Added.
15432 * WebView/WebPreferencesPrivate.h:
15433 * WebView/WebView.mm:
15434 (-[WebView _preferencesChangedNotification:]): Call Settings::setApplicationChromeMode
15435 with the value of -[WebPreferences applicationChromeModeEnabled].
15437 2008-08-27 Brady Eidson <beidson@apple.com>
15441 <rdar://problem/6134133> - Crash when loading large movie as a standalone document
15443 * WebCoreSupport/WebFrameLoaderClient.h:
15444 * WebCoreSupport/WebFrameLoaderClient.mm:
15445 (WebFrameLoaderClient::pluginWillHandleLoadError):
15447 2008-08-20 Dan Bernstein <mitz@apple.com>
15449 Rubber-stamped by John Sullivan.
15451 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen,
15452 rename related methods and variables accordingly, and make
15453 -setShouldUpdateWhileOffscreen: and -shouldUpdateWhileOffscreen
15456 * WebCoreSupport/WebFrameLoaderClient.mm:
15457 (WebFrameLoaderClient::transitionToCommittedForNewPage):
15458 * WebView/WebFrame.mm:
15459 (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
15460 * WebView/WebFrameInternal.h:
15461 * WebView/WebHTMLView.mm:
15462 (-[WebHTMLView windowWillOrderOnScreen:]):
15463 * WebView/WebView.h:
15464 * WebView/WebView.mm:
15465 (-[WebViewPrivate init]):
15466 (-[WebView setBackgroundColor:]):
15467 (-[WebView setDrawsBackground:]):
15468 (-[WebView setShouldUpdateWhileOffscreen:]):
15469 (-[WebView shouldUpdateWhileOffscreen]):
15470 * WebView/WebViewPrivate.h:
15472 2008-08-18 Mark Rowe <mrowe@apple.com>
15474 Reviewed by Darin Adler.
15476 Switch to non-deprecated NSFileManager API.
15478 In order to minimize #if's the new NSFileManager APIs have been implemented for
15479 Tiger and call sites updated to use the new methods.
15481 * Misc/WebIconDatabase.mm:
15482 (importToWebCoreFormat):
15483 * Misc/WebKitNSStringExtras.m:
15484 (-[NSString _webkit_fixedCarbonPOSIXPath]):
15485 * Misc/WebKitSystemBits.m:
15486 * Misc/WebNSFileManagerExtras.h:
15487 * Misc/WebNSFileManagerExtras.m: Remove implementations of methods that are not used.
15488 (-[NSFileManager _webkit_backgroundRemoveFileAtPath:]):
15489 (-[NSFileManager attributesOfFileSystemForPath:error:]): Implement new API for Tiger in terms of Tiger API.
15490 (-[NSFileManager contentsOfDirectoryAtPath:error:]): Ditto.
15491 (-[NSFileManager moveItemAtPath:toPath:error:]): Ditto.
15492 (-[NSFileManager removeItemAtPath:error:]): Ditto.
15493 * Plugins/WebPluginDatabase.mm:
15494 (-[WebPluginDatabase _scanForNewPlugins]):
15496 2008-08-20 Josh Aas <joshmoz@gmail.com>
15498 Reviewed and landed by Anders.
15500 <rdar://problem/6163636>
15501 rename NPCocoaEvent's "event" struct to "data" (20446)
15503 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
15504 (WebNetscapePluginEventHandlerCocoa::drawRect):
15505 (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
15506 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
15507 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
15508 (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
15509 (WebNetscapePluginEventHandlerCocoa::focusChanged):
15511 2008-08-20 Beth Dakin <bdakin@apple.com>
15513 Reviewed by Darin Adler.
15515 Fix for <rdar://problem/6145626>
15516 Allows a WebKit client to mark a frame as not-text-searchable
15519 * WebView/WebFrame.mm:
15520 (-[WebFrame _setExcludeFromTextSearch:]):
15521 * WebView/WebFramePrivate.h:
15523 2008-08-19 Alexey Proskuryakov <ap@webkit.org>
15525 Reviewed by Geoff Garen.
15527 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
15529 * ForwardingHeaders/runtime/JSLock.h: Added.
15530 * Misc/WebCoreStatistics.mm:
15531 (+[WebCoreStatistics javaScriptObjectsCount]):
15532 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
15533 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
15534 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
15535 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
15536 (+[WebCoreStatistics shouldPrintExceptions]):
15537 (+[WebCoreStatistics setShouldPrintExceptions:]):
15538 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
15539 * Plugins/WebBaseNetscapePluginStream.mm:
15540 (-[WebBaseNetscapePluginStream wantsAllStreams]):
15541 * Plugins/WebBaseNetscapePluginView.mm:
15542 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
15543 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
15544 (-[WebBaseNetscapePluginView start]):
15545 (-[WebBaseNetscapePluginView createPluginScriptableObject]):
15546 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
15547 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
15548 (-[WebBaseNetscapePluginView loadPluginRequest:]):
15549 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
15550 * Plugins/WebPluginController.mm:
15551 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
15552 (-[WebPluginController startAllPlugins]):
15553 (-[WebPluginController stopAllPlugins]):
15554 (-[WebPluginController addPlugin:]):
15555 (-[WebPluginController destroyPlugin:]):
15556 (-[WebPluginController destroyAllPlugins]):
15557 * WebView/WebFrame.mm:
15558 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
15559 * WebView/WebScriptDebugDelegate.mm:
15560 (-[WebScriptCallFrame evaluateWebScript:]):
15561 * WebView/WebView.mm:
15562 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
15564 2008-08-19 Timothy Hatcher <timothy@apple.com>
15566 Fixes the Web Inspector flashing white while resizing after
15567 highlighting a page element. Calling disableScreenUpdatesUntilFlush
15568 when attaching and detaching the Inspector page highlight is bad,
15569 since the browser window might not flush again for a while. So screen
15570 updates could be disabled for long periods of time, causing backing store
15571 flashing while resizing. There is no need to call disableScreenUpdatesUntilFlush
15572 when attaching or detaching the child window.
15574 Reviewed by John Sullivan and Kevin McCullough.
15576 * WebInspector/WebNodeHighlight.m:
15577 (-[WebNodeHighlight attach]): Remove the call to disableScreenUpdatesUntilFlush.
15578 (-[WebNodeHighlight detach]): Ditto.
15580 2008-08-19 Timothy Hatcher <timothy@apple.com>
15582 Correctly remembers the attached state of the Web Inspector so
15583 it opens in that state for the next window, or next launch.
15585 Reviewed by Kevin McCullough.
15587 * WebCoreSupport/WebInspectorClient.mm:
15588 (-[WebInspectorWindowController attach]): Set WebKitInspectorAttachedKey
15589 to YES in the user defaults.
15590 (-[WebInspectorWindowController detach]): Set WebKitInspectorAttachedKey
15591 to NO in the user defaults.
15593 2008-08-18 Alexey Proskuryakov <ap@webkit.org>
15595 Reviewed by Dan Bernstein.
15597 https://bugs.webkit.org/show_bug.cgi?id=19347
15598 <rdar://problem/5977562> Input methods do not work after switching to a password field
15601 Fix <rdar://problem/5522011> (The content of the password field of Safari is displayed by
15602 reconversion) in a different way which doesn't conflict with context caching performed
15605 This original bug does not really occur in ToT or shipping Safari under Mac OS X 10.5.4,
15606 because input methods are disabled in password fields. Attempting to reconvert text typed
15607 with Romaji only yields a string of bullets. Still, it is probably better to match Cocoa
15608 password field behavior and disable reconversion completely.
15610 * WebView/WebHTMLView.mm:
15611 (isInPasswordField): Factored out code to determine that the current selection is in
15613 (inputContext): Removed a hack that was breaking TSMGetActiveDocument().
15614 (-[WebHTMLView attributedSubstringFromRange:]): Check for password fields.
15615 (-[WebHTMLView textStorage]): Ditto.
15617 2008-08-12 Darin Adler <darin@apple.com>
15621 - eliminate JSValue::type()
15623 * WebView/WebView.mm:
15624 (aeDescFromJSValue): Rewrite to use the JSValue::is functions instead
15625 of a switch on JSValue::type().
15627 2008-08-17 Geoffrey Garen <ggaren@apple.com>
15629 Reviewed by Cameron Zwarich.
15631 Made room for a free word in JSCell.
15633 (Updated for JavaScriptCore changes.)
15635 2008-08-15 Mark Rowe <mrowe@apple.com>
15637 Rubber-stamped by Geoff Garen.
15639 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
15641 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
15642 between the Debug configuration and debug Production variant.
15644 2008-08-14 Sam Weinig <sam@webkit.org>
15646 Reviewed by Geoffrey Garen and Timothy Hatcher.
15648 Add WebView SPI to set HTMLTokenizer yielding parameters.
15650 * WebView/WebView.mm:
15651 (-[WebView _setCustomHTMLTokenizerTimeDelay:]):
15652 (-[WebView _setCustomHTMLTokenizerChunkSize:]):
15653 * WebView/WebViewPrivate.h:
15655 2008-08-13 Timothy Hatcher <timothy@apple.com>
15657 Fixes a bug where Safari's find banner would be permanently hidden
15658 when attaching or closing the Web Inspector while attached.
15660 https://bugs.webkit.org/show_bug.cgi?id=20376
15662 Reviewed by Kevin McCullough.
15664 * WebCoreSupport/WebInspectorClient.mm:
15665 (-[WebInspectorWindowController close]):
15666 Carefully manipulate the WebFrameView's frame when closing to
15667 not assume the WebFrameView's frame fills the inspected WebView.
15668 (-[WebInspectorWindowController setAttachedWindowHeight:]):
15669 Carefully manipulate the WebFrameView's frame when docking to
15670 not assume the WebFrameView plus the Web Inspector WebViews fills
15671 the full inspected WebView.
15673 2008-08-13 Stephanie Lewis <slewis@apple.com>
15677 * WebCoreSupport/WebInspectorClient.mm:
15679 2008-08-13 Timothy Hatcher <timothy@apple.com>
15681 Remember the docked state of the Web Inspector, so it can be
15682 reopened docked if it was last docked.
15684 https://bugs.webkit.org/show_bug.cgi?id=14271
15686 Reviewed by Kevin McCullough.
15688 * WebCoreSupport/WebInspectorClient.mm:
15689 (-[WebInspectorWindowController init]): Initialize _shouldAttach
15690 to the value stored in the user defaults. If there has never
15691 been a value stored, default to being attached.
15692 (-[WebInspectorWindowController showWindow:]): Pass the attached
15693 state to InspectorController::setWindowVisible.
15695 2008-08-12 Timothy Hatcher <timothy@apple.com>
15697 Remove the Inspector's WebView for the view hierarchy when closed
15698 while attached. This prevents it from showing in the background
15699 while the page changes.
15701 Reviewed by Kevin McCullough.
15703 * WebCoreSupport/WebInspectorClient.mm:
15704 (-[WebInspectorWindowController close:]): Call removeFromSuperview
15705 on the Inspector's WebView if it isn't attached, so it will not
15706 be visible when navigating pages while closed.
15708 2008-08-12 Timothy Hatcher <timothy@apple.com>
15710 Make the docked Web Inspector resizable.
15712 https://bugs.webkit.org/show_bug.cgi?id=14282
15714 Reviewed by Kevin McCullough.
15716 * WebCoreSupport/WebInspectorClient.h:
15717 * WebCoreSupport/WebInspectorClient.mm:
15718 (WebInspectorClient::setAttachedWindowHeight): Call setAttachedWindowHeight:
15719 on the WebInspectorWindowController.
15720 (-[WebInspectorWindowController showWindow:]): Call setAttachedWindowHeight:.
15721 (-[WebInspectorWindowController setAttachedWindowHeight:]): Moved code
15722 from showWindow: and generalized to allow being called multiple times.
15723 Remembers the last height passed, which is used by showWindow: the next
15724 time the Inspector attaches.
15726 2008-08-12 Timothy Hatcher <timothy@apple.com>
15728 Remove unneeded header imports from some Web Inspector files.
15730 Reviewed by Adam Roben.
15732 * WebCoreSupport/WebInspectorClient.mm:
15733 * WebInspector/WebInspector.mm:
15734 * WebInspector/WebNodeHighlightView.m:
15736 2008-08-12 Timothy Hatcher <timothy@apple.com>
15738 Remove the call to WKNSWindowMakeBottomCornersSquare on the
15739 Web Inspector's window. This isn't needed anymore since the
15740 window style masks used always have square bottom corners.
15742 Reviewed by Adam Roben.
15744 * WebCoreSupport/WebInspectorClient.mm:
15745 (-[WebInspectorWindowController window]): Remove the call
15746 to WKNSWindowMakeBottomCornersSquare.
15748 2008-08-12 Timothy Hatcher <timothy@apple.com>
15750 Make attaching and detaching the Web Inspector instantaneous.
15751 This also preserves the current view, other state, and keeps
15752 the script debugger attached.
15754 https://bugs.webkit.org/show_bug.cgi?id=19301
15756 Reviewed by Adam Roben.
15758 * WebCoreSupport/WebInspectorClient.mm:
15759 (-[WebInspectorWindowController close]): Only call setWindowVisible(false)
15760 when not moving windows.
15762 2008-08-12 Dan Bernstein <mitz@apple.com>
15764 Reviewed by John Sullivan.
15766 - replace -[WebPreferences updatesWhenOffscreen] with -[WebView shouldUpdateWhileHidden]
15768 * WebCoreSupport/WebFrameLoaderClient.mm:
15769 (WebFrameLoaderClient::transitionToCommittedForNewPage):
15770 * WebView/WebFrame.mm:
15771 (-[WebFrame _updateBackgroundAndUpdatesWhileHidden]):
15772 * WebView/WebFrameInternal.h:
15773 * WebView/WebHTMLView.mm:
15774 (-[WebHTMLView windowWillOrderOnScreen:]):
15775 * WebView/WebPreferenceKeysPrivate.h:
15776 * WebView/WebPreferences.mm:
15777 (+[WebPreferences initialize]):
15778 * WebView/WebPreferencesPrivate.h:
15779 * WebView/WebView.mm:
15780 (-[WebViewPrivate init]):
15781 (-[WebView _preferencesChangedNotification:]):
15782 (-[WebView setBackgroundColor:]):
15783 (-[WebView setDrawsBackground:]):
15784 (-[WebView shouldUpdateWhileHidden]):
15785 (-[WebView setShouldUpdateWhileHidden:]):
15786 * WebView/WebViewPrivate.h:
15788 2008-08-08 Dan Bernstein <mitz@apple.com>
15790 Reviewed by John Sullivan.
15792 - fix <rdar://problem/6130216> Exception "windowRegionBeingDrawn != nil" in NSView when caching image of a subframe
15794 This change reintroduces <https://bugs.webkit.org/show_bug.cgi?id=5195> on Leopard.
15796 * WebView/WebHTMLView.mm:
15797 (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]): Removed an
15798 unsuccessful workaround for <rdar://problem/5668489>, because invoking
15799 layout may change the view hierarchy during the drawing operation,
15800 which is not supported on Leopard.
15802 2008-08-08 Maxime Britto <britto@apple.com>
15806 * WebView/WebFrame.mm:
15807 (-[WebFrame _scrollDOMRangeToVisible:]):
15809 2008-08-08 Brady Eidson <beidson@apple.com>
15811 Reviewed by Sam Weinig
15813 Fix for <rdar://problem/5865504>
15815 This bug was actually *largely* fixed by http://trac.webkit.org/changeset/35538.
15816 But with that same patch, it became possible for a WebResource to fail to initialize.
15817 Therefore we were trying to add nil to an NSCFArray for certain situations, which is bad.
15818 Lets fix that, shall we?
15820 * WebView/WebArchive.mm:
15821 (-[WebArchive subresources]):
15823 2008-08-06 Eric Seidel <eric@webkit.org>
15825 Reviewed by Cameron Zwarich.
15827 Move more methods from Frame into ScriptController
15828 https://bugs.webkit.org/show_bug.cgi?id=20294
15830 The WebKit side of this move. Calls to frame() are now frame()->script()
15832 * Plugins/WebBaseNetscapePluginView.mm:
15833 (-[WebBaseNetscapePluginView getVariable:value:]):
15834 (-[WebBaseNetscapePluginView _destroyPlugin]):
15835 * Plugins/WebPluginController.mm:
15836 (-[WebPluginController destroyPlugin:]):
15837 (-[WebPluginController destroyAllPlugins]):
15838 * WebCoreSupport/WebFrameLoaderClient.mm:
15839 * WebView/WebFrame.mm:
15840 (-[WebFrame windowObject]):
15841 * WebView/WebScriptDebugger.mm:
15842 (WebScriptDebugger::callEvent):
15843 * WebView/WebView.mm:
15844 (-[WebView windowScriptObject]):
15846 2008-08-06 Dan Bernstein <mitz@apple.com>
15848 Reviewed by Mark Rowe.
15850 - fix an assertion failure in Cache::setCapacities()
15852 * Misc/WebKitSystemBits.h: Changed the return type of WebMemorySize()
15854 * Misc/WebKitSystemBits.m:
15856 * WebView/WebView.mm:
15857 (+[WebView _setCacheModel:]):
15859 2008-08-05 Anders Carlsson <andersca@apple.com>
15861 Pass in the correct class here.
15863 * WebView/WebResource.mm:
15864 (-[WebResourcePrivate dealloc]):
15866 2008-08-05 Anders Carlsson <andersca@apple.com>
15868 Reviewed by Darin Adler.
15870 <rdar://problem/6037398>
15871 ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
15873 Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
15875 * Carbon/CarbonWindowAdapter.m:
15876 (-[CarbonWindowAdapter dealloc]):
15877 * History/WebBackForwardList.mm:
15878 (-[WebBackForwardList dealloc]):
15879 * History/WebHistoryItem.mm:
15880 (-[WebHistoryItem dealloc]):
15881 * Misc/WebElementDictionary.mm:
15882 (+[WebElementDictionary initialize]):
15883 (-[WebElementDictionary dealloc]):
15884 * WebCoreSupport/WebEditorClient.mm:
15885 (-[WebEditCommand dealloc]):
15886 * WebCoreSupport/WebFrameLoaderClient.mm:
15887 * WebView/WebArchive.mm:
15888 (-[WebArchivePrivate dealloc]):
15889 * WebView/WebDataSource.mm:
15890 (-[WebDataSourcePrivate dealloc]):
15891 * WebView/WebHTMLView.mm:
15892 (-[WebHTMLViewPrivate dealloc]):
15893 (-[WebHTMLView dealloc]):
15894 * WebView/WebResource.mm:
15895 (-[WebResourcePrivate dealloc]):
15897 2008-08-05 Anders Carlsson <andersca@apple.com>
15899 Reviewed by Darin Adler.
15901 Remove MainThreadObjectDeallocator.{h|mm}.
15903 * WebView/MainThreadObjectDeallocator.h: Removed.
15904 * WebView/MainThreadObjectDeallocator.mm: Removed.
15906 * WebView/WebView.mm:
15907 (-[WebView dealloc]):
15908 Call WebCoreObjCScheduleDeallocateOnMainThread instead.
15910 2008-08-05 Anders Carlsson <andersca@apple.com>
15912 Reviewed by Darin Adler.
15914 Make the main thread object deallocator work with subclasses.
15916 * WebView/MainThreadObjectDeallocator.h:
15917 * WebView/MainThreadObjectDeallocator.mm:
15919 Call the correct dealloc method.
15921 (scheduleDeallocateOnMainThread):
15922 Store both the class and the instance, so we know which dealloc method to call.
15924 * WebView/WebView.mm:
15925 (-[WebViewPrivate dealloc]):
15926 Schedule deallocation on the main thread.
15928 2008-08-05 Dan Bernstein <mitz@apple.com>
15930 Reviewed by Mark Rowe and Anders Carlsson.
15932 - fix WebMemorySize() reporting a value capped at 2GB
15934 * misc/WebKitSystemBits.m:
15935 (WebMemorySize): Changed to return the max_mem field, which, unlike
15936 memory_size, is not capped at 2GB.
15937 * WebView/WebView.mm:
15938 (+[WebView _setCacheModel:]): Made the cache sizes for over 2GB RAM the
15939 same as for 2GB, so that behavior on machines that have more than 2GB
15940 RAM is not affected by the fix to WebMemorySize().
15942 2008-08-04 Mark Rowe <mrowe@apple.com>
15946 * WebView/WebHTMLView.mm:
15948 2008-08-04 Mark Rowe <mrowe@apple.com>
15950 Reviewed by Kevin Decker.
15952 Adopt the formal protocols where necessary.
15953 Final part of fix for <rdar://problem/5853147>.
15955 * WebCoreSupport/WebInspectorClient.mm:
15956 * WebView/WebHTMLView.mm:
15957 * WebView/WebView.mm:
15958 (-[WebView _openFrameInNewWindowFromMenu:]):
15960 2008-08-04 Mark Rowe <mrowe@apple.com>
15962 Reviewed by Darin Adler.
15964 Declare empty protocols when using versions of AppKit that do not use formal protocols for delegates and data sources.
15965 Part one of fix for <rdar://problem/5853147>.
15967 * Misc/EmptyProtocolDefinitions.h:
15970 2008-08-04 Brady Eidson <beidson@apple.com>
15972 Reviewed by Mitz Pettel
15974 Fix <rdar://problem/5820157> - Saving WebArchives of Mail attachments broken.
15976 This broke in r31355 when we stopped returning nil WebResources when there was nil
15979 * WebView/WebResource.mm:
15980 (-[WebResource _initWithCoreResource:]): Restore previous behavior of returning nil
15981 when the resource data is null.
15983 2008-08-02 Matt Lilek <webkit@mattlilek.com>
15985 Reviewed by Tim Hatcher.
15987 Update the window gradient offset to match the inspector toolbar's new height.
15989 * WebCoreSupport/WebInspectorClient.mm:
15990 (-[WebInspectorWindowController window]):
15992 2008-08-01 Anders Carlsson <andersca@apple.com>
15996 <rdar://problem/6120206>
15997 Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
15999 Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
16001 * Plugins/WebBaseNetscapePluginStream.mm:
16002 (-[WebBaseNetscapePluginStream wantsAllStreams]):
16004 2008-07-31 Anders Carlsson <andersca@apple.com>
16006 Reviewed by Darin Adler.
16008 <rdar://problem/5949410>
16009 Add the ability to transfer a given application cache to a new database.
16011 * Misc/WebKitNSStringExtras.h:
16012 * Misc/WebKitNSStringExtras.m:
16013 (+[NSString _webkit_applicationCacheDirectoryWithBundleIdentifier:]):
16014 New method which returns the appopriate cache directory for a given bundle identifier.
16016 * WebView/WebDataSource.mm:
16017 (-[WebDataSource _transferApplicationCache:]):
16018 Transfer the application cache.
16020 * WebView/WebDataSourcePrivate.h:
16021 * WebView/WebView.mm:
16022 (WebKitInitializeApplicationCachePathIfNecessary):
16023 Change this to use _webkit_applicationCacheDirectoryWithBundleIdentifier.
16025 2008-07-31 John Sullivan <sullivan@apple.com>
16027 WebKit part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
16031 * WebView/WebPreferenceKeysPrivate.h:
16032 added WebKitZoomsTextOnlyPreferenceKey
16034 * WebView/WebPreferences.mm:
16035 (+[WebPreferences initialize]):
16036 default value of YES for WebKitZoomsTextOnlyPreferenceKey
16037 (-[WebPreferences zoomsTextOnly]):
16038 getter for WebKitZoomsTextOnlyPreferenceKey
16039 (-[WebPreferences setZoomsTextOnly:]):
16040 setter for WebKitZoomsTextOnlyPreferenceKey
16042 * WebView/WebPreferencesPrivate.h:
16043 declare zoomsTextOnly/setZoomsTextOnly:
16045 * WebView/WebView.mm:
16046 (-[WebView _preferencesChangedNotification:]):
16047 update WebCore::Settings value for zoomsTextOnly
16049 2008-07-31 David D. Kilzer <ddkilzer@webkit.org>
16051 Fix layout test results for webarchive/test-xml-stylesheet.xml
16053 Reviewed by Darin Adler.
16055 Needed to expose -[WebHTMLRepresentation supportedNonImageMIMETypes]
16056 for DumpRenderTree.
16058 * WebView/WebHTMLRepresentationInternal.h: Added.
16060 2008-07-31 Alexey Proskuryakov <ap@webkit.org>
16064 * Plugins/WebBaseNetscapePluginView.mm: (-[WebBaseNetscapePluginView setWindowIfNecessary]):
16065 Don't define to npErr in release builds, as it is only used for logging.
16067 2008-07-31 John Sullivan <sullivan@apple.com>
16069 Fixed <https://bugs.webkit.org/show_bug.cgi?id=5195>
16070 drawing with cacheDisplayInRect:toBitmapImageRep: doesn't trigger layout on Leopard
16074 * WebView/WebHTMLView.mm:
16075 (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
16076 include Leopard in the #ifdef that forces a layout if needed
16078 2008-07-30 Brady Eidson <beidson@apple.com>
16080 Reviewed by Adam and Hyatt
16082 Fix for <rdar://problem/6099748>
16084 * WebView/WebView.mm:
16085 (-[WebView _preferencesChangedNotification:]): Set the "don't enforce CSS mime type in strict mode"
16086 quirk when running under iWeb 2
16088 2008-07-31 Alexey Proskuryakov <ap@webkit.org>
16090 Rubber-stamped by Maciej.
16092 Eliminate JSLock (it was already disabled, removing the stub implementaion and all
16095 * ForwardingHeaders/runtime/JSLock.h: Removed.
16096 * Misc/WebCoreStatistics.mm:
16097 (+[WebCoreStatistics javaScriptObjectsCount]):
16098 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
16099 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
16100 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
16101 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
16102 (+[WebCoreStatistics shouldPrintExceptions]):
16103 (+[WebCoreStatistics setShouldPrintExceptions:]):
16104 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
16105 * Plugins/WebBaseNetscapePluginStream.mm:
16106 (-[WebBaseNetscapePluginStream wantsAllStreams]):
16107 * Plugins/WebBaseNetscapePluginView.mm:
16108 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
16109 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
16110 (-[WebBaseNetscapePluginView start]):
16111 (-[WebBaseNetscapePluginView createPluginScriptableObject]):
16112 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
16113 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
16114 (-[WebBaseNetscapePluginView loadPluginRequest:]):
16115 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
16116 * Plugins/WebPluginController.mm:
16117 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
16118 (-[WebPluginController startAllPlugins]):
16119 (-[WebPluginController stopAllPlugins]):
16120 (-[WebPluginController addPlugin:]):
16121 (-[WebPluginController destroyPlugin:]):
16122 (-[WebPluginController destroyAllPlugins]):
16123 * WebView/WebFrame.mm:
16124 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
16125 * WebView/WebScriptDebugDelegate.mm:
16126 (-[WebScriptCallFrame evaluateWebScript:]):
16127 * WebView/WebView.mm:
16128 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
16130 2008-07-30 Beth Dakin <bdakin@apple.com>
16132 Reviewed by Anders Carlsson.
16134 Fixes <rdar://problem/6041390>
16136 Adds the ability to have a frame that is "disconnected" from the
16137 main frame from the perspective of top and parent in
16140 * WebView/WebFrame.mm:
16141 (-[WebFrame _setIsDisconnectedFrame]):
16142 * WebView/WebFramePrivate.h:
16144 2008-07-29 Mark Rowe <mrowe@apple.com>
16146 Tweak to the build fix to keep Dan happy.
16148 * Plugins/WebBaseNetscapePluginView.mm:
16149 * WebView/WebHTMLView.mm:
16151 2008-07-29 Mark Rowe <mrowe@apple.com>
16155 * Plugins/WebBaseNetscapePluginView.mm:
16156 (-[WebBaseNetscapePluginView inputContext]):
16157 * WebView/WebHTMLView.mm:
16159 2008-07-28 Anders Carlsson <andersca@apple.com>
16161 Reviewed by Kevin Decker.
16163 Based on a patch by Dimcho Balev.
16165 https://bugs.webkit.org/show_bug.cgi?id=18676
16166 <rdar://problem/6106578>
16167 Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
16169 * Plugins/WebBaseNetscapePluginStream.h:
16170 Add NPP_GetValue pointer.
16172 * Plugins/WebBaseNetscapePluginStream.mm:
16173 (-[WebBaseNetscapePluginStream setPlugin:]):
16174 Initialize NPP_GetValue.
16176 (-[WebBaseNetscapePluginStream wantsAllStreams]):
16179 * Plugins/WebPlugInStreamLoaderDelegate.h:
16180 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h:
16181 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm:
16182 (WebNetscapePlugInStreamLoaderClient::wantsAllStreams):
16183 Implement this and call down to the stream.
16185 2008-07-28 Anders Carlsson <andersca@apple.com>
16189 <rdar://problem/6105529>
16190 https://bugs.webkit.org/show_bug.cgi?id=19659
16191 Turning off plugins causes crash
16193 When an active page has plug-ins, and plug-ins are disabled, they will be stopped and will
16194 end up in a state where they don't have an event handler. Because of this, we need to
16195 check that the plug-in has been started before calling the event handler.
16197 * Plugins/WebBaseNetscapePluginView.mm:
16198 (-[WebBaseNetscapePluginView sendActivateEvent:]):
16199 (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
16200 (-[WebBaseNetscapePluginView setHasFocus:]):
16201 (-[WebBaseNetscapePluginView mouseDown:]):
16202 (-[WebBaseNetscapePluginView mouseUp:]):
16203 (-[WebBaseNetscapePluginView mouseEntered:]):
16204 (-[WebBaseNetscapePluginView mouseExited:]):
16205 (-[WebBaseNetscapePluginView handleMouseMoved:]):
16206 (-[WebBaseNetscapePluginView mouseDragged:]):
16207 (-[WebBaseNetscapePluginView scrollWheel:]):
16208 (-[WebBaseNetscapePluginView keyUp:]):
16209 (-[WebBaseNetscapePluginView keyDown:]):
16210 (-[WebBaseNetscapePluginView flagsChanged:]):
16211 (-[WebBaseNetscapePluginView cut:]):
16212 (-[WebBaseNetscapePluginView copy:]):
16213 (-[WebBaseNetscapePluginView paste:]):
16214 (-[WebBaseNetscapePluginView selectAll:]):
16215 (-[WebBaseNetscapePluginView drawRect:]):
16216 (-[WebBaseNetscapePluginView inputContext]):
16218 2008-07-26 Daniel Jalkut <jalkut@red-sweater.com>
16220 Reviewed by Geoff Garen.
16222 Changes to accommodate newly named/signatured loading methods in WebCore.
16224 * Plugins/WebNetscapePluginStream.mm:
16225 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
16226 * Plugins/WebPluginContainerCheck.mm:
16227 (-[WebPluginContainerCheck _isForbiddenFileLoad]):
16228 * WebView/WebPDFView.mm:
16229 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
16231 2008-07-21 Mark Rowe <mrowe@apple.com>
16233 Reviewed by Sam Weinig.
16235 <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
16237 * Configurations/Version.xcconfig:
16240 2008-07-21 Anders Carlsson <andersca@apple.com>
16244 <rdar://problem/5820667>
16245 CrashTracer: [USER] 3759 crashes in Safari at FrameLoader::activeDocumentLoader const + 6 while canceling plug-in load
16247 Don't allow URLs to be loaded in response to an NPP_DestroyStream that happens when tearing down the plug-in.
16249 * Plugins/WebBaseNetscapePluginView.mm:
16250 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
16252 2008-07-21 Mark Rowe <mrowe@apple.com>
16254 Reviewed by Adam Roben.
16256 <rdar://problem/5624143> WebView printing doesn't work correctly in x86_64
16258 Fix the return type of an NSView method that we override so that the correct data type is used in 64-bit.
16259 This prevents a garbage value being used for the scale factor that the NSView print machinery applies.
16261 * WebView/WebHTMLView.mm:
16263 2008-07-21 Mark Rowe <mrowe@apple.com>
16265 Reviewed by Adam Roben.
16267 Fix CallDelegateReturningFloat for x86_64. The x86_64 Objective-C runtime
16268 only uses objc_msgSend_fpret for long double return values. For float return
16269 values the standard objc_msgSend is used, as on ppc and ppc64.
16271 * WebView/WebView.mm: Use objc_msgSend_float_return as the name of our version of
16272 objc_msgSend with the correct return type. We can no longer call it objc_msgSend_fpret
16273 as that method is defined by the Objective-C runtime for x86_64.
16274 (CallDelegateReturningFloat):
16276 2008-07-14 Dan Bernstein <mitz@apple.com>
16278 Reviewed by John Sullivan.
16280 - WebKit part of fixing <rdar://problem/6071850> Subviews not drawn correctly when using -cacheDisplayInRect:toBitmapImageRep:
16282 * Plugins/WebBaseNetscapePluginView.mm:
16283 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Changed
16284 to account for the case of being drawn into a bitmap context that is not
16285 a window's backing store. In that case, there are no valid "rects being
16287 * WebView/WebHTMLView.mm:
16288 (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
16289 Added an override of this NSView method which is used in for
16290 -cacheDisplayInRect:toBitmapImageRep:. Like two existing NSView drawing
16291 machinery overrides, it sets subviews aside before invoking the
16292 superclass implementation. On Tiger, it also updates the layout.
16294 2008-07-14 Alexey Proskuryakov <ap@webkit.org>
16296 Reviewed by Geoff Garen.
16298 Eliminate per-thread JavaScript global data instance support and make arbitrary
16299 global data/global object combinations possible.
16301 * Misc/WebCoreStatistics.mm:
16302 (+[WebCoreStatistics javaScriptObjectsCount]):
16303 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
16304 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
16305 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
16306 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
16307 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
16308 Ask WebCore for its instance of JSGlobalData, now that it is not in per-thread storage.
16310 2008-07-11 Stephanie Lewis <slewis@apple.com>
16312 Reviewed by Darin Adler.
16314 Disable WTF leak messages when using fast teardown. Use full document teardown while running in debug.
16316 * WebView/WebPreferences.m: Removed.
16317 * WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m.
16318 (+[WebPreferences initialize]): if running in Default enable full document teardown
16319 (-[WebPreferences editableLinkBehavior]):
16320 (-[WebPreferences setFullDocumentTeardownEnabled:]):
16321 * WebView/WebView.mm:
16322 (-[WebView _close]): disable leak messages if using fast teardown
16324 2008-07-10 Mark Rowe <mrowe@apple.com>
16326 Reviewed by Sam Weinig.
16328 Define WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST when building WebKit to ensure that no symbols end up with the weak_import attribute.
16330 * Configurations/WebKit.xcconfig:
16332 2008-07-10 Mark Rowe <mrowe@apple.com>
16334 Reviewed by Sam Weinig.
16336 Fix the Tiger build by omitting annotations from methods declared in categories when using old versions of GCC.
16338 * Plugins/WebPlugin.h: Wrap annotations on methods declared in categories in the WEBKIT_CATEGORY_METHOD_ANNOTATION macro.
16339 * WebView/WebFrameLoadDelegate.h: Ditto.
16340 * WebView/WebUIDelegate.h: Ditto.
16342 2008-07-10 Anders Carlsson <andersca@apple.com>
16346 Add availability macros for the new WebPlugin methods.
16348 * Plugins/WebPlugin.h:
16349 * Plugins/WebPluginViewFactory.h:
16351 2008-07-09 Mark Rowe <mrowe@apple.com>
16353 Reviewed by Geoff Garen.
16355 Don't warn about deprecated functions in production builds.
16357 * Configurations/Base.xcconfig:
16358 * Configurations/DebugRelease.xcconfig:
16360 2008-07-09 Brady Eidson <beidson@apple.com>
16364 <rdar://problem/5823684> - Crash manipulating frame tree of a new frame before the new frame
16365 has been installed in a frame tree.
16367 The root of this problem was that calling init() on a new frame could end up calling arbitrary
16368 javascript that might end up removing the frame from the tree. This opened up a small can of worms
16369 such as the frame not having yet been installed in its frame tree, and other assumed behavior while
16370 destroying the frame.
16372 Note that each platforms WebKit API layer needs to make this new guarantee:
16373 "The new Frame must be installed in its FrameTree before newCoreFrame->init() is called"
16374 I am fixing Mac, and Windows and GTK already have this property. Wx currently has subframes disabled
16375 but will need to add this guarantee when re-enabling, and Qt is currently vulnerable to this same bug.
16377 Alternately, the way frames are created right now is roundabout and asinine, and this is a key
16378 architectural improvement we can make in the future so the individual platform clients are no longer
16379 vulnerable to this problem, which should really have been a WebCore issue.
16381 * WebCoreSupport/WebFrameLoaderClient.mm:
16382 (WebFrameLoaderClient::createFrame): Don't bother null checking the newCoreFrame - can't be NULL.
16383 Don't appendChild() the new frame here.
16384 Null-check the new frame's page before loading the URL into it, as it might already have been
16385 removed from the page.
16387 * WebView/WebFrame.mm:
16388 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): If there is an ownerElement,
16389 go ahead and install the new frame in the frame tree *before* calling init() on it.
16391 2008-07-09 Anders Carlsson <andersca@apple.com>
16393 Reviewed by Darin Adler.
16395 Make some WebPlugin and WebPluginFactory SPI public.
16397 * Plugins/WebPlugin.h:
16398 * Plugins/WebPluginPrivate.h:
16399 * Plugins/WebPluginViewFactory.h:
16400 * Plugins/WebPluginViewFactoryPrivate.h:
16402 2008-07-08 Jon Honeycutt <jhoneycutt@apple.com>
16404 Reviewed by Anders.
16406 Port r34988 to Mac: don't call NPP_DestroyStream if NPP_NewStream was
16409 * Plugins/WebBaseNetscapePluginStream.h: Added new member,
16410 newStreamSuccessful.
16411 * Plugins/WebBaseNetscapePluginStream.mm:
16412 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]): Initialize new member.
16413 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]): If NPP_NewStream is successful, set
16414 newStreamSuccessful to YES.
16415 (-[WebBaseNetscapePluginStream _destroyStream]): Only call
16416 NPP_DestroyStream if newStreamSuccessful is true.
16418 2008-07-08 Dan Bernstein <mitz@apple.com>
16420 Reviewed by John Sullivan.
16422 - WebKit part of <rdar://problem/6008409> Need a way to disable updates in offscreen views
16424 * WebView/WebHTMLView.mm:
16425 (-[WebHTMLView addWindowObservers]): Added code to observe when the
16426 window goes onscreen.
16427 (-[WebHTMLView removeWindowObservers]): Added.
16428 (-[WebHTMLView windowWillOrderOnScreen:]): Added. If the view is set to
16429 not update when offscreen, calls -setNeedsDisplay: just before it comes
16431 * WebView/WebPreferenceKeysPrivate.h: Added preference key.
16432 * WebView/WebPreferences.m:
16433 (+[WebPreferences initialize]): Made updates when offscreen on by
16435 (-[WebPreferences updatesWhenOffscreen]): Added.
16436 (-[WebPreferences setUpdatesWhenOffscreen:]): Added.
16437 * WebView/WebPreferencesPrivate.h:
16438 * WebView/WebView.mm:
16439 (-[WebView _preferencesChangedNotification:]): Added code to update the
16440 updatesWhenOffscreen setting in WebCore.
16442 2008-07-07 Anders Carlsson <andersca@apple.com>
16444 Reviewed by Darin Adler.
16446 Speculative fix for
16447 <rdar://problem/5839800>
16448 CrashTracer: [USER] 5802 crashes in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
16450 Set _private->closed to YES before calling -[WebPluginController destroyAllPlugins].
16452 My theory is that the plug-in destruction callbacks could end up rescheduling timers or re-adding notifications.
16453 This is usually protected by _private->closed, but in this case it might still be false.
16455 * WebView/WebHTMLView.mm:
16456 (-[WebHTMLView close]):
16458 2008-07-05 Mark Rowe <mrowe@apple.com>
16460 Reviewed by John Sullivan.
16462 Remove WebSearchableTextView as it has been unused for some time now.
16464 * Misc/WebSearchableTextView.h: Removed.
16465 * Misc/WebSearchableTextView.m: Removed.
16467 2008-07-05 Mark Rowe <mrowe@apple.com>
16469 Reviewed by John Sullivan.
16471 Don't leak the result of WKCopyCFLocalizationPreferredName when running under GC.
16473 * Misc/WebNSUserDefaultsExtras.m:
16474 (-[NSString _webkit_HTTPStyleLanguageCode]):
16476 2008-07-02 Alexey Proskuryakov <ap@webkit.org>
16478 Inspired and reviewed by Mark Rowe.
16480 Change non-API includes from JavaScriptCore/ to kjs/ and wtf/ to match prevalent style.
16482 * Carbon/HIViewAdapter.m:
16483 * DOM/WebDOMOperations.mm:
16484 * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
16485 * DefaultDelegates/WebDefaultPolicyDelegate.m:
16486 * History/WebBackForwardList.mm:
16487 * History/WebHistory.mm:
16488 * History/WebHistoryItem.mm:
16489 * History/WebHistoryItemInternal.h:
16490 * Misc/WebCoreStatistics.mm:
16491 * Misc/WebDownload.m:
16492 * Misc/WebGraphicsExtras.c:
16493 * Misc/WebKitLogging.h:
16494 * Misc/WebKitSystemBits.m:
16495 * Misc/WebLocalizableStrings.m:
16496 * Misc/WebNSArrayExtras.m:
16497 * Misc/WebNSDataExtras.m:
16498 * Misc/WebNSDictionaryExtras.m:
16499 * Misc/WebNSFileManagerExtras.m:
16500 * Misc/WebNSPasteboardExtras.mm:
16501 * Misc/WebNSURLExtras.mm:
16502 * Misc/WebNSUserDefaultsExtras.m:
16503 * Panels/WebAuthenticationPanel.m:
16504 * Panels/WebPanelAuthenticationHandler.m:
16505 * Plugins/WebBaseNetscapePluginView.mm:
16506 * Plugins/WebBasePluginPackage.m:
16507 * Plugins/WebNetscapePluginEmbeddedView.mm:
16508 * Plugins/WebPluginContainerCheck.mm:
16509 * Plugins/WebPluginController.mm:
16510 * Plugins/WebPluginDatabase.mm:
16511 * WebCoreSupport/WebJavaScriptTextInputPanel.m:
16512 * WebCoreSupport/WebKeyGenerator.m:
16513 * WebCoreSupport/WebViewFactory.mm:
16515 * WebView/WebHTMLRepresentation.mm:
16516 * WebView/WebPDFRepresentation.m:
16517 * WebView/WebPDFView.mm:
16518 * WebView/WebScriptDebugger.mm:
16520 2008-07-01 Alexey Proskuryakov <ap@webkit.org>
16522 Reviewed by Darin Adler.
16524 Disable JSLock for per-thread contexts.
16526 * Misc/WebCoreStatistics.mm:
16527 (+[WebCoreStatistics javaScriptObjectsCount]):
16528 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
16529 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
16530 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
16531 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
16532 (+[WebCoreStatistics shouldPrintExceptions]):
16533 (+[WebCoreStatistics setShouldPrintExceptions:]):
16534 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
16535 * Plugins/WebBaseNetscapePluginView.mm:
16536 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
16537 (-[WebBaseNetscapePluginView setWindowIfNecessary]):
16538 (-[WebBaseNetscapePluginView start]):
16539 (-[WebBaseNetscapePluginView createPluginScriptableObject]):
16540 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]):
16541 (-[WebBaseNetscapePluginView webFrame:didFinishLoadWithReason:]):
16542 (-[WebBaseNetscapePluginView loadPluginRequest:]):
16543 (-[WebBaseNetscapePluginView _printedPluginBitmap]):
16544 * Plugins/WebPluginController.mm:
16545 (+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
16546 (-[WebPluginController startAllPlugins]):
16547 (-[WebPluginController stopAllPlugins]):
16548 (-[WebPluginController addPlugin:]):
16549 (-[WebPluginController destroyPlugin:]):
16550 (-[WebPluginController destroyAllPlugins]):
16551 * WebView/WebFrame.mm:
16552 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
16553 * WebView/WebScriptDebugDelegate.mm:
16554 (-[WebScriptCallFrame evaluateWebScript:]):
16555 * WebView/WebView.mm:
16556 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
16557 Pass a parameter (always false) to JSLock and JSLock::DropAllLocks to indicate that WebKit
16558 doesn't need locking. In the future, it may be possible to remove some of these if we
16559 establish that this won't make JSC assertions fail (and that we don't want to add such
16560 assertions either).
16561 Added includes that are now needed.
16563 2008-07-01 Kevin McCullough <kmccullough@apple.com>
16567 * WebView/WebView.mm:
16569 2008-07-01 Anders Carlsson <andersca@apple.com>
16571 Reviewed by Darin Adler.
16573 Use the PluginMainThreadScheduler, and implement NPN_PluginThreadAsyncCall.
16575 * Plugins/WebBaseNetscapePluginView.mm:
16576 (-[WebBaseNetscapePluginView _createPlugin]):
16577 Register the plug-in instance.
16579 (-[WebBaseNetscapePluginView _destroyPlugin]):
16580 Unegister the plug-in instance.
16582 * Plugins/WebNetscapePluginPackage.m:
16583 (-[WebNetscapePluginPackage load]):
16584 Set NPN_PluginThreadAsyncCall.
16586 * Plugins/npapi.mm:
16587 (NPN_PluginThreadAsyncCall):
16590 2008-07-01 Dan Bernstein <mitz@apple.com>
16592 Reviewed by Darin Adler.
16594 - WebKit part of moving the method to set the base writing direction from Frame to Editor
16596 * WebView/WebHTMLView.mm:
16597 (-[WebHTMLView toggleBaseWritingDirection:]): Changed back to call the
16599 (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
16600 (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
16602 2008-07-01 Geoffrey Garen <ggaren@apple.com>
16604 Build fix: forgot to check in this file.
16606 * WebView/WebScriptDebugger.mm:
16607 (WebScriptDebugger::WebScriptDebugger):
16609 2008-06-30 Dan Bernstein <mitz@apple.com>
16611 Reviewed by Adele Peterson.
16613 - WebKit/mac part of <rdar://problem/3881497> Writing direction context menu item has no effect on text typed in Safari
16615 * WebView/WebHTMLView.mm:
16616 (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
16617 WebCore::Frame::setSelectionBaseWritingDirection() instead of
16618 WebCore::Editor::setBaseWritingDirection().
16619 (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
16620 (-[WebHTMLView _changeBaseWritingDirectionTo:]): Ditto.
16622 2008-06-28 Darin Adler <darin@apple.com>
16626 * WebView/WebView.mm:
16627 (aeDescFromJSValue): Use get instead of getItem, which no longer exists.
16629 2008-06-26 Anders Carlsson <andersca@apple.com>
16631 Reviewed by Darin Adler.
16633 Add a new MainThreadObjectDeallocator which can schedule dealloc calls on the main thread
16634 if necessary. Use this for the WebView class.
16636 * WebView/MainThreadObjectDeallocator.h: Added.
16637 * WebView/MainThreadObjectDeallocator.mm: Added.
16639 (scheduleDeallocateOnMainThread):
16640 * WebView/WebView.mm:
16641 (-[WebViewPrivate dealloc]):
16642 (+[WebView initialize]):
16644 2008-06-25 Anders Carlsson <andersca@apple.com>
16648 <rdar://problem/5984270>
16649 REGRESSION (Tiger only) : Mail crashes because message load is being processed on a secondary thread
16651 * WebView/WebView.mm:
16652 (tigerMailReleaseIMP):
16653 New method that makes sure that the final release happens on the main thread.
16655 (-[WebView release]):
16656 New method that just calls [super release];
16658 (+[WebView initialize]):
16659 When running under Tiger mail, replace the release method with tigerMailReleaseIMP.
16661 2008-06-19 Alexey Proskuryakov <ap@webkit.org>
16665 Make Machine per-JSGlobalData.
16667 * WebView/WebScriptDebugger.mm:
16668 (WebScriptDebugger::WebScriptDebugger):
16670 2008-06-17 Alexey Proskuryakov <ap@webkit.org>
16672 Reviewed by Darin Adler.
16674 Prepare JavaScript heap for being per-thread.
16676 * Misc/WebCoreStatistics.mm:
16677 (+[WebCoreStatistics javaScriptObjectsCount]):
16678 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
16679 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
16680 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
16681 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
16682 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
16683 Use JSGlobalData::threadInstance()->heap instead of static Collector calls.
16685 2008-06-17 Darin Adler <darin@apple.com>
16689 * WebView/WebHTMLView.mm:
16690 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Use create instead of new
16691 to create a CSSMutableStyleDeclaration.
16693 2008-06-16 Mark Rowe <mrowe@apple.com>
16695 Reviewed by Darin Adler.
16697 <rdar://problem/5951874> WebHTMLHighlighter mistakenly gained two new methods, causing compile warnings
16699 _pauseNullEventsForAllNetscapePlugins and _resumeNullEventsForAllNetscapePlugins ended up being declared both in
16700 WebHTMLViewInternal.h and as members of the WebHTMLHighlighter protocol in WebHTMLViewPrivate.h. They don't belong
16701 in the protocol, but they do need to be available outside of WebKit so they're being moved to the correct location
16702 in WebHTMLViewPrivate.h and removed from WebHTMLViewInternal.h.
16704 * WebView/WebHTMLView.mm:
16705 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]):
16706 (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]):
16707 * WebView/WebHTMLViewInternal.h:
16708 * WebView/WebHTMLViewPrivate.h:
16710 2008-06-15 Darin Adler <darin@apple.com>
16712 - give Frame object functions shorter names: scriptProxy() -> script(),
16713 selectionController() -> selection(), animationController() -> animation()
16715 * Plugins/WebPluginController.mm:
16716 (-[WebPluginController webPlugInContainerSelectionColor]):
16717 * WebView/WebFrame.mm:
16718 (-[WebFrame _attachScriptDebugger]):
16719 (-[WebFrame _hasSelection]):
16720 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
16721 (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
16722 (-[WebFrame _convertToNSRange:]):
16723 (-[WebFrame _convertToDOMRange:]):
16724 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
16725 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
16726 (-[WebFrame _insertParagraphSeparatorInQuotedContent]):
16727 (-[WebFrame _selectedNSRange]):
16728 (-[WebFrame _selectNSRange:]):
16729 (-[WebFrame globalContext]):
16730 * WebView/WebHTMLView.mm:
16731 (-[WebHTMLView _selectedRange]):
16732 (-[WebHTMLView _hasSelection]):
16733 (-[WebHTMLView _hasSelectionOrInsertionPoint]):
16734 (-[WebHTMLView _hasInsertionPoint]):
16735 (-[WebHTMLView _isEditable]):
16736 (-[WebHTMLView _updateFocusedAndActiveState]):
16737 (-[WebHTMLView readSelectionFromPasteboard:]):
16738 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
16739 (-[WebHTMLView maintainsInactiveSelection]):
16740 (-[WebHTMLView paste:]):
16742 (-[WebHTMLView inputContext]):
16743 (-[WebTextCompleteController doCompletion]):
16744 (-[WebHTMLView selectAll]):
16745 (-[WebHTMLView deselectAll]):
16746 (-[WebHTMLView selectedAttributedString]):
16747 * WebView/WebView.mm:
16748 (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
16749 (-[WebView setSelectedDOMRange:affinity:]):
16750 (-[WebView selectedDOMRange]):
16751 (-[WebView selectionAffinity]):
16753 2008-06-15 Darin Adler <darin@apple.com>
16755 - rename KJS::List to KJS::ArgList
16757 * WebView/WebScriptDebugger.h:
16759 2008-06-15 Darin Adler <darin@apple.com>
16761 - new names for more JavaScriptCore files
16763 * WebView/WebView.mm:
16765 2008-06-15 Darin Adler <darin@apple.com>
16767 - new names for a few key JavaScriptCore files
16769 * ForwardingHeaders/kjs/JSFunction.h: Copied from WebKit/mac/ForwardingHeaders/kjs/function.h.
16770 * ForwardingHeaders/kjs/JSObject.h: Copied from WebKit/mac/ForwardingHeaders/kjs/object.h.
16771 * ForwardingHeaders/kjs/JSString.h: Copied from WebKit/mac/ForwardingHeaders/kjs/internal.h.
16772 * ForwardingHeaders/kjs/JSValue.h: Copied from WebKit/mac/ForwardingHeaders/kjs/value.h.
16773 * ForwardingHeaders/kjs/function.h: Removed.
16774 * ForwardingHeaders/kjs/internal.h: Removed.
16775 * ForwardingHeaders/kjs/object.h: Removed.
16776 * ForwardingHeaders/kjs/value.h: Removed.
16777 * WebView/WebScriptDebugDelegate.mm:
16779 2008-06-15 Darin Adler <darin@apple.com>
16781 Rubber stamped by Sam.
16783 - use JS prefix and simpler names for basic JavaScriptCore types,
16784 to complement JSValue and JSObject
16786 * WebView/WebView.mm:
16787 (aeDescFromJSValue):
16789 2008-06-14 Darin Adler <darin@apple.com>
16791 Rubber stamped by Sam.
16793 - new names for kjs_binding.h and kjs_proxy.h
16795 * WebView/WebFrame.mm:
16796 * WebView/WebScriptDebugDelegate.mm:
16797 * WebView/WebView.mm:
16799 2008-06-14 Darin Adler <darin@apple.com>
16801 Rubber stamped by Sam.
16803 - renamed HTMLGenericFormElement to HTMLFormControlElement
16805 * WebView/WebHTMLRepresentation.mm:
16806 (-[WebHTMLRepresentation elementWithName:inForm:]):
16807 (-[WebHTMLRepresentation controlsInForm:]):
16809 2008-06-14 Darin Adler <darin@apple.com>
16813 - more of https://bugs.webkit.org/show_bug.cgi?id=17257
16814 start ref counts at 1 instead of 0 for speed
16816 * WebCoreSupport/WebFrameLoaderClient.mm:
16817 (WebFrameLoaderClient::createDocumentLoader): Use create instead of new.
16818 (WebFrameLoaderClient::createFrame): Remove now-obsolete adoptRef that was balanced by
16819 a ref call inside the Frame constructor. The lifetime rules for Frame are now the
16820 conventional ones without a special case.
16822 * WebView/WebDataSource.mm:
16823 (-[WebDataSource _initWithDocumentLoader:]): Changed argument to be a PassRefPtr, since
16824 this function takes ownership of the DocumentLoader.
16825 (-[WebDataSource initWithRequest:]): Use create instead of new.
16826 * WebView/WebDataSourceInternal.h: Changed _initWithDocumentLoader argument to be a
16827 PassRefPtr and also cleaned up the header a bit.
16829 * WebView/WebDocumentLoaderMac.h:
16830 (WebDocumentLoaderMac::create): Added. Also made the constructor and a couple of virtual
16833 * WebView/WebFrame.mm:
16834 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Use create instead
16837 2008-06-14 Darin Adler <darin@apple.com>
16841 - more work on https://bugs.webkit.org/show_bug.cgi?id=17257
16842 start ref counts at 1 instead of 0 for speed
16844 * WebView/WebFrame.mm:
16845 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
16846 * WebView/WebPDFView.mm:
16847 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
16849 2008-06-13 Darin Adler <darin@apple.com>
16851 Reviewed by John Sullivan.
16853 - updated for addition of FormState argument to action policy functions
16854 - added WebActionFormKey
16856 * WebCoreSupport/WebFrameLoaderClient.h:
16857 * WebCoreSupport/WebFrameLoaderClient.mm:
16858 (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
16859 (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
16860 (WebFrameLoaderClient::actionDictionary):
16862 * WebView/WebPolicyDelegate.mm:
16863 * WebView/WebPolicyDelegatePrivate.h:
16865 2008-06-12 John Sullivan <sullivan@apple.com>
16867 Reviewed by Dan and Darin
16869 Clear up the confusion about _close (older private method) vs -close (newer public method).
16871 * WebView/WebView.mm:
16872 (-[WebView _isClosed]):
16874 (-[WebView _close]):
16875 added a comment about how clients and subclasses should use -close instead
16876 (-[WebView dealloc]):
16877 call -close instead of _close, so subclasses that override the public method will have the intended behavior
16878 (-[WebView close]):
16880 (-[WebView _windowWillClose:]):
16881 call -close instead of _close, so subclasses that override the public method will have the intended behavior
16883 * WebView/WebViewPrivate.h:
16884 added a comment about how clients and subclasses should use -close instead
16886 2008-06-07 Darin Adler <darin@apple.com>
16890 - work on https://bugs.webkit.org/show_bug.cgi?id=17257
16891 start ref counts at 1 instead of 0 for speed
16893 * History/WebHistoryItem.mm:
16894 (-[WebHistoryItem init]):
16895 (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
16896 (-[WebHistoryItem initWithURL:target:parent:title:]):
16897 (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
16898 * WebView/WebView.mm:
16899 (+[WebView _decodeData:]):
16901 2008-06-03 Oliver Hunt <oliver@apple.com>
16905 Bug 12983: Web Inspector break on the debugger keyword
16906 <https://bugs.webkit.org/show_bug.cgi?id=12983>
16908 Add stubs to allow old webkit debugger interface to build.
16910 * WebView/WebScriptDebugger.h:
16911 * WebView/WebScriptDebugger.mm:
16913 2008-06-03 Anders Carlsson <andersca@apple.com>
16915 Reviewed by Darin Adler.
16917 <rdar://problem/5980961>
16919 In 64-bit Web Kit, converting between float and double, can cause rounding errors which in turn causes
16920 newBottom to be larger than oldBottom which is illegal.
16922 * WebView/WebHTMLView.mm:
16923 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]):
16925 2008-06-02 Anders Carlsson <andersca@apple.com>
16929 Speculative fix for <rdar://problem/5661112>
16930 CrashTracer: [USER] 49 crashes in DashboardClient at com.apple.WebCore: WebCore::RenderPart::setWidget + 62
16932 Defer loads while calling NPP_New. Some plug-ins start a run-loop inside NPP_New and finished loads could cause
16933 layouts to be triggered.
16935 * Plugins/WebBaseNetscapePluginView.mm:
16936 (-[WebBaseNetscapePluginView _createPlugin]):
16938 2008-05-29 Justin Garcia <justin.garcia@apple.com>
16940 Reviewed by Darin Adler.
16942 <rdar://problem/5949462> REGRESSION: Can't paste screen captures into Mail
16944 AppKit started putting PNG instead of PICT onto the pasteboard for screen
16945 captures. Added support for PNG with kUTTypePNG. Tiger doesn't support
16946 setting and retrieving pasteboard types with UTIs, but we don't know of any
16947 applications on Tiger that put only PNG on the pasteboard.
16949 * WebView/WebHTMLView.mm:
16950 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
16951 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
16953 2008-05-29 Anders Carlsson <andersca@apple.com>
16957 <rdar://problem/5970312>
16958 icon file specified for stand alone web app causes crash if the icon can't be found
16960 Handle the case where iconData is null.
16962 * Misc/WebIconFetcher.mm:
16963 (WebIconFetcherClient::finishedFetchingIcon):
16965 2008-05-29 Anders Carlsson <andersca@apple.com>
16969 <rdar://problem/5971845>
16970 https://bugs.webkit.org/show_bug.cgi?id=19313
16971 Add version member to NPCocoaEvent
16973 Initialize the version member to 0 for all events.
16975 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
16977 (WebNetscapePluginEventHandlerCocoa::drawRect):
16978 (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
16979 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
16980 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
16981 (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
16982 (WebNetscapePluginEventHandlerCocoa::focusChanged):
16984 2008-05-29 Dan Bernstein <mitz@apple.com>
16986 Reviewed by Jessica Kahn.
16988 - fix <rdar://problem/5965013> Page 2 does not print correctly
16990 When printing, _recursiveDisplayRectIfNeededIgnoringOpacity:... and
16991 _recursiveDisplayAllDirtyWithLockFocus:... can be invoked without
16992 -viewWillDraw being sent first, which could lead to painting without
16993 valid layout. The fix is to ensure up-to-date layout in those methods
16996 * WebView/WebHTMLView.mm:
16997 (-[WebHTMLView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
16998 (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
17000 2008-05-28 Anders Carlsson <andersca@apple.com>
17004 Remove workaround, this is no longer a problem.
17006 * WebView/WebView.mm:
17007 (-[WebView _removeObjectForIdentifier:]):
17009 2008-05-27 Geoffrey Garen <ggaren@apple.com>
17011 Reviewed by Tim Hatcher.
17013 Fixed https://bugs.webkit.org/show_bug.cgi?id=19183
17014 REGRESSION (r33979): Crash in DebuggerCallFrame::functionName when
17015 clicking button in returnEvent-crash.html
17017 Added implementations for willExecuteProgram and didExecuteProgram, which
17018 take care of making sure we're not hanging on to stale data.
17020 2008-05-27 Timothy Hatcher <timothy@apple.com>
17022 Fixes a bug where unplugging the monitor from a video card and
17023 moving it to another video card would no longer show OpenGL plugins
17024 until you relaunched Safari.
17026 <rdar://problem/5790983> Add AllowOfflineDisplays pixel format
17027 attribute to OpenGL contexts
17029 Reviewed by Kevin Decker.
17031 * Plugins/WebBaseNetscapePluginView.mm:
17032 (-[WebBaseNetscapePluginView _createWindowedAGLContext]): Added
17033 AGL_ALLOW_OFFLINE_RENDERERS for non-Tiger builds.
17034 (-[WebBaseNetscapePluginView _createWindowlessAGLContext]): Ditto.
17036 2008-05-25 Mark Rowe <mrowe@apple.com>
17038 Reviewed by Darin Adler.
17040 <rdar://problem/5840884> _recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
17042 Follow-up for r33052. _recursive_resumeNullEventsForAllNetscapePlugins and _recursive_pauseNullEventsForAllNetscapePlugins
17043 need to be declared in WebFramePrivate.h rather than WebFrameInternal.h so they can be used from outside of WebKit.
17045 * WebView/WebFrame.mm:
17046 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
17047 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
17048 * WebView/WebFrameInternal.h:
17049 * WebView/WebFramePrivate.h:
17051 2008-05-23 Timothy Hatcher <timothy@apple.com>
17053 Fix attaching and detaching the Web Inspector. This change removes
17054 the clunky animation that never looked right and was causing issues
17055 where the inspected WebView would get into a no useable state.
17057 <rdar://problem/5958812> Attaching and Detaching the Web Inspector
17058 can cause the inspected WebVIew to be unusable
17060 Reviewed by Adam Roben.
17062 * WebCoreSupport/WebInspectorClient.mm:
17063 (-[WebInspectorWindowController close]): Removes animation code.
17064 Sets the frame directly and does a displayIfNeeded to prevent
17065 showing the Inspector in the page and in the Inspector window.
17066 (-[WebInspectorWindowController showWindow:]): Removes animation code.
17067 Sets the frame directly.
17068 (-[WebInspectorWindowController attach]): Simplified.
17069 (-[WebInspectorWindowController detach]): Ditto.
17071 2008-05-22 Dan Bernstein <mitz@apple.com>
17073 Reviewed by Darin Adler.
17075 - fix broken documentation of
17076 webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
17078 * WebView/WebUIDelegate.h: Fixed method name in HeaderDoc for
17079 -webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:
17081 2008-05-22 Timothy Hatcher <timothy@apple.com>
17083 <rdar://problem/5956403> Update the Develop menu to match the new Inspector items
17085 Reviewed by Adam Roben.
17087 * WebCoreSupport/WebInspectorClient.mm:
17088 (-[WebInspectorWindowController showWebInspector:]):
17089 (-[WebInspectorWindowController showErrorConsole:]):
17090 (-[WebInspectorWindowController toggleDebuggingJavaScript:]):
17091 (-[WebInspectorWindowController toggleProfilingJavaScript:]):
17092 (-[WebInspectorWindowController validateUserInterfaceItem:]):
17093 * WebInspector/WebInspector.h:
17094 * WebInspector/WebInspector.mm:
17095 (-[WebInspector showConsole:]):
17096 (-[WebInspector showTimeline:]):
17097 (-[WebInspector isDebuggingJavaScript]):
17098 (-[WebInspector toggleDebuggingJavaScript:]):
17099 (-[WebInspector startDebuggingJavaScript:]):
17100 (-[WebInspector stopDebuggingJavaScript:]):
17101 (-[WebInspector isProfilingJavaScript]):
17102 (-[WebInspector toggleProfilingJavaScript:]):
17103 (-[WebInspector startProfilingJavaScript:]):
17104 (-[WebInspector stopProfilingJavaScript:]):
17106 2008-05-22 Josh Aas <joshmoz@gmail.com>
17108 Reviewed by Anders.
17110 <rdar://problem/5956429>
17111 https://bugs.webkit.org/show_bug.cgi?id=19192
17112 remove NPNVpluginEventModel, fix example plugin
17114 * Plugins/WebBaseNetscapePluginView.mm:
17115 (-[WebBaseNetscapePluginView getVariable:value:]):
17117 2008-05-21 Anders Carlsson <andersca@apple.com>
17119 Reviewed by Maciej.
17121 Add WebIconFetcher.
17123 * Misc/WebIconFetcher.h: Added.
17124 * Misc/WebIconFetcher.mm: Added.
17125 (WebIconFetcherClient::WebIconFetcherClient):
17126 (WebIconFetcherClient::finishedFetchingIcon):
17127 (WebIconFetcherClient::setFetcher):
17128 (-[WebIconFetcher init]):
17129 (-[WebIconFetcher dealloc]):
17130 (-[WebIconFetcher finalize]):
17131 (-[WebIconFetcher cancel]):
17132 (-[WebIconFetcher _initWithIconFetcher:client:]):
17133 (+[WebIconFetcher _fetchApplicationIconForFrame:target:selector:]):
17134 * Misc/WebIconFetcherInternal.h: Added.
17135 * WebView/WebFrame.mm:
17136 (-[WebFrame fetchApplicationIcon:selector:]):
17137 * WebView/WebFramePrivate.h:
17139 === End merge of squirrelfish ===
17141 2008-05-21 Geoffrey Garen <ggaren@apple.com>
17143 Reviewed by Tim Hatcher.
17145 Updated for API changes from merging with trunk WebCore's new debugger.
17147 * WebView/WebScriptDebugDelegate.mm:
17148 (-[WebScriptCallFrame evaluateWebScript:]): Explicitly check for an
17149 exception return, since the DebuggerCallFrame no longer automatically
17150 substitutes the exception for the return value.
17152 * WebView/WebScriptDebugger.mm: Use the dynamic global object, not the
17153 lexical global object, since the debugger attaches based on dynamic
17156 2008-05-17 Geoffrey Garen <ggaren@apple.com>
17158 Reviewed by Oliver Hunt.
17160 Re-enabled previously disabled debugging functionality.
17162 There are two major changes from how the WebKit debugger used to work:
17164 (1) All the interesting bits are implemented down in JavaScriptCore. The
17165 debugger just calls through to KJS::DebuggerCallFrame for everything.
17167 (2) Instead of copyihng a pointer to an ExecState once, the debugger
17168 copies the DebuggerCallFrame passed to it in each callback. This is
17169 because the VM no longer maintains a fully transparent execution state
17170 to which you can hold a pointer, and the DebuggerCallFrames it vends
17173 Also, we NULL out a WebScriptCallFrame's DebuggerCallFrame upon return
17174 from its function. This is safer than the old method, which was to
17175 hold a stale ExecState* and hope for the best.
17177 2008-05-13 Geoffrey Garen <ggaren@apple.com>
17179 Reviewed by Oliver Hunt.
17181 Updated for API changes in KJS::Debugger.
17183 * WebView/WebFrame.mm:
17184 (-[WebFrame _attachScriptDebugger]): Changed the order of operations to
17185 fix an ASSERT that can happen when re-entering _attachScriptDebugger.
17187 2008-05-13 Geoffrey Garen <ggaren@apple.com>
17189 Reviewed by Oliver Hunt.
17191 Updated WebScriptDebugger API to accept a SourceProvider instead
17192 of a WebCore::String, to avoid copying.
17194 (WebScriptDebugger::sourceParsed): Updated this function not to return
17197 2008-04-30 Geoffrey Garen <ggaren@apple.com>
17199 Build fix: #ifdef'd out some code that doesn't work anymore.
17201 2008-04-30 Geoffrey Garen <ggaren@apple.com>
17203 Reviewed by Oliver Hunt.
17205 #ifdef'd out some debugger code that doesn't work anymore.
17207 * WebView/WebScriptDebugDelegate.mm:
17208 (-[WebScriptCallFrame scopeChain]):
17210 2008-04-21 Geoffrey Garen <ggaren@apple.com>
17215 * WebView/WebScriptDebugDelegate.mm:
17216 (-[WebScriptCallFrame scopeChain]):
17218 2008-03-30 Geoffrey Garen <ggaren@apple.com>
17220 Reviewed by Oliver Hunt.
17224 === Start merge of squirrelfish ===
17226 2008-05-21 Darin Adler <darin@apple.com>
17230 * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
17231 if we want, but if we do, we should probably make some refinements like checking _private->closed
17232 and applicationIsTerminating.
17234 2008-05-21 Darin Adler <darin@apple.com>
17236 Reviewed by Anders and Kevin Decker.
17238 - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
17240 * WebView/WebView.mm:
17241 (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
17242 (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
17243 (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
17244 Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
17245 (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
17247 2008-05-19 Stephanie Lewis <slewis@apple.com>
17249 Reviewed by Darin Adler.
17251 more fast teardown performance work
17253 * Misc/WebDownload.m:
17254 (-[WebDownloadInternal downloadDidBegin:]):
17255 (-[WebDownloadInternal downloadDidFinish:]):
17256 (-[WebDownloadInternal download:didFailWithError:]):
17257 * WebCoreSupport/WebChromeClient.h:
17258 * WebCoreSupport/WebChromeClient.mm:
17259 (WebChromeClient::disableSuddenTermination):
17260 (WebChromeClient::enableSuddenTermination):
17262 2008-05-18 Dan Bernstein <mitz@apple.com>
17264 Reviewed by Sam Weinig.
17266 - fix <rdar://problem/5944596> IDNs are displayed as punycode in the authentication panel
17268 * Panels/WebAuthenticationPanel.m:
17269 (-[WebAuthenticationPanel setUpForChallenge:]):
17271 2008-05-16 Timothy Hatcher <timothy@apple.com>
17273 Removes WebScriptDebugServer files and related calls. This removes
17274 the hooks that Drosera uses for debugging. Now that the Web Inspector
17275 has a better debugger, we don't need these anymore.
17277 Reviewed by Sam Weinig.
17279 * DefaultDelegates/WebScriptDebugServer.h: Removed.
17280 * DefaultDelegates/WebScriptDebugServer.m: Removed.
17281 * DefaultDelegates/WebScriptDebugServerPrivate.h: Removed.
17282 * WebCoreSupport/WebFrameLoaderClient.mm:
17284 * WebView/WebScriptDebugDelegate.mm:
17285 * WebView/WebScriptDebugger.mm:
17286 (WebScriptDebugger::sourceParsed):
17287 (WebScriptDebugger::callEvent):
17288 (WebScriptDebugger::atStatement):
17289 (WebScriptDebugger::returnEvent):
17290 (WebScriptDebugger::exception):
17291 * WebView/WebView.mm:
17292 (-[WebView _commonInitializationWithFrameName:groupName:]):
17293 * WebView/WebViewPrivate.h:
17295 2008-05-16 Brady Eidson <beidson@apple.com>
17299 <rdar://problem/5942616> - Need to standardize LocalStorage persistence path
17301 Took the opportunity to touch up another pref that needs the same standardization.
17302 That pref is currently not in use on Mac.
17304 * WebView/WebPreferences.m:
17305 (-[WebPreferences _setFTPDirectoryTemplatePath:]):
17306 (-[WebPreferences _localStorageDatabasePath]):
17307 (-[WebPreferences _setLocalStorageDatabasePath:]):
17308 (-[WebPreferences _ftpDirectoryTemplatePath]):
17310 2008-05-16 Chris Fleizach <cfleizach@apple.com>
17312 Reviewed by Alice Liu
17314 <rdar://problem/5710317> REGRESSION:Selecting ranges of text should be possible using the keyboard (15310)
17316 * WebView/WebFrame.mm:
17317 (-[WebFrame _accessibilityTree]):
17319 2008-05-15 Stephanie Lewis <slewis@apple.com>
17323 * WebView/WebView.mm:
17324 (-[WebView closeWithFastTeardown]):
17326 2008-05-15 Stephanie Lewis <slewis@apple.com>
17328 Reviewed by Anders.
17330 Turn on fast teardown. I added a preference for using full teardown because
17331 the LEAKS output will be useless without a full teardown.
17333 preference for fullteardown
17334 * WebView/WebPreferenceKeysPrivate.h:
17335 * WebView/WebPreferences.m:
17336 (-[WebPreferences setFullDocumentTeardownEnabled:]):
17337 (-[WebPreferences fullDocumentTeardownEnabled]):
17338 * WebView/WebPreferencesPrivate.h:
17340 on application quit dispatch unload events and destroy plugins then exit
17341 * WebView/WebView.mm:
17342 (-[WebView closeWithFastTeardown]):
17343 (-[WebView _close]):
17344 * WebView/WebViewPrivate.h:
17346 2008-05-15 Stephanie Lewis <slewis@apple.com>
17348 Reviewed by Anders.
17350 get the pending frame unload count from WebCore
17352 * WebView/WebFrame.mm:
17353 (-[WebFrame _pendingFrameUnloadEventCount]):
17354 * WebView/WebFramePrivate.h:
17356 2008-05-15 John Sullivan <sullivan@apple.com>
17358 Reviewed by Kevin Decker
17360 - fixed <rdar://problem/5940275> Inspector highlighting moves to bottom-left corner of
17361 screen when new tab appears
17363 The highlight should go away entirely, but this simple patch just makes it not jump away.
17364 The issue with it not going away entirely is harder to fix and covered by <rdar://problem/5322306>
17366 * WebInspector/WebNodeHighlight.m:
17367 (-[WebNodeHighlight _repositionHighlightWindow]):
17368 Bail out if target view isn't in a window
17370 2008-05-15 Stephanie Lewis <slewis@apple.com>
17372 Reviewed by Anders.
17374 Track views that contain plugin instances so that they can be destroyed at application
17375 quit without walking the entire document tree.
17377 Add/Remove Netscape plugin views from instance list. Start/stop are when netscape
17378 plugins are created and destroyed
17379 * Plugins/WebBaseNetscapePluginView.mm:
17380 (-[WebBaseNetscapePluginView start]):
17381 (-[WebBaseNetscapePluginView stop]):
17383 Add/remove WebKit plugin views from instance list
17384 * Plugins/WebPluginController.mm:
17385 (-[WebPluginController addPlugin:]):
17386 (-[WebPluginController destroyPlugin:]):
17387 (-[WebPluginController destroyAllPlugins]):
17389 Add a set of views with plugin instances to the WebPluginDatabase
17390 * Plugins/WebPluginDatabase.h:
17391 * Plugins/WebPluginDatabase.mm:
17392 (-[WebPluginDatabase init]):
17393 (-[WebPluginDatabase dealloc]):
17394 (-[WebPluginDatabase addPluginInstanceView:]):
17395 (-[WebPluginDatabase removePluginInstanceView:]):
17396 (-[WebPluginDatabase removePluginInstanceViewsFor:]):
17397 (-[WebPluginDatabase destroyAllPluginInstanceViews]):
17399 Handle cases where plugin views are detached before the plugin is destroyed.
17400 * WebCoreSupport/WebFrameLoaderClient.mm:
17401 (WebFrameLoaderClient::detachedFromParent2):
17402 (WebFrameLoaderClient::transitionToCommittedFromCachedPage):
17403 (WebFrameLoaderClient::transitionToCommittedForNewPage):
17405 Add plugin instances to the set in the WebPluginDatabase by way of the WebView
17406 * WebView/WebHTMLView.mm:
17407 (-[WebHTMLView _destroyAllWebPlugins]):
17408 * WebView/WebHTMLViewInternal.h:
17409 * WebView/WebView.mm:
17410 (-[WebView addPluginInstanceView:]):
17411 (-[WebView removePluginInstanceView:]):
17412 (-[WebView removePluginInstanceViewsFor:]):
17413 * WebView/WebViewInternal.h:
17415 2008-05-15 Brady Eidson <beidson@apple.com>
17417 Reviewed by Tim Hatcher
17419 Until the settings/preferences equation can be reworked, we'll need to manually set the local storage path
17420 before setting the page group of the new page.
17422 * WebView/WebView.mm:
17423 (-[WebView _commonInitializationWithFrameName:groupName:]): Set the LocalStorage path
17424 immediately after creating the page so it is in place for initializing the LocalStorageThread
17426 2008-05-15 Timothy Hatcher <timothy@apple.com>
17428 Fixes the bug where the Web Inspector would flash white while resizing.
17429 This was cause by deferring the window creation.
17431 <rdar://problem/5873549> REGRESSION: Inspector flickers horribly while resizing (17979)
17433 Reviewed by Darin Adler.
17435 * WebCoreSupport/WebInspectorClient.mm:
17436 (-[WebInspectorWindowController window]): Don't defer the window creation.
17438 2008-05-15 Alexey Proskuryakov <ap@webkit.org>
17442 * Misc/WebNSAttributedStringExtras.mm: Import WebTypesInternal.h for NSUInteger.
17444 2008-05-15 Adele Peterson <adele@apple.com>
17446 Reviewed and landed by Alexey.
17448 Use TextIterator in +[NSAttributedString _web_attributedStringFromRange:].
17450 * Misc/WebNSAttributedStringExtras.mm:
17451 (+[NSAttributedString _web_attributedStringFromRange:]):
17453 2008-05-14 Eric Seidel <eric@webkit.org>
17455 Reviewed by Oliver.
17457 Add missing NULL check to match rest of file, this was found by the editing fuzzer.
17459 * WebView/WebResource.mm:
17460 (-[WebResource data]):
17462 2008-05-14 Alexey Proskuryakov <ap@webkit.org>
17464 Reviewed by Dan Bernstein.
17466 NPP_ValidAttributesForMarkedText should return NSArray*, not NSArray.
17468 * Plugins/nptextinput.h:
17470 2008-05-13 Anders Carlsson <andersca@apple.com>
17474 Don't empty the application cache in _setCacheModel, since it will be called during initialization.
17475 Instead, do it in [WebCache empty].
17477 * Misc/WebCache.mm:
17478 (+[WebCache empty]):
17479 * WebView/WebView.mm:
17480 (+[WebView _setCacheModel:]):
17482 2008-05-13 chris fleizach <cfleizach@apple.com>
17484 Reviewed by Beth Dakin
17486 <rdar://problem/4780592> WebKit application has its window announced as HTML content
17488 * WebCoreSupport/WebViewFactory.mm:
17489 (-[WebViewFactory AXWebAreaText]):
17491 2008-05-13 Timothy Hatcher <timothy@apple.com>
17493 Fixes a crash seen in Xcode where CallUIDelegateReturningBoolean
17494 was referencing a nil WebView under validateUserInterfaceItem.
17495 The validateUserInterfaceItem methods was being called at a time
17496 when the WebHTMLView is being torndown.
17498 <rdar://problem/5806229> A crash occurs at CallUIDelegateReturningBoolean()
17499 while mousing down on menu bar after Xcode News window is opened
17501 Reviewed by Ada Chan.
17503 * WebView/WebHTMLView.mm:
17504 (-[WebHTMLView validateUserInterfaceItem:]): NULL check the WebView and
17505 return NO when it is nil. Adds a comment.
17506 * WebView/WebPDFView.mm:
17507 (-[WebPDFView validateUserInterfaceItem:]): Ditto.
17509 2008-05-13 Mark Rowe <mrowe@apple.com>
17511 Reviewed by John Sullivan.
17513 <rdar://problem/5926425> HIWebViewCreateWithClass declared as API in HIWebView.h but never exported from WebKit.framework
17515 * Carbon/HIWebView.h: Remove HIWebViewCreateWithClass.
17516 * Carbon/HIWebView.m: Ditto.
17518 (HIWebViewConstructor):
17520 2008-05-12 Dan Bernstein <mitz@apple.com>
17522 Reviewed by Ada Chan.
17524 - WebKit/mac changes for https://bugs.webkit.org/show_bug.cgi?id=17097
17525 <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
17527 Added font cache statistics and a function to purge inactive font data.
17529 * Misc/WebCoreStatistics.h:
17530 * Misc/WebCoreStatistics.mm:
17531 (+[WebCoreStatistics cachedFontDataCount]):
17532 (+[WebCoreStatistics cachedFontDataInactiveCount]):
17533 (+[WebCoreStatistics purgeInactiveFontData]):
17534 (+[WebCoreStatistics glyphPageCount]):
17536 2008-05-12 Mark Rowe <mrowe@apple.com>
17538 Reviewed by Tim Hatcher.
17540 Decorate some deprecated delegate methods with the availability macros.
17542 The compiler doesn't appear to warn if a delegate implements these methods, but using the availability
17543 macros is good for consistency and documentation.
17545 * WebView/WebFrameLoadDelegate.h:
17546 * WebView/WebUIDelegate.h:
17548 2008-05-12 Mark Rowe <mrowe@apple.com>
17550 Reviewed by Tim Hatcher.
17552 <rdar://problem/5835604> Deprecate HIWebView
17554 Use of HIWebView is deprecated in favor of embedding a WebView in a HICocoaView.
17556 * Carbon/CarbonUtils.h: Include the availability macro header and decorate the functions appropriately.
17557 * Carbon/HIWebView.h: Ditto.
17559 2008-05-12 Kevin Decker <kdecker@apple.com>
17561 Reviewed by Anders.
17563 Fixed: <rdar://problem/5840884>_recursive_resumeNullEventsForAllNetscapePlugins and _pauseNullEvents not defined
17565 Re-added these SPI methods because they are needed by some clients. They were accidentally removed
17566 in changeset <http://trac.webkit.org/changeset/31028>
17568 * Plugins/WebBaseNetscapePluginView.h: Added stopTimers, restartTimers to the header.
17569 * WebView/WebFrame.mm:
17570 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Re-addd.
17571 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Ditto.
17572 * WebView/WebFrameInternal.h: Ditto.
17573 * WebView/WebHTMLView.mm: Ditto.
17574 (-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Ditto.
17575 (-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Ditto.
17576 * WebView/WebHTMLViewInternal.h: Ditto.
17577 * WebView/WebHTMLViewPrivate.h: Ditto.
17579 2008-05-12 Anders Carlsson <andersca@apple.com>
17581 Reviewed by Alexey.
17583 Empty the application cache when changing the cache model.
17585 * WebView/WebView.mm:
17586 (+[WebView _setCacheModel:]):
17588 2008-05-12 Anders Carlsson <andersca@apple.com>
17590 Reviewed by Oliver.
17592 <rdar://problem/5774495> Make Unicode text input possible in Netscape-style plug-ins
17594 * Plugins/WebBaseNetscapePluginView.h:
17595 * Plugins/WebBaseNetscapePluginView.mm:
17596 (-[WebBaseNetscapePluginView start]):
17597 Get the plug-in text input vtable pointer.
17599 (-[WebBaseNetscapePluginView stop]):
17600 Set the plug-in text input vtable pointer to 0.
17602 (-[WebBaseNetscapePluginView inputContext]):
17603 Return 0 for Carbon plug-ins since we don't want Cocoa to handle text input for them.
17605 (-[WebBaseNetscapePluginView hasMarkedText]):
17606 (-[WebBaseNetscapePluginView insertText:]):
17607 (-[WebBaseNetscapePluginView markedRange]):
17608 (-[WebBaseNetscapePluginView selectedRange]):
17609 (-[WebBaseNetscapePluginView setMarkedText:selectedRange:]):
17610 (-[WebBaseNetscapePluginView unmarkText]):
17611 (-[WebBaseNetscapePluginView validAttributesForMarkedText]):
17612 (-[WebBaseNetscapePluginView attributedSubstringFromRange:]):
17613 (-[WebBaseNetscapePluginView characterIndexForPoint:]):
17614 (-[WebBaseNetscapePluginView doCommandBySelector:]):
17615 (-[WebBaseNetscapePluginView firstRectForCharacterRange:]):
17616 (-[WebBaseNetscapePluginView conversationIdentifier]):
17617 Implement NSTextInput and call into the plug-in text input vtable.
17619 (browserTextInputFuncs):
17620 New method which returns the browser input vtable.
17622 (-[WebBaseNetscapePluginView getVariable:value:]):
17623 Support getting the browser input vtable pointer.
17625 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
17626 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
17627 (WebNetscapePluginEventHandlerCocoa::keyDown):
17628 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
17629 If the plug-in returns 0 when a NPCocoaEventKeyDown is passed to NPP_HandleEvent,
17630 it means that the event should be passed on to the input manager.
17632 * Plugins/npapi.mm:
17633 (NPN_MarkedTextAbandoned):
17634 (NPN_MarkedTextSelectionChanged):
17635 Add implementations of browser input method methods.
17637 * Plugins/nptextinput.h: Added.
17638 Add file with new text input API.
17640 2008-05-12 Alexey Proskuryakov <ap@webkit.org>
17642 Roll out recent threading changes (r32807, r32810, r32819, r32822) to simplify
17643 SquirrelFish merging.
17645 * Misc/WebCoreStatistics.mm:
17646 (+[WebCoreStatistics javaScriptObjectsCount]):
17647 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
17648 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
17649 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
17650 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
17651 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
17652 * WebView/WebScriptDebugDelegate.mm:
17653 (-[WebScriptCallFrame evaluateWebScript:]):
17655 2008-05-07 Anders Carlsson <andersca@apple.com>
17659 REGRESSION (3.1.1-TOT): Arrow keys are sticky in Google Maps street view
17660 https://bugs.webkit.org/show_bug.cgi?id=18880
17661 <rdar://problem/5909513>
17663 Stop suspending key up events before calling handleEvent.
17665 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
17666 (WebNetscapePluginEventHandlerCarbon::sendEvent):
17668 2008-05-06 Stephanie Lewis <slewis@apple.com>
17670 Reviewed by Andersca.
17672 prepare for plugin fast teardown work - make WebPluginDatabase a objective C++ file.
17674 * Plugins/WebPluginDatabase.m: Removed.
17675 * Plugins/WebPluginDatabase.mm: Copied from WebKit/mac/Plugins/WebPluginDatabase.m.
17676 * Plugins/npapi.m: Removed.
17677 * Plugins/npapi.mm: Copied from WebKit/mac/Plugins/npapi.m.
17679 2008-05-06 Anders Carlsson <andersca@apple.com>
17681 Reviewed by Darin Adler.
17683 Initialize numArchs to 0.
17685 * Plugins/WebBasePluginPackage.m:
17686 (-[WebBasePluginPackage isNativeLibraryData:]):
17688 2008-05-06 Anders Carlsson <andersca@apple.com>
17690 Reviewed by Darin Adler.
17692 Add implementation of NPN_PopUpContextMenu.
17694 * Plugins/WebBaseNetscapePluginView.mm:
17695 (-[WebBaseNetscapePluginView popUpContextMenu:]):
17696 * Plugins/WebBaseNetscapePluginViewPrivate.h:
17697 * Plugins/WebNetscapePluginPackage.m:
17698 (-[WebNetscapePluginPackage load]):
17700 (NPN_PopUpContextMenu):
17702 2008-05-06 Anders Carlsson <andersca@apple.com>
17704 Fix typo (don't read random memory).
17706 * Plugins/WebBasePluginPackage.m:
17707 (-[WebBasePluginPackage isNativeLibraryData:]):
17709 2008-05-05 Anders Carlsson <andersca@apple.com>
17711 Reviewed by Darin Adler.
17713 Change the isNativeLibraryData: method to handle universal binaries.
17715 * Plugins/WebBasePluginPackage.m:
17716 (swapIntsInHeader):
17717 (-[WebBasePluginPackage isNativeLibraryData:]):
17719 2008-05-06 Brady Eidson <beidson@apple.com>
17721 Reviewed by Darin Adler
17723 Preparation for upcoming work making LocalStorage persistent.
17725 When the application terminates, all LocalStorage areas must be sync'ed out to disk first.
17727 * WebView/WebView.mm:
17728 (+[WebView _applicationWillTerminate]): Close all LocalStorage areas before quitting.
17730 2008-05-05 Sam Weinig <sam@webkit.org>
17732 Reviewed by Darin Adler.
17734 Fix for <rdar://problem/5884383>
17735 Escape look-a-like characters from the the entire url.
17737 * Misc/WebNSURLExtras.mm:
17738 (escapeUnsafeCharacters):
17739 (-[NSURL _web_userVisibleString]):
17741 2008-05-05 Justin Garcia <justin.garcia@apple.com>
17743 Reviewed by Darin Adler.
17745 <rdar://problem/5865171> REGRESSION: Creating a new quote places caret at beginning of quote instead of the end
17747 * WebView/WebView.mm:
17748 (-[WebView _updateSettingsFromPreferences:]): Disable Range mutation on changes to
17749 the document for Tiger and Leopard Mail. There is code in Mail that does it, and
17752 2008-05-05 Sam Weinig <sam@webkit.org>
17754 Reviewed by Tim Hatcher.
17756 Make the Inspector's localizable strings file match the format used by Dashboard widgets.
17758 * WebCoreSupport/WebInspectorClient.mm:
17759 (WebInspectorClient::localizedStringsURL):
17761 2008-05-05 Anders Carlsson <andersca@apple.com>
17765 Apparently preflighting can cause hangs for some reason. Revert this for now.
17767 * Plugins/WebNetscapePluginPackage.m:
17768 (-[WebNetscapePluginPackage _initWithPath:]):
17769 * Plugins/WebPluginPackage.m:
17770 (-[WebPluginPackage initWithPath:]):
17772 2008-05-05 Darin Adler <darin@apple.com>
17776 - https://bugs.webkit.org/show_bug.cgi?id=18789
17777 fix some shouldCloseWithWindow edge cases
17779 * WebView/WebView.mm:
17780 (-[WebView viewWillMoveToWindow:]): Fix bug where we would stop observing the
17781 NSWindowWillCloseNotification if the view was moved out of the window but still
17782 had that window set as the host window. Also make sure this function doesn't do
17783 anything if the WebView is already closed.
17784 (-[WebView setHostWindow:]): Ditto.
17786 2008-05-04 David Kilzer <ddkilzer@apple.com>
17788 Make parameters match for WebChromeClient::addMessageToConsole()
17792 * WebCoreSupport/WebChromeClient.h:
17793 (WebChromeClient::addMessageToConsole): Renamed sourceID parameter
17794 to sourceURL to match implementation in WebChromeClient.mm.
17796 2008-05-02 Anders Carlsson <andersca@apple.com>
17800 Various Cocoa event model and 64-bit plug-in fixes.
17802 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
17803 (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
17806 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
17807 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
17808 Don't try to get the mouse location for keyboard events.
17810 * Plugins/WebPluginPackage.m:
17811 (-[WebPluginPackage initWithPath:]):
17812 Preflight the bundle so we won't show 32-bit WebKit plug-ins when running as 64-bit.
17814 2008-05-02 Anders Carlsson <andersca@apple.com>
17818 The event union is now named.
17820 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
17821 (WebNetscapePluginEventHandlerCocoa::drawRect):
17822 (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
17823 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
17824 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
17825 (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
17826 (WebNetscapePluginEventHandlerCocoa::focusChanged):
17828 2008-05-02 Anders Carlsson <andersca@apple.com>
17832 Make sure that 32-bit only plug-ins aren't shown when running as 64-bit.
17834 Call preflightAndReturnError on the bundle, which will check if any of the architectures
17835 in the bundle match the current architecture.
17837 * Plugins/WebNetscapePluginPackage.m:
17838 (-[WebNetscapePluginPackage _initWithPath:]):
17840 2008-05-02 Alexey Proskuryakov <ap@webkit.org>
17842 Reviewed by Geoffrey Garen.
17844 https://bugs.webkit.org/show_bug.cgi?id=18826
17845 Make JavaScript heap per-thread
17847 * Misc/WebCoreStatistics.mm:
17848 (+[WebCoreStatistics javaScriptObjectsCount]):
17849 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
17850 (+[WebCoreStatistics javaScriptProtectedObjectsCount]):
17851 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
17852 (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
17853 (+[WebCoreStatistics javaScriptReferencedObjectsCount]):
17854 Replaced static Collector calls with calls to a current thread's instance.
17856 * WebView/WebScriptDebugDelegate.mm:
17857 (-[WebScriptCallFrame evaluateWebScript:]):
17858 Pass ExecState to jsString().
17860 2008-05-01 Anders Carlsson <andersca@apple.com>
17864 64-bit NPAPI plugin build fixes.
17866 * Plugins/WebBaseNetscapePluginView.mm:
17867 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
17868 (-[WebBaseNetscapePluginView updateAndSetWindow]):
17869 (-[WebBaseNetscapePluginView start]):
17870 (-[WebBaseNetscapePluginView windowBecameKey:]):
17871 * Plugins/WebNetscapeDeprecatedFunctions.c:
17872 * Plugins/WebNetscapeDeprecatedFunctions.h:
17873 * Plugins/WebNetscapePluginEventHandler.mm:
17874 (WebNetscapePluginEventHandler::create):
17875 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
17876 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
17877 * Plugins/WebPluginDatabase.m:
17878 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
17880 2008-05-01 Anders Carlsson <andersca@apple.com>
17884 Remove duplicate npfunctions.h header from WebKit.
17886 * MigrateHeaders.make:
17887 Migrate npfunctions.h
17889 * Plugins/npfunctions.h: Removed.
17891 2008-05-01 Anders Carlsson <andersca@apple.com>
17895 Add null checks for the event handler.
17897 * Plugins/WebBaseNetscapePluginView.mm:
17898 (-[WebBaseNetscapePluginView stopTimers]):
17899 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
17901 2008-05-01 Anders Carlsson <andersca@apple.com>
17905 * Plugins/WebNetscapePluginEventHandlerCocoa.h:
17906 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
17907 * WebCoreSupport/WebFrameLoaderClient.mm:
17909 2008-05-01 Anders Carlsson <andersca@apple.com>
17913 * Plugins/npfunctions.h:
17915 2008-05-01 Anders Carlsson <andersca@apple.com>
17919 Forward mouse move events to the Netscape plug-in view.
17921 * Plugins/WebBaseNetscapePluginView.h:
17922 * Plugins/WebBaseNetscapePluginView.mm:
17923 (-[WebBaseNetscapePluginView handleMouseMoved:]):
17924 New method that just calls the current event handler.
17926 * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
17927 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
17928 NSFlagsChanged is not a regular keyboard event and some of the NSEvent accessors
17929 don't work on it so don't call them.
17931 * WebCoreSupport/WebFrameLoaderClient.mm:
17932 (NetscapePluginWidget::NetscapePluginWidget):
17933 New Widget subclass to be used for Netscape plug-ins.
17935 (NetscapePluginWidget::handleEvent):
17936 Forward NSMouseMoved events to the plug-in.
17938 (WebFrameLoaderClient::createPlugin):
17939 Wrap the plug-in view in a NetscapePluginWidget.
17941 2008-05-01 Alp Toker <alp@nuanti.com>
17943 Rubber-stamped by Anders.
17945 GTK+ build fix for changes in r32752. Use int32, not int32_t types in
17948 Additional fix to use same signedness in npapi.h and Mac for the
17949 interval parameter.
17951 * Plugins/WebBaseNetscapePluginView.h:
17952 * Plugins/WebBaseNetscapePluginView.mm:
17953 (PluginTimer::PluginTimer):
17954 (-[WebBaseNetscapePluginView stopTimers]):
17955 (-[WebBaseNetscapePluginView restartTimers]):
17956 (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
17957 (-[WebBaseNetscapePluginView unscheduleTimer:]):
17958 * Plugins/WebBaseNetscapePluginViewPrivate.h:
17960 (NPN_ScheduleTimer):
17961 (NPN_UnscheduleTimer):
17962 * Plugins/npfunctions.h:
17964 2008-04-30 Anders Carlsson <andersca@apple.com>
17968 Add new Cocoa event model and the NPN_ScheduleTimer/NPN_UnscheduleTimer methods.
17970 * Plugins/WebBaseNetscapePluginView.h:
17971 * Plugins/WebBaseNetscapePluginView.mm:
17972 (PluginTimer::PluginTimer):
17973 (PluginTimer::start):
17974 (PluginTimer::fired):
17975 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
17976 (-[WebBaseNetscapePluginView stopTimers]):
17977 (-[WebBaseNetscapePluginView restartTimers]):
17978 (-[WebBaseNetscapePluginView scrollWheel:]):
17979 (-[WebBaseNetscapePluginView flagsChanged:]):
17980 (-[WebBaseNetscapePluginView start]):
17981 (-[WebBaseNetscapePluginView eventModel]):
17982 (-[WebBaseNetscapePluginView fini]):
17983 (-[WebBaseNetscapePluginView getVariable:value:]):
17984 (-[WebBaseNetscapePluginView setVariable:value:]):
17985 (-[WebBaseNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
17986 (-[WebBaseNetscapePluginView unscheduleTimer:]):
17987 * Plugins/WebBaseNetscapePluginViewInternal.h:
17988 * Plugins/WebBaseNetscapePluginViewPrivate.h:
17989 * Plugins/WebNetscapePluginEventHandler.h:
17990 * Plugins/WebNetscapePluginEventHandler.mm:
17991 (WebNetscapePluginEventHandler::create):
17992 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
17993 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
17994 (WebNetscapePluginEventHandlerCarbon::scrollWheel):
17995 (WebNetscapePluginEventHandlerCarbon::flagsChanged):
17996 (WebNetscapePluginEventHandlerCarbon::platformWindow):
17997 * Plugins/WebNetscapePluginEventHandlerCocoa.h: Added.
17998 (WebNetscapePluginEventHandlerCocoa::startTimers):
17999 (WebNetscapePluginEventHandlerCocoa::stopTimers):
18000 * Plugins/WebNetscapePluginEventHandlerCocoa.mm: Added.
18001 (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
18002 (WebNetscapePluginEventHandlerCocoa::drawRect):
18003 (WebNetscapePluginEventHandlerCocoa::mouseDown):
18004 (WebNetscapePluginEventHandlerCocoa::mouseDragged):
18005 (WebNetscapePluginEventHandlerCocoa::mouseEntered):
18006 (WebNetscapePluginEventHandlerCocoa::mouseExited):
18007 (WebNetscapePluginEventHandlerCocoa::mouseMoved):
18008 (WebNetscapePluginEventHandlerCocoa::mouseUp):
18009 (WebNetscapePluginEventHandlerCocoa::scrollWheel):
18010 (WebNetscapePluginEventHandlerCocoa::sendMouseEvent):
18011 (WebNetscapePluginEventHandlerCocoa::keyDown):
18012 (WebNetscapePluginEventHandlerCocoa::keyUp):
18013 (WebNetscapePluginEventHandlerCocoa::flagsChanged):
18014 (WebNetscapePluginEventHandlerCocoa::sendKeyEvent):
18015 (WebNetscapePluginEventHandlerCocoa::windowFocusChanged):
18016 (WebNetscapePluginEventHandlerCocoa::focusChanged):
18017 (WebNetscapePluginEventHandlerCocoa::platformWindow):
18018 (WebNetscapePluginEventHandlerCocoa::sendEvent):
18019 * Plugins/WebNetscapePluginPackage.m:
18020 (-[WebNetscapePluginPackage load]):
18022 (NPN_ScheduleTimer):
18023 (NPN_UnscheduleTimer):
18024 * Plugins/npfunctions.h:
18026 2008-04-30 Brady Eidson <beidson@apple.com>
18028 Fix my WebPreferences revert check-in
18030 * WebView/WebView.mm:
18031 (-[WebView _preferencesChangedNotification:]):
18033 2008-04-30 Brady Eidson <beidson@apple.com>
18035 Rubberstamped by John Sullivan
18037 Revert the remainder of my original preferences changes from last week.
18038 They caused a massive PLT regression (too many notifications being sent out
18039 or listened to that weren't previously) and it's not in my schedule to refine
18040 the preferences code instead of working on my feature!
18042 * WebView/WebView.mm:
18043 (-[WebView _updateSettingsFromPreferences:]):
18044 (-[WebView _commonInitializationWithFrameName:groupName:]):
18046 2008-04-30 Anders Carlsson <andersca@apple.com>
18048 Fix the 64-bit build.
18050 * Plugins/WebNetscapePluginEventHandler.h:
18051 * Plugins/WebNetscapePluginEventHandler.mm:
18052 * Plugins/WebNetscapePluginEventHandlerCarbon.h:
18053 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
18055 2008-04-29 David D. Kilzer <ddkilzer@apple.com>
18057 BUILD FIX for Release build.
18059 * Plugins/WebNetscapePluginEventHandlerCarbon.mm:
18060 (WebNetscapePluginEventHandlerCarbon::drawRect): Declare acceptedEvent
18061 separately so the compiler doesn't complain about an unused variable.
18062 (WebNetscapePluginEventHandlerCarbon::TSMEventHandler): Ditto.
18064 2008-04-29 Anders Carlsson <andersca@apple.com>
18068 Refactor the Carbon event handling code out into a separate class in preparation for adding
18069 the Cocoa event handling code.
18071 * Plugins/WebBaseNetscapePluginView.h:
18072 * Plugins/WebBaseNetscapePluginView.mm:
18073 (-[WebBaseNetscapePluginView sendEvent:isDrawRect:]):
18074 (-[WebBaseNetscapePluginView sendActivateEvent:]):
18075 (-[WebBaseNetscapePluginView sendDrawRectEvent:]):
18076 (-[WebBaseNetscapePluginView stopTimers]):
18077 (-[WebBaseNetscapePluginView restartTimers]):
18078 (-[WebBaseNetscapePluginView setHasFocus:]):
18079 (-[WebBaseNetscapePluginView mouseDown:]):
18080 (-[WebBaseNetscapePluginView mouseUp:]):
18081 (-[WebBaseNetscapePluginView mouseEntered:]):
18082 (-[WebBaseNetscapePluginView mouseExited:]):
18083 (-[WebBaseNetscapePluginView mouseDragged:]):
18084 (-[WebBaseNetscapePluginView keyUp:]):
18085 (-[WebBaseNetscapePluginView keyDown:]):
18086 (-[WebBaseNetscapePluginView cut:]):
18087 (-[WebBaseNetscapePluginView copy:]):
18088 (-[WebBaseNetscapePluginView paste:]):
18089 (-[WebBaseNetscapePluginView selectAll:]):
18090 (-[WebBaseNetscapePluginView start]):
18091 (-[WebBaseNetscapePluginView stop]):
18092 (-[WebBaseNetscapePluginView fini]):
18093 (-[WebBaseNetscapePluginView drawRect:]):
18094 (-[WebBaseNetscapePluginView viewWillMoveToWindow:]):
18095 (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
18096 (-[WebBaseNetscapePluginView windowBecameKey:]):
18097 (-[WebBaseNetscapePluginView windowResignedKey:]):
18098 (-[WebBaseNetscapePluginView windowDidMiniaturize:]):
18099 (-[WebBaseNetscapePluginView windowDidDeminiaturize:]):
18100 (-[WebBaseNetscapePluginView loginWindowDidSwitchFromUser:]):
18101 (-[WebBaseNetscapePluginView loginWindowDidSwitchToUser:]):
18102 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
18103 (-[WebBaseNetscapePluginView _viewHasMoved]):
18104 * Plugins/WebBaseNetscapePluginViewInternal.h:
18105 * Plugins/WebNetscapePluginEmbeddedView.h:
18106 * Plugins/WebNetscapePluginEventHandler.h: Added.
18107 (WebNetscapePluginEventHandler::~WebNetscapePluginEventHandler):
18108 (WebNetscapePluginEventHandler::currentEventIsUserGesture):
18109 (WebNetscapePluginEventHandler::WebNetscapePluginEventHandler):
18110 * Plugins/WebNetscapePluginEventHandler.mm: Added.
18111 (WebNetscapePluginEventHandler::create):
18112 * Plugins/WebNetscapePluginEventHandlerCarbon.h: Added.
18113 * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Added.
18114 (WebNetscapePluginEventHandlerCarbon::WebNetscapePluginEventHandlerCarbon):
18116 (modifiersForEvent):
18117 (WebNetscapePluginEventHandlerCarbon::sendNullEvent):
18118 (WebNetscapePluginEventHandlerCarbon::drawRect):
18119 (WebNetscapePluginEventHandlerCarbon::mouseDown):
18120 (WebNetscapePluginEventHandlerCarbon::mouseUp):
18121 (WebNetscapePluginEventHandlerCarbon::mouseEntered):
18122 (WebNetscapePluginEventHandlerCarbon::mouseExited):
18123 (WebNetscapePluginEventHandlerCarbon::mouseDragged):
18124 (WebNetscapePluginEventHandlerCarbon::mouseMoved):
18125 (WebNetscapePluginEventHandlerCarbon::keyDown):
18126 (keyMessageForEvent):
18127 (WebNetscapePluginEventHandlerCarbon::keyUp):
18128 (WebNetscapePluginEventHandlerCarbon::focusChanged):
18129 (WebNetscapePluginEventHandlerCarbon::windowFocusChanged):
18130 (WebNetscapePluginEventHandlerCarbon::TSMEventHandler):
18131 (WebNetscapePluginEventHandlerCarbon::installKeyEventHandler):
18132 (WebNetscapePluginEventHandlerCarbon::removeKeyEventHandler):
18133 (WebNetscapePluginEventHandlerCarbon::nullEventTimerFired):
18134 (WebNetscapePluginEventHandlerCarbon::startTimers):
18135 (WebNetscapePluginEventHandlerCarbon::stopTimers):
18136 (WebNetscapePluginEventHandlerCarbon::sendEvent):
18138 2008-04-29 Mark Rowe <mrowe@apple.com>
18140 Reviewed by David Harrison.
18142 Ensure that WebDynamicScrollBarsView defines WebCoreScrollbarAlwaysOn to keep Mail building.
18145 * WebView/WebDynamicScrollBarsView.h:
18146 * WebView/WebDynamicScrollBarsView.m:
18148 2008-04-29 Greg Bolsinga <bolsinga@apple.com>
18150 Reviewed by Darin Adler.
18152 Wrapped Dashboard code with ENABLE(DASHBOARD_SUPPORT)
18154 * WebCoreSupport/WebChromeClient.h:
18155 * WebCoreSupport/WebChromeClient.mm:
18156 * WebView/WebClipView.m:
18157 (-[WebClipView scrollWheel:]):
18158 * WebView/WebHTMLView.mm:
18159 (-[WebHTMLView addMouseMovedObserver]):
18160 (-[WebHTMLView removeMouseMovedObserver]):
18161 (-[WebHTMLView acceptsFirstMouse:]):
18162 * WebView/WebUIDelegatePrivate.h:
18163 * WebView/WebView.mm:
18164 (-[WebViewPrivate init]):
18165 * WebView/WebViewPrivate.h:
18167 2008-04-28 Rob Buis <buis@kde.org>
18169 Reviewed by Maciej.
18171 Build fix for Tiger.
18173 * WebView/WebView.mm:
18174 (WebKitInitializeApplicationCachePathIfNecessary):
18176 2008-04-28 Adele Peterson <adele@apple.com>
18178 Reviewed by Dan Bernstein, Tim Hatcher, Anders Carlsson, and Darin Adler.
18180 WebKit part of fix for <rdar://problem/3709505>
18181 Safari should have a way to upload bundles from the file upload control (as zip)
18183 Added UIDelegate methods to let the application handle generating replacement files for uploads.
18184 In this case, Safari will create archived files for bundles so they can be uploaded properly.
18186 * DefaultDelegates/WebDefaultUIDelegate.m:
18187 (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]):
18188 (-[WebDefaultUIDelegate webView:generateReplacementFile:]):
18189 * WebCoreSupport/WebChromeClient.h:
18190 * WebCoreSupport/WebChromeClient.mm:
18191 (WebChromeClient::shouldReplaceWithGeneratedFileForUpload):
18192 (WebChromeClient::generateReplacementFile):
18193 * WebView/WebUIDelegatePrivate.h:
18195 2008-04-28 Anders Carlsson <andersca@apple.com>
18197 Reviewed by Sam, Mark, Adele and Darin.
18199 Initialize the application cache path.
18201 * WebView/WebView.mm:
18202 (WebKitInitializeApplicationCachePathIfNecessary):
18203 (-[WebView _commonInitializationWithFrameName:groupName:]):
18205 2008-04-28 Alice Liu <alice.liu@apple.com>
18207 Reviewed by Darin Adler.
18209 Fix <rdar://problem/4911289> Add tabindex property to all children
18210 of HTMLElement (7138)
18211 http://bugs.webkit.org/show_bug.cgi?id=7138
18213 * MigrateHeaders.make:
18214 Removing DOMHTMLLabelElementPrivate.h and DOMHTMLLegendElementPrivate.h
18215 because now that focus() has been moved to DOMHTMLElement.h, these
18216 files are no longer needed.
18218 2008-04-25 Alexey Proskuryakov <ap@webkit.org>
18220 Reviewed by Darin Adler.
18222 Fix run-webkit-tests --threading
18223 and provisionally fix <https://bugs.webkit.org/show_bug.cgi?id=18661>
18224 Proxy server issue in Sunday's Nightly
18226 * WebView/WebView.mm: (-[WebViewPrivate init]): Initialize threading. Previously, this was
18227 only done from icon database code, which is not robust enough.
18229 2008-04-20 Adam Barth <hk9565@gmail.com>
18231 Reviewed by Adam Roben and Sam Weinig.
18233 Updated WebSecurityOrigin to match new SecurityOrigin API.
18235 Collin Jackson <collinj-webkit@collinjackson.com> also contributed to this patch.
18237 * Storage/WebSecurityOrigin.mm:
18238 (-[WebSecurityOrigin host]):
18239 (-[WebSecurityOrigin domain]):
18240 * Storage/WebSecurityOriginPrivate.h:
18242 2008-04-25 Mark Rowe <mrowe@apple.com>
18244 Rubber-stamped by Sam Weinig.
18246 Add some content to an empty ICU header file to prevent verification errors.
18248 * icu/unicode/utf_old.h:
18250 2008-04-25 Anders Carlsson <andersca@apple.com>
18254 Add offlineWebApplicationCacheEnabled preference.
18256 * WebView/WebPreferenceKeysPrivate.h:
18257 * WebView/WebPreferences.m:
18258 (+[WebPreferences initialize]):
18259 (-[WebPreferences offlineWebApplicationCacheEnabled]):
18260 (-[WebPreferences setOfflineWebApplicationCacheEnabled:]):
18261 * WebView/WebPreferencesPrivate.h:
18262 * WebView/WebView.mm:
18263 (-[WebView _updateSettingsFromPreferences:]):
18265 2008-04-24 Mark Rowe <mrowe@apple.com>
18267 Reviewed by Sam Weinig.
18269 Remove code for calculating the glyph cache size.
18271 * WebCoreSupport/WebSystemInterface.m:
18272 (InitWebCoreSystemInterface): Remove unused symbol.
18274 2008-04-24 Mark Rowe <mrowe@apple.com>
18276 Reviewed by Sam Weinig.
18278 Add a definition of BUILDING_ON_LEOPARD to complement BUILDING_ON_TIGER.
18282 2008-04-24 Brady Eidson <beidson@apple.com>
18286 Fix layout test regressions from my earlier preferences/settings tweak.
18288 * WebView/WebView.mm:
18289 (-[WebView _commonInitializationWithFrameName:groupName:]): Even if we're not posting
18290 the notification to update the settings, each WebView still needs to register for the
18291 notification - restore that behavior.
18293 2008-04-24 Dan Bernstein <mitz@apple.com>
18295 Reviewed by Darin Adler.
18297 - preparation for https://bugs.webkit.org/show_bug.cgi?id=3729
18298 <rdar://problem/4036353> REGRESSION: arrow keys move insertion bar backwards in RTL text
18300 * WebView/WebFrame.mm:
18301 (-[WebFrame _caretRectAtNode:offset:affinity:]): Changed to use
18302 VisiblePosition::caretRect() instead of the RenderObject method which
18305 2008-04-24 Brady Eidson <beidson@apple.com>
18309 Rework the Settings population again.
18311 * WebView/WebView.mm:
18312 (-[WebView _updateSettingsFromPreferences:]): This method is called both from _preferencesChangedNotification
18313 and directly from WebView's common init function.
18314 (-[WebView _preferencesChangedNotification:]):
18315 (-[WebView _commonInitializationWithFrameName:groupName:]): Call _updateSettingsFromPreferences immediately
18316 after creating the new Page
18318 2008-04-24 Darin Adler <darin@apple.com>
18322 - fix crash in regression test where we'd ask a frame for a user agent string
18323 after the WebView was already closed
18325 * WebCoreSupport/WebFrameLoaderClient.mm:
18326 (WebFrameLoaderClient::userAgent): Assert that the WebView is not nil. Also
18327 added some code to prevent the crash in release builds if this problem happens
18330 2008-04-24 Anders Carlsson <andersca@apple.com>
18334 Change some String arguments to be const references instead.
18336 * WebCoreSupport/WebEditorClient.h:
18337 * WebCoreSupport/WebEditorClient.mm:
18338 (WebEditorClient::shouldInsertText):
18340 2008-04-24 John Sullivan <sullivan@apple.com>
18344 * WebCoreSupport/WebViewFactory.mm:
18345 (-[WebViewFactory AXButtonActionVerb]):
18346 implement this method using the text in WebCoreLocalizedStrings.cpp
18347 (-[WebViewFactory AXRadioButtonActionVerb]):
18349 (-[WebViewFactory AXTextFieldActionVerb]):
18351 (-[WebViewFactory AXCheckedCheckBoxActionVerb]):
18353 (-[WebViewFactory AXUncheckedCheckBoxActionVerb]):
18355 (-[WebViewFactory AXLinkActionVerb]):
18358 2008-04-23 Brady Eidson <beidson@apple.com>
18360 Reviewed by Sam Weinig
18362 In some current work I noticed that when a new Page is created, it is possible that it requires info from its Settings
18363 object before the Settings object is initialized. It seems quite prudent to post the preferences changed notification,
18364 thereby populating the Settings object, immediately after the Page is created.
18366 * WebView/WebView.mm:
18367 (-[WebView _commonInitializationWithFrameName:groupName:]): Post the notification right after the Page is created
18369 2008-04-24 John Sullivan <sullivan@apple.com>
18373 - fixed <rdar://problem/5886655> JavaScript input panel automatic resizing doesn't work right with HiDPI
18375 * Misc/WebNSControlExtras.m:
18376 (-[NSControl sizeToFitAndAdjustWindowHeight]):
18377 deploy userSpaceScaleFactor when using view distances on the window
18379 2008-04-22 Anders Carlsson <andersca@apple.com>
18381 Reviewed by Darin Adler.
18383 Add NPN_Construct and NPN_PluginThreadAsyncCall declarations.
18385 * Plugins/npfunctions.h:
18387 2008-04-20 Matt Lilek <webkit@mattlilek.com>
18389 Mysteriously reviewed by mitz|away.
18391 Bug 18111: Closing a tab while dragging crashes Safari
18392 https://bugs.webkit.org/show_bug.cgi?id=18111
18394 Null check the page before handling drag events.
18396 * WebView/WebView.mm:
18397 (-[WebView draggingUpdated:]):
18398 (-[WebView draggingExited:]):
18400 2008-04-19 Brady Eidson <beidson@apple.com>
18402 Reviewed by Tim Hatcher
18404 Add a WebPreference for the path of the local storage persistent store.
18406 * WebView/WebPreferenceKeysPrivate.h:
18408 * WebView/WebPreferences.m:
18409 (-[WebPreferences _localStorageDatabasePath]):
18410 (-[WebPreferences _setLocalStorageDatabasePath:]):
18411 * WebView/WebPreferencesPrivate.h:
18413 * WebView/WebView.mm:
18414 (-[WebView _preferencesChangedNotification:]):
18416 2008-04-18 Brady Eidson <beidson@apple.com>
18418 Reviewed by Sam Weinig
18420 Don't clear the PageGroup on _close, as the WebCore::Page destructor already does this.
18421 No reason to do the work twice...
18423 * WebView/WebView.mm:
18424 (-[WebView _close]):
18426 2008-04-17 Eric Seidel <eric@webkit.org>
18430 Rename Frame::renderer() to contentRenderer() and fix uses.
18432 * Misc/WebCoreStatistics.mm:
18433 * WebView/WebRenderNode.mm:
18434 (-[WebRenderNode initWithWebFrameView:]):
18436 2008-04-17 Jon Honeycutt <jhoneycutt@apple.com>
18440 * WebView/WebFrame.mm: Remove temporary build fix.
18442 2008-04-17 Mark Rowe <mrowe@apple.com>
18444 Reviewed by Dan Bernstein.
18446 Fix <rdar://problem/5863552> REGRESSION (r30741): Attachments don't appear in the iChat message window after sending
18448 The order of arguments to -[NSDictionary initWithObjects:andKeys:] had been transposed accidentally during refactoring.
18450 * WebCoreSupport/WebFrameLoaderClient.mm:
18451 (WebFrameLoaderClient::createPlugin): Pass the arguments in the correct order.
18453 2008-04-17 Mark Rowe <mrowe@apple.com>
18455 Rubber-stamped by Dan Bernstein.
18459 * WebView/WebFrame.mm: Define HAVE_ACCESSIBILITY before including AccessibilityObject.h and AXObjectCache.h to get things building
18460 for now. This comes from config.h in WebCore but we don't have an equivalent in WebKit so we'll need to work out the correct place
18461 for this to live going forward.
18463 2008-04-15 Kevin Decker <kdecker@apple.com>
18465 Reviewed by Anders.
18467 <rdar://problem/5412759> CrashTracer: [USER] 22 crashes in Safari at com.apple.quicktime.webplugin: NPN_SetValue + 15403
18469 In certain situations, code in WebBasePluginPackage would load a plug-in only for the explicit reason of asking it to create a
18470 preference file, but wouldn't actually unload the bundle. This created problems for the QuickTime WebKit plug-in by unloading
18471 a bundle out from underneath itself.
18473 * Plugins/WebBasePluginPackage.h: Added unload method.
18474 * Plugins/WebBasePluginPackage.m:
18475 (-[WebBasePluginPackage unload]): Added new method. Currently, only Netscape plug-ins support unload.
18476 (-[WebBasePluginPackage pListForPath:createFile:]): Added a call to unload.
18477 * Plugins/WebNetscapePluginPackage.m:
18478 (-[WebNetscapePluginPackage unload]): Added.
18480 2008-04-15 Anders Carlsson <andersca@apple.com>
18484 Add ENABLE_OFFLINE_WEB_APPLICATIONS to FEATURE_DEFINES.
18486 * Configurations/WebKit.xcconfig:
18488 2008-04-15 Brady Eidson <beidson@apple.com>
18490 Reviewed by John Sullivan
18492 Do a more complete job adding the "WebArchiveDebugMode" pref
18494 * WebView/WebPreferences.m: Add both getter *and* setter
18495 (-[WebPreferences webArchiveDebugModeEnabled]):
18496 (-[WebPreferences setWebArchiveDebugModeEnabled:]):
18497 * WebView/WebPreferencesPrivate.h:
18499 * WebView/WebView.mm:
18500 (-[WebView _preferencesChangedNotification:]): Call the renamed getter
18502 2008-04-14 Brady Eidson <beidson@apple.com>
18506 Add a hidden pref to debug WebArchive loading. With this pref on, when loading a WebArchive,
18507 if the resource isn't in the ArchiveResourceCollection, the loader will not fall back to the
18508 network and will instead fail the load as "cancelled."
18510 * WebView/WebPreferenceKeysPrivate.h:
18512 * WebView/WebPreferences.m:
18513 (+[WebPreferences initialize]):
18514 (-[WebPreferences _webArchiveDebugModeEnabled]):
18515 * WebView/WebPreferencesPrivate.h:
18517 * WebView/WebView.mm:
18518 (-[WebView _preferencesChangedNotification:]):
18520 2008-04-11 David Hyatt <hyatt@apple.com>
18522 Rename CachedResource ref/deref methods to addClient/removeClient.
18526 * WebView/WebHTMLView.mm:
18527 (-[WebHTMLViewPrivate dealloc]):
18528 (-[WebHTMLViewPrivate finalize]):
18529 (-[WebHTMLViewPrivate clear]):
18530 (-[WebHTMLView setPromisedDragTIFFDataSource:WebCore::]):
18532 2008-04-07 Brady Eidson <beidson@apple.com>
18534 Add "ENABLE_DOM_STORAGE" to keep in sync with the rest of the project
18536 * Configurations/WebKit.xcconfig:
18538 2008-04-04 Adam Roben <aroben@apple.com>
18540 Use WebCore's ICU headers instead of our own copy
18542 Rubberstamped by Tim Hatcher.
18544 * Configurations/WebKit.xcconfig: Pick up ICU headers from WebCore's
18547 2008-04-04 Adam Roben <aroben@apple.com>
18549 Fix <rdar://problem/5804776> Would like to use WebCore's
18550 ForwardingHeaders in WebKit without manually creating copies
18552 Patch by Tim Hatcher, typed by me.
18554 * Configurations/WebKit.xcconfig: Use the copy of ForwardingHeaders in
18555 WebCore's PrivateHeaders instead of our own copy.
18557 2008-04-04 Ada Chan <adachan@apple.com>
18559 Now we pass width and height directly as integers to format
18560 the window title for a standalone image.
18564 * WebCoreSupport/WebViewFactory.mm:
18565 (-[WebViewFactory imageTitleForFilename:width:height:]):
18567 2008-04-03 Nicholas Shanks <webkit@nickshanks.com>
18569 Updated by Dan Bernstein. Reviewed by Dave Hyatt.
18571 - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=6484
18572 font-weight does not properly support graded weights
18574 * WebView/WebHTMLView.mm:
18575 (-[WebHTMLView _styleFromFontAttributes:]):
18576 (-[WebHTMLView _originalFontB]):
18577 (-[WebHTMLView _addToStyle:fontA:fontB:]):
18579 2008-04-02 Mark Rowe <mrowe@apple.com>
18581 Reviewed by Oliver Hunt.
18583 Ensure that debug symbols are generated for x86_64 and ppc64 builds.
18585 * Configurations/Base.xcconfig:
18587 2008-03-31 Alice Liu <alice.liu@apple.com>
18589 Reviewed by Darin Adler.
18591 * WebView/WebFrame.mm:
18592 (-[WebFrame _accessibilityTree]):
18593 The syntax for fetching an object from the AXObjectCache changed slightly
18595 2008-03-31 Brady Eidson <beidson@apple.com>
18597 Reviewed by Jon Honeycutt
18599 Move a WebArchive loading check into WebCore
18601 * WebView/WebHTMLRepresentation.mm:
18602 (-[WebHTMLRepresentation receivedData:withDataSource:]): Don't check "isDisplayingWebArchive" as WebCore is now
18603 responsible for checking that state
18605 2008-03-31 Brady Eidson <beidson@apple.com>
18607 Reviewed by Darin and Mitz's rubber stamp
18609 Remove dataForArchivedSelection(WebCore::Frame*) from the EditorClient - only usage is now directly in WebCore
18611 * WebCoreSupport/WebEditorClient.mm:
18612 * WebCoreSupport/WebEditorClient.h:
18614 2008-03-28 Brady Eidson <beidson@apple.com>
18616 Rubberstamped by Darin Adler
18618 Remove WebArchiver.h/mm
18620 * WebView/WebArchiver.h: Removed.
18621 * WebView/WebArchiver.mm: Removed.
18623 * DOM/WebDOMOperations.mm:
18624 * WebCoreSupport/WebDragClient.mm:
18625 * WebCoreSupport/WebEditorClient.mm:
18626 * WebView/WebDataSource.mm:
18627 * WebView/WebHTMLView.mm:
18629 2008-03-28 Brady Eidson <beidson@apple.com>
18631 Reviewed by Darin Adler
18633 Now that WebCore can create archives from a frame selection directly, we don't need it in WebArchiver anymore
18635 * WebCoreSupport/WebEditorClient.mm:
18636 (WebEditorClient::dataForArchivedSelection):
18638 * WebView/WebArchiver.h: Nuke archiveSelectionInFrame, as there are no remaining users
18639 * WebView/WebArchiver.mm: Ditto
18641 * WebView/WebHTMLView.mm:
18642 (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
18644 2008-03-28 Brady Eidson <beidson@apple.com>
18646 Reviewed by Darin Adler
18648 More Kit->Core WebArchive changes.
18650 Create an archive from the current selection in a frame
18652 * WebView/WebArchiver.mm: Remove one more *undeclared* method, the last method will drop off
18653 easily in a followup
18655 2008-03-28 Brady Eidson <beidson@apple.com>
18657 Reviewed by Sam Weinig
18659 WebArchive saga continues - Can now make archives from ranges in WebCore
18661 * DOM/WebDOMOperations.mm:
18662 (-[DOMRange webArchive]):
18663 (-[DOMRange markupString]):
18665 * WebView/WebArchiver.h: Remove newly obsolete [WebArchiver archiveRange:]
18666 * WebView/WebArchiver.mm:
18668 2008-03-28 Brady Eidson <beidson@apple.com>
18670 Reviewed by Sam Weinig
18672 More Kit->Core webarchive code movement
18674 * DOM/WebDOMOperations.mm:
18675 (-[DOMNode markupString]): Call createFullMarkup() instead
18677 * WebView/WebFrame.mm: Remove obsolete _markupStringFromNode
18678 * WebView/WebFrameInternal.h: Ditto
18680 2008-03-28 Brady Eidson <beidson@apple.com>
18682 Reviewed by Sam Weinig
18684 Fold [WebArchiver archiveFrame:] into WebDataSource - the last remaining caller
18686 * WebView/WebArchiver.h:
18687 * WebView/WebArchiver.mm:
18688 * WebView/WebDataSource.mm:
18689 (-[WebDataSource webArchive]):
18691 2008-03-28 Brady Eidson <beidson@apple.com>
18693 Reviewed by Sam Weinig
18695 Remove unused [WebArchiver archiveNode:], made obsolete in r31400
18697 * WebView/WebArchiver.h:
18698 * WebView/WebArchiver.mm:
18700 2008-03-28 Brady Eidson <beidson@apple.com>
18704 "Yet another transitional step" to empty out WebKit-based code for archiving.
18706 With this patch, the key operation of "Creating a WebArchive rooted at a single Node" takes place
18707 entirely within WebCore, and opens the door to saving WebArchives on Windows.
18709 * DOM/WebDOMOperations.mm:
18710 * WebView/WebArchiver.mm:
18711 (+[WebArchiver _archiveWithMarkupString:fromFrame:nodes:]):
18713 2008-03-27 Brady Eidson <beidson@apple.com>
18715 Reviewed by Adam Roben
18717 Move [WebDataSource mainResource] and [WebDataSource subresources] down into WebCore
18718 as the push to core-ify WebArchives continues.
18720 This patch also introduces a behavior change. WebCore allows ArchiveResources with null or empty data.
18721 WebKit has had the inexplicable distinction of allowing empty Data in a WebResource, but not null.
18722 Since WebResource is API, I decided to leave it be to avoid a behavior change. But internally created resources
18723 (as in "while archiving a page") are accepting of null or empty data.
18725 This actually fixes a bug where not all subframes are archived, and resulted in a layout test change.
18727 * WebView/WebDataSource.mm:
18728 (-[WebDataSource mainResource]): Call DocumentLoader implementation
18729 (-[WebDataSource subresources]): Ditto
18730 * WebView/WebFrame.mm: Remove [WebFrame _getAllResourceDatas:andResponses:] as its only caller is obsolete
18731 * WebView/WebFrameInternal.h:
18733 2008-03-27 Brady Eidson <beidson@apple.com>
18737 Change the "init from WebCore resource" version of WebResource to take PassRefPtr
18740 * WebView/WebResource.mm:
18741 (-[WebResource _initWithCoreResource:]):
18742 * WebView/WebResourceInternal.h:
18744 2008-03-26 Brady Eidson <beidson@apple.com>
18746 Build fix - accidentally checked in this change which was work in progress
18748 * DOM/WebDOMOperations.mm:
18750 2008-03-26 Brady Eidson <beidson@apple.com>
18754 When we create a WebArchive, we walk every node from some starting point, asking each node
18755 along the way "What are your subresource URLs?"
18757 That logic is currently in DOMNode in WebKitMac - this patch moves that ability down into
18760 * DOM/WebDOMOperations.mm:
18761 (-[DOMNode _subresourceURLs]): One generic DOMNode method can now handle all DOMNodes by
18762 calling into individual WebCore::Node implementations
18763 * DOM/WebDOMOperationsPrivate.h:
18765 2008-03-26 Brady Eidson <beidson@apple.com>
18767 Reviewed by Mark Rowe
18769 Part of the continued push to move WebArchive-related code down to WebCore, this
18770 moves [WebDataSource subresourceForURL:] down to DocumentLoader->subresource()
18772 * WebView/WebDataSource.mm:
18773 (-[WebDataSource subresourceForURL:]): Call through to the DocumentLoader
18775 * WebView/WebFrame.mm: Remove [WebFrame _getData:andResponse:forURL:], as its only use
18776 has now been ported down to WebCore
18777 * WebView/WebFrameInternal.h:
18779 2008-03-26 Mark Rowe <mrowe@apple.com>
18781 Rubber-stamped by Brady Eidson.
18783 Update FEATURE_DEFINES to be consistent with the other locations in which it is defined.
18785 * Configurations/WebKit.xcconfig:
18787 2008-03-26 Mark Rowe <mrowe@apple.com>
18789 Reviewed by David Hyatt.
18791 Make the Ahem font antialias correctly on Acid3 on Tiger.
18793 * WebCoreSupport/WebSystemInterface.m:
18794 (InitWebCoreSystemInterface):
18796 2008-03-26 Mark Rowe <mrowe@apple.com>
18800 * MigrateHeaders.make: Copy the newly generated header into the right place.
18802 2008-03-25 Brady Eidson <beidson@apple.com>
18804 Reviewed by Beth Dakin
18806 Remove entirely unused internal method
18808 * WebView/WebArchiver.h:
18809 * WebView/WebArchiver.mm:
18811 2008-03-25 Brady Eidson <beidson@apple.com>
18813 Reviewed by Adam Roben
18815 <rdar://problem/5819308> - View Source is empty when view webarchives
18817 * WebCore.base.exp:
18818 * loader/DocumentLoader.cpp:
18819 (WebCore::DocumentLoader::setParsedArchiveData):
18820 (WebCore::DocumentLoader::parsedArchiveData):
18821 * loader/DocumentLoader.h:
18823 * loader/FrameLoader.cpp:
18824 (WebCore::FrameLoader::finishedLoadingDocument): Set the archive's MainResource data as the parsedArchiveData
18825 in the DocumentLoader
18827 2008-03-25 Dan Bernstein <mitz@apple.com>
18829 Reviewed by Darin Adler.
18831 - fix http://bugs.webkit.org/show_bug.cgi?id=17933
18832 Reopen All Windows From Last Session causes crash
18834 * WebView/WebHTMLView.mm:
18835 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Added null
18838 2008-03-25 Brady Eidson <beidson@apple.com>
18840 Reviewed by Jon Honeycutt's rubberstamp
18842 Fix a leak with the new WebArchive setup
18844 * WebView/WebArchive.mm:
18845 (-[WebArchivePrivate setCoreArchive:]): Deref() the old WebArchive
18847 2008-03-25 Brady Eidson <beidson@apple.com>
18851 Removed the concept of "pending archive resources" and the "archive resources delivery timer"
18852 from WebFrameLoaderClient, as those concepts have been pushed into WebCore
18854 * WebCoreSupport/WebFrameLoaderClient.h:
18855 * WebCoreSupport/WebFrameLoaderClient.mm:
18856 (WebFrameLoaderClient::WebFrameLoaderClient):
18858 2008-03-25 Brady Eidson <beidson@apple.com>
18862 Remove newly obsolete FrameLoaderClient methods
18864 * WebCoreSupport/WebFrameLoaderClient.h:
18865 * WebCoreSupport/WebFrameLoaderClient.mm:
18867 2008-03-25 Brady Eidson <beidson@apple.com>
18871 * WebView/WebArchive.mm:
18872 (-[WebArchive subresources]):
18873 (-[WebArchive subframeArchives]):
18875 2008-03-25 Brady Eidson <beidson@apple.com>
18879 <rdar://problem/4516169> - Support WebArchives on Windows
18880 And paves the way for many future WebArchive bug fixes and enhancements
18882 This change moves most of the real workhorse code about WebArchives into WebCore. It maintains
18883 1-to-1 relationships between a few objects in WebCore and WebKit. Such as:
18884 * WebArchive <-> LegacyWebArchive
18885 * WebResource <-> ArchiveResource
18886 * WebUnarchivingState <-> ArchiveResourceCollection
18888 The other biggest changes involve many FrameLoaderClient methods that existed soley for WebArchives
18889 and now exist in WebCore
18891 * WebCoreSupport/WebFrameLoaderClient.mm:
18892 (WebFrameLoaderClient::clearUnarchivingState): Emptied - to be removed in a followup patch
18893 (WebFrameLoaderClient::finalSetupForReplace):
18894 (WebFrameLoaderClient::setDefersLoading):
18895 (WebFrameLoaderClient::willUseArchive):
18896 (WebFrameLoaderClient::isArchiveLoadPending):
18897 (WebFrameLoaderClient::cancelPendingArchiveLoad):
18898 (WebFrameLoaderClient::clearArchivedResources):
18899 (WebFrameLoaderClient::createFrame):
18901 * WebView/WebArchive.mm:
18902 (+[WebArchivePrivate initialize]):
18903 (-[WebArchivePrivate init]):
18904 (-[WebArchivePrivate initWithCoreArchive:]):
18905 (-[WebArchivePrivate coreArchive]):
18906 (-[WebArchivePrivate setCoreArchive:]):
18907 (-[WebArchivePrivate dealloc]):
18908 (-[WebArchivePrivate finalize]):
18909 (-[WebArchive init]):
18910 (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
18911 (-[WebArchive initWithData:]):
18912 (-[WebArchive initWithCoder:]):
18913 (-[WebArchive encodeWithCoder:]):
18914 (-[WebArchive mainResource]):
18915 (-[WebArchive subresources]):
18916 (-[WebArchive subframeArchives]):
18917 (-[WebArchive data]):
18918 (-[WebArchive _initWithCoreLegacyWebArchive:WebCore::]):
18919 (-[WebArchive WebCore::]):
18920 * WebView/WebArchiveInternal.h: Added.
18922 * WebView/WebDataSource.mm:
18923 (-[WebDataSourcePrivate dealloc]):
18924 (-[WebDataSource _addSubframeArchives:]):
18925 (-[WebDataSource _documentFragmentWithArchive:]):
18926 (-[WebDataSource subresourceForURL:]):
18927 (-[WebDataSource addSubresource:]):
18928 * WebView/WebDataSourceInternal.h:
18930 * WebView/WebFrame.mm:
18931 (-[WebFrame loadArchive:]):
18932 * WebView/WebFrameInternal.h:
18934 * WebView/WebHTMLRepresentation.mm:
18935 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):
18937 * WebView/WebResource.mm:
18938 (+[WebResourcePrivate initialize]):
18939 (-[WebResourcePrivate init]):
18940 (-[WebResourcePrivate initWithCoreResource:]):
18941 (-[WebResourcePrivate dealloc]):
18942 (-[WebResourcePrivate finalize]):
18943 (-[WebResource initWithCoder:]):
18944 (-[WebResource encodeWithCoder:]):
18945 (-[WebResource data]):
18946 (-[WebResource URL]):
18947 (-[WebResource MIMEType]):
18948 (-[WebResource textEncodingName]):
18949 (-[WebResource frameName]):
18950 (-[WebResource _initWithCoreResource:WebCore::]):
18951 (-[WebResource WebCore::]):
18952 (-[WebResource _ignoreWhenUnarchiving]):
18953 (-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
18954 (-[WebResource _fileWrapperRepresentation]):
18955 (-[WebResource _response]):
18956 (-[WebResource _stringValue]):
18957 * WebView/WebResourceInternal.h: Added.
18958 * WebView/WebResourcePrivate.h:
18960 * WebView/WebUnarchivingState.h: Removed.
18961 * WebView/WebUnarchivingState.m: Removed.
18963 2008-03-24 Oliver Hunt <oliver@apple.com>
18965 Reviewed by Mark Rowe.
18967 Bug 18030: REGRESSION(r31236): Space bar fails to scroll down page
18968 <http://bugs.webkit.org/show_bug.cgi?id=18030>
18970 Rollout keyDown changes from r31236 -- fix for keyDown behaviour is
18971 tracked by Bug 18057: keyDown incorrectly propagates up the frame tree
18972 <http://bugs.webkit.org/show_bug.cgi?id=18057>
18974 * WebView/WebHTMLView.mm:
18975 (-[WebHTMLView keyDown:]):
18977 2008-03-24 Cameron Zwarich <cwzwarich@uwaterloo.ca>
18979 Reviewed by Maciej, landed by Brady
18981 Bug 3580: iFrames Appear to be Cached
18982 <http://bugs.webkit.org/show_bug.cgi?id=3580>
18984 Bug 15486: REGRESSION: Reload causes WebKit to *forget* fragment URLs
18985 <http://bugs.webkit.org/show_bug.cgi?id=15486>
18987 Bug 15554: Reload causes <object> to use old data
18988 <http://bugs.webkit.org/show_bug.cgi?id=15554>
18990 If a page is reloaded, a child frame's URL can not be taken from a history item.
18992 * WebView/WebFrame.mm:
18993 (-[WebFrame _loadURL:referrer:intoChild:]):
18995 2008-03-24 Darin Adler <darin@apple.com>
18999 - fix <rdar://problem/5817067> -[WebDataSource unreachableURL] invokes KURL's copy constructor
19001 * History/WebHistoryItem.mm:
19002 (-[WebHistoryItem URL]): Use a reference to avoid making a copy.
19003 * WebView/WebDataSource.mm:
19004 (-[WebDataSource _URL]): Ditto.
19005 (-[WebDataSource unreachableURL]): Ditto.
19006 * WebView/WebHTMLView.mm:
19007 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
19009 * DefaultDelegates/WebDefaultContextMenuDelegate.mm:
19010 * History/WebHistory.mm:
19011 * Misc/WebElementDictionary.mm:
19012 * Misc/WebNSAttributedStringExtras.mm:
19013 Remove unneeded imports of KURL.h.
19015 2008-03-24 Brady Eidson <beidson@apple.com>
19017 Reviewed by Darin's rubberstamp
19019 Rename this file for upcoming work.
19021 * WebView/WebArchive.m: Removed.
19022 * WebView/WebArchive.mm: Copied from WebKit/mac/WebView/WebArchive.m.
19024 2008-03-24 Alexey Proskuryakov <ap@webkit.org>
19028 * MigrateHeaders.make: Added DOMSVGAltGlyphElement.h and DOMSVGAltGlyphElementInternal.h.
19030 2008-03-23 Oliver Hunt <oliver@apple.com>
19032 Reviewed by Maciej.
19034 Bug 17670: Key events may improperly propagate from iframe to parent frame
19035 <http://bugs.webkit.org/show_bug.cgi?id=17670>
19036 Bug 16381: REGRESSION: Shift, command, option, ctrl keys in Gmail Rich Text changes focus
19037 <http://bugs.webkit.org/show_bug.cgi?id=16381>
19039 Prevent the Cocoa event system from propagating key events to the parent WebHTMLView,
19040 as that results in us dispatching the key events for each frame going up the frame
19043 * WebView/WebHTMLView.mm:
19044 (-[WebHTMLView keyDown:]):
19045 (-[WebHTMLView keyUp:]):
19046 (-[WebHTMLView flagsChanged:]):
19048 2008-03-21 Timothy Hatcher <timothy@apple.com>
19050 Bug 17980: Regression: Inspector highlighting of webpage not cleared when going to new URL
19051 http://bugs.webkit.org/show_bug.cgi?id=17980
19055 The new highlight drawing was not honoring the fade value, so it was
19056 always drawing at full opacity. The animation code didn't match Windows
19057 and the new highlight anyway, so it has been removed. The highlight
19058 how just detaches when it is hidden.
19060 * WebCoreSupport/WebInspectorClient.mm:
19061 (-[WebInspectorWindowController windowShouldClose:]): Call hideHighlight.
19062 (-[WebInspectorWindowController close]): Ditto.
19063 (-[WebInspectorWindowController highlightNode:]): Call attach.
19064 (-[WebInspectorWindowController hideHighlight]): Call detach and release _currentHighlight.
19065 * WebInspector/WebNodeHighlight.h:
19066 * WebInspector/WebNodeHighlight.m:
19067 (-[WebNodeHighlight initWithTargetView:inspectorController:]):
19068 (-[WebNodeHighlight dealloc]): Assert we have no _highlightView.
19069 (-[WebNodeHighlight attach]): Renamed from attachHighlight.
19070 (-[WebNodeHighlight detach]): Renamed from detachHighlight.
19071 (-[WebNodeHighlight setNeedsUpdateInTargetViewRect:]): Renamed from setHolesNeedUpdateInTargetViewRect:.
19072 * WebInspector/WebNodeHighlightView.h:
19073 * WebInspector/WebNodeHighlightView.m:
19074 (-[WebNodeHighlightView setNeedsDisplayInRect:]): Renamed from setHolesNeedUpdateInRect:.
19076 2008-03-20 Mark Rowe <mrowe@apple.com>
19078 Reviewed by Sam Weinig.
19080 Ensure that the defines in FEATURE_DEFINES are sorted so that they will match the default settings of build-webkit.
19081 This will prevent the world from being rebuilt if you happen to switch between building in Xcode and with build-webkit on the
19084 * Configurations/WebKit.xcconfig:
19086 2008-03-20 Adam Roben <aroben@apple.com>
19088 Make WebNodeHighlightView use InspectorController to do its painting
19090 Reviewed by Tim Hatcher.
19092 * WebCoreSupport/WebInspectorClient.mm:
19093 (-[WebInspectorWindowController highlightNode:]): Pass the
19094 InspectorController to the WebNodeHighlight, and don't call
19095 setHighlightedNode: (which has been removed).
19096 (-[WebInspectorWindowController hideHighlight]): Removed call to
19097 setHighlightedNode:.
19098 * WebInspector/WebNodeHighlight.h:
19099 - Replaced _highlightNode with _inspectorController
19100 - Removed _highlightedNode accessors
19101 - Added -inspectorController method
19102 * WebInspector/WebNodeHighlight.m:
19103 (-[WebNodeHighlight initWithTargetView:inspectorController:]): Now
19104 takes an InspectorController* and stores it in _inspectorController.
19105 (-[WebNodeHighlight dealloc]): Removed code dealing with
19107 (-[WebNodeHighlight inspectorController]): Added.
19108 * WebInspector/WebNodeHighlightView.m: Removed FileInternal category.
19109 (-[WebNodeHighlightView isFlipped]): Added. WebCore expects all
19110 GraphicsContexts to be based on a flipped CGContext, so we have to
19111 specify that this view is flipped.
19112 (-[WebNodeHighlightView drawRect:]): Changed to create a
19113 GraphicsContext and pass it to InspectorController::drawNodeHighlight.
19115 2008-03-18 David Hyatt <hyatt@apple.com>
19117 Add support for a preference in WebKit that can be used in nightly builds to test full page
19122 * WebView/WebPreferenceKeysPrivate.h:
19123 * WebView/WebView.mm:
19124 (-[WebView setTextSizeMultiplier:]):
19125 (-[WebView canMakeTextSmaller]):
19126 (-[WebView makeTextSmaller:]):
19127 (-[WebView canMakeTextLarger]):
19128 (-[WebView makeTextLarger:]):
19129 (-[WebView canMakeTextStandardSize]):
19130 (-[WebView makeTextStandardSize:]):
19132 2008-03-17 Eric Seidel <eric@webkit.org>
19136 Export _NPN_IntFromIdentifier as part of our NPAPI interface
19138 * Plugins/WebNetscapePluginPackage.m:
19139 (-[WebNetscapePluginPackage load]):
19141 2008-03-14 Brady Eidson <beidson@apple.com>
19143 Reviewed by Brian Dash's rubberstamp
19145 Remove a class declaration for a class that has never existed
19147 * WebView/WebResource.h:
19149 2008-03-14 David D. Kilzer <ddkilzer@apple.com>
19151 Unify concept of enabling the Mac Java bridge.
19153 Reviewed by Darin and Anders.
19155 * Plugins/WebPluginJava.h: Removed unused file.
19156 * WebCoreSupport/WebFrameLoaderClient.h:
19157 (WebFrameLoaderClient::javaApplet): Added #if ENABLE(MAC_JAVA_BRIDGE) guard.
19158 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto for #import and NSView SPI method.
19159 (WebFrameLoaderClient::javaApplet): Ditto.
19161 2008-03-13 Antti Koivisto <antti@apple.com>
19163 Reviewed by Darin Adler.
19165 * ForwardingHeaders/wtf/Deque.h: Added.
19167 2008-03-13 Anders Carlsson <andersca@apple.com>
19171 Call originalRequest, not initialRequest.
19173 * WebView/WebDataSource.mm:
19174 (-[WebDataSource initialRequest]):
19176 2008-03-12 Darin Adler <darin@apple.com>
19178 Reviewed by John Sullivan.
19180 - cleanup after removing the bridge
19182 * DOM/WebDOMOperations.mm:
19183 (-[DOMDocument URLWithAttributeString:]): Call computeURL directly.
19185 * Misc/WebCoreStatistics.mm:
19186 (-[WebFrame renderTreeAsExternalRepresentation]): Call externalRepresentation directly.
19188 * Plugins/WebBaseNetscapePluginView.mm:
19189 (-[WebBaseNetscapePluginView loadPluginRequest:]): Use core function instead of
19190 _frameLoader method.
19191 (-[WebBaseNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
19193 * Plugins/WebPluginController.mm:
19194 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Ditto.
19196 * WebCoreSupport/WebFrameLoaderClient.mm:
19197 (WebFrameLoaderClient::frameLoaderDestroyed): Added a call to the new _clearCoreFrame
19198 method. Without this we could leave a stale frame pointer around.
19199 (WebFrameLoaderClient::dispatchDidReceiveIcon): Rewrote assertion so it's not the single
19200 caller of the _isMainFrame method.
19201 (WebFrameLoaderClient::transitionToCommittedForNewPage): Use core function instead of
19202 _frameLoader method.
19203 (WebFrameLoaderClient::createFrame): Moved code here from _addChild.
19205 * WebView/WebFrame.mm: Removed lots of methods. Some were moved elsewhere, others
19206 turned out to be unused.
19207 (core): Added overload for DocumentFragment.
19209 (-[WebFrame _loadURL:referrer:intoChild:]): Get to Frame using _private->coreFrame and
19210 to FrameLoader with _private->coreFrame->loader().
19211 (-[WebFrame _attachScriptDebugger]): Ditto.
19212 (-[WebFrame _clearCoreFrame]): Added.
19213 (-[WebFrame _updateBackground]): More of the same.
19214 (-[WebFrame _unmarkAllBadGrammar]): Ditto.
19215 (-[WebFrame _unmarkAllMisspellings]): Ditto.
19216 (-[WebFrame _hasSelection]): Ditto.
19217 (-[WebFrame _atMostOneFrameHasSelection]): Ditto.
19218 (-[WebFrame _findFrameWithSelection]): Ditto.
19219 (-[WebFrame _dataSource]): Ditto.
19220 (-[WebFrame _addData:]): Streamlined code a bit.
19221 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
19222 (-[WebFrame _receivedData:textEncodingName:]): Ditto.
19223 (-[WebFrame _isDescendantOfFrame:]): Ditto.
19224 (-[WebFrame _bodyBackgroundColor]): Ditto.
19225 (-[WebFrame _isFrameSet]): Ditto.
19226 (-[WebFrame _firstLayoutDone]): Ditto.
19227 (-[WebFrame _loadType]): Ditto.
19228 (-[WebFrame _isDisplayingStandaloneImage]): Ditto.
19229 (-[WebFrame name]): Ditto.
19230 (-[WebFrame DOMDocument]): Ditto.
19231 (-[WebFrame frameElement]): Ditto.
19232 (-[WebFrame provisionalDataSource]): Ditto.
19233 (-[WebFrame dataSource]): Ditto.
19234 (-[WebFrame loadRequest:]): Ditto.
19235 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Ditto.
19236 (-[WebFrame loadArchive:]): Ditto.
19237 (-[WebFrame stopLoading]): Ditto.
19238 (-[WebFrame reload]): Ditto.
19239 (-[WebFrame findFrameNamed:]): Ditto.
19240 (-[WebFrame parentFrame]): Ditto.
19241 (-[WebFrame childFrames]): Ditto.
19242 (-[WebFrame windowObject]): Ditto.
19243 (-[WebFrame globalContext]): Ditto.
19245 * WebView/WebFrameInternal.h: Added overloads of core and kit.
19246 Removed method declarations.
19248 * WebView/WebHTMLRepresentation.mm:
19249 (-[WebHTMLRepresentation documentSource]): Moved code here from WebFrame.
19250 (formElementFromDOMElement): Ditto.
19251 (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
19252 (inputElementFromDOMElement): Ditto.
19253 (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
19254 (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
19255 (-[WebHTMLRepresentation formForElement:]): Ditto.
19256 (-[WebHTMLRepresentation currentForm]): Ditto.
19257 (-[WebHTMLRepresentation controlsInForm:]): Ditto.
19258 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
19259 (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
19261 * WebView/WebHTMLView.mm:
19262 (-[WebHTMLView _frameOrBoundsChanged]): Moved sendScrollEvent code here from WebFrame.
19263 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
19264 Call createFragmentFromText directly instead of via WebFrame.
19265 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]):
19266 Moved layout calls here from WebFrame.
19267 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
19268 (-[WebHTMLView _updateFontPanel]): Ditto, but with fontForSelection.
19269 (-[WebHTMLView _canSmartCopyOrDelete]): Ditto, but with selectionGranularity.
19270 (-[WebHTMLView markedRange]): Moved code here from _markedTextNSRange.
19271 (-[WebHTMLView attributedSubstringFromRange:]): Tweaked code a bit.
19272 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]):
19273 Moved code here from WebFrame.
19274 (-[WebHTMLView elementAtPoint:allowShadowContent:]): Ditto.
19275 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
19276 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
19277 (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
19278 (-[WebHTMLView unmarkAllTextMatches]): Ditto.
19279 (-[WebHTMLView rectsForTextMatches]): Ditto.
19281 * WebView/WebHTMLViewInternal.h: Removed unused method declarations.
19283 * WebView/WebPDFView.mm:
19284 (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Use core function instead of
19285 _frameLoader method.
19287 * WebView/WebRenderNode.mm:
19288 (copyRenderNode): Moved code here from WebFrame.
19289 (-[WebRenderNode initWithWebFrameView:]): Ditto.
19291 * WebView/WebResource.mm:
19292 (-[WebResource _stringValue]): Moved code here from WebFrame.
19294 * WebView/WebView.mm:
19295 (-[WebView _close]): Use core function intsead of _frameLoader method.
19296 (-[WebView setCustomTextEncodingName:]): Ditto.
19297 (-[WebView setHostWindow:]): Moved code here from WebFrame.
19298 (aeDescFromJSValue): Moved this here from WebFrame.
19299 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Moved code here from WebFrame.
19301 2008-03-12 Darin Adler <darin@apple.com>
19303 Reviewed by Anders.
19305 - http://bugs.webkit.org/show_bug.cgi?id=17640
19306 eliminate WebCoreFrameBridge
19308 Moved all the code from the bridge into WebFrame. This need not be the final
19309 home of these methods -- they can be moved closer to their callers and improved
19310 further -- but it eliminates the bridge without requiring a rewrite of the code.
19311 It's a fairly mechanical process (just adding underscores to method names really).
19313 There's even a chance that some of the methods are unused. Those we can remove
19314 after checking if that's so.
19316 * DOM/WebDOMOperations.mm:
19317 (-[DOMNode markupString]): Use WebFrame rather than bridge.
19318 (-[DOMDocument webFrame]): Changed to use the core and kit functions
19319 instead of using the bridge.
19320 (-[DOMDocument URLWithAttributeString:]): Use WebFrame rather than bridge.
19321 (-[DOMRange markupString]): Ditto.
19322 * DOM/WebDOMOperationsPrivate.h: Removed _bridge methods.
19324 * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded import.
19325 * History/WebHistoryItem.mm: Ditto.
19327 * MigrateHeaders.make: Added DOMDocumentFragmentInternal.h.
19328 * Misc/WebCoreStatistics.mm:
19329 (-[WebFrame renderTreeAsExternalRepresentation]): Use WebFrame rather than bridge.
19331 * Misc/WebElementDictionary.mm: Removed unneeded import.
19333 * Misc/WebKitStatistics.m:
19334 (+[WebKitStatistics bridgeCount]): Removed WebBridgeCount and just return 0.
19335 * Misc/WebKitStatisticsPrivate.h: Ditto.
19337 * Misc/WebNSAttributedStringExtras.mm: Removed unneeded import.
19338 * Misc/WebNSPasteboardExtras.mm: Ditto.
19340 * Plugins/WebBaseNetscapePluginView.mm:
19341 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Use WebFrame
19342 rather than bridge.
19344 * Plugins/WebNetscapePluginEmbeddedView.mm: Removed unneeded import.
19345 * Plugins/WebNetscapePluginStream.mm: Ditto.
19347 * Plugins/WebPluginContainerCheck.mm:
19348 (-[WebPluginContainerCheck _isForbiddenFileLoad]): Use WebFrame rather than
19349 bridge to get to the WebCore::Frame.
19351 * Plugins/WebPluginController.h: Declare webFrame method and remove bridge method.
19352 * Plugins/WebPluginController.mm:
19353 (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Use WebFrame
19354 rather than bridge.
19356 * WebCoreSupport/WebEditorClient.mm:
19357 (selectorForKeyEvent): Tweaked comment.
19359 * WebCoreSupport/WebFrameBridge.h: Removed.
19360 * WebCoreSupport/WebFrameBridge.mm: Removed.
19362 * WebCoreSupport/WebFrameLoaderClient.mm:
19363 (WebFrameLoaderClient::frameLoaderDestroyed): Removed bridge assertion.
19364 (WebFrameLoaderClient::detachedFromParent4): Removed bridge teardown code.
19365 I could remove this function entirely, but it looks like the Qt port is using it.
19367 * WebCoreSupport/WebViewFactory.mm: Removed unneeded import.
19369 * WebView/WebArchiver.mm:
19370 (+[WebArchiver archiveRange:]): Use WebFrame rather than bridge.
19371 (+[WebArchiver archiveNode:]): Ditto.
19372 (+[WebArchiver archiveSelectionInFrame:]): Ditto.
19374 * WebView/WebDataSource.mm:
19375 (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): Ditto.
19376 (-[WebDataSource _documentFragmentWithArchive:]): Ditto.
19377 (-[WebDataSource subresources]): Ditto.
19378 (-[WebDataSource subresourceForURL:]): Ditto.
19380 * WebView/WebDataSourceInternal.h: Removed _bridge method.
19382 * WebView/WebFrame.mm:
19383 (-[WebFramePrivate dealloc]): Removed code to release the bridge.
19384 (core): Go directly to the core frame, not via the bridge.
19385 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
19386 Remove the code to deal with the bridge.
19387 (-[WebFrame _initWithWebFrameView:webView:]): Ditto. Also added code to set the
19388 shouldCreateRenderers flag, formerly on the bridge.
19389 (-[WebFrame _updateBackground]): Change to call mehods on self, not bridge.
19390 (aeDescFromJSValue): Moved here from bridge.
19391 (-[WebFrame _domain]): Ditto.
19392 (-[WebFrame _addData:]): Ditto.
19393 (-[WebFrame _stringWithDocumentTypeStringAndMarkupString:]): Ditto.
19394 (-[WebFrame _nodesFromList:]): Ditto.
19395 (-[WebFrame _markupStringFromNode:nodes:]): Ditto.
19396 (-[WebFrame _markupStringFromRange:nodes:]): Ditto.
19397 (-[WebFrame _selectedString]): Ditto.
19398 (-[WebFrame _stringForRange:]): Ditto.
19399 (-[WebFrame _forceLayoutAdjustingViewSize:]): Ditto.
19400 (-[WebFrame _forceLayoutWithMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
19401 (-[WebFrame _sendScrollEvent]): Ditto.
19402 (-[WebFrame _drawRect:]): Ditto.
19403 (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]): Ditto.
19404 (-[WebFrame _adjustPageHeightNew:top:bottom:limit:]): Ditto.
19405 (-[WebFrame _copyRenderNode:copier:]): Ditto.
19406 (-[WebFrame _copyRenderTree:]): Ditto.
19407 (inputElementFromDOMElement): Ditto.
19408 (formElementFromDOMElement): Ditto.
19409 (-[WebFrame _elementWithName:inForm:]): Ditto.
19410 (-[WebFrame _elementDoesAutoComplete:]): Ditto.
19411 (-[WebFrame _elementIsPassword:]): Ditto.
19412 (-[WebFrame _formForElement:]): Ditto.
19413 (-[WebFrame _currentForm]): Ditto.
19414 (-[WebFrame _controlsInForm:]): Ditto.
19415 (-[WebFrame _searchForLabels:beforeElement:]): Ditto.
19416 (-[WebFrame _matchLabels:againstElement:]): Ditto.
19417 (-[WebFrame _URLWithAttributeString:]): Ditto.
19418 (-[WebFrame _searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
19419 (-[WebFrame _markAllMatchesForText:caseSensitive:limit:]): Ditto.
19420 (-[WebFrame _markedTextMatchesAreHighlighted]): Ditto.
19421 (-[WebFrame _setMarkedTextMatchesAreHighlighted:]): Ditto.
19422 (-[WebFrame _unmarkAllTextMatches]): Ditto.
19423 (-[WebFrame _rectsForTextMatches]): Ditto.
19424 (-[WebFrame _stringByEvaluatingJavaScriptFromString:]): Ditto.
19425 (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]): Ditto.
19426 (-[WebFrame _aeDescByEvaluatingJavaScriptFromString:]): Ditto.
19427 (-[WebFrame _caretRectAtNode:offset:affinity:]): Ditto.
19428 (-[WebFrame _firstRectForDOMRange:]): Ditto.
19429 (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
19430 (-[WebFrame _baseURL]): Ditto.
19431 (-[WebFrame _stringWithData:]): Ditto.
19432 (+[WebFrame _stringWithData:textEncodingName:]): Ditto.
19433 (-[WebFrame _needsLayout]): Ditto.
19434 (-[WebFrame _renderTreeAsExternalRepresentation]): Ditto.
19435 (-[WebFrame _accessibilityTree]): Ditto.
19436 (-[WebFrame _setBaseBackgroundColor:]): Ditto.
19437 (-[WebFrame _setDrawsBackground:]): Ditto.
19438 (-[WebFrame _rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
19440 (-[WebFrame _selectionGranularity]): Ditto.
19441 (-[WebFrame _convertToNSRange:]): Ditto.
19442 (-[WebFrame _convertToDOMRange:]): Ditto.
19443 (-[WebFrame _convertNSRangeToDOMRange:]): Ditto.
19444 (-[WebFrame _convertDOMRangeToNSRange:]): Ditto.
19445 (-[WebFrame _markDOMRange]): Ditto.
19446 (-[WebFrame _markedTextNSRange]): Ditto.
19447 (-[WebFrame _smartDeleteRangeForProposedRange:]): Ditto.
19448 (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
19449 (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Ditto.
19450 (-[WebFrame _documentFragmentWithText:inContext:]): Ditto.
19451 (-[WebFrame _documentFragmentWithNodesAsParagraphs:]): Ditto.
19452 (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]): Ditto.
19453 (-[WebFrame _replaceSelectionWithNode:selectReplacement:smartReplace:matchStyle:]): Ditto.
19454 (-[WebFrame _replaceSelectionWithMarkupString:baseURLString:selectReplacement:smartReplace:]): Ditto.
19455 (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
19456 (-[WebFrame _insertParagraphSeparatorInQuotedContent]): Ditto.
19457 (-[WebFrame _visiblePositionForPoint:]): Ditto.
19458 (-[WebFrame _characterRangeAtPoint:]): Ditto.
19459 (-[WebFrame _typingStyle]): Ditto.
19460 (-[WebFrame _setTypingStyle:withUndoAction:]): Ditto.
19461 (-[WebFrame _fontForSelection:]): Ditto.
19462 (-[WebFrame _dragSourceMovedTo:]): Ditto.
19463 (-[WebFrame _dragSourceEndedAt:operation:]): Ditto.
19464 (-[WebFrame _getData:andResponse:forURL:]): Ditto.
19465 (-[WebFrame _getAllResourceDatas:andResponses:]): Ditto.
19466 (-[WebFrame _canProvideDocumentSource]): Ditto.
19467 (-[WebFrame _canSaveAsWebArchive]): Ditto.
19468 (-[WebFrame _receivedData:textEncodingName:]): Ditto.
19469 (-[WebFrame _setShouldCreateRenderers:]): Put the code from the bridge in this preexisting
19470 function. Couldn't just keep the bridge method because this was already here with the same name.
19471 (-[WebFrame _selectedNSRange]): Ditto.
19472 (-[WebFrame _selectNSRange:]): Ditto.
19473 (-[WebFrame dealloc]): Remove bridge-related code.
19474 (-[WebFrame finalize]): Ditto.
19476 * WebView/WebFrameInternal.h: Added all the method declarations from the bridge.
19477 Removed the bridge parameter from the init method. Removed the #if blocks that
19478 tried to make this header work in non-C++ ObjC files -- they were broken and unused.
19479 Removed the _bridge method.
19481 * WebView/WebFrameView.mm: Removed the _bridge method.
19483 * WebView/WebHTMLRepresentation.mm:
19484 (-[WebHTMLRepresentation setDataSource:]): Removed the code to set up the bridge
19486 (-[WebHTMLRepresentation receivedData:withDataSource:]): Use WebFrame instead of bridge.
19487 (-[WebHTMLRepresentation finishedLoadingWithDataSource:]): Ditto.
19488 (-[WebHTMLRepresentation canProvideDocumentSource]): Ditto.
19489 (-[WebHTMLRepresentation canSaveAsWebArchive]): Ditto.
19490 (-[WebHTMLRepresentation documentSource]): Ditto.
19491 (-[WebHTMLRepresentation DOMDocument]): Ditto.
19492 (-[WebHTMLRepresentation elementWithName:inForm:]): Ditto.
19493 (-[WebHTMLRepresentation elementDoesAutoComplete:]): Ditto.
19494 (-[WebHTMLRepresentation elementIsPassword:]): Ditto.
19495 (-[WebHTMLRepresentation formForElement:]): Ditto.
19496 (-[WebHTMLRepresentation currentForm]): Ditto.
19497 (-[WebHTMLRepresentation controlsInForm:]): Ditto.
19498 (-[WebHTMLRepresentation searchForLabels:beforeElement:]): Ditto.
19499 (-[WebHTMLRepresentation matchLabels:againstElement:]): Ditto.
19501 * WebView/WebHTMLRepresentationPrivate.h: Removed the _bridge method.
19503 * WebView/WebHTMLView.mm:
19504 (-[WebHTMLView _documentFragmentWithPaths:]): Use WebFrame instead of bridge.
19505 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]): Ditto.
19506 (-[WebHTMLView _pasteAsPlainTextWithPasteboard:]): Ditto.
19507 (-[WebHTMLView _updateTextSizeMultiplier]): Ditto.
19508 (-[WebHTMLView _frameOrBoundsChanged]): Ditto.
19509 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Ditto.
19510 (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto.
19511 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Ditto.
19512 (-[WebHTMLView drawSingleRect:]): Ditto.
19513 (-[WebHTMLView draggedImage:movedTo:]): Ditto.
19514 (-[WebHTMLView draggedImage:endedAt:operation:]): Ditto.
19515 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Ditto.
19516 (-[WebHTMLView knowsPageRange:]): Ditto.
19517 (-[WebHTMLView accessibilityAttributeValue:]): Ditto.
19518 (-[WebHTMLView accessibilityFocusedUIElement]): Ditto.
19519 (-[WebHTMLView accessibilityHitTest:]): Ditto.
19520 (-[WebHTMLView _accessibilityParentForSubview:]): Ditto.
19521 (-[WebHTMLView changeDocumentBackgroundColor:]): Ditto.
19522 (-[WebHTMLView _changeWordCaseWithSelector:]): Ditto.
19523 (-[WebHTMLView _changeSpellingToWord:]): Ditto.
19524 (-[WebHTMLView startSpeaking:]): Ditto.
19525 (-[WebHTMLView _updateFontPanel]): Ditto.
19526 (-[WebHTMLView _canSmartCopyOrDelete]): Ditto.
19527 (-[WebHTMLView _layoutIfNeeded]): Ditto.
19528 (-[WebHTMLView characterIndexForPoint:]): Ditto.
19529 (-[WebHTMLView firstRectForCharacterRange:]): Ditto.
19530 (-[WebHTMLView selectedRange]): Ditto.
19531 (-[WebHTMLView markedRange]): Ditto.
19532 (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
19533 (-[WebHTMLView setMarkedText:selectedRange:]): Ditto.
19534 (-[WebHTMLView insertText:]): Ditto.
19535 (-[WebTextCompleteController _insertMatch:]): Ditto.
19536 (-[WebTextCompleteController doCompletion]): Ditto.
19537 (-[WebTextCompleteController endRevertingChange:moveLeft:]): Ditto.
19538 (-[WebHTMLView string]): Ditto.
19539 (-[WebHTMLView selectedString]): Ditto.
19540 (-[WebHTMLView searchFor:direction:caseSensitive:wrap:startInSelection:]): Ditto.
19541 (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]): Ditto.
19542 (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]): Ditto.
19543 (-[WebHTMLView markedTextMatchesAreHighlighted]): Ditto.
19544 (-[WebHTMLView unmarkAllTextMatches]): Ditto.
19545 (-[WebHTMLView rectsForTextMatches]): Ditto.
19546 * WebView/WebRenderNode.mm:
19547 (-[WebRenderNode initWithWebFrameView:]): Ditto.
19548 * WebView/WebResource.mm:
19549 (-[WebResource _stringValue]): Ditto.
19551 * WebView/WebScriptDebugDelegate.mm: Removed unneeded include.
19553 * WebView/WebView.mm:
19554 (-[WebView _dashboardRegions]): Use WebFrame instead of bridge.
19555 (-[WebView setProhibitsMainFrameScrolling:]): Ditto.
19556 (-[WebView _setInViewSourceMode:]): Ditto.
19557 (-[WebView _inViewSourceMode]): Ditto.
19558 (-[WebView _executeCoreCommandByName:value:]): Ditto.
19559 (-[WebView stringByEvaluatingJavaScriptFromString:]): Ditto.
19560 (-[WebView aeDescByEvaluatingJavaScriptFromString:]): Ditto.
19561 (-[WebView scrollDOMRangeToVisible:]): Ditto.
19562 (-[WebView setSelectedDOMRange:affinity:]): Ditto.
19563 (-[WebView setEditable:]): Ditto.
19564 (-[WebView setTypingStyle:]): Ditto.
19565 (-[WebView typingStyle]): Ditto.
19566 (-[WebView replaceSelectionWithNode:]): Ditto.
19567 (-[WebView replaceSelectionWithText:]): Ditto.
19568 (-[WebView replaceSelectionWithMarkupString:]): Ditto.
19569 (-[WebView replaceSelectionWithArchive:]): Ditto.
19570 (-[WebView _insertNewlineInQuotedContent]): Ditto.
19571 (-[WebView _replaceSelectionWithNode:matchStyle:]): Ditto.
19573 2008-03-12 David Hyatt <hyatt@apple.com>
19575 Make the zoom factor a float and not a percent.
19579 * WebView/WebView.mm:
19580 (-[WebView _setZoomMultiplier:isTextOnly:]):
19582 2008-03-11 David Hyatt <hyatt@apple.com>
19584 This patch prepares Mac WebKit to handle two different zooming modes (full page zoom and text only zoom).
19585 New API is added that is parallel to the text zoom public API. You can get/set a pageSizeMultiplier and you
19586 can zoom the page in, out or reset it to the standard size.
19588 In the implementation only one zoom factor is stored, and setting one multiplier will shift you into that mode
19589 and set the common zoom factor. In other words you can't combine text zoom and page zoom. One will always
19594 * WebCoreSupport/WebFrameBridge.mm:
19595 (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
19596 * WebView/WebDocumentInternal.h:
19597 * WebView/WebHTMLView.mm:
19598 (-[WebHTMLView viewDidMoveToSuperview]):
19599 * WebView/WebPDFView.h:
19600 * WebView/WebPDFView.mm:
19601 (-[WebPDFView _zoomOut:]):
19602 (-[WebPDFView _zoomIn:]):
19603 (-[WebPDFView _resetZoom:]):
19604 (-[WebPDFView _canZoomOut]):
19605 (-[WebPDFView _canZoomIn]):
19606 (-[WebPDFView _canResetZoom]):
19607 * WebView/WebView.mm:
19608 (-[WebViewPrivate init]):
19609 (-[WebView setTextSizeMultiplier:]):
19610 (-[WebView textSizeMultiplier]):
19611 (-[WebView _setZoomMultiplier:isTextOnly:]):
19612 (-[WebView _zoomMultiplier:]):
19613 (-[WebView _realZoomMultiplier]):
19614 (-[WebView _realZoomMultiplierIsTextOnly]):
19615 (-[WebView _canZoomOut:]):
19616 (-[WebView _canZoomIn:]):
19617 (-[WebView _zoomOut:isTextOnly:]):
19618 (-[WebView _zoomIn:isTextOnly:]):
19619 (-[WebView _canResetZoom:]):
19620 (-[WebView _resetZoom:isTextOnly:]):
19621 (-[WebView canMakeTextSmaller]):
19622 (-[WebView makeTextSmaller:]):
19623 (-[WebView canMakeTextLarger]):
19624 (-[WebView makeTextLarger:]):
19625 (-[WebView canMakeTextStandardSize]):
19626 (-[WebView makeTextStandardSize:]):
19627 (-[WebView setPageSizeMultiplier:]):
19628 (-[WebView pageSizeMultiplier]):
19629 (-[WebView canZoomPageIn]):
19630 (-[WebView zoomPageIn:]):
19631 (-[WebView canZoomPageOut]):
19632 (-[WebView zoomPageOut:]):
19633 (-[WebView canResetPageZoom]):
19634 (-[WebView resetPageZoom:]):
19635 (-[WebView _searchWithSpotlightFromMenu:]):
19636 * WebView/WebViewInternal.h:
19637 * WebView/WebViewPrivate.h:
19639 2008-03-12 Dan Bernstein <mitz@apple.com>
19641 Reviewed by Darin Adler and Sam Weinig.
19643 - <rdar://problem/4433248> use CoreText API instead of SPI on Leopard
19645 * WebCoreSupport/WebSystemInterface.m:
19646 (InitWebCoreSystemInterface): Made WKGetCGFontFromNSFont and
19647 WKGetNSFontATSUFontId Tiger-only.
19649 2008-03-12 Darin Adler <darin@apple.com>
19651 - fix http://bugs.webkit.org/show_bug.cgi?id=17794
19652 REGRESSION (r30980): 23 tests hanging on the Mac buildbot
19654 * WebView/WebFrame.mm:
19655 (-[WebFrame _initWithWebFrameView:webView:bridge:]): Added missing call to set
19656 up pointer from the bridge to the frame. (My next check-in removes the bridge
19657 entirely, but we need this until then.)
19659 2008-03-11 Darin Adler <darin@apple.com>
19663 - remove all bridge-related things from WebCore except the bridge itself
19665 * DOM/WebDOMOperations.mm:
19666 (-[DOMNode _bridge]): Reimplemented to not use the bridgeForDOMDocument: method.
19668 * DefaultDelegates/WebDefaultContextMenuDelegate.mm: Removed unneeded include.
19670 * Plugins/WebPluginController.mm: Ditto.
19672 * WebCoreSupport/WebFrameBridge.h: Removed unneeded things, including the
19673 init and close methods. Added a setWebFrame: method.
19675 * WebCoreSupport/WebFrameBridge.mm:
19676 (-[WebFrameBridge setWebFrame:]): Added.
19678 * WebCoreSupport/WebFrameLoaderClient.mm:
19679 (WebFrameLoaderClient::frameLoaderDestroyed): Added an assertion.
19680 (WebFrameLoaderClient::detachedFromParent4): Moved the call to close on the
19681 bridge here. Soon we will be able to remove this entirely!
19682 (WebFrameLoaderClient::createFrame): Rewrote this to use the method moved
19683 into WebFrame from the bridge.
19685 * WebView/WebFrame.mm:
19686 (-[WebFramePrivate dealloc]): Added code to release the bridge, because it's
19687 now owned by the frame.
19688 (-[WebFramePrivate finalize]): Added this missing method. We'd leak the script
19689 debugger under GC without this!
19690 (kit): Rewrote the function that maps from a WebCore::Frame to a WebFrame to
19691 use WebFrameLoaderClient instead of the bridge.
19692 (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]): Added.
19693 This is code that used to live in the bridge's init function.
19694 (+[WebFrame _createMainFrameWithPage:frameName:frameView:]): Ditto.
19695 (+[WebFrame WebCore::_createSubframeWithOwnerElement:frameName:frameView:]): Ditto.
19696 (-[WebFrame _initWithWebFrameView:webView:bridge:]): Retain the bridge, since
19697 the WebView is now the bridge's owner.
19698 (-[WebFrame _updateBackground]): Changed this one call site that was calling the
19699 WebCore::Frame::bridge function directly to use the kit function instead.
19700 (-[WebFrame dealloc]): Added code to clear the WebFrame pointer in the bridge.
19701 This code won't last long -- we're eliminating the bridge soon.
19702 (-[WebFrame finalize]): Ditto.
19704 * WebView/WebFrameInternal.h: Added a coreFrame backpointer and two new methods
19705 for creating frames.
19707 * WebView/WebView.mm:
19708 (-[WebView _commonInitializationWithFrameName:groupName:]): Rewrote this to use
19709 the method moved into WebFrame from the bridge. Gets rid of the unpleasant idiom
19710 where we have to allocate a WebFrameBridge and then immediately release it.
19712 2008-03-11 Darin Adler <darin@apple.com>
19714 Reviewed by Anders.
19716 - remove code depending on the bridge to get from an NSView to a WebCore::Frame
19718 * WebCoreSupport/WebFrameLoaderClient.mm:
19719 (WebFrameLoaderClient::transitionToCommittedForNewPage): Remove incorrect call
19720 to setView. A couple lines later, there is a call to _install, which sets the
19721 view to the scroll view.
19723 * WebCoreSupport/WebViewFactory.mm: Removed bridgeForView method.
19725 * WebView/WebDynamicScrollBarsView.h: Moved most of the declarations out of
19726 this file, since it's used by Safari.
19727 * WebView/WebDynamicScrollBarsViewInternal.h: Added.
19728 * WebView/WebDynamicScrollBarsView.m:
19729 (-[WebDynamicScrollBarsView updateScrollers]): Ditto.
19730 (-[WebDynamicScrollBarsView setAllowsScrolling:]): Ditto.
19731 (-[WebDynamicScrollBarsView allowsScrolling]): Ditto.
19732 (-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]): Ditto.
19733 (-[WebDynamicScrollBarsView setAllowsVerticalScrolling:]): Ditto.
19734 (-[WebDynamicScrollBarsView allowsHorizontalScrolling]): Ditto.
19735 (-[WebDynamicScrollBarsView allowsVerticalScrolling]): Ditto.
19736 (-[WebDynamicScrollBarsView horizontalScrollingMode]): Ditto.
19737 (-[WebDynamicScrollBarsView verticalScrollingMode]): Ditto.
19738 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:]): Ditto.
19739 (-[WebDynamicScrollBarsView setHorizontalScrollingMode:andLock:]): Ditto.
19740 (-[WebDynamicScrollBarsView setVerticalScrollingMode:]): Ditto.
19741 (-[WebDynamicScrollBarsView setVerticalScrollingMode:andLock:]): Ditto.
19742 (-[WebDynamicScrollBarsView setScrollingMode:]): Ditto.
19743 (-[WebDynamicScrollBarsView setScrollingMode:andLock:]): Ditto.
19745 * WebView/WebFrameView.mm:
19746 (-[WebFrameView _web_frame]): Added. Replaces the webCoreBridge method.
19748 * WebView/WebView.mm:
19749 (-[WebView setAlwaysShowVerticalScroller:]): Updated for changes to WebCoreFrameView.h.
19750 (-[WebView alwaysShowVerticalScroller]): Ditto.
19751 (-[WebView setAlwaysShowHorizontalScroller:]): Ditto.
19752 (-[WebView alwaysShowHorizontalScroller]): Ditto.
19754 2008-03-11 Darin Adler <darin@apple.com>
19758 - eliminate the remaining parts of WebCoreBridge used for calls to WebKit from WebCore
19760 * WebCoreSupport/WebChromeClient.h: Added new virtual functions that replace
19762 * WebCoreSupport/WebChromeClient.mm: Added lots of BEGIN_BLOCK_OBJC_EXCEPTIONS
19763 to recently-created functions.
19764 (WebChromeClient::firstResponder): Moved code here from the bridge.
19765 (WebChromeClient::makeFirstResponder): Ditto.
19766 (WebChromeClient::runOpenPanel): Ditto.
19767 (WebChromeClient::willPopUpMenu): Ditto.
19769 * WebCoreSupport/WebFrameBridge.h: Removed almost everything. What's left
19770 is related to creating the bridge and connecting it to WebCore, which will
19771 go next when I eliminate use of the bridge to get to/from the Frame*.
19772 * WebCoreSupport/WebFrameBridge.mm:
19773 (-[WebFrameBridge close]): Moved the code to track the bridge count here
19774 instead of the dealloc and finalize methods.
19776 2008-03-11 Darin Adler <darin@apple.com>
19780 - update code affected by Range changes
19782 * Misc/WebNSAttributedStringExtras.mm:
19783 (+[NSAttributedString _web_attributedStringFromRange:]): Update for name changes.
19784 * WebView/WebHTMLRepresentation.mm:
19785 (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
19787 * WebView/WebHTMLView.mm:
19788 (-[WebHTMLView attributedString]): Ditto.
19790 2008-03-10 Darin Adler <darin@apple.com>
19794 - eliminate keyboard UI mode method from WebCoreFrameBridge
19796 * WebCoreSupport/WebChromeClient.h: Added keyboardUIMode function.
19797 * WebCoreSupport/WebChromeClient.mm:
19798 (WebChromeClient::keyboardUIMode): Ditto. Calls WebView.
19799 * WebCoreSupport/WebFrameBridge.h: Removed unused things, including the
19800 fields for keyboard UI mode.
19801 * WebCoreSupport/WebFrameBridge.mm:
19802 (-[WebFrameBridge dealloc]): Removed unneeded code; eliminated the fini
19804 (-[WebFrameBridge finalize]): Ditto.
19805 * WebView/WebView.mm: Moved the keyboard mode code in here.
19806 (-[WebView _close]): Remove observer from the distributed notification
19807 center as well as the normal one.
19808 (-[WebView _retrieveKeyboardUIModeFromPreferences:]): Added. Code moved
19809 here from the bridge.
19810 (-[WebView _keyboardUIMode]): Ditto.
19811 * WebView/WebViewInternal.h: Added _keyboardUIMode method.
19813 2008-03-10 Darin Adler <darin@apple.com>
19817 - eliminate Java applet methods from WebCoreFrameBridge
19819 * WebCoreSupport/WebChromeClient.mm: Removed unneeded headers and declarations.
19820 * WebCoreSupport/WebFrameBridge.mm: Ditto. Also removed unneeded methods, including
19821 the ones that load Java applets.
19822 * WebCoreSupport/WebFrameLoaderClient.h: Added javaApplet function.
19823 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
19825 2008-03-07 Simon Hausmann <hausmann@webkit.org>
19827 Reviewed by Darin Adler.
19831 Simplified WebViewFactory's refreshPlugins method to only refresh the
19832 plugins and not reload the frames anymore since that's now done in a
19833 platform independent manner by WebCore::Page.
19835 Also removed the now unused pluginNameForMIMEType and
19836 pluginSupportsMIMEType methods.
19838 * WebCoreSupport/WebViewFactory.mm:
19839 * WebView/WebFrame.mm:
19840 * WebView/WebFrameInternal.h:
19841 * WebView/WebView.mm:
19843 2008-03-08 Mark Rowe <mrowe@apple.com>
19845 Reviewed by Darin Adler.
19847 Fix 64-bit build with GCC 4.2.
19849 * DefaultDelegates/WebDefaultScriptDebugDelegate.m: Use NSUInteger in place of unsigned where required.
19850 * DefaultDelegates/WebDefaultUIDelegate.m: Ditto.
19851 * History/WebHistoryItem.mm: Ditto.
19852 * Misc/WebElementDictionary.mm: Ditto.
19853 * WebCoreSupport/WebFrameLoaderClient.mm:
19854 (WebFrameLoaderClient::objectContentType): Move variable declaration outside of if to avoid warning about the
19855 variable being unused in 64-bit.
19856 * WebCoreSupport/WebInspectorClient.mm: Use NSUInteger in place of unsigned where required.
19857 * WebView/WebHTMLView.mm:
19858 (-[WebHTMLView adjustPageHeightNew:top:bottom:limit:]): Use CGFloat in place of float where required.
19859 (-[WebTextCompleteController numberOfRowsInTableView:]): Use NSInteger in place of int where required.
19861 2008-03-08 Darin Adler <darin@apple.com>
19865 - eliminate custom highlight methods from WebCoreFrameBridge
19867 * WebCoreSupport/WebChromeClient.h: Added custom highlight functions.
19868 * WebCoreSupport/WebChromeClient.mm:
19869 (WebChromeClient::customHighlightRect): Moved code here from bridge.
19870 (WebChromeClient::paintCustomHighlight): Ditto.
19871 * WebCoreSupport/WebFrameBridge.mm: Removed code here.
19873 2008-03-07 David D. Kilzer <ddkilzer@apple.com>
19875 Unify concept of enabling Netscape Plug-in API (NPAPI).
19877 Reviewed by Darin Adler.
19879 * WebKit.exp: Removed unused class export for WebBaseNetscapePluginView.
19881 * WebKitPrefix.h: Removed WTF_USE_NPOBJECT since we now use
19882 ENABLE(NETSCAPE_PLUGIN_API) as defined in Platform.h.
19884 * Plugins/WebBaseNetscapePluginStream.h: Replaced #ifndef __LP64__ with
19885 #if ENABLE(NETSCAPE_PLUGIN_API).
19886 * Plugins/WebBaseNetscapePluginStream.mm: Ditto.
19887 * Plugins/WebBaseNetscapePluginView.h: Ditto.
19888 * Plugins/WebBaseNetscapePluginView.mm: Ditto.
19889 * Plugins/WebBaseNetscapePluginViewInternal.h: Ditto.
19890 * Plugins/WebBaseNetscapePluginViewPrivate.h: Ditto.
19891 * Plugins/WebBasePluginPackage.h: Ditto.
19892 * Plugins/WebBasePluginPackage.m: Ditto.
19893 (+[WebBasePluginPackage pluginWithPath:]):
19894 * Plugins/WebNetscapeDeprecatedFunctions.c: Ditto.
19895 * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
19896 * Plugins/WebNetscapePluginEmbeddedView.h: Ditto.
19897 * Plugins/WebNetscapePluginEmbeddedView.mm: Ditto.
19898 * Plugins/WebNetscapePluginPackage.h: Ditto.
19899 * Plugins/WebNetscapePluginPackage.m: Ditto.
19900 * Plugins/WebNetscapePluginStream.h: Ditto.
19901 * Plugins/WebNetscapePluginStream.mm: Ditto.
19902 * Plugins/WebPluginDatabase.m: Ditto.
19903 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]):
19904 * Plugins/npapi.m: Ditto.
19905 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
19906 (WebFrameLoaderClient::objectContentType):
19907 (WebFrameLoaderClient::createPlugin):
19908 * WebView/WebHTMLView.mm: Ditto.
19909 (-[NSArray _web_makePluginViewsPerformSelector:withObject:]):
19910 * WebView/WebHTMLViewInternal.h: Ditto.
19912 * WebView/WebFrame.mm: Replaced #ifndef __LP64__ with
19913 #if ENABLE(NETSCAPE_PLUGIN_API). Moved methods below from (WebPrivate)
19914 category to (WebInternal) category so we don't expose the ENABLE() macro
19915 from the private header.
19916 (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
19917 (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
19918 * WebView/WebFrameInternal.h: Ditto.
19919 * WebView/WebFramePrivate.h: Ditto.
19921 2008-03-07 Alexey Proskuryakov <ap@webkit.org>
19923 Reviewed by Darin Adler.
19925 <rdar://problem/5579292> REGRESSION: (safari 2-3): "Default default" encoding for Korean
19926 changed from Korean (Windows, DOS) to Korean (ISO 2022-KR), which breaks some sites
19928 * WebView/WebPreferences.m:
19929 (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Make encoding name match
19930 the one used in Safari.
19932 2008-03-07 Mark Rowe <mrowe@apple.com>
19934 Reviewed by Oliver Hunt.
19936 Fix WebKit build with GCC 4.2.
19938 * Plugins/WebBaseNetscapePluginView.mm: Use the correct return type in method signature.
19940 2008-03-07 Darin Adler <darin@apple.com>
19944 - eliminated WebCoreFrameBridge runOpenPanel
19946 * WebCoreSupport/WebChromeClient.h: Added runOpenPanel.
19947 * WebCoreSupport/WebChromeClient.mm:
19948 (WebChromeClient::runOpenPanel): Added.
19949 (-[WebOpenPanelResultListener initWithChooser:]): Added. Used to wrap the
19950 FileChooser so it can get a result from the UI delegate.
19951 (-[WebOpenPanelResultListener dealloc]): Added.
19952 (-[WebOpenPanelResultListener finalize]): Added.
19953 (-[WebOpenPanelResultListener cancel]): Added.
19954 (-[WebOpenPanelResultListener chooseFilename:]): Added.
19956 2008-03-06 Darin Adler <darin@apple.com>
19960 - fix regression test failures from the visited-link change
19962 * History/WebHistory.mm:
19963 (+[WebHistory setOptionalSharedHistory:]): Call PageGroup::setShouldTrackVisitedLinks
19964 to turn off visited links if there is no history object. Also call
19965 removeAllVisitedLinks so we can start over from scratch with the new history.
19967 2008-03-06 Dan Bernstein <mitz@apple.com>
19969 Reviewed by Darin Adler.
19971 - fix a regression from r30741: a crash under
19972 WebFrameLoaderClient::createPlugin() when showing a Mail message with
19975 * WebCoreSupport/WebFrameLoaderClient.mm:
19976 (WebFrameLoaderClient::createPlugin):
19978 2008-03-06 Darin Adler <darin@apple.com>
19982 * History/WebHistory.mm: Added include of WebTypesInternal.h.
19984 2008-03-06 Darin Adler <darin@apple.com>
19986 - fix Release build
19988 * History/WebHistory.mm:
19989 (-[WebHistoryPrivate setLastVisitedTimeInterval:forItem:]): Removed underscore.
19990 (-[WebHistoryPrivate loadFromURL:collectDiscardedItemsInto:error:]): Added #if.
19991 (-[WebHistoryPrivate saveToURL:error:]): Ditto.
19993 2008-03-06 Darin Adler <darin@apple.com>
19997 - fix http://bugs.webkit.org/show_bug.cgi?id=17526
19998 REGRESSION: iframes are added to Safari's History menu
19999 by separating the visited link machinery from global history
20001 * History/WebHistory.mm: Moved WebHistoryPrivate inside this file.
20002 (-[WebHistoryPrivate removeItemFromDateCaches:]): Removed the underscore from this
20003 method name, since it's on a private object.
20004 (-[WebHistoryPrivate removeItemForURLString:]): Added a call to the
20005 PageGroup::removeAllVisitedLinks function if the last URL was removed.
20006 (-[WebHistoryPrivate addItemToDateCaches:]): Removed the underscore from this
20007 method name, since it's on a private object.
20008 (-[WebHistoryPrivate removeAllItems]): Call PageGroup::removeAllVisitedLinks.
20009 (-[WebHistoryPrivate ageLimitDate]): Removed the underscore from this
20010 method name, since it's on a private object.
20011 (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
20013 (-[WebHistoryPrivate saveHistoryGuts:URL:error:]): Ditto. Also changed this
20014 to correctly return the error by using the newer version of writeToURL: and
20015 removed the FIXME about that.
20016 (-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Added. Calls addVisitedLink
20017 for every link in the history.
20018 (-[WebHistory saveToURL:error:]): Removed the FIXME, since we do get the error now.
20019 (-[WebHistory addItem:]): Moved into the WebPrivate category.
20020 (-[WebHistory addItemForURL:]): Ditto.
20021 (-[WebHistory _addItemForURL:title:]): Added. Used for the normal case where we
20022 create an item and already know its title.
20023 (-[WebHistory ageLimitDate]): Moved into the WebPrivate category.
20024 (-[WebHistory containsItemForURLString:]): Ditto.
20025 (-[WebHistory removeItem:]): Ditto.
20026 (-[WebHistory setLastVisitedTimeInterval:forItem:]): Ditto.
20027 (-[WebHistory _itemForURLString:]): Ditto.
20028 (-[WebHistory _addVisitedLinksToPageGroup:]): Added. For use only inside WebKit.
20030 * History/WebHistoryInternal.h: Added.
20031 * History/WebHistoryItemInternal.h: Tweaked formatting and includes.
20032 * History/WebHistoryPrivate.h: Moved the WebHistoryPrivate class out of this header.
20033 Also reorganized what was left behind.
20035 * WebCoreSupport/WebChromeClient.h: Added populateVisitedLinks.
20036 * WebCoreSupport/WebChromeClient.mm:
20037 (WebChromeClient::populateVisitedLinks): Added a call to the new
20038 -[WebHistory _addVisitedLinksToPageGroup:] method.
20040 * WebCoreSupport/WebFrameLoaderClient.mm:
20041 (WebFrameLoaderClient::updateGlobalHistory): Changed code to use the new
20042 -[WebHistory _addItemForURL:title:] method.
20044 2008-03-05 Adam Roben <aroben@apple.com>
20046 Rename WebCoreScriptDebuggerImp.{h,mm} to WebScriptDebugger.{h,mm}
20048 Reviewed by Kevin M.
20050 * WebView/WebFrame.mm:
20051 * WebView/WebScriptDebugDelegate.mm:
20052 * WebView/WebScriptDebugger.h: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.h.
20053 * WebView/WebScriptDebugger.mm: Renamed from WebKit/mac/WebView/WebCoreScriptDebuggerImp.mm.
20055 2008-03-05 Adam Roben <aroben@apple.com>
20057 Rename WebCoreScriptDebuggerImp to WebScriptDebugger
20059 Reviewed by Kevin M.
20061 * WebView/WebCoreScriptDebuggerImp.h:
20062 * WebView/WebCoreScriptDebuggerImp.mm:
20063 * WebView/WebFrame.mm:
20064 (-[WebFrame _attachScriptDebugger]):
20065 * WebView/WebFrameInternal.h:
20067 2008-03-05 Adam Roben <aroben@apple.com>
20069 Remove WebScriptDebugger
20071 Uses of WebScriptDebugger have been replaced with
20072 WebCoreScriptDebuggerImp.
20074 Reviewed by Kevin M.
20076 * WebView/WebFrame.mm:
20077 (-[WebFramePrivate dealloc]): Use delete instead of release since
20078 WebCoreScriptDebuggerImp is a C++ class.
20079 (-[WebFrame _attachScriptDebugger]): Updated to use early returns and
20080 WebCoreScriptDebuggerImp.
20081 (-[WebFrame _detachScriptDebugger]): Ditto.
20082 * WebView/WebFrameInternal.h:
20083 * WebView/WebScriptDebugDelegate.mm: Removed WebScriptDebugger
20084 * WebView/WebScriptDebugDelegatePrivate.h: Removed.
20085 * WebView/WebView.mm:
20087 2008-03-05 Adam Roben <aroben@apple.com>
20089 Remove -webFrame and -globalObject from WebScriptDebugger
20091 WebCoreScriptDebuggerImp is now unaware of WebScriptDebugger
20093 Reviewed by Kevin M.
20095 * WebView/WebCoreScriptDebuggerImp.h: Removed WebScriptDebugger*
20096 parameter to the constructor.
20097 * WebView/WebCoreScriptDebuggerImp.mm:
20098 (toWebFrame): Added.
20099 (WebCoreScriptDebuggerImp::sourceParsed): Call toWebFrame.
20100 (WebCoreScriptDebuggerImp::callEvent): Ditto, and get the Frame's
20101 WindowScriptObject ourselves instead of asking WebScriptDebugger for
20103 (WebCoreScriptDebuggerImp::atStatement): Call toWebFrame.
20104 (WebCoreScriptDebuggerImp::returnEvent): Ditto.
20105 (WebCoreScriptDebuggerImp::exception): Ditto.
20106 * WebView/WebScriptDebugDelegate.mm:
20107 (-[WebScriptDebugger initWithWebFrame:]): Updated for change to
20108 WebScriptDebuggerImp's constructor.
20109 * WebView/WebScriptDebugDelegatePrivate.h: Removed
20110 -webFrame/-globalObject.
20112 2008-03-05 Adam Roben <aroben@apple.com>
20114 Remove -enterFrame: and -leaveFrame from WebScriptDebugger
20116 Reviewed by Kevin M.
20118 * WebView/WebCoreScriptDebuggerImp.h: Changed to store m_topCallFrame
20119 in a RetainPtr, now that WebCoreScriptDebuggerImp is in charge of its
20121 * WebView/WebCoreScriptDebuggerImp.mm:
20122 - Added declaration of -[WebScriptCallFrame
20123 _initWithGlobalObject:caller:state:].
20124 - Changed most uses of m_topCallFrame to m_topCallFrame.get()
20125 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Removed
20126 now-unnecessary initialization of m_topCallFrame.
20127 (WebCoreScriptDebuggerImp::callEvent): Replaced call to enterFrame:
20128 with its implementation. The one difference between this
20129 implementation and the old enterFrame: method is that we don't hand
20130 our reference to m_topCallFrame to _initWithGlobalObject: -- that
20131 method must now retain the passed-in WebScriptCallFrame manually.
20132 (WebCoreScriptDebuggerImp::atStatement):
20133 (WebCoreScriptDebuggerImp::returnEvent): Replaced call to leaveFrame
20134 with its implementation.
20135 (WebCoreScriptDebuggerImp::exception):
20136 * WebView/WebScriptDebugDelegate.mm: Removed declaration of
20137 -[WebScriptCallFrame _initWithGlobalObject:caller:state:].
20138 (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Changed
20139 to retain the passed-in caller.
20140 * WebView/WebScriptDebugDelegatePrivate.h:
20141 - Removed _current ivar
20142 - Removed enterFrame:/leaveFrame declarations.
20144 2008-03-05 Adam Roben <aroben@apple.com>
20146 Remove -parsedSource: from WebScriptDebugger
20148 Reviewed by Kevin M.
20150 * WebView/WebCoreScriptDebuggerImp.mm:
20151 (WebCoreScriptDebuggerImp::sourceParsed): Moved code here from
20152 -[WebScriptDebugger parsedSource:fromURL:sourceId:startLine:errorLine:errorMessage:]
20153 * WebView/WebScriptDebugDelegate.mm: Removed -parsedSource:.
20154 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
20156 2008-03-05 Adam Roben <aroben@apple.com>
20158 Remove -enteredFrame:, -leavingFrame:, and -exceptionRaised: from WebScriptDebugger
20160 Reviewed by Kevin M.
20162 * WebView/WebCoreScriptDebuggerImp.mm:
20163 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp): Changed to call
20164 trhough to callEvent instead of duplicating its code here.
20165 (WebCoreScriptDebuggerImp::callEvent): Moved code from
20166 -[WebScriptDebugger enteredFrame:sourceId:line:] here.
20167 (WebCoreScriptDebuggerImp::returnEvent): Moved code from
20168 -[WebScriptDebugger leavingFrame:sourceId:line:] here.
20169 (WebCoreScriptDebuggerImp::exception): Moved code from
20170 -[WebScriptDebugger exceptionRaised:sourceId:line:] here.
20171 * WebView/WebScriptDebugDelegate.mm: Removed -enteredFrame:,
20172 -leavingFrame:, and -exceptionRaised:.
20173 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
20175 2008-03-05 Adam Roben <aroben@apple.com>
20177 Remove -[WebScriptDebugger hitStatement:sourceId:line:]
20179 Reviewed by Kevin M.
20181 * WebView/WebCoreScriptDebuggerImp.mm:
20182 (WebCoreScriptDebuggerImp::atStatement): Moved code here from
20183 -[WebScriptDebugger hitStatement:sourceId:line:].
20184 * WebView/WebScriptDebugDelegate.mm:
20185 (-[WebScriptDebugger webFrame]): Added.
20186 * WebView/WebScriptDebugDelegatePrivate.h:
20188 2008-03-05 Adam Roben <aroben@apple.com>
20190 Remove WebCoreScriptDebugger
20192 Reviewed by Kevin M.
20194 * WebView/WebCoreScriptDebugger.h: Removed.
20195 * WebView/WebCoreScriptDebugger.mm: Removed.
20196 * WebView/WebCoreScriptDebuggerImp.h: Replaced WebCoreScriptDebugger
20197 with WebScriptDebugger.
20198 * WebView/WebCoreScriptDebuggerImp.mm: Ditto, and replaced [m_debugger
20199 delegate] with just m_debugger.
20200 (toNSString): Moved here from WebCoreScriptDebugger.mm.
20202 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
20203 (WebCoreScriptDebuggerImp::sourceParsed):
20204 (WebCoreScriptDebuggerImp::callEvent):
20205 (WebCoreScriptDebuggerImp::atStatement):
20206 (WebCoreScriptDebuggerImp::returnEvent):
20207 (WebCoreScriptDebuggerImp::exception):
20208 * WebView/WebScriptDebugDelegate.mm:
20209 (-[WebScriptDebugger initWithWebFrame:]): _debugger now holds a
20210 WebCoreScriptDebuggerImp, so initialize it properly.
20211 * WebView/WebScriptDebugDelegatePrivate.h: Changed _debugger to hold a
20212 WebCoreScriptDebuggerImp.
20214 2008-03-05 Adam Roben <aroben@apple.com>
20216 Move WebCoreScriptDebuggerImp to its own source files
20218 Also changed WebCoreScriptDebuggerImp coding style to match our style
20221 Reviewed by Kevin M.
20223 * WebView/WebCoreScriptDebugger.h: Added declaration of toNSURL
20225 * WebView/WebCoreScriptDebugger.mm: Removed WebCoreScriptDebuggerImp
20227 (toNSURL): Made no longer static.
20228 * WebView/WebCoreScriptDebuggerImp.h: Added.
20229 * WebView/WebCoreScriptDebuggerImp.mm: Added. Code was moved here from
20230 WebCoreScriptDebugger.mm and cleaned up.
20231 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
20232 (WebCoreScriptDebuggerImp::sourceParsed):
20233 (WebCoreScriptDebuggerImp::callEvent):
20234 (WebCoreScriptDebuggerImp::atStatement):
20235 (WebCoreScriptDebuggerImp::returnEvent):
20236 (WebCoreScriptDebuggerImp::exception):
20238 2008-03-05 Adam Roben <aroben@apple.com>
20240 Move -_enterFrame and -_leaveFrame from WebCoreScriptDebugger to WebScriptDebugger
20242 Reviewed by Kevin M.
20244 * WebView/WebCoreScriptDebugger.h:
20245 - Removed newFrameWithGlobalObject:caller:state: from
20246 WebScriptDebugger protocol
20247 - Added enterFrame: and leaveFrame: to WebScriptDebugger protocol
20248 - Removed _current ivar from WebCoreScriptDebugger
20249 * WebView/WebCoreScriptDebugger.mm:
20250 (WebCoreScriptDebuggerImp::callEvent): Changed to call enterFrame on
20252 (WebCoreScriptDebuggerImp::returnEvent): Ditto for leaveFrame.
20253 * WebView/WebScriptDebugDelegate.mm:
20254 (-[WebScriptDebugger dealloc]): Added code to release _current.
20255 (-[WebScriptDebugger enterFrame:]): Added. Code came from
20256 WebCoreScriptDebugger.
20257 (-[WebScriptDebugger leaveFrame]): Ditto.
20258 * WebView/WebScriptDebugDelegatePrivate.h: Added _current ivar.
20260 2008-03-05 Adam Roben <aroben@apple.com>
20262 Remove WebCoreScriptCallFrame
20266 * WebView/WebCoreScriptDebugger.h:
20267 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
20268 - Replaced -newWrapperForFrame: with
20269 -newFrameWithGlobalObject:caller:state:
20270 - Removed WebCoreScriptCallFrame interface.
20271 * WebView/WebCoreScriptDebugger.mm: Replaced WebCoreScriptCallFrame
20272 with WebScriptCallFrame.
20273 (-[WebCoreScriptDebugger _enterFrame:]): Changed to call
20274 -newFrameWithGlobalObject:caller:state.
20275 (-[WebCoreScriptDebugger _leaveFrame]):
20276 * WebView/WebScriptDebugDelegate.h: Changed WebScriptCallFrame's
20277 _private ivar to be of type WebScriptCallFramePrivate*.
20278 * WebView/WebScriptDebugDelegate.mm:
20279 - Replaced WebCoreScriptCallFrame with WebScriptCallFrame
20280 - Added WebScriptCallFramePrivate
20281 (-[WebScriptDebugger enteredFrame:sourceId:line:]):
20282 (-[WebScriptDebugger hitStatement:sourceId:line:]):
20283 (-[WebScriptDebugger leavingFrame:sourceId:line:]):
20284 (-[WebScriptDebugger exceptionRaised:sourceId:line:]):
20285 (-[WebScriptCallFramePrivate dealloc]): Added.
20286 (-[WebScriptCallFrame _initWithGlobalObject:caller:state:]): Added.
20287 Code came from WebCoreScriptCallFrame.
20288 (-[WebScriptCallFrame dealloc]): Added a call to release the _private
20290 (-[WebScriptCallFrame _convertValueToObjcValue:]): Replaced calls to
20291 _private with direct access of _private's ivars.
20292 (-[WebScriptCallFrame caller]): Ditto.
20293 (-[WebScriptCallFrame scopeChain]): Ditto.
20294 (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
20296 2008-03-05 Adam Roben <aroben@apple.com>
20298 Move -_convertValueToObjcValue to WebScriptCallFrame
20300 Reviewed by Darin Adler.
20302 * WebView/WebCoreScriptDebugger.h: Removed declaration of
20303 -_convertValueToObjcValue.
20304 * WebView/WebCoreScriptDebugger.mm: Removed -_convertValueToObjcValue.
20305 * WebView/WebScriptDebugDelegate.mm:
20306 (-[WebScriptCallFrame _convertValueToObjcValue:]): Added. Code came
20307 from -[WebCoreScriptCallFrame _convertValueToObjcValue].
20308 (-[WebScriptCallFrame scopeChain]): Changed to call
20309 -_convertValueToObjcValue on self instead of _private.
20310 (-[WebScriptCallFrame exception]): Ditto.
20311 (-[WebScriptCallFrame evaluateWebScript:]): Ditto.
20313 2008-03-05 Adam Roben <aroben@apple.com>
20315 Move -exception and -evaluateWebScript: to WebScriptCallFrame
20317 Reviewed by Darin Adler.
20319 * WebView/WebCoreScriptDebugger.h: Removed declarations of -exception
20320 and -evaluateWebScript:.
20321 * WebView/WebCoreScriptDebugger.mm: Removed -exception and
20322 -evaluateWebScript:.
20323 * WebView/WebScriptDebugDelegate.mm:
20324 (-[WebScriptCallFrame exception]): Added. Code came from
20325 -[WebCoreScriptCallFrame exception].
20326 (-[WebScriptCallFrame evaluateWebScript:]): Added. Code came from
20327 -[WebCoreScriptCallFrame evaluateWebScript:].
20329 2008-03-05 Adam Roben <aroben@apple.com>
20331 Move -scopeChain to WebScriptCallFrame
20333 Reviewed by Darin Adler.
20335 * WebView/WebCoreScriptDebugger.h:
20336 - Added declarations of -globalObject and -_convertValueToObjcValue:
20337 to WebCoreScriptCallFrame
20338 - Removed declaration of -scopeChain.
20339 * WebView/WebCoreScriptDebugger.mm: Moved -_convertValueToObjcValue
20340 within the main WebCoreScriptCallFrame implementation.
20341 (-[WebCoreScriptCallFrame globalObject]): Added.
20342 * WebView/WebScriptDebugDelegate.mm:
20343 (-[WebScriptCallFrame scopeChain]): Added. Code came from
20344 -[WebCoreScriptCallFrame scopeChain].
20346 2008-03-05 Adam Roben <aroben@apple.com>
20348 Move -functionName from WebCoreScriptCallFrame to WebScriptCallFrame
20350 Reviewed by Darin Adler.
20352 * WebView/WebCoreScriptDebugger.h:
20353 - Removed #else case of #ifdef __cplusplus since this file is only
20354 ever used by C++ Objective-C files
20355 - Removed 'using KJS::ExecState' statement since we prefer not to
20356 have using statements in header files
20357 - Consequently prefixed uses of ExecState with KJS::
20358 - Added declaration of toNSString method that takes a const
20360 - Added declaration of -[WebCoreScriptCallFrame state]
20361 - Removed declaration of -[WebCoreScriptCallFrame functionName]
20362 * WebView/WebCoreScriptDebugger.mm:
20363 (toNSString): Made this no longer static.
20364 (-[WebCoreScriptCallFrame state]): Added.
20365 * WebView/WebScriptDebugDelegate.mm:
20366 (-[WebScriptCallFrame functionName]): Added. Code came from
20367 -[WebCoreScriptCallFrame functionName], though I changed some nested
20368 ifs into early returns.
20370 2008-03-05 Adam Roben <aroben@apple.com>
20372 Move WebCoreScriptDebugger to WebKit
20374 Reviewed by Darin Adler.
20376 * WebView/WebCoreScriptDebugger.h: Renamed from WebCore/page/mac/WebCoreScriptDebugger.h.
20377 * WebView/WebCoreScriptDebugger.mm: Renamed from WebCore/page/mac/WebCoreScriptDebugger.mm.
20380 (WebCoreScriptDebuggerImp::WebCoreScriptDebuggerImp):
20381 (WebCoreScriptDebuggerImp::sourceParsed):
20382 (WebCoreScriptDebuggerImp::callEvent):
20383 (WebCoreScriptDebuggerImp::atStatement):
20384 (WebCoreScriptDebuggerImp::returnEvent):
20385 (WebCoreScriptDebuggerImp::exception):
20386 (+[WebCoreScriptDebugger initialize]):
20387 (-[WebCoreScriptDebugger initWithDelegate:]):
20388 (-[WebCoreScriptDebugger dealloc]):
20389 (-[WebCoreScriptDebugger finalize]):
20390 (-[WebCoreScriptDebugger delegate]):
20391 (-[WebCoreScriptDebugger _enterFrame:]):
20392 (-[WebCoreScriptDebugger _leaveFrame]):
20393 (-[WebCoreScriptCallFrame _initWithGlobalObject:caller:state:]):
20394 (-[WebCoreScriptCallFrame _setWrapper:]):
20395 (-[WebCoreScriptCallFrame _convertValueToObjcValue:]):
20396 (-[WebCoreScriptCallFrame dealloc]):
20397 (-[WebCoreScriptCallFrame wrapper]):
20398 (-[WebCoreScriptCallFrame caller]):
20399 (-[WebCoreScriptCallFrame scopeChain]):
20400 (-[WebCoreScriptCallFrame functionName]):
20401 (-[WebCoreScriptCallFrame exception]):
20402 (-[WebCoreScriptCallFrame evaluateWebScript:]):
20403 * WebView/WebScriptDebugDelegate.mm: Updated header path.
20404 * WebView/WebScriptDebugDelegatePrivate.h: Ditto.
20406 2008-03-05 Anders Carlsson <andersca@apple.com>
20410 Include file changes.
20412 * Plugins/WebBaseNetscapePluginView.mm:
20413 * Plugins/WebNetscapePluginPackage.m:
20415 2008-03-04 Timothy Hatcher <timothy@apple.com>
20417 Reviewed by Darin Adler.
20419 <rdar://problem/5720160> Browser windows "do nothing" while modal
20420 dialog or menu is up due to run loop modes (or while scrolling)
20422 Add new API that lets a WebView be scheduled with multiple runloops and modes.
20423 This lets loading continue when in a nested runloop or in a different mode.
20425 * Misc/WebKitVersionChecks.h: Add a new version define:
20426 WEBKIT_FIRST_VERSION_WITH_LOADING_DURING_COMMON_RUNLOOP_MODES.
20427 * WebView/WebView.mm:
20428 (-[WebView _commonInitializationWithFrameName:groupName:]): Schedule in the main runloop and with
20429 the default runloop mode if we are linked on an earlier WebKit version, use common modes otherwise.
20430 (-[WebView scheduleInRunLoop:forMode:]): New API, that calls through to Page.
20431 (-[WebView unscheduleFromRunLoop:forMode:]): Ditto.
20432 * WebView/WebViewPrivate.h: Add the new pending API methods.
20434 2008-03-04 Anders Carlsson <andersca@apple.com>
20436 Reviewed by Darin Adler.
20438 Fix crash that happens when trying to load a page with a Java applet.
20440 * WebCoreSupport/WebFrameLoaderClient.mm:
20441 Don't release the names and values array - the kit method returns an autoreleased array.
20443 2008-03-04 Darin Adler <darin@apple.com>
20447 - fix 200+ failing regression tests
20448 - fix http://bugs.webkit.org/show_bug.cgi?id=17668
20449 Vertical scrollbar at slashdot.org is randomly not shown
20451 * WebCoreSupport/WebFrameLoaderClient.mm:
20452 (WebFrameLoaderClient::transitionToCommittedForNewPage): Changed the refcounting
20453 code here to exactly match the way it was before it was moved from WebCore. I had
20454 introduced a storage leak and that was causing problems with scroll bars!
20456 2008-03-04 Darin Adler <darin@apple.com>
20460 - remove WebCoreFrameBridge reapplyStyles method
20462 * WebView/WebHTMLView.mm:
20463 (-[WebHTMLView reapplyStyles]): Moved code to reapply styles here from the bridge.
20465 2008-03-04 Darin Adler <darin@apple.com>
20469 - eliminate WebCoreFrameBridge createFrameViewWithNSView
20471 * WebCoreSupport/WebFrameLoaderClient.mm:
20472 (WebFrameLoaderClient::transitionToCommittedForNewPage):
20473 Moved code here from createFrameViewWithNSView.
20475 2008-03-04 Darin Adler <darin@apple.com>
20479 - removed WebCoreFrameBridge scrollOverflowInDirection
20481 * WebView/WebFrameView.mm:
20482 (-[WebFrameView _scrollOverflowInDirection:granularity:]): Changed to call
20483 EventHandler directly instead of using the bridge.
20484 (-[WebFrameView scrollToBeginningOfDocument:]): Updated to use WebCore enums instead
20485 of the ones from the bridge.
20486 (-[WebFrameView scrollToEndOfDocument:]): Ditto.
20487 (-[WebFrameView _pageVertically:]): Ditto.
20488 (-[WebFrameView _pageHorizontally:]): Ditto.
20489 (-[WebFrameView _scrollLineVertically:]): Ditto.
20490 (-[WebFrameView _scrollLineHorizontally:]): Ditto.
20492 2008-03-04 Darin Adler <darin@apple.com>
20496 - remove WebCoreFrameBridge installInFrame: method
20498 * WebCoreSupport/WebFrameLoaderClient.mm:
20499 (WebFrameLoaderClient::transitionToCommittedForNewPage): Call
20500 -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
20501 * WebView/WebFrameView.mm:
20502 (-[WebFrameView _install]): Added. Has code from -[WebCoreFrameBridge installInFrame:].
20503 (-[WebFrameView _setCustomScrollViewClass:]): Used early return idiom so the entire
20504 method isn't nested inside an if statement. Call
20505 -[WebFrameView _install] instead of -[WebCoreFrameBridge installInFrame:].
20506 * WebView/WebFrameViewInternal.h: Added declaration of _install method so it can be
20507 used in WebFrameLoaderClient.mm.
20509 2008-03-04 Darin Adler <darin@apple.com>
20513 - remove WebCoreFrameBridge window method
20515 * WebCoreSupport/WebFrameBridge.mm: Removed window method.
20517 2008-03-04 Darin Adler <darin@apple.com>
20521 - move code from WebFrameBridge into WebFrameLoaderClient
20523 * WebCoreSupport/WebFrameBridge.h: Removed unused fields, changed frame name parameters
20524 to use WebCore::String instead of NSString, add initSubframeWithOwnerElement declaration,
20525 removed viewForPluginWithFrame, viewForJavaAppletWithFrame, createChildFrameNamed,
20526 redirectDataToPlugin, determineObjectFromMIMEType, and windowObjectCleared methods.
20527 * WebCoreSupport/WebFrameBridge.mm:
20528 (-[WebFrameBridge finishInitializingWithPage:frameName:WebCore::frameView:ownerElement:]):
20529 Changed to use WebCore::String.
20530 (-[WebFrameBridge initMainFrameWithPage:frameName:WebCore::frameView:]): Ditto.
20531 (-[WebFrameBridge initSubframeWithOwnerElement:frameName:WebCore::frameView:]): Ditto.
20533 * WebCoreSupport/WebFrameLoaderClient.mm:
20534 (WebFrameLoaderClient::setOriginalURLForDownload): Removed some dead code I found here
20536 (WebFrameLoaderClient::createFrame): Moved the code from WebFrameBridge here.
20537 (WebFrameLoaderClient::objectContentType): Ditto.
20538 (parameterValue): Added. Helper function, based on code originally in WebFrameBridge.
20539 (pluginView): Ditto.
20540 (WebFrameLoaderClient::createPlugin): Moved the code from WebFrameBridge here.
20542 2008-03-04 Darin Adler <darin@apple.com>
20546 - remove -[WebCoreFrameBridge dashboardRegionsChanged:]
20548 * WebCoreSupport/WebChromeClient.h:
20549 * WebCoreSupport/WebChromeClient.mm:
20550 (WebChromeClient::dashboardRegionsChanged): Moved code here from the bridge.
20551 The WebCore side now calls this only when there's an actual change.
20552 * WebCoreSupport/WebFrameBridge.h: Removed lastDashboardRegions.
20553 * WebCoreSupport/WebFrameBridge.mm:
20554 (-[WebFrameBridge dealloc]): Removed code to release lastDashboardRegions.
20555 Removed _compareDashboardRegions: and dashboardRegionsChanged: methods.
20557 2008-03-04 Darin Adler <darin@apple.com>
20561 - remove WebCoreFrameBridge issuePasteComand method
20563 * WebCoreSupport/WebFrameBridge.mm: Removed issuePasteCommand method.
20564 * WebView/WebHTMLViewInternal.h: Removed declaration of paste: method.
20566 2008-03-03 Darin Adler <darin@apple.com>
20570 - some "cleanup" on the path to removing WebCoreFrameBridge
20572 * Storage/WebDatabaseManager.mm: Tweak includes.
20573 * Storage/WebDatabaseTrackerClient.mm: Ditto.
20574 * Storage/WebSecurityOrigin.mm: Ditto.
20575 * Storage/WebSecurityOriginInternal.h: Ditto.
20577 * WebView/WebFrame.mm:
20578 (core): Changed to get rid of the requirement that WebKitEditableLinkBehavior exactly
20579 match WebCore::EditableLinkBehavior.
20580 * WebView/WebFrameInternal.h: Removed unused kit function.
20582 * WebView/WebHTMLView.mm: Moved WebHTMLViewPrivate class in here.
20583 * WebView/WebHTMLViewInternal.h: Moved WebHTMLVewPrivate class out of here.
20584 * WebView/WebHTMLViewPrivate.h: Tweaked formatting and removed some unneeded declarations.
20586 * WebView/WebPreferencesPrivate.h: Removed a no-longer-needed comment.
20588 2008-03-01 Mark Rowe <mrowe@apple.com>
20590 Reviewed by Tim Hatcher.
20592 Update Xcode configuration to support building debug and release from the mysterious future.
20594 * Configurations/DebugRelease.xcconfig:
20596 2008-02-29 Mark Rowe <mrowe@apple.com>
20598 Reviewed by Anders Carlsson.
20600 Replace use of WKPathFromFont with implementation in terms of public API.
20602 * WebCoreSupport/WebSystemInterface.m:
20603 (InitWebCoreSystemInterface): Remove unused symbol.
20605 2008-02-29 Mark Rowe <mrowe@apple.com>
20607 Reviewed by Oliver Hunt.
20609 Fix spelling of "request" in name of WKNSURLProtocolClassForRequest.
20611 * Misc/WebNSURLExtras.mm:
20612 (-[NSURL _webkit_canonicalize]):
20615 2008-02-29 Mark Rowe <mrowe@apple.com>
20617 Reviewed by Oliver Hunt.
20619 Don't use WKSupportsMultipartXMixedReplace on Leopard as multipart/x-mixed-replace is always handled by NSURLRequest.
20621 * WebCoreSupport/WebSystemInterface.m:
20622 (InitWebCoreSystemInterface):
20624 2008-02-29 Mark Rowe <mrowe@apple.com>
20626 Reviewed by Oliver Hunt.
20628 Remove obsolete code that had been left intact to support users running WebKit with older versions of Safari.
20630 * Misc/WebNSViewExtras.m: Remove _web_superviewOfClass:stoppingAtClass:.
20631 * Misc/WebNSWindowExtras.m: Remove _webkit_displayThrottledWindows.
20632 * Misc/WebSearchableTextView.m: Remove selectionImageForcingWhiteText:.
20633 * WebCoreSupport/WebImageRendererFactory.m: Update comment to mention the last version of Safari that
20634 requires this class.
20635 * WebInspector/WebInspector.mm: Remove sharedWebInspector and update comments to mention the last version
20636 of Safari that calls other obsolete methods.
20637 * WebView/WebDocumentPrivate.h: Remove selectionImageForcingWhiteText:.
20638 * WebView/WebHTMLView.mm: Ditto.
20639 * WebView/WebPDFView.mm: Ditto.
20640 * WebView/WebView.mm: Update comment to mentoin the last version of Safari that requires the obsolete method.
20642 2008-02-29 Mark Rowe <mrowe@apple.com>
20644 Rubber-stamped by Eric Seidel.
20646 Remove unneeded includes of WebKitSystemInterface.h.
20648 * History/WebHistoryItem.mm:
20649 * Misc/WebNSViewExtras.m:
20650 * WebCoreSupport/WebFrameLoaderClient.mm:
20651 * WebView/WebDataSource.mm:
20652 * WebView/WebPDFView.mm:
20654 2008-02-29 Mark Rowe <mrowe@apple.com>
20656 Reviewed by Oliver Hunt and Oliver Hunt.
20658 <rdar://problem/4753845> WebKit should use CGEventSourceSecondsSinceLastEventType in place of WKSecondsSinceLastInputEvent SPI.
20660 * WebCoreSupport/WebSystemInterface.m:
20661 (InitWebCoreSystemInterface): Remove unused symbol.
20662 * WebKit.order: Ditto.
20664 2008-02-28 Mark Rowe <mrowe@apple.com>
20666 Reviewed by Dave Hyatt.
20668 Make use of new CGFont APIs on Leopard rather than making a WebKitSystemInterface call.
20670 * WebCoreSupport/WebSystemInterface.m:
20671 (InitWebCoreSystemInterface): Only initialize wkGetFontMetrics on Tiger.
20673 2008-02-27 Brady Eidson <beidson@apple.com>
20675 Reviewed by Mark Rowe (code) and Darin (concept)
20677 Much better fix for <rdar://problem/4930688> (see r19549)
20678 Original fix for <rdar://problem/3947312> (and 14 dupes)
20680 Let me tell you a story:
20681 A long time ago, in a cvs repository far, far away, loader code was almost all up in WebKit.
20682 WebArchive code was intertwined with that code in bizarre and complex ways.
20683 During the months long loader re-factoring where we pushed much loader code down into WebCore,
20684 many portions of the WebKit loader were thinned out until they ceased to exist. Others remained
20685 with a sole purpose.
20687 One such section of code whose lineage traces back from WebFrameLoaderClient to WebFrameLoader
20688 to WebLoader was originally rooted in the method [WebLoader loadRequest:]. This method was the
20689 single entry point for almost all loading (network or web archives)
20691 This method would check various headers and other fields on the NSURLRequest and NSURLResponse
20692 to make decisions about the load. If the cache control fields were expired or other conditions
20693 in the headers were met, the load would be forced to go out to the network.
20695 As the loader was moved and tweaked repeatedly, most of this code was pruned or re-factored.
20696 At some point, all that remained was the special cases for loading WebArchives.
20698 Somewhere in the r16,000s, this remaining responsibility was noticed and related methods we renamed
20699 to be WebArchive specific, further cementing the assumed design.
20701 Problem is, the design was bad. A WebArchive is meant to be a static snapshot of a WebPage at a
20702 specific point in time. Referring to the request to see if the resource should be reloaded seems
20703 nonsensical, as does referring to the response headers to see if the resource is "expired". In the
20704 context of loading a WebArchive, available data should *always* be loaded from the WebArchive, at least
20705 during the initial load!
20707 After discovering the secret to reproducing all of these bugs is both emptying our your Foundation
20708 cache and disconnecting your network, it was easy to reproduce the 16 individually reported cases
20709 that were all symptoms of this bug, and easy to verify that they are fixed with this patch.
20711 * WebCoreSupport/WebFrameLoaderClient.h:
20712 * WebCoreSupport/WebFrameLoaderClient.mm:
20713 (WebFrameLoaderClient::willUseArchive): Do not call either form of "canUseArchivedResource()" that
20714 inspect the request or response objects - We are loading from a WebArchive, and we should never
20715 make the decision to go out to the network when we actually have the resource available.
20717 * WebCoreSupport/WebSystemInterface.m:
20718 (InitWebCoreSystemInterface): Remove two methods that are no longer used anywhere in WebKit
20720 2008-02-27 Matt Lilek <webkit@mattlilek.com>
20722 Reviewed by Adam Roben.
20724 Bug 14348: Messing up the inspector by dragging an URL into it
20725 http://bugs.webkit.org/show_bug.cgi?id=14348
20726 <rdar://problem/5283620> and <rdar://problem/5712808>
20728 * WebCoreSupport/WebInspectorClient.mm:
20729 (-[WebInspectorWindowController init]): Remove duplicate preference setting.
20730 (-[WebInspectorWindowController webView:dragDestinationActionMaskForDraggingInfo:]):
20732 2008-02-25 Darin Adler <darin@apple.com>
20736 * WebView/WebArchiver.mm:
20737 (+[WebArchiver archiveSelectionInFrame:]): Use blankURL.
20738 * WebView/WebFrame.mm:
20739 (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]): Avoid the
20740 variable name URL to avoid clashing with the renamed KURL in the future. Also use
20742 (-[WebFrame loadData:MIMEType:textEncodingName:baseURL:]): Ditto.
20743 (-[WebFrame _loadHTMLString:baseURL:unreachableURL:]): Ditto.
20744 (-[WebFrame loadHTMLString:baseURL:]): Ditto.
20745 (-[WebFrame loadAlternateHTMLString:baseURL:forUnreachableURL:]): Ditto.
20747 2008-02-24 Darin Adler <darin@apple.com>
20751 - remove separate client calls for "standard" and "reload' history
20753 * WebCoreSupport/WebFrameLoaderClient.h:
20754 * WebCoreSupport/WebFrameLoaderClient.mm:
20755 (WebFrameLoaderClient::updateGlobalHistory):
20757 2008-02-23 Alexey Proskuryakov <ap@webkit.org>
20759 Reviewed by Darin Adler.
20761 Move basic threading support from WebCore to WTF.
20763 * ForwardingHeaders/wtf/Threading.h: Added.
20764 * ForwardingHeaders/wtf/Locker.h: Added.
20766 2008-02-23 David Kilzer <ddkilzer@apple.com>
20768 Please clarify licensing for some files
20769 <http://bugs.webkit.org/show_bug.cgi?id=14970>
20771 Reviewed by Darin Adler.
20773 * Plugins/WebNetscapeDeprecatedFunctions.c: Updated copyright statement
20774 and added Apple BSD-style license.
20775 * Plugins/WebNetscapeDeprecatedFunctions.h: Ditto.
20777 2008-02-22 John Sullivan <sullivan@apple.com>
20779 Reviewed by Adam Roben
20781 Reverted the changed from yesterday to add pasteAndMatchStyle:, as the existing
20782 pasteAsPlainText: has the same behavior.
20784 * WebView/WebHTMLView.mm:
20785 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
20786 (-[WebHTMLView readSelectionFromPasteboard:]):
20787 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
20788 (-[WebHTMLView pasteAsRichText:]):
20789 (-[WebHTMLView paste:]):
20790 * WebView/WebView.mm:
20791 * WebView/WebViewPrivate.h:
20793 2008-02-21 Anders Carlsson <andersca@apple.com>
20797 Use BackForwardList::create instead.
20799 * History/WebBackForwardList.mm:
20800 (-[WebBackForwardList init]):
20802 2008-02-21 John Sullivan <sullivan@apple.com>
20804 Reviewed by Jessica Kahn
20806 support for pasteAndMatchStyle: command (see <rdar://problem/5723952>)
20808 * WebView/WebHTMLView.mm:
20809 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:matchStyle:]):
20810 added matchStyle parameter, passed along to bridge (formerly always passed NO to bridge)
20811 (-[WebHTMLView readSelectionFromPasteboard:]):
20812 pass NO for new matchStyle parameter to match old behavior
20813 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
20814 validate pasteAndMatchStyle the same way as pasteAsRichText
20815 (-[WebHTMLView pasteAndMatchStyle:]):
20816 just like pasteAsRichText but passes YES for matchStyle
20817 (-[WebHTMLView pasteAsRichText:]):
20818 pass NO for new matchStyle parameter to match old behavior
20819 (-[WebHTMLView paste:]):
20822 * WebView/WebView.mm:
20823 added macro(pasteAndMatchStyle)
20825 * WebView/WebViewPrivate.h:
20826 added pasteAndMatchStyle: to WebViewEditingActionsPendingPublic category
20828 2008-02-20 Sam Weinig <sam@webkit.org>
20830 Reviewed by Darin and Geoff.
20832 - WebKit part of <rdar://problem/5754378> work around missing video on YouTube front page with a site-specific hack
20834 * WebView/WebView.mm:
20835 (-[WebView _preferencesChangedNotification:]): Added a call to Settings::setNeedsSiteSpecificQuirks.
20836 There are currently no site-specific quirks on Mac, but we will propagate the state
20837 to WebCore to avoid possible mistakes later.
20839 2008-02-19 Anders Carlsson <andersca@apple.com>
20841 Reviewed by Darin Adler.
20843 Move back WebKit methods that were unused in WebCore.
20845 * Misc/WebNSURLExtras.mm:
20846 (+[NSURL _web_URLWithData:]):
20847 (+[NSURL _web_URLWithData:relativeToURL:]):
20848 (-[NSURL _web_originalData]):
20849 (-[NSURL _web_originalDataAsString]):
20850 (-[NSURL _web_isEmpty]):
20851 (-[NSURL _webkit_canonicalize]):
20852 (-[NSURL _webkit_URLByRemovingComponent:]):
20853 (-[NSURL _webkit_URLByRemovingFragment]):
20854 (-[NSURL _webkit_URLByRemovingResourceSpecifier]):
20855 (-[NSURL _webkit_isFileURL]):
20856 (-[NSString _webkit_isFileURL]):
20857 * WebCoreSupport/WebFrameLoaderClient.mm:
20858 (WebFrameLoaderClient::setTitle):
20859 * WebCoreSupport/WebSystemInterface.m:
20860 (InitWebCoreSystemInterface):
20862 2008-02-18 Darin Adler <darin@apple.com>
20866 * Misc/WebNSAttributedStringExtras.mm:
20867 (+[NSAttributedString _web_attributedStringFromRange:]): Eliminate use of
20870 2008-02-17 Sam Weinig <sam@webkit.org>
20872 Reviewed by Dan Bernstein.
20874 Fix for http://bugs.webkit.org/show_bug.cgi?id=17365
20875 document.createEvent("MessageEvent") throws NOT_SUPPORTED_ERR
20877 * MigrateHeaders.make: Migrate DOMProgressEvent.h and DOMTextPrivate.h which were
20878 mistakenly not migrated.
20880 2008-02-15 Dan Bernstein <mitz@apple.com>
20882 Reviewed by Alexey Proskuryakov.
20884 - WebKit part of fixing http://bugs.webkit.org/show_bug.cgi?id=17360
20885 <rdar://problem/5743131> REGRESSION: mp4 file downloaded from server is downloaded as html
20887 * WebView/WebDataSource.mm:
20888 (+[WebDataSource _representationClassForMIMEType:]):
20889 (-[WebDataSource _responseMIMEType]):
20890 (-[WebDataSource subresources]):
20891 (-[WebDataSource subresourceForURL:]):
20892 * WebView/WebResource.mm:
20893 (-[WebResource _initWithData:URL:response:]):
20894 * WebView/WebResourcePrivate.h:
20896 2008-02-15 Adam Roben <aroben@apple.com>
20898 Make WebKit's FEATURE_DEFINES match WebCore's
20902 * Configurations/WebKit.xcconfig:
20904 2008-02-14 Darin Adler <darin@apple.com>
20906 Reviewed by Eric Seidel.
20908 - updated for WebCore KURL changes
20910 * History/WebHistoryItem.mm:
20911 (-[WebHistoryItem URL]): Removed getNSURL call.
20912 * Misc/WebElementDictionary.mm:
20913 (-[WebElementDictionary _absoluteImageURL]): Ditto.
20914 (-[WebElementDictionary _absoluteLinkURL]): Ditto.
20915 * Misc/WebNSAttributedStringExtras.mm:
20916 (fileWrapperForElement): Ditto.
20917 (+[NSAttributedString _web_attributedStringFromRange:]): Ditto.
20918 * Misc/WebNSURLExtras.mm:
20919 (-[NSString _webkit_stringByReplacingValidPercentEscapes]): Updated
20920 for function name change.
20921 * WebCoreSupport/WebContextMenuClient.mm:
20922 (WebContextMenuClient::downloadURL): Removed getNSURL call.
20923 * WebCoreSupport/WebDragClient.mm:
20924 (WebDragClient::createDragImageForLink): Ditto.
20925 * WebCoreSupport/WebFrameLoaderClient.mm:
20926 (WebFrameLoaderClient::dispatchWillPerformClientRedirect): Ditto.
20927 (WebFrameLoaderClient::startDownload): Ditto.
20928 (WebFrameLoaderClient::updateGlobalHistoryForStandardLoad): Ditto.
20929 (WebFrameLoaderClient::updateGlobalHistoryForReload): Ditto.
20930 (WebFrameLoaderClient::cancelledError): Ditto.
20931 (WebFrameLoaderClient::blockedError): Ditto.
20932 (WebFrameLoaderClient::cannotShowURLError): Ditto.
20933 (WebFrameLoaderClient::interruptForPolicyChangeError): Ditto.
20934 (WebFrameLoaderClient::cannotShowMIMETypeError): Ditto.
20935 (WebFrameLoaderClient::fileDoesNotExistError): Ditto.
20936 (WebFrameLoaderClient::willUseArchive): Ditto.
20937 (WebFrameLoaderClient::setTitle): Ditto.
20938 (WebFrameLoaderClient::actionDictionary): Ditto.
20939 (WebFrameLoaderClient::createFrame): Ditto.
20940 (WebFrameLoaderClient::objectContentType): Ditto.
20941 (WebFrameLoaderClient::createPlugin): Ditto.
20942 (WebFrameLoaderClient::createJavaAppletWidget): Ditto.
20943 * WebView/WebDataSource.mm:
20944 (-[WebDataSource _URL]): Ditto.
20945 (-[WebDataSource _initWithDocumentLoader:]): Ditto.
20946 (-[WebDataSource unreachableURL]): Ditto.
20947 * WebView/WebHTMLView.mm:
20948 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Ditto.
20950 2008-02-14 Stephanie Lewis <slewis@apple.com>
20954 Update order files.
20958 2008-02-14 Alexey Proskuryakov <ap@webkit.org>
20960 Reviewed by Adam Roben.
20962 http://bugs.webkit.org/show_bug.cgi?id=17207
20963 Database example doesn't work (requires not-yet-released Safari)
20965 * WebCoreSupport/WebChromeClient.mm:
20966 (WebChromeClient::exceededDatabaseQuota): Check Safari version, and allow 5 megabytes of storage
20969 2008-02-11 Darin Adler <darin@apple.com>
20971 - roll out fix for <rdar://problem/5726016> REGRESSION: Xcode News window renders
20972 incorrectly due to visibility fix
20974 Removed the Xcode-specific quirk at the request of some folks on the Xcode team.
20976 * Misc/WebKitVersionChecks.h: Removed the constant.
20978 * WebView/WebView.mm:
20979 (-[WebView _needsXcodeVisibilityQuirk]): Removed.
20980 (-[WebView _preferencesChangedNotification:]): Removed call to
20981 setNeedsXcodeVisibilityQuirk.
20983 2008-02-12 Anders Carlsson <andersca@apple.com>
20987 * WebCoreSupport/WebFrameBridge.mm:
20988 * WebCoreSupport/WebViewFactory.mm:
20989 (-[WebViewFactory imageTitleForFilename:size:]):
20990 Move implementation from WebFrameBridge to WebViewFactory.
20992 2008-02-11 Darin Adler <darin@apple.com>
20996 - fix <rdar://problem/5726016> REGRESSION: Xcode News window renders
20997 incorrectly due to visibility fix
20999 Added an Xcode-specific quirk.
21001 * Misc/WebKitVersionChecks.h: Added a constant for the "linked on or after"
21004 * WebView/WebView.mm:
21005 (-[WebView _needsXcodeVisibilityQuirk]): Added.
21006 (-[WebView _preferencesChangedNotification:]): Added a call to
21007 setNeedsXcodeVisibilityQuirk based on _needsXcodeVisibilityQuirk.
21009 2008-02-10 Darin Adler <darin@apple.com>
21011 - fix http://bugs.webkit.org/show_bug.cgi?id=17274
21012 REGRESSION: User Agent string broken in r30119
21014 * WebView/WebView.mm:
21015 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]):
21016 Fix wrong variable name. Doh!
21018 2008-02-09 Darin Adler <darin@apple.com>
21020 Reviewed by Tim Hatcher.
21022 - fix <rdar://problem/5725996> crash every time you open the Xcode documentation window
21024 * WebView/WebView.mm:
21025 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Work around a bug in the
21026 garbage collector's Objective C++ support by not initializing a static to an object
21027 that needs to be marked when running under GC.
21029 2008-02-05 Dan Bernstein <mitz@apple.com>
21031 Reviewed by Darin Adler.
21033 - WebKit part of <rdar://problem/5724303> Should implement writing direction shortcuts
21035 The key bindings are Command-Control-left arrow and
21036 Command-Control-right arrow. To match AppKit, the bindings are enabled
21037 only when certain user defaults are set.
21039 * WebView/WebHTMLView.mm:
21040 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
21041 (-[WebHTMLView toggleBaseWritingDirection:]): Changed to call
21042 Frame::baseWritingDirectionForSelectionStart() and
21043 Editor::setBaseWritingDirection() directly.
21044 (-[WebHTMLView changeBaseWritingDirection:]): Ditto.
21045 (writingDirectionKeyBindingsEnabled): Added.
21046 (-[WebHTMLView _changeBaseWritingDirectionTo:]): Added this helper
21048 (-[WebHTMLView changeBaseWritingDirectionToLTR:]): Added.
21049 (-[WebHTMLView changeBaseWritingDirectionToRTL:]): Added.
21050 * WebView/WebView.mm:
21052 2008-02-05 Mark Rowe <mrowe@apple.com>
21054 Unreviewed build fix.
21056 * WebView/WebView.mm: Add missing #import.
21058 2008-02-05 Mark Rowe <mrowe@apple.com>
21060 Reviewed by Oliver Hunt.
21062 Update versioning to support the mysterious future.
21064 * Configurations/Version.xcconfig: Add SYSTEM_VERSION_PREFIX_1060.
21066 2008-01-30 Justin Garcia <justin.garcia@apple.com>
21068 Reviewed by Darin Adler.
21070 <rdar://problem/5708115> REGRESSION: Words selected with a double click and copied won't paste into Mail
21072 * WebView/WebHTMLView.mm:
21073 (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): Brought
21074 this back, it's used by Mail.
21075 (-[WebHTMLView _canSmartReplaceWithPasteboard:]): This WebInternal method is
21076 also used by Mail. Moved to WebPrivate.
21077 * WebView/WebHTMLViewPrivate.h: Expose two methods that Mail uses here, so that we don't
21078 accidently remove them in the future.
21080 2008-01-30 Mark Rowe <mrowe@apple.com>
21082 Reviewed by Oliver Hunt.
21084 Move off deprecated NSTableView methods.
21086 * WebView/WebHTMLView.mm:
21087 (-[WebTextCompleteController _buildUI]): Switch from -setDrawsGrid: to -setGridStyleMask:.
21088 (-[WebTextCompleteController _placePopupWindow:]): Switch from -selectRow:byExtendingSelection: to -selectRowIndexes:byExtendingSelection:.
21089 (-[WebTextCompleteController filterKeyDown:]): Ditto.
21091 2008-01-26 Mark Rowe <mrowe@apple.com>
21093 Reviewed by Darin Adler.
21095 Fix leaks seen after loading <http://www.funnyordie.com/videos/d70b5a11cb>.
21097 * Misc/WebNSDataExtras.m:
21098 (-[NSString _web_capitalizeRFC822HeaderFieldName]): Transfer ownerhip of the allocated buffers
21099 to the new CFString so that they will be freed when no longer needed.
21101 2008-01-26 Greg Bolsinga <bolsinga@apple.com>
21103 <rdar://problem/5708388> WebDashboardRegion.h duplicated between WebCore / WebKit
21105 Reviewed by Darin Adler.
21107 * WebCoreSupport/WebDashboardRegion.h: Removed.
21108 * WebView/WebView.mm: Updated #import to use copy of WebDashboardRegion.h from WebCore.
21110 2008-01-21 Darin Adler <darin@apple.com>
21112 Reviewed by John Sullivan.
21114 - fix <rdar://problem/5644324> Delegate-less WebKit clients should have no databases
21115 - add a missing export of WebDatabaseExpectedSizeKey
21116 - implement deleteOrigin: and remove deleteDatabasesWithOrigin:
21118 * Storage/WebDatabaseManager.mm:
21119 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Updated to check for a null
21120 name instead of calling isValid().
21121 (-[WebDatabaseManager deleteOrigin:]): Implemented.
21122 (WebKitInitializeDatabasesIfNecessary): Updated for name change.
21124 * Storage/WebDatabaseManagerPrivate.h: Removed deleteDatabasesWithOrigin:.
21126 * WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
21127 * WebCoreSupport/WebChromeClient.mm:
21128 (WebChromeClient::exceededDatabaseQuota): Replaced the two different client functions
21129 we had before with a single one.
21131 * WebKit.exp: Added missing export for WebDatabaseExpectedSizeKey.
21133 * WebView/WebPreferenceKeysPrivate.h: Removed WebKitDefaultDatabaseQuotaKey.
21134 * WebView/WebPreferences.m:
21135 (+[WebPreferences initialize]): Removed the default for WebKitDefaultDatabaseQuotaKey.
21136 * WebView/WebPreferencesPrivate.h: Removed defaultDatabaseQuota and
21137 setDefaultDatabaseQuota:.
21139 * WebView/WebUIDelegatePrivate.h: Replaced the two different database quota delegate
21140 methods we had before with a single one.
21142 * WebView/WebView.mm:
21143 (-[WebView _preferencesChangedNotification:]): Removed the code to set the
21144 default database origin quota in WebCore::Settings based on WebPreferences.
21146 * WebView/WebViewInternal.h: Removed delegate method dispatch functions for unusual
21147 types of parameters that the database UI delegate methods had before.
21149 2008-01-20 Mark Rowe <mrowe@apple.com>
21151 Reviewed by Dan Bernstein.
21153 Remove code bracketed by REMOVE_SAFARI_DOM_TREE_DEBUG_ITEM as we are no longer
21154 interested in supporting Safari 2 with TOT WebKit.
21156 * WebView/WebView.mm:
21157 (+[WebView initialize]):
21159 2008-01-17 Timothy Hatcher <timothy@apple.com>
21161 Reviewed by Adam Roben.
21163 <rdar://problem/5693558> REGRESSION (r29581): no form field focus rings
21164 and inactive text selection after loading a page
21165 Bug 16917: REGRESSION (r29581/2): Google Maps search box loses focused appearance
21167 The problem was other frames were changing the FocusController's active
21168 status to false after the first responder frame set it to true. The last
21169 frame to call _updateActiveState would win.
21171 * WebView/WebHTMLView.mm:
21172 (-[WebHTMLView _updateActiveState]): Only call page->focusController()->setActive()
21173 if the first responder is the current WebHTMLView or the WebFrameView.
21174 (-[WebHTMLView _web_firstResponderCausesFocusDisplay]): Removed, inlined code in _updateActiveState.
21176 2008-01-18 Adam Roben <aroben@apple.com>
21178 Rename _updateActiveState to _updateFocusedAndActiveState
21180 Also renamed any related methods/members similarly.
21184 * WebView/WebHTMLView.mm:
21185 (-[WebHTMLViewPrivate dealloc]):
21186 (-[WebHTMLView _cancelUpdateFocusedAndActiveStateTimer]):
21187 (-[WebHTMLView close]):
21188 (_updateFocusedAndActiveStateTimerCallback):
21189 (-[WebHTMLView viewWillMoveToWindow:]):
21190 (-[WebHTMLView viewDidMoveToWindow]):
21191 (-[WebHTMLView windowDidBecomeKey:]):
21192 (-[WebHTMLView windowDidResignKey:]):
21193 (-[WebHTMLView becomeFirstResponder]):
21194 (-[WebHTMLView resignFirstResponder]):
21195 * WebView/WebHTMLViewInternal.h:
21196 * WebView/WebHTMLViewPrivate.h:
21198 2008-01-17 John Sullivan <sullivan@apple.com>
21202 - fixed <rdar://problem/5692068> -1 WebFrameView world leaks reported after closing view source window
21204 * WebView/WebFrameView.mm:
21205 (-[WebFrameView initWithCoder:]):
21206 override to bump the global WebFrameView count
21208 2008-01-16 Adam Roben <aroben@apple.com>
21210 Updated for renames/removal of WebCore methods.
21212 Reviewed by Darin Adler.
21214 * Plugins/WebPluginController.mm:
21215 (-[WebPluginController webPlugInContainerSelectionColor]): Changed to
21216 ask isFocusedAndActive directly, instead of going through the frame
21218 * WebView/WebHTMLView.mm:
21219 (-[WebHTMLView _updateActiveState]): Updated for method renames.
21221 2008-01-16 John Sullivan <sullivan@apple.com>
21223 Reviewed by Adam and Dan
21225 - cleaned up some existing logging
21227 * WebView/WebHTMLView.mm:
21228 (-[WebHTMLView setNeedsDisplay:]):
21229 add method name to log, use "YES" and "NO" instead of (int)flag
21230 (-[WebHTMLView setNeedsLayout:]):
21232 (-[WebHTMLView setNeedsToApplyStyles:]):
21235 2008-01-15 Geoffrey Garen <ggaren@apple.com>
21237 Reviewed by Andre Boule.
21239 Fixed <rdar://problem/5667627> [WebCache empty] implementation should
21240 not disable/enable the cache
21242 Toggle the cache model instead -- toggling disable/enable just causes
21243 the cache to forget about resources, not reclaim their memory.
21245 * Misc/WebCache.mm:
21246 (+[WebCache empty]):
21247 * WebView/WebView.mm:
21248 * WebView/WebViewInternal.h:
21250 2008-01-15 Adele Peterson <adele@apple.com>
21252 Reviewed by Adam and Antti.
21254 WebKit part of fix for <rdar://problem/5619062> Add load progress indicator to video controls
21256 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
21257 Removed initialization for GetMediaControlBackgroundImageData. Added initialization for DrawMediaSliderTrack.
21259 2008-01-10 Geoffrey Garen <ggaren@apple.com>
21261 Reviewed by John Sullivan.
21263 Fixed some world leak reports:
21264 * <rdar://problem/5669436> PLT complains about world leak of 1 JavaScript
21265 Interpreter after running cvs-base suite
21267 * <rdar://problem/5669423> PLT complains about world leak if browser
21268 window is open when PLT starts
21270 These were both bugs in the reporting mechanism, so I took the
21271 opportunity to do some house cleaning there.
21273 * Misc/WebCoreStatistics.h: Did a little renaming, to match
21274 JavaScriptCore better. I kept the methods with the old names around,
21275 though, because old versions of Safari need them.
21277 * Misc/WebCoreStatistics.mm: Removed dependence on
21278 WebCore::JavaScriptStatistics, which is gone now.
21280 These two methods are now distinct, for the sake of world leak reporting:
21281 (+[WebCoreStatistics javaScriptGlobalObjectsCount]):
21282 (+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
21284 2008-01-10 Maciej Stachowiak <mjs@apple.com>
21286 Not reviewed. Build fix.
21288 - Attempt to fix mac build.
21290 * Storage/WebDatabaseManager.mm:
21292 2008-01-10 Maciej Stachowiak <mjs@apple.com>
21296 - remove SecurityOriginData and fold its functionality into SecurityOrigin
21298 * Storage/WebDatabaseManager.mm:
21299 (-[WebDatabaseManager origins]):
21300 (-[WebDatabaseManager databasesWithOrigin:]):
21301 (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
21302 (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
21303 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
21304 * Storage/WebDatabaseTrackerClient.h:
21305 * Storage/WebDatabaseTrackerClient.mm:
21306 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
21307 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
21308 * Storage/WebSecurityOrigin.mm:
21309 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
21310 (-[WebSecurityOrigin protocol]):
21311 (-[WebSecurityOrigin domain]):
21312 (-[WebSecurityOrigin port]):
21313 (-[WebSecurityOrigin usage]):
21314 (-[WebSecurityOrigin quota]):
21315 (-[WebSecurityOrigin setQuota:]):
21316 (-[WebSecurityOrigin isEqual:]):
21317 (-[WebSecurityOrigin dealloc]):
21318 (-[WebSecurityOrigin finalize]):
21319 (-[WebSecurityOrigin _initWithWebCoreSecurityOrigin:]):
21320 (-[WebSecurityOrigin _core]):
21321 * Storage/WebSecurityOriginInternal.h:
21322 * WebCoreSupport/WebChromeClient.h:
21323 * WebCoreSupport/WebChromeClient.mm:
21324 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
21325 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
21327 2008-01-10 Sam Weinig <sam@webkit.org>
21329 Reviewed by Anders Carlsson.
21331 Fixes: http://bugs.webkit.org/show_bug.cgi?id=16522
21332 <rdar://problem/5657355>
21334 * Plugins/WebBaseNetscapePluginView.mm:
21335 (-[WebBaseNetscapePluginView loadPluginRequest:]): call findFrameForNavigation
21336 to ensure the shouldAllowNavigation check is made.
21338 2008-01-07 Nikolas Zimmermann <zimmermann@kde.org>
21342 Enable SVG_FONTS by default.
21344 * Configurations/WebKit.xcconfig:
21346 2008-01-07 Adele Peterson <adele@apple.com>
21348 Reviewed by Antti, Adam, and Mitz.
21350 WebKit part of fix for
21351 <rdar://problem/5619073> Updated look for <video> controls
21352 <rdar://problem/5619057> Add volume control to video controls
21354 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
21356 2008-01-07 Dan Bernstein <mitz@apple.com>
21358 Reviewed by Dave Hyatt.
21360 - <rdar://problem/5665216> Support the unicode-range property in @font-face rules
21362 * Misc/WebNSAttributedStringExtras.mm:
21364 2008-01-03 Alexey Proskuryakov <ap@webkit.org>
21366 Reviewed by Darin Adler.
21368 <rdar://problem/5463489> A number of layout tests should be using execCommand instead of textInputController
21370 * WebView/WebView.mm:
21371 (-[WebView _executeCoreCommandByName:value:]):
21372 * WebView/WebViewPrivate.h:
21373 Added an SPI to implement layoutTestController.execCommand.
21375 2008-01-03 Kevin Decker <kdecker@apple.com>
21377 Reviewed by Darin Adler.
21379 Fixed: <rdar://problem/4106190> Include "Where from" metadata in drag-and-dropped images
21381 * Misc/WebNSFileManagerExtras.h:
21382 * Misc/WebNSFileManagerExtras.m:
21383 (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]): Added new method. Uses WebKitSystemInterface to set
21384 "Where from:" metadata information.
21385 * WebView/WebHTMLView.mm:
21386 (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Added "Where from:" metadata for drag and dropped images.
21388 2008-01-03 Alice Liu <alice.liu@apple.com>
21390 Reviewed by Darin Adler.
21392 This fixes pageup/down in iframes. test for this is fast/frames/iframe-scroll-page-up-down.html
21394 * WebView/WebHTMLView.mm:
21395 (-[WebHTMLView doCommandBySelector:]):
21396 Have the editor handle all the commands it supports instead of just text commands.
21397 If not handled by the editor, the webview will handle the command.
21399 2008-01-02 Kevin Decker <kdecker@apple.com>
21401 Reviewed by Darin Adler.
21403 Fixed: <rdar://problem/5660603> QuickDraw plug-ins can cause a 100% reproducible assertion failure in AppKit (breaks Safari UI)
21405 * Plugins/WebBaseNetscapePluginView.mm:
21406 (-[WebBaseNetscapePluginView updateAndSetWindow]): Simplified an early return for non-QuickDraw plug-ins and switched
21407 to using the more NSView friendly version of lockFocus, lockFocusIfCanDraw.
21409 2008-01-01 David D. Kilzer <ddkilzer@webkit.org>
21413 - fix http://bugs.webkit.org/show_bug.cgi?id=16700
21414 Fix -[WebDefaultPolicyDelegate webView:decidePolicyForMIMEType:request:frame:decisionListener:]
21416 * DefaultDelegates/WebDefaultPolicyDelegate.m: Check return value of
21417 -[NSFileManager fileExistsAtPath:isDirectory:] before using the value
21420 2007-12-29 Nikolas Zimmermann <zimmermann@kde.org>
21424 Add DOMSVGFontElement/DOMSVGGlyphElement/DOMSVGMissingGlyphElement to MigrateHeaders.make
21426 * MigrateHeaders.make:
21428 2007-12-25 Dan Bernstein <mitz@apple.com>
21430 Reviewed by Oliver Hunt.
21432 - fix an assertion failure when pressing the num lock key
21434 * WebView/WebHTMLView.mm:
21435 (-[WebHTMLView flagsChanged:]): Avoid passing key code 10 down to
21438 2007-12-20 Darin Adler <darin@apple.com>
21440 Reviewed by Oliver.
21442 - fix <rdar://problem/5658787> Selector -[WebView insertLineBreak:] is not implemented
21444 * WebView/WebView.mm: Added all selectors implemented by WebHTMLView to the list of
21445 selectors to forward here. The new ones are: changeBaseWritingDirection:, changeSpelling:,
21446 deleteToMark:, insertLineBreak:, moveParagraphBackwardAndModifySelection:,
21447 moveParagraphForwardAndModifySelection:, pageDownAndModifySelection:, pageUpAndModifySelection:,
21448 selectToMark:, setMark:, swapWithMark:, takeFindStringFromSelection:, toggleBaseWritingDirection:,
21451 2007-12-20 Kevin Decker <kdecker@apple.com>
21453 Reviewed by Anders.
21455 Fixed: <rdar://problem/5638288> REGRESSION: Flash movies show up in other tabs above the page (16373)
21457 * Plugins/WebBaseNetscapePluginView.mm:
21458 (-[WebBaseNetscapePluginView updateAndSetWindow]): QuickDraw plug-ins must manually be told when to stop
21459 writing to the window backing store. The problem was that change-set 28400 introduced an early return
21460 which prevented this necessary operation. The fix is to limit the scope of the early return to CG and GL
21461 plug-ins and to tweak the needsFocus check to prevent an exception from occurring in QuickDraw-based plug-ins.
21463 2007-12-19 Geoffrey Garen <ggaren@apple.com>
21465 Reviewed by Oliver Hunt.
21469 * ForwardingHeaders/kjs/SymbolTable.h: Added.
21470 * ForwardingHeaders/wtf/VectorTraits.h: Added.
21472 2007-12-16 Mark Rowe <mrowe@apple.com>
21474 Reviewed by Maciej Stachowiak.
21476 Refactor Mac plugin stream code to use the shared NetscapePlugInStreamLoader implementation.
21478 * Plugins/WebBaseNetscapePluginStream.h:
21479 * Plugins/WebNetscapePluginStream.h:
21480 * Plugins/WebNetscapePluginStream.mm:
21481 (-[WebNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
21482 (-[WebNetscapePluginStream dealloc]):
21483 (-[WebNetscapePluginStream finalize]):
21484 * Plugins/WebPlugInStreamLoaderDelegate.h: Moved from WebCore.
21485 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.h: Added.
21486 (WebNetscapePlugInStreamLoaderClient::WebNetscapePlugInStreamLoaderClient):
21487 * WebCoreSupport/WebNetscapePlugInStreamLoaderClient.mm: Added.
21488 (WebNetscapePlugInStreamLoaderClient::didReceiveResponse): Call through to the equivalent WebPlugInStreamLoaderDelegate method.
21489 (WebNetscapePlugInStreamLoaderClient::didReceiveData): Ditto.
21490 (WebNetscapePlugInStreamLoaderClient::didFail): Ditto.
21491 (WebNetscapePlugInStreamLoaderClient::didFinishLoading): Ditto.
21493 2007-12-16 Alexey Proskuryakov <ap@webkit.org>
21495 Reviewed by Darin Adler.
21497 http://bugs.webkit.org/show_bug.cgi?id=14140
21498 <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
21500 * WebView/WebHTMLView.mm:
21501 (-[WebHTMLView _interceptEditingKeyEvent:shouldSaveCommand:]): Made command replaying work
21502 when handling keypress, too.
21503 (-[WebHTMLView doCommandBySelector:]): Adapted for the new way to store commands in events.
21504 (-[WebHTMLView insertText:]): Append a command, not replace the whole existing vector. Also,
21505 restore the state for additional commands to be saved correctly.
21507 2007-12-14 David D. Kilzer <ddkilzer@apple.com>
21509 <rdar://problem/5647272> Remove user agent string hack for flickr.com
21511 Reviewed by Darin Adler.
21513 * WebView/WebView.mm:
21514 (-[WebView _userAgentForURL:]): Removed hack.
21516 2007-12-14 David D. Kilzer <ddkilzer@apple.com>
21518 <rdar://problem/5647261> Remove user agent string hack for yahoo.com
21520 Reviewed by Darin Adler.
21522 * WebView/WebView.mm:
21523 (-[WebView _userAgentForURL:]): Removed hack.
21525 2007-12-14 Darin Adler <darin@apple.com>
21529 - fix http://bugs.webkit.org/show_bug.cgi?id=16296
21530 <rdar://problem/5635641> -[WebFrameLoadDelegate didReceiveIcon:forFrame:] never called
21532 * WebView/WebView.mm:
21533 (-[WebView setFrameLoadDelegate:]): Call [WebIconDatabase sharedIconDatabase] if the
21534 a didReceiveIcon method is present.
21536 2007-12-14 Darin Adler <darin@apple.com>
21538 Reviewed by Alexey.
21540 - Changed a few more editing operations to use WebCore instead of WebKit.
21541 - Removed some obsolete unused code.
21543 * WebCoreSupport/WebFrameBridge.h: Moved declarations of methods that are both
21544 defined and used on the WebKit side to here. These no longer belong on the bridge
21545 and should be moved to the WebFrame class (or elsewhere).
21546 * WebCoreSupport/WebFrameBridge.mm: Removed some unused methods.
21548 * WebView/WebFrameView.mm:
21549 (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Fix typo in comment.
21551 * WebView/WebHTMLView.mm:
21552 (-[WebHTMLViewPrivate dealloc]): Removed unused firstResponderTextViewAtMouseDownTime.
21553 (-[WebHTMLViewPrivate clear]): Ditto.
21554 (-[WebHTMLView _setMouseDownEvent:]): Ditto.
21555 (commandNameForSelector): Added special cases for pageDown:, pageDownAndModifySelection:,
21556 pageUp:, and pageUpAndModifySelection:, since those names probably aren't specific enough
21557 to be used in WebCore (what AppKit calls scrollPageDown: vs. pageDown: needs to be
21558 disambiguated with the word "Move"). Added deleteBackward:,
21559 deleteBackwardByDecomposingPreviousCharacter:, deleteForward:, deleteToBeginningOfLine:,
21560 deleteToBeginningOfParagraph:, deleteToEndOfLine:, deleteToEndOfParagraph:, pageDown:,
21561 pageDownAndModifySelection:, pageUp:, pageUpAndModifySelection:, selectLine:,
21562 selectParagraph:, selectSentence:, and selectWord: to the list of commands that are
21563 forwarded to WebCore.
21564 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Eliminated the long list of
21565 operations that we forward to WebCore. Instead, look up any command that WebCore can
21566 handle, after any that we handle specially in WebHTMLView. Also fixed a bug where
21567 an item that's not a menu item with changeBaseWritingDirection:NSWritingDirectionNatural
21568 would end up enabled instead of disabled and streamlined the logic for toggleGrammarChecking:.
21569 (-[WebHTMLView mouseDown:]): Removed unused firstResponderTextViewAtMouseDownTime.
21570 (-[WebHTMLView becomeFirstResponder]): Removed unused willBecomeFirstResponderForNodeFocus.
21571 (-[WebHTMLView resignFirstResponder]): Ditto.
21572 (-[WebHTMLView checkSpelling:]): Took unneeded extra initialization of NSSpellChecker.
21574 * WebView/WebHTMLViewInternal.h: Removed unused willBecomeFirstResponderForNodeFocus,
21575 firstResponderTextViewAtMouseDownTime, _textViewWasFirstResponderAtMouseDownTime: and
21576 _willMakeFirstResponderForNodeFocus.
21578 2007-12-13 Alexey Proskuryakov <ap@webkit.org>
21580 Reviewed by Darin Adler.
21582 Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
21584 * Misc/WebKitVersionChecks.h:
21585 * WebView/WebView.mm:
21586 (-[WebView _needsKeyboardEventHandlingQuirks]):
21587 (-[WebView _preferencesChangedNotification:]):
21589 2007-12-12 Brady Eidson <beidson@apple.com>
21591 Reviewed by Sam Weinig
21593 Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
21595 * WebCoreSupport/WebCachedPagePlatformData.h: Added.
21596 (WebCachedPagePlatformData::WebCachedPagePlatformData): Constructor takes a WebDocumentView for later restoration
21597 (WebCachedPagePlatformData::clear):
21598 (WebCachedPagePlatformData::webDocumentView):
21600 * WebCoreSupport/WebFrameLoaderClient.h:
21601 * WebCoreSupport/WebFrameLoaderClient.mm:
21602 (WebFrameLoaderClient::savePlatformDataToCachedPage):
21603 (WebFrameLoaderClient::transitionToCommittedFromCachedPage): Don't set the DocumentLoader to the Frame here,
21604 because that is now done in WebCore.
21605 (WebFrameLoaderClient::transitionToCommittedForNewPage):
21607 2007-12-12 Mark Rowe <mrowe@apple.com>
21609 Reviewed by Dave Kilzer.
21611 Remove abuse of projectDirPath from WebKit.xcodeproj to fix Production builds.
21613 * Configurations/WebKit.xcconfig:
21615 2007-12-11 Sam Weinig <sam@webkit.org>
21617 Reviewed by Darin Adler.
21619 Scrub URL out of the tree in preparation for renaming KURL to URL.
21621 * WebCoreSupport/WebFrameLoaderClient.mm:
21622 (WebFrameLoaderClient::actionDictionary):
21623 * WebView/WebDataSource.mm:
21624 (-[WebDataSource _URL]):
21625 * WebView/WebView.mm:
21626 (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
21628 2007-12-11 Darin Adler <darin@apple.com>
21632 - change more editing commands to use WebCore::Editor
21633 - change to use the new WebCore::Editor::command() function
21635 * WebView/WebHTMLView.mm: Changed alignCenter, alignJustified, alignLeft,
21636 alignRight, cut, copy, deleteToMark, indent, insertNewlineIgnoringFieldEditor,
21637 insertTabIgnoringFieldEditor, outdent, selectAll, selectToMark, setMark,
21638 subscript, superscript, swapWithMark, underline, unscript, yank, and yankAndSelect
21639 to use the "forward to WebCore" macro instead of having hand-written implementations.
21640 (kit): Added function to change a TriState to an AppKit-style tri-state value.
21641 (-[WebHTMLView coreCommandBySelector:]): Added. No longer converts case of the
21642 first character or copies the selector name, since the Editor commands are not case
21643 sensitive any more. Returns a command object.
21644 (-[WebHTMLView coreCommandByName:]): Added.
21645 (-[WebHTMLView executeCoreCommandBySelector:]): Renamed from callWebCoreCommand:,
21646 and changed to use the new coreCommandBySelector: method.
21647 (-[WebHTMLView executeCoreCommandByName:]): Added.
21648 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]): Changed all the
21649 methods that call through to WebCore to also use the state() and isEnabled()
21650 functions on the commands for the menu item state and user interface item enabling.
21651 (-[WebHTMLView _handleStyleKeyEquivalent:]): Use ToggleBold and ToggleItalic by
21652 name rather than having local methods for them; no need for methods with a single
21654 (-[WebHTMLView insertParagraphSeparator:]): Use executeCoreCommandByName: rather
21655 than the deprecated execCommand().
21656 (-[WebHTMLView doCommandBySelector:]): Changed to use command().execute() rather
21657 than the deprecated execCommand().
21658 * WebView/WebHTMLViewInternal.h: Removed some unneeded method declarations.
21660 2007-12-07 Alexey Proskuryakov <ap@webkit.org>
21662 Reviewed by Darin Adler.
21664 <rdar://problem/5535636>
21665 Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
21667 http://bugs.webkit.org/show_bug.cgi?id=13916
21668 JavaScript detects Tab as a character input on a textfield validation
21670 * WebCoreSupport/WebEditorClient.h:
21671 Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
21672 Renamed handleInputMethodKeypress() to handleInputMethodKeydown().
21673 * WebCoreSupport/WebEditorClient.mm:
21674 (WebEditorClient::handleKeyboardEvent): This change makes sense only remotely, but it helped
21675 to get tests working. I guess Mac keyboard event handling needs further refactoring.
21677 * WebView/WebHTMLView.mm:
21678 (selectorToCommandName): Convert AppKit editing selector name to Editor command name - extracted
21679 from callWebCoreCommand:.
21680 (_interceptEditingKeyEvent:shouldSaveCommand:): Insert text from keypress.
21682 * WebView/WebPDFView.mm:
21683 (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
21684 Convert incoming platform KeyDown into RawKeyDown, as this is what the view is interested in.
21686 2007-12-10 Brady Eidson <beidson@apple.com>
21688 Reviewed by John Sullivan
21690 Fix for <rdar://problem/5640080> - Database UI delegate calls need to specify WebFrame
21692 This is because a common UI case is to want to know the originating URL of a Database
21694 * WebCoreSupport/WebChromeClient.mm:
21695 (WebChromeClient::requestQuotaIncreaseForNewDatabase):
21696 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation):
21698 * WebView/WebUIDelegatePrivate.h:
21700 * WebView/WebView.mm:
21701 (CallDelegateReturningUnsignedLongLong):
21702 (CallUIDelegateReturningUnsignedLongLong):
21703 * WebView/WebViewInternal.h:
21705 2007-12-10 Timothy Hatcher <timothy@apple.com>
21707 Reviewed by Mark Rowe.
21709 <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
21711 * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
21712 so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
21714 2007-12-10 Kevin Decker <kdecker@apple.com>
21716 Reviewed by Darin Adler.
21718 Fixed: <rdar://problem/4290098> Right-mouse click on element doesn't call onmousedown handler
21720 * WebView/WebHTMLView.mm:
21721 (-[WebHTMLView menuForEvent:]): Match behavior of other browsers by sending an onmousedown event for right clicks.
21723 2007-12-08 Oliver Hunt <oliver@apple.com>
21727 Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
21729 Fixes <rdar://problem/5620249> Must disable SVG animation
21730 <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
21732 Minor updates to the feature flags used.
21734 * Configurations/WebKit.xcconfig:
21735 * DOM/WebDOMOperations.mm:
21737 2007-12-07 Darin Adler <darin@apple.com>
21739 Reviewed by Kevin Decker and Tim Hatcher.
21741 - speculative fix for <rdar://problem/5400159> CrashTracer: [USER] 726 crashes
21742 in Safari at com.apple.WebKit: -[WebHTMLView(WebPrivate) _updateMouseoverWithFakeEvent] + 389
21744 * WebView/WebHTMLView.mm:
21745 (-[WebHTMLView _frameOrBoundsChanged]): Only schedule the mouseover timer if we are in a window
21746 and not closed. That's because viewDidMoveToWindow and close are the entry points for cancelling.
21747 (-[WebHTMLView close]): Add code to cancel both timers. Needed for the case where the entire
21748 window goes away, and the view is never removed from the window.
21749 (-[WebHTMLView viewDidMoveToWindow]): Don't do work if the view is closed.
21751 2007-12-07 Darin Adler <darin@apple.com>
21755 - http://bugs.webkit.org/show_bug.cgi?id=15981
21756 speed up visited-link code a bit
21758 * History/WebHistory.mm: Removed unused Latin-1 code path.
21759 (-[_WebCoreHistoryProvider containsURL:length:]): Updated for method name change.
21761 2007-12-07 Geoffrey Garen <ggaren@apple.com>
21763 Reviewed by Sam Weinig.
21765 Added a forwarding header, since we now #include nodes.h through some
21766 JavaScriptCore headers.
21768 * ForwardingHeaders/wtf/ListRefPtr.h: Added.
21770 2007-12-06 Brady Eidson <beidson@apple.com>
21772 Reviewed by Oliver's rubber stamp
21774 Let's go ahead and call the correct UI Delegate method, shall we?
21776 * WebCoreSupport/WebChromeClient.mm:
21777 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Call the correct UI delegate
21779 2007-12-06 Adam Roben <aroben@apple.com>
21781 Remove some assertions we know can fire and replace them with a FIXME
21783 Reviewed by Anders.
21785 * WebCoreSupport/WebFrameLoaderClient.mm:
21787 2007-12-06 Timothy Hatcher <timothy@apple.com>
21789 Change the ASSERT added for the previous fix. The ASSERT was firing for 10.5.0.
21790 Only assert if the major version is zero, since zero is handled in the other cases.
21792 * WebView/WebView.mm:
21793 (callGestalt): Remove the ASSERT.
21794 (createMacOSXVersionString): ASSERT that major is not zero.
21796 2007-12-06 Darin Adler <darin@apple.com>
21798 Reviewed by Tim Hatcher.
21800 - fix <rdar://problem/5513394> No way to detect Tiger vs Leopard from Safari's user agent string
21802 * WebView/WebView.mm:
21803 (callGestalt): Added.
21804 (createMacOSXVersionString): Added.
21805 (-[WebView _userAgentWithApplicationName:andWebKitVersion:]): Added Mac OS X version string,
21806 right after the string "Mac OS X", but with underscores instead of dots to avoid the dreaded
21807 "4." problem (old libraries that think a "4." anywhere in the user agent means Netscape 4).
21808 (-[WebView _userAgentForURL:]): Fixed incorrect bug numbers.
21810 2007-12-04 Geoffrey Garen <ggaren@apple.com>
21812 Reviewed by Darin Adler.
21814 Third step in refactoring JSGlobalObject: Moved data members and data
21815 member access from Interpreter to JSGlobalObject.
21817 * WebView/WebFrame.mm:
21818 (-[WebFrame _attachScriptDebugger]):
21820 2007-12-04 Kevin McCullough <kmccullough@apple.com>
21822 Reviewed by Darin Adler.
21825 - Security Fix. Instead of having it off by default, WebKit now must
21826 explicitly turn off local-resource restriction when needed for backwards
21827 coimpatibility reasons.
21829 * WebView/WebView.mm:
21830 (-[WebView _commonInitializationWithFrameName:groupName:]):
21832 2007-12-05 Brady Eidson <beidson@apple.com>
21834 Reviewed by Kevin Deckers rubberstamp
21836 Disclose and export the Databases Directory defaults key
21838 * Storage/WebDatabaseManager.mm:
21839 * Storage/WebDatabaseManagerPrivate.h:
21842 2007-12-04 Kevin Decker <kdecker@apple.com>
21844 Reviewed by Anders.
21846 <rdar://problem/5629125> PluginInfoStore needs the ability to return the name of a plug-in for a given MIME type
21848 * WebCoreSupport/WebViewFactory.mm:
21849 (-[WebViewFactory pluginNameForMIMEType:]): Added.
21851 2007-12-04 Brady Eidson <beidson@apple.com>
21853 Reviewed by Mark Rowe
21855 Tweaked the way we typedef and cast these objc_msgSend calls
21857 * WebView/WebView.mm:
21858 (CallDelegateReturningUnsignedLongLong):
21860 2007-12-04 John Sullivan <sullivan@apple.com>
21862 Reviewed by Brady Eidson (with help from Mark Rowe)
21864 Fixed return values for unsigned-long-long delegate methods
21866 * WebView/WebView.mm:
21867 (CallDelegateReturningUnsignedLongLong):
21868 redid the change that Brady did at home over the weekend but forgot to check in
21870 2007-11-27 Adam Roben <aroben@apple.com>
21872 Remove -[WebFrameBridge setNeedsReapplyStyles]
21874 This functionality is now WebCore's responsibility.
21878 * WebCoreSupport/WebFrameBridge.mm:
21881 2007-12-04 John Sullivan <sullivan@apple.com>
21885 Added deleteOrigin: SPI, which isn't fully implemented
21887 * Storage/WebDatabaseManagerPrivate.h:
21888 * Storage/WebDatabaseManager.mm:
21889 (-[WebDatabaseManager deleteOrigin:]):
21890 just calls deleteDatabasesWithOrigin: for now, but needs to delete origin itself too
21892 2007-12-04 Timothy Hatcher <timothy@apple.com>
21894 Reviewed by Mark Rowe.
21896 Remove a check for early versions of Leopard CFNetwork now that
21897 Leopard has shipped.
21899 * Misc/WebKitVersionChecks.h: Remove WEBKIT_FIRST_CFNETWORK_VERSION_WITH_LARGE_DISK_CACHE_FIX.
21900 * WebView/WebView.mm:
21901 (+[WebView _setCacheModel:]): Remove the early Leopard CFNetwork check.
21903 2007-12-04 Kevin Decker <kdecker@apple.com>
21905 Reviewed by Darin Adler.
21907 Revised fix for: <rdar://problem/5586978> REGRESSION (Safari 2-3): WebKit sometimes doesn't invoke Flash's NPP_SetWindow function and causes a hang
21909 This fix is exactly the same as chageset 28359 with the exception of an added early return in
21910 updateAndSetWindow to cover the additional case of when a plug-in isn't drawable.
21912 The CG-based Flash player would sometimes hang because (for CoreGraphics-based plug-ins) our code would
21913 only call into the NPP_SetWindow() function when we tell the plug-in to draw. This created havoc with
21914 Flash because Flash expects the browser to call NPP_SetWindow() and provide a valid graphics context
21915 regardless of whether or not it actually needs to draw.
21917 * Plugins/WebBaseNetscapePluginView.mm:
21918 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]): Removed an incorrect comment and toned
21919 down an ASSERT that was too strict.
21920 (-[WebBaseNetscapePluginView updateAndSetWindow]): Removed an early return for CoreGraphics-based plug-ins
21921 which would sometimes altogether prevent updating the PortState and calling into a plug-ins NPP_SetWindow()
21922 function. Also tweaked a comment and added an early return if the plug-in can't draw.
21924 2007-12-04 Darin Adler <darin@apple.com>
21926 Reviewed by Kevin Decker.
21928 * WebCoreSupport/WebFrameLoaderClient.h: Removed obsolete privateBrowsingEnabled.
21929 * WebCoreSupport/WebFrameLoaderClient.mm: Ditto.
21930 * WebKit.order: Ditto.
21932 2007-12-03 Dan Bernstein <mitz@apple.com>
21934 Reviewed by Dave Hyatt.
21936 - fix <rdar://problem/5346452> Resize event doesn't fire on body element inside a frame
21938 * WebView/WebHTMLView.mm:
21939 (-[WebHTMLView layoutToMinimumPageWidth:maximumPageWidth:adjustingViewSize:]): Removed the code
21940 that checked if the view had resized and sent the resize event, since
21941 FrameView sends resize events now.
21942 * WebView/WebHTMLViewInternal.h:
21944 2007-12-03 Timothy Hatcher <timothy@apple.com>
21946 Reviewed by Darin Adler.
21948 Change WebViewGetResourceLoadDelegateImplementations and WebViewGetFrameLoadDelegateImplementations
21949 to return a pointer to the implementation struct instead of a copy of the struct. This changes
21950 all of the callers to dereference the pointer to access the struct fields.
21952 * Plugins/WebNullPluginView.mm:
21953 (-[WebNullPluginView reportFailure]):
21954 * WebCoreSupport/WebFrameBridge.mm:
21955 * WebCoreSupport/WebFrameLoaderClient.mm:
21956 (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
21957 (WebFrameLoaderClient::assignIdentifierToInitialRequest):
21958 (WebFrameLoaderClient::dispatchWillSendRequest):
21959 (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
21960 (WebFrameLoaderClient::dispatchDidCancelAuthenticationChallenge):
21961 (WebFrameLoaderClient::dispatchDidReceiveResponse):
21962 (WebFrameLoaderClient::willCacheResponse):
21963 (WebFrameLoaderClient::dispatchDidReceiveContentLength):
21964 (WebFrameLoaderClient::dispatchDidFinishLoading):
21965 (WebFrameLoaderClient::dispatchDidFailLoading):
21966 (WebFrameLoaderClient::dispatchDidHandleOnloadEvents):
21967 (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
21968 (WebFrameLoaderClient::dispatchDidCancelClientRedirect):
21969 (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
21970 (WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
21971 (WebFrameLoaderClient::dispatchWillClose):
21972 (WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
21973 (WebFrameLoaderClient::dispatchDidReceiveTitle):
21974 (WebFrameLoaderClient::dispatchDidCommitLoad):
21975 (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
21976 (WebFrameLoaderClient::dispatchDidFailLoad):
21977 (WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
21978 (WebFrameLoaderClient::dispatchDidFinishLoad):
21979 (WebFrameLoaderClient::dispatchDidFirstLayout):
21980 * WebView/WebView.mm:
21981 (WebViewGetResourceLoadDelegateImplementations):
21982 (WebViewGetFrameLoadDelegateImplementations):
21983 (-[WebView _dispatchDidReceiveIconFromWebFrame:]):
21984 * WebView/WebViewInternal.h:
21986 2007-12-03 Timothy Hatcher <timothy@apple.com>
21988 Reviewed by Brady Eidson.
21990 <rdar://problem/5539913> 188 crashes in WebViewGetFrameLoadDelegateImplementations
21991 <rdar://problem/5586095> CrashTracer: [USER] 5000+ crashes in Safari and Dashboard in dispatchDidFailLoading
21992 <rdar://problem/5607081> CrashTracer: [USER] 2150 crashes in Safari at com.apple.WebKit:
21993 WebViewGetResourceLoadDelegateImplementations + 28
21995 * WebView/WebView.mm:
21996 (-[WebView _cacheResourceLoadDelegateImplementations]): If the delegate is nil, bzero the
21997 implementation cache. This just prevents us from calling getMethod() multiple times just to zero.
21998 (-[WebView _cacheFrameLoadDelegateImplementations]): Ditto.
21999 (WebViewGetResourceLoadDelegateImplementations): Return a zeroed implementations struct
22000 if the WebView is nil. This fixes the crashes.
22001 (WebViewGetFrameLoadDelegateImplementations): Ditto.
22003 2007-12-02 Geoffrey Garen <ggaren@apple.com>
22005 Reviewed by Eric Seidel.
22007 Updated to match the JavaScriptCore change to move virtual methods from
22008 Interpreter to JSGlobalObject.
22010 * WebView/WebFrame.mm:
22011 (-[WebFrame globalContext]): Use the toRef function instead of manually
22014 2007-12-01 Brady Eidson <beidson@apple.com>
22018 Added a default database quota of 5mb to the default WebPreferences
22020 * WebView/WebPreferences.m:
22021 (+[WebPreferences initialize]):
22023 2007-11-30 John Sullivan <sullivan@apple.com>
22025 Reviewed by Geoff Garen
22027 Added another symbol for WebDatabaseManager clients
22030 added .objc_class_name_WebSecurityOrigin
22032 2007-11-30 Brady Eidson <beidson@apple.com>
22036 Add isEqual operator to WebSecurityOrigin
22038 * Storage/WebSecurityOrigin.mm:
22039 (-[WebSecurityOrigin isEqual:]):
22041 2007-11-30 John Sullivan <sullivan@apple.com>
22045 Tweaks to newly-declared NSString * constants to make them usable from clients
22047 * Storage/WebDatabaseManagerPrivate.h:
22048 * Storage/WebDatabaseManager.mm:
22049 removed "const" from new NSNotification names and userInfo keys; these generate compiler warnings when used
22052 export new NSNotification names and userInfo keys so clients can use them
22054 2007-11-29 Anders Carlsson <andersca@apple.com>
22058 Rename WebKitShrinksStandaloneImagesToFitKey to WebKitShrinksStandaloneImagesToFit.
22060 This is safe to do because the preference is off by default and Safari 3, which is the only client that turns it on,
22061 is using the setter and not messing around with NSUserDefaults.
22063 * WebView/WebPreferenceKeysPrivate.h:
22064 * WebView/WebPreferences.m:
22065 (+[WebPreferences initialize]):
22066 (-[WebPreferences shrinksStandaloneImagesToFit]):
22067 (-[WebPreferences setShrinksStandaloneImagesToFit:]):
22069 2007-11-29 Brady Eidson <beidson@apple.com>
22073 Support for <rdar://problem/5556381> and <rdar://problem/5556379>
22075 Hook up UI Delegate calls for the database engine feature and other small tweaks
22077 * Storage/WebDatabaseManager.mm:
22078 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
22079 (-[WebDatabaseManager deleteDatabase:withOrigin:]): Renamed databaseName parameter to databaseIdentifier for clarity
22080 * Storage/WebDatabaseManagerPrivate.h:
22082 * Storage/WebDatabaseTrackerClient.h:
22083 * Storage/WebDatabaseTrackerClient.mm:
22084 (WebDatabaseTrackerClient::dispatchDidModifyDatabase): Renamed databaseName parameter to databaseIdentifier for clarity
22086 * WebCoreSupport/WebChromeClient.h:
22087 * WebCoreSupport/WebChromeClient.mm:
22088 (WebChromeClient::requestQuotaIncreaseForNewDatabase): Call through to the UI Delegate
22089 (WebChromeClient::requestQuotaIncreaseForDatabaseOperation): Ditto
22091 * WebView/WebUIDelegatePrivate.h: Added the two UI Delegate methods
22093 * WebView/WebView.mm:
22094 (CallDelegateReturningUnsignedLongLong):
22095 (CallUIDelegateReturningUnsignedLongLong):
22096 * WebView/WebViewInternal.h:
22098 2007-11-28 Kevin McCullough <kmccullough@apple.com>
22102 - Added recursive runloop guards.
22104 * DefaultDelegates/WebScriptDebugServer.m:
22105 (-[WebScriptDebugServer suspendProcessIfPaused]):
22107 2007-11-29 Mark Rowe <mrowe@apple.com>
22109 Reviewed by Oliver Hunt.
22111 Fix an assertion failure seen on the layout tests, and when closing the window after
22112 visiting <http://www.coudal.com/losalamos/>.
22114 * Plugins/WebBaseNetscapePluginStream.mm:
22115 (-[WebBaseNetscapePluginStream _destroyStream]): Unlink the file and close the file
22116 descriptor even when the stream is being destroyed without the load completing. This
22117 avoids leaking the path and file descriptor, and leaving the temporary file on disk.
22119 2007-11-28 Adele Peterson <adele@apple.com>
22121 Reviewed by Darin Adler.
22123 Fix for <rdar://problem/5524216> CrashTracer: [USER] 496 crashes in Safari at com.apple.WebCore: WebCore::Frame::eventHandler const + 6
22125 The CrashTracer shows a variety of crashes in different methods (including keyDown and keyUp). This change adds nil checks for the frame in
22126 WebHTMLView to prevent future problems in other methods as well.
22128 * WebView/WebHTMLView.mm:
22129 (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
22130 (-[WebHTMLView keyDown:]):
22131 (-[WebHTMLView keyUp:]):
22132 (-[WebHTMLView flagsChanged:]):
22133 (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
22134 (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
22135 (-[WebHTMLView checkSpelling:]):
22136 (-[WebHTMLView showGuessPanel:]):
22137 (-[WebHTMLView indent:]):
22138 (-[WebHTMLView outdent:]):
22139 (-[WebHTMLView paste:]):
22140 (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
22141 (-[WebHTMLView insertText:]):
22142 (-[WebHTMLView selectionTextRects]):
22144 2007-11-28 Dan Bernstein <mitz@apple.com>
22146 Reviewed by Maciej Stachowiak.
22148 - fix <rdar://problem/5596160> fast/events/objc-event-api.html fails when run alone (or first)
22150 * WebView/WebHTMLView.mm:
22151 (-[WebHTMLView setDataSource:]): This method calls addMouseMovedObserver
22152 because addMouseMovedObserver returns early if the dataSource
22153 is not nil. But if the dataSource is already set (which happens when
22154 a WebHTMLView is being reused) then addMouseMovedObserver must not
22157 2007-11-27 Anders Carlsson <andersca@apple.com>
22161 * Storage/WebDatabaseManager.mm:
22162 * Storage/WebDatabaseManagerPrivate.h:
22163 * Storage/WebDatabaseTrackerClient.mm:
22164 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
22165 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
22166 * Storage/WebSecurityOrigin.mm:
22167 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
22168 * Storage/WebSecurityOriginInternal.h:
22170 2007-11-27 Kevin Decker <kdecker@apple.com>
22172 Reviewed by Darin, landed by Anders.
22174 Fixed: <rdar://problem/4610818> CrashTracer: 1533 crashes in Safari at com.macromedia.Flash Player.plugin: native_ShockwaveFlash_TCallLabel + 271131
22176 The problem was that some Leopard users were still inadvertently using the old Flash 8 plug-in, even though Leopard
22177 shipped with Flash 9. To avoid loading an older version of a plug-in when a newer version is installed, the plug-in
22178 database will compare bundle versions and always load the latest version.
22180 * Plugins/WebBasePluginPackage.h:
22181 * Plugins/WebBasePluginPackage.m:
22182 (-[WebBasePluginPackage versionNumber]): New method. CFBundleGetVersionNumber doesn't work with all possible versioning schemes,
22183 but we think for now it's good enough for us.
22184 * Plugins/WebPluginDatabase.m:
22185 (considerCandidate): Added a C utility function which compares the current plug-in against a candidate plug-in's version number.
22186 If both plug-ins have the same bundle ID and the candiate is newer, the current plug-in becomes the candidate.
22187 (-[WebPluginDatabase pluginForKey:withEnumeratorSelector:]): Calls the new considerCandidate() function.
22189 2007-11-26 Timothy Hatcher <timothy@apple.com>
22191 Reviewed by Dave Hyatt.
22193 <rdar://problem/5569233> Add the ability to disable author and user CSS styles
22195 * WebView/WebPreferenceKeysPrivate.h: Define WebKitRespectStandardStyleKeyEquivalentsPreferenceKey.
22196 * WebView/WebPreferences.m:
22197 (+[WebPreferences initialize]): Default WebKitRespectStandardStyleKeyEquivalentsPreferenceKey to YES.
22198 (-[WebPreferences authorAndUserStylesEnabled]): Return the setting's BOOL value.
22199 (-[WebPreferences setAuthorAndUserStylesEnabled:]): Set the setting's BOOL value.
22200 * WebView/WebPreferencesPrivate.h: Add authorAndUserStylesEnabled and setAuthorAndUserStylesEnabled:.
22201 * WebView/WebView.mm:
22202 (-[WebView _preferencesChangedNotification:]): Update WebCore::Settings::authorAndUserStylesEnabled.
22204 2007-11-26 Brady Eidson <beidson@apple.com>
22206 Reviewed by Mark Rowe
22208 Provide API for setting the default storage quota per database origin
22210 * Misc/WebNSDictionaryExtras.h:
22211 * Misc/WebNSDictionaryExtras.m:
22212 (-[NSMutableDictionary _webkit_setUnsignedLongLong:forKey:]): Helper for UINT64 preferences
22214 * WebView/WebPreferenceKeysPrivate.h:
22215 * WebView/WebPreferences.m:
22216 (-[WebPreferences _unsignedLongLongValueForKey:]): Helper for UINT64 prefs
22217 (-[WebPreferences _setUnsignedLongLongValue:forKey:]): Ditto
22218 (-[WebPreferences defaultDatabaseQuota]):
22219 (-[WebPreferences setDefaultDatabaseQuota:]):
22220 * WebView/WebPreferencesPrivate.h:
22222 * WebView/WebView.mm:
22223 (-[WebView _preferencesChangedNotification:]): Set the WebCore Settings version of the default storage pref
22225 2007-11-26 Darin Adler <darin@apple.com>
22229 - some middle-mouse-button-related fixes
22231 These don't affect Safari since it maps the middle mouse button to the command key,
22232 but that might not always be the case for future versions.
22234 * WebView/WebHTMLView.mm:
22235 (-[WebHTMLView otherMouseDown:]): Pass through middle mouse down events to WebCore.
22236 (-[WebHTMLView otherMouseDragged:]): Ditto, for drag events.
22237 (-[WebHTMLView otherMouseUp:]): Ditto, for up events.
22239 * WebView/WebPolicyDelegate.h: Fixed inaccurate documentation of WebActionButtonKey.
22241 2007-11-26 Anders Carlsson <andersca@apple.com>
22245 Get rid of the WebSecurityOriginPrivate object and store
22246 the WebCore::SecurityOriginData pointer in the _private field of
22247 the WebSecurityOrigin object instead.
22249 * Storage/WebDatabaseManager.mm:
22250 (-[WebDatabaseManager databasesWithOrigin:]):
22251 (-[WebDatabaseManager detailsForDatabase:withOrigin:]):
22252 (-[WebDatabaseManager deleteDatabasesWithOrigin:]):
22253 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
22254 * Storage/WebSecurityOrigin.mm:
22255 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
22256 (-[WebSecurityOrigin protocol]):
22257 (-[WebSecurityOrigin domain]):
22258 (-[WebSecurityOrigin port]):
22259 (-[WebSecurityOrigin usage]):
22260 (-[WebSecurityOrigin quota]):
22261 (-[WebSecurityOrigin setQuota:]):
22262 (-[WebSecurityOrigin dealloc]):
22263 (-[WebSecurityOrigin finalize]):
22264 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
22265 (-[WebSecurityOrigin _core]):
22266 * Storage/WebSecurityOriginInternal.h:
22268 2007-11-26 Timothy Hatcher <timothy@apple.com>
22270 Reviewed by Adam Roben.
22272 Bug 16137: Web Inspector window on Leopard should have a unified toolbar and window title
22273 http://bugs.webkit.org/show_bug.cgi?id=16137
22275 Create the Web Inspector window with the textured style. Set the content border
22276 thickness for the top of the window or the height of the toolbar. Also make the
22277 window's bottom corners square, since a normal textured window normally has
22278 rounded bottom corners.
22280 * WebCoreSupport/WebInspectorClient.mm:
22281 (-[WebInspectorWindowController window]):
22283 2007-11-24 Mark Rowe <mrowe@apple.com>
22287 * Plugins/WebBaseNetscapePluginStream.mm:
22288 (CarbonPathFromPOSIXPath): Use WebCFAutorelease as this also works on Tiger.
22290 2007-11-24 Mark Rowe <mrowe@apple.com>
22292 Reviewed by Tim Hatcher.
22294 Fix <rdar://problem/5432686> 333MB RPRVT seems to leak @ www.43folders.com (1hr plug-in stream).
22295 http://bugs.webkit.org/show_bug.cgi?id=13705
22297 Have NP_ASFILE and NP_ASFILEONLY streams write the data to disk as they receive it rather than
22298 dumping the data to disk in a single go when the stream has completed loading. On a test case
22299 involving a 150MB Flash movie being streamed from a local web server this reduces memory consumption
22300 on page load from around 400MB to 22MB.
22302 The only plugin I have found that uses NP_ASFILE or NP_ASFILEONLY on the Mac is our NetscapeMoviePlugin
22303 example code so the NP_ASFILE portion of this change has not had any testing with a real-world plugin.
22305 * Plugins/WebBaseNetscapePluginStream.h:
22306 * Plugins/WebBaseNetscapePluginStream.mm:
22307 (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
22308 (-[WebBaseNetscapePluginStream dealloc]):
22309 (-[WebBaseNetscapePluginStream finalize]):
22310 (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
22311 (-[WebBaseNetscapePluginStream _destroyStream]): Update to work with paths as NSStrings.
22312 (-[WebBaseNetscapePluginStream _deliverDataToFile:]): Open the file if it is not already open, and write any data
22314 (-[WebBaseNetscapePluginStream finishedLoading]): If the stream is NP_ASFILE or NP_ASFILEONLY we need to ensure
22315 that the file exists before _destroyStream passes it to the plugin. Simulating the arrival of an empty data block
22316 ensure that the file will be created if it has not already.
22317 (-[WebBaseNetscapePluginStream receivedData:]):
22318 (CarbonPathFromPOSIXPath):
22319 * Plugins/WebBaseNetscapePluginView.mm:
22320 (-[WebBaseNetscapePluginView pluginViewFinishedLoading:]): Data is dealt with incrementally so there's no need to pass
22321 it to finishedLoading.
22322 (-[WebBaseNetscapePluginView evaluateJavaScriptPluginRequest:]): Ditto.
22324 2007-11-23 Oliver Hunt <oliver@apple.com>
22326 Reviewed by Mark Rowe.
22328 Fixed <rdar://problem/3759190> allow input methods the option of processing mouse events themselves
22330 * WebView/WebHTMLView.mm:
22331 (-[WebHTMLView mouseDown:]):
22333 2007-11-22 Dan Bernstein <mitz@apple.com>
22335 Reviewed by Antti Koivisto.
22337 - http://bugs.webkit.org/show_bug.cgi?id=15811
22338 WebKit plug-ins can re-enter WebKit under attach()
22339 <rdar://problem/5577978>
22341 * Plugins/WebNullPluginView.mm:
22342 (-[WebNullPluginView viewDidMoveToWindow]): Removed workaround for the
22343 above bug that added as part of fixing
22344 <http://bugs.webkit.org/show_bug.cgi?id=15804>.
22346 2007-11-21 Mark Rowe <mrowe@apple.com>
22350 Fix WebKit to build without warnings under GCC 4.2.
22352 * Configurations/Base.xcconfig:
22354 2007-11-21 Mark Rowe <mrowe@apple.com>
22356 Reviewed by Tim Hatcher.
22358 Changes due to <rdar://problem/5602936> Need to resolve new GCC 4.2 warnings
22360 Update format strings to use format specifiers that match the argument types.
22362 * Misc/WebGraphicsExtras.c:
22363 (WebConvertBGRAToARGB):
22365 2007-11-19 Brady Eidson <beidson@apple.com>
22369 Finished hooking up the WebKit API for database management.
22370 Most of the API is actually implemented in WebCore and some of those methods might
22371 only be stubs for now.
22373 * Storage/WebDatabaseManager.mm:
22374 (-[WebDatabaseManager origins]): Call through to the WebCore tracker and construct an API result
22375 (-[WebDatabaseManager databasesWithOrigin:]): Ditto
22376 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Ditto
22378 * Storage/WebSecurityOrigin.mm:
22379 (-[WebSecurityOrigin usage]): Call through to WebCore
22380 (-[WebSecurityOrigin quota]): Ditto
22381 (-[WebSecurityOrigin setQuota:]): Ditto
22382 (-[WebSecurityOrigin _core]): Get WebCore version of this object
22383 * Storage/WebSecurityOriginInternal.h:
22385 2007-11-17 Timothy Hatcher <timothy@apple.com>
22387 Reviewed by Mark Rowe.
22389 Bug 13470: i18n: The Web Inspector is not localizable
22390 http://bugs.webkit.org/show_bug.cgi?id=13470
22392 Implement the localizedStringsURL() client method to return the
22393 localized URL of InspectorLocalizedStrings.js in WebCore.
22395 * WebCoreSupport/WebInspectorClient.h: Added localizedStringsURL.
22396 * WebCoreSupport/WebInspectorClient.mm:
22397 (WebInspectorClient::localizedStringsURL): Added.
22398 (WebInspectorClient::updateWindowTitle): Localized the window title.
22399 (-[WebInspectorWindowController init]): Remove a FIXME that dosen't make sense anymore.
22400 (-[WebInspectorWindowController initWithInspectedWebView:]): Code style cleanup.
22402 2007-11-17 Alexey Proskuryakov <ap@webkit.org>
22404 Reviewed by Darin Adler.
22406 http://bugs.webkit.org/show_bug.cgi?id=15969
22407 Eliminate Editor::deleteRange()
22409 * WebView/WebHTMLView.mm:
22410 (+[WebHTMLView initialize]):
22411 (-[WebHTMLView yank:]):
22412 (-[WebHTMLView yankAndSelect:]):
22413 (-[WebHTMLView setMark:]):
22414 (-[WebHTMLView deleteToMark:]):
22415 (-[WebHTMLView selectToMark:]):
22416 (-[WebHTMLView swapWithMark:]):
22417 Pushed all kill ring methods to WebCore. They were guilty of using Editor::deleteRange()!
22419 2007-11-16 Mark Rowe <mrowe@apple.com>
22421 Reviewed by Tim Hatcher.
22423 Build WebCore as a sub-framework of WebKit in all configurations.
22425 * Configurations/WebKit.xcconfig:
22427 2007-11-16 John Sullivan <sullivan@apple.com>
22432 Exported some new database-related symbols
22434 2007-11-16 Brady Eidson <beidson@apple.com>
22438 Database management API tweaks
22440 Fleshed out "WebSecurityOrigin" to be the API object representing an origin. This relieves some
22441 burden off WebDatabaseManager and allows usage/quota operations on the SecurityOrigin object itself
22443 Also added a new subdirectory for Storage related API - Why are we afraid to add new directories to
22446 * Misc/WebSecurityOrigin.mm: Removed.
22447 * Misc/WebSecurityOriginInternal.h: Removed.
22448 * Misc/WebSecurityOriginPrivate.h: Removed.
22450 * Storage/WebDatabaseManager.mm: Work in terms of WebSecurityOrigin
22451 * Storage/WebDatabaseManagerPrivate.h:
22453 * Storage/WebSecurityOrigin.mm: Added.
22454 (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
22455 (-[WebSecurityOriginPrivate initWithWebCoreSecurityOrigin:]):
22456 (-[WebSecurityOriginPrivate finalize]):
22457 (-[WebSecurityOriginPrivate dealloc]):
22458 (-[WebSecurityOrigin initWithProtocol:domain:]):
22459 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
22460 (-[WebSecurityOrigin protocol]):
22461 (-[WebSecurityOrigin domain]):
22462 (-[WebSecurityOrigin port]):
22463 (-[WebSecurityOrigin usage]):
22464 (-[WebSecurityOrigin quota]):
22465 (-[WebSecurityOrigin setQuota:]): Clients will set quotas on the WebSecurityOrigin object itself
22466 (-[WebSecurityOrigin dealloc]):
22467 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:]):
22468 * Storage/WebSecurityOriginInternal.h: Added.
22469 * Storage/WebSecurityOriginPrivate.h: Added.
22471 2007-11-15 Brady Eidson <beidson@apple.com>
22475 Stubbing out everything required for a WebKit API for databases
22477 These interfaces seem to provide everything we need for UI and management at the browser level
22479 * Misc/WebDatabaseManager.h: Removed.
22480 * Misc/WebDatabaseManager.mm: Removed.
22481 * Misc/WebDatabaseManagerPrivate.h: Removed.
22483 * Misc/WebSecurityOrigin.mm: Added. Object that acts as a container for the "SecurityOrigin tuple"
22484 (protocol, domain, and port)
22485 (-[WebSecurityOriginPrivate initWithProtocol:domain:port:]):
22486 (-[WebSecurityOriginPrivate dealloc]):
22487 (-[WebSecurityOrigin initWithProtocol:domain:]):
22488 (-[WebSecurityOrigin initWithProtocol:domain:port:]):
22489 (-[WebSecurityOrigin protocol]):
22490 (-[WebSecurityOrigin domain]):
22491 (-[WebSecurityOrigin port]):
22492 (-[WebSecurityOrigin dealloc]):
22493 (-[WebSecurityOrigin _initWithWebCoreSecurityOriginData:WebCore::]):
22494 * Misc/WebSecurityOriginInternal.h: Added.
22495 * Misc/WebSecurityOriginPrivate.h: Added.
22497 * Storage/WebDatabaseManager.mm: Added.
22498 (+[WebDatabaseManager sharedWebDatabaseManager]):
22499 (-[WebDatabaseManager origins]): Get a list of all origins currently tracked
22500 (-[WebDatabaseManager detailsForOrigin:]): Get the current usage and current quota for the given origin
22501 (-[WebDatabaseManager databasesWithOrigin:]): Get all databases for a certain origin
22502 (-[WebDatabaseManager detailsForDatabase:withOrigin:]): Get all details about a specific database
22503 (-[WebDatabaseManager setQuota:forOrigin:]): Change origin-wide quota
22504 (-[WebDatabaseManager deleteAllDatabases]):
22505 (-[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
22506 (-[WebDatabaseManager deleteDatabase:withOrigin:]):
22507 * Storage/WebDatabaseManagerPrivate.h: Added.
22508 * Storage/WebDatabaseManagerInternal.h: Added.
22509 (WebKitInitializeDatabasesIfNecessary): One-time initialization of database-related things
22511 * Storage/WebDatabaseTrackerClient.h: Added. Stubbed out client for notifications
22512 * Storage/WebDatabaseTrackerClient.mm: Added.
22513 (WebDatabaseTrackerClient::sharedWebDatabaseTrackerClient):
22514 (WebDatabaseTrackerClient::WebDatabaseTrackerClient):
22515 (WebDatabaseTrackerClient::~WebDatabaseTrackerClient):
22516 (WebDatabaseTrackerClient::dispatchDidModifyOrigin):
22517 (WebDatabaseTrackerClient::dispatchDidModifyDatabase):
22519 * WebView/WebView.mm:
22520 (-[WebView _commonInitializationWithFrameName:groupName:]): Do one-time initialization of
22521 Database-related things here
22523 2007-11-13 Geoffrey Garen <ggaren@apple.com>
22525 Reviewed by Anders Carlsson.
22527 Renamed Shared to RefCounted.
22529 * ForwardingHeaders/wtf/RefCounted.h: Copied from WebKit/mac/ForwardingHeaders/wtf/Shared.h.
22530 * ForwardingHeaders/wtf/Shared.h: Removed.
22531 * WebCoreSupport/WebContextMenuClient.h:
22533 2007-11-13 Geoffrey Garen <ggaren@apple.com>
22535 Reviewed by Sam Weinig.
22537 Moved Shared.h into wtf so it could be used in more places.
22540 * WebCoreSupport/WebContextMenuClient.h:
22542 2007-11-13 John Sullivan <sullivan@apple.com>
22544 Reviewed by Darin Adler.
22546 removed recently-added PreferredType concept; we found a better way to do what
22547 ths was accomplishing
22549 * WebCoreSupport/WebChromeClient.mm:
22550 (WebChromeClient::createWindow):
22551 removed use of PreferredType
22553 2007-11-13 John Sullivan <sullivan@apple.com>
22555 Reviewed by Dan Bernstein.
22557 - fixed <rdar://problem/5567954> REGRESSION (Safari 2-3): Autofill no longer automatically fills in
22558 form fields other than the one you're typing into
22560 * WebCoreSupport/WebEditorClient.mm:
22561 (selectorForKeyEvent):
22562 correct the key identifier strings for Tab and Esc; these were updated in WebCore as part of r21445
22563 but didn't get updated here.
22565 2007-11-12 Josh Aas <joshmoz@gmail.com>
22567 Reviewed by Darin Adler.
22569 - http://bugs.webkit.org/show_bug.cgi?id=15946
22570 add NPPValue NPPVpluginDrawingModel (Mozilla bug 403418 compat)
22572 * Plugins/WebBaseNetscapePluginView.mm:
22573 (-[WebBaseNetscapePluginView setVariable:value:]):
22575 2007-11-12 Alexey Proskuryakov <ap@webkit.org>
22577 Reviewed by Darin Adler.
22579 http://bugs.webkit.org/show_bug.cgi?id=15954
22580 Move DOM Selection operations out of SelectionController
22582 * WebView/WebHTMLView.mm:
22583 (-[WebHTMLView _expandSelectionToGranularity:]):
22584 (-[WebHTMLView selectToMark:]):
22585 (-[WebHTMLView swapWithMark:]):
22586 * WebView/WebView.mm:
22587 (-[WebView setSelectedDOMRange:affinity:]):
22588 Adapted for SelectionController::setSelectedRange() now returning a bool.
22590 2007-11-12 Oliver Hunt <oliver@apple.com>
22592 Reviewed by Darin and Geoff.
22594 <rdar://problem/5522011> The content of the password field of
22595 Safari is displayed by reconversion.
22597 Some input methods (notably Kotoeri) can incorrectly provide
22598 access to the raw text of a password field. To work around
22599 this we forcefully override the inputContext whenever a password
22602 * WebView/WebHTMLView.mm:
22603 (-[WebHTMLView inputContext]):
22605 2007-11-12 John Sullivan <sullivan@apple.com>
22607 Reviewed by Tim Hatcher
22609 - speculative fix for <rdar://problem/5509989> CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit:
22610 -[WebPDFView(FileInternal) _updatePreferencesSoon] + 56
22612 The crash is probably due to messaging a dealloc'ed dataSource ivar. The dataSource ivar isn't retained
22613 by this class, but should be. (It is retained by WebHTMLView, e.g.).
22615 * WebView/WebPDFView.mm:
22616 (-[WebPDFView dealloc]):
22617 release dataSource ivar
22618 (-[WebPDFView setDataSource:]):
22619 retain dataSource ivar
22621 2007-11-09 Tristan O'Tierney <tristan@apple.com>
22623 Reviewed by Timothy Hatcher.
22625 This patch is for the WebKit side of <rdar://problem/5591115>.
22626 We need a way to tell context menu navigations, such as "Open in New Window"
22627 to override any sort of browser preference for tab based navigation.
22629 * WebCoreSupport/WebChromeClient.mm:
22630 (WebChromeClient::createWindow):
22631 Pass up the new preferredType parameter as a string.
22633 2007-11-09 Timothy Hatcher <timothy@apple.com>
22637 <rdar://problem/5103720> REGRESSION: [WebView stringByEvaluatingJavaScriptFromString:] fails if "return" is used
22639 Extend the linked on or after check to every application when a script passed to
22640 stringByEvaluatingJavaScriptFromString: has a return statement. Before the check
22641 was limited to VitalSource Bookshelf, but other developers are running into this.
22643 * Misc/WebKitVersionChecks.h: Add the WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK define.
22644 * WebView/WebDocumentLoaderMac.mm:
22645 (needsDataLoadWorkaround): Use WEBKIT_FIRST_VERSION_WITHOUT_ADOBE_INSTALLER_QUIRK sicne the
22646 WebKitLinkedOnOrAfter check here was about the Adobe installer, not VitalSource.
22647 * WebView/WebView.mm:
22648 (-[WebView stringByEvaluatingJavaScriptFromString:]): Remove the bundle ID check and use
22649 WEBKIT_FIRST_VERSION_WITHOUT_JAVASCRIPT_RETURN_QUIRK for the WebKitLinkedOnOrAfter call.
22651 2007-11-08 Kevin McCullough <kmccullough@apple.com>
22655 * WebCoreSupport/WebFrameLoaderClient.h:
22656 * WebCoreSupport/WebFrameLoaderClient.mm:
22657 (WebFrameLoaderClient::windowObjectCleared):
22659 2007-11-07 Darin Adler <darin@apple.com>
22663 - removed some unused WebCore bridge methods
22665 * WebCoreSupport/WebFrameBridge.mm: Removed issueTransposeCommand and overrideMediaType.
22667 * WebCoreSupport/WebFrameLoaderClient.mm:
22668 (WebFrameLoaderClient::overrideMediaType): Changed to call WebView directly instead of
22669 using the bridge object.
22671 2007-11-06 Mark Rowe <mrowe@apple.com>
22673 Rubber-stamped by Dave Kilzer.
22675 Move Mac files from WebKit into WebKit/mac.
22677 * Carbon: Copied from WebKit/Carbon.
22678 * ChangeLog: Copied from WebKit/ChangeLog.
22679 * ChangeLog-2002-12-03: Copied from WebKit/ChangeLog-2002-12-03.
22680 * ChangeLog-2006-02-09: Copied from WebKit/ChangeLog-2006-02-09.
22681 * ChangeLog-2007-10-14: Copied from WebKit/ChangeLog-2007-10-14.
22682 * Configurations: Copied from WebKit/Configurations.
22683 * DOM: Copied from WebKit/DOM.
22684 * DefaultDelegates: Copied from WebKit/DefaultDelegates.
22685 * ForwardingHeaders: Copied from WebKit/ForwardingHeaders.
22686 * History: Copied from WebKit/History.
22687 * Info.plist: Copied from WebKit/Info.plist.
22688 * MigrateHeaders.make: Copied from WebKit/MigrateHeaders.make.
22689 * Misc: Copied from WebKit/Misc.
22690 * Panels: Copied from WebKit/Panels.
22691 * Plugins: Copied from WebKit/Plugins.
22692 * PublicHeaderChangesFromTiger.txt: Copied from WebKit/PublicHeaderChangesFromTiger.txt.
22693 * Resources: Copied from WebKit/Resources.
22694 * WebCoreSupport: Copied from WebKit/WebCoreSupport.
22695 * WebInspector: Copied from WebKit/WebInspector.
22696 * WebKit.exp: Copied from WebKit/WebKit.exp.
22697 * WebKit.order: Copied from WebKit/WebKit.order.
22698 * WebKitPrefix.h: Copied from WebKit/WebKitPrefix.h.
22699 * WebView: Copied from WebKit/WebView.
22700 * icu: Copied from WebKit/icu.
22702 2007-11-06 Alexey Proskuryakov <ap@webkit.org>
22704 Reviewed by Darin Adler.
22706 http://bugs.webkit.org/show_bug.cgi?id=15847
22707 Some editing cleanup
22709 No change in functionality.
22711 * WebView/WebHTMLView.mm:
22712 (-[WebHTMLView deleteToEndOfLine:]):
22713 (-[WebHTMLView deleteToEndOfParagraph:]):
22714 WebCore had a duplicate of the same logic already. We are passing a boundary value to
22715 a function that expects granularity, this may need to be straightened out in the future.
22717 2007-11-05 John Sullivan <sullivan@apple.com>
22719 * WebView/WebView.mm:
22720 (-[WebView _searchWithSpotlightFromMenu:]):
22722 Teeny style tweak to test svn access on other machine
22724 2007-11-05 John Sullivan <sullivan@apple.com>
22726 * WebView/WebView.mm:
22727 (-[WebView computedStyleForElement:pseudoElement:]):
22729 Teeny style tweak to test svn access
22731 2007-11-02 Tristan O'Tierney <tristan@apple.com>
22733 Reviewed by Darin Adler.
22735 * DefaultDelegates/WebDefaultUIDelegate.m:
22736 (-[WebDefaultUIDelegate webView:createWebViewWithRequest:windowFeatures:]):
22737 Forward the UI delegate to call webView:createWebViewWithRequest: if
22738 this method doesn't exist.
22740 * WebCoreSupport/WebFrameLoaderClient.mm:
22741 (WebFrameLoaderClient::dispatchCreatePage):
22742 * Plugins/WebBaseNetscapePluginView.mm:
22743 (-[WebBaseNetscapePluginView loadPluginRequest:]):
22744 * WebView/WebView.mm:
22745 (-[WebView _openNewWindowWithRequest:]):
22746 Revised to use new webView:createWebViewWithRequest:windowFeatures: callback.
22748 * WebCoreSupport/WebChromeClient.h:
22749 * WebCoreSupport/WebChromeClient.mm:
22750 (WebChromeClient::createWindow):
22751 Added a new createWindow that accepts 3 parameters, so we can pass up windowFeatures to the chrome.
22752 Removed createModalDialog to use new createWindow function.
22754 * WebView/WebUIDelegatePrivate.h:
22755 Added new webView:createWebViewWithRequest:windowFeatures: method.
22757 2007-11-05 Geoffrey Garen <ggaren@apple.com>
22759 Reviewed by Darin Adler.
22761 http://bugs.webkit.org/show_bug.cgi?id=15835
22763 Small adaptations to new KJS::List class.
22765 * ForwardingHeaders/kjs/value.h: Added.
22767 2007-11-03 David D. Kilzer <ddkilzer@webkit.org>
22769 Sort files(...); sections of Xcode project files.
22771 Rubber-stamped by Darin Adler.
22773 * WebKit.xcodeproj/project.pbxproj:
22775 2007-11-02 Antti Koivisto <antti@apple.com>
22777 Reviewed by Darin Adler.
22779 Add method to enable video composition.
22781 * WebCoreSupport/WebSystemInterface.m:
22782 (InitWebCoreSystemInterface):
22784 2007-11-02 Darin Adler <darin@apple.com>
22788 - fix problem I ran into while doing some testing on Mac for
22789 <rdar://problem/5530185> WebKit does not show <object>
22790 fallback content when both URL and MIME type is omitted
22792 I don't know how to reproduce this failure in DumpRenderTree, so there is no
22795 * Plugins/WebNullPluginView.h: Removed some unneeded declarations, including
22796 the didSendError local variable. Instead we just set the error to nil once
22798 * Plugins/WebNullPluginView.mm:
22799 (-[WebNullPluginView initWithFrame:error:DOMElement:]): Refactored so that
22800 the null plug-in image code is separate from the rest of the function and
22801 so that the whole thing is not inside an if statement. Also don't hold a
22802 reference to the DOM element if there is no error to report.
22803 (-[WebNullPluginView reportFailure]): Added. Does the actual delegate
22804 callback. Happens back at the top level of the run loop so it doesn't
22805 fire deep inside layout. Also wrote this so that it is guaranteed not to
22806 reenter and so that it can handle the case where the delegate destroys
22807 the world (including this object). NOTE: This is not a real, general
22808 solution to the problem of plug-ins that do work inside layout. We will need
22809 a more general fix that works for other plug-ins, and we'll track that with
22810 a separate bug report.
22811 (-[WebNullPluginView viewDidMoveToWindow]): Removed most of the code;
22812 changed so it just does a performSelector:afterDelay:0.
22814 2007-11-02 Mark Rowe <mrowe@apple.com>
22816 Reviewed by Darin Adler.
22818 Fix http://bugs.webkit.org/show_bug.cgi?id=15780
22819 Bug 15780: WebFrameLoaderClient: WebActionElementKey wrong if view is scrolled
22821 * WebCoreSupport/WebFrameLoaderClient.mm:
22822 (WebFrameLoaderClient::actionDictionary): Retrieve the mouse event coordinates
22823 in the page coordinate system rather than the client area coordinate system.
22825 2007-11-01 Dan Bernstein <mitz@apple.com>
22827 Reviewed by Oliver Hunt.
22829 - fix an assertion failure when Command-Tabbing out of Safari
22831 * WebView/WebHTMLView.mm:
22832 (-[WebHTMLView flagsChanged:]): Avoid passing key code 0 down to
22835 2007-11-01 Justin Garcia <justin.garcia@apple.com>
22837 Reviewed by Oliver Hunt.
22839 <rdar://problem/5195056> Huge plain text pastes are slow, time spent in ApplyStyleCommand::doApply
22841 No need to match style when pasting plain text, since the fragment we build for plain text
22842 won't have any style information on it.
22844 * WebView/WebHTMLView.mm:
22845 (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]): There's no
22846 longer a need to know whether this function chosePlaintext.
22847 (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
22848 (-[WebHTMLView _documentFragmentFromPasteboard:]):
22850 2007-10-31 Timothy Hatcher <timothy@apple.com>
22852 Reviewed by John Sullivan.
22854 Move the developer extras preference to WebPreferences.
22856 * WebView/WebPreferenceKeysPrivate.h: Add WebKitDeveloperExtrasEnabledPreferenceKey
22857 * WebView/WebPreferences.m:
22858 (+[WebPreferences initialize]): Initialize WebKitDeveloperExtrasEnabledPreferenceKey to NO.
22859 (-[WebPreferences developerExtrasEnabled]): Check DisableWebKitDeveloperExtras, WebKitDeveloperExtras
22860 and IncludeDebugMenu in addition to WebKitDeveloperExtrasEnabledPreferenceKey.
22861 (-[WebPreferences setDeveloperExtrasEnabled:]): Set WebKitDeveloperExtrasEnabledPreferenceKey.
22862 * WebView/WebPreferencesPrivate.h: Add developerExtrasEnabled and setDeveloperExtrasEnabled:.
22863 * WebView/WebView.mm:
22864 (+[WebView _developerExtrasEnabled]): Removed.
22865 (-[WebView _preferencesChangedNotification:]): Check the WebPreferences object for developerExtrasEnabled.
22866 * WebView/WebViewPrivate.h: Removed _developerExtrasEnabled.
22868 2007-10-30 David D. Kilzer <ddkilzer@webkit.org>
22870 Generated files missing from WebCore's Xcode project file
22871 <http://bugs.webkit.org/show_bug.cgi?id=15406>
22873 Reviewed by Darin Adler.
22875 Added the following private header files to MigrateHeaders.make:
22877 - DOMCSSStyleSheetPrivate.h
22878 - DOMEventPrivate.h
22879 - DOMHTMLCollectionPrivate.h
22880 - DOMHTMLEmbedElementPrivate.h
22881 - DOMHTMLIFrameElementPrivate.h
22882 - DOMHTMLObjectElementPrivate.h
22883 - DOMHTMLSelectElementPrivate.h
22885 * MigrateHeaders.make:
22887 2007-10-29 Antti Koivisto <antti@apple.com>
22889 Reviewed by Maciej.
22891 Some SPIs for media support.
22893 * WebCoreSupport/WebSystemInterface.m:
22894 (InitWebCoreSystemInterface):
22896 2007-10-29 Timothy Hatcher <timothy@apple.com>
22898 Reviewed by John Sullivan.
22900 Various semi-related changes:
22901 - A WebView can now be asked for it's WebInspector. There is one
22902 WebInspector per WebView.
22903 - Refactor the WebInspector class and move obsolete methods to
22904 a special category.
22905 - Add new WebInspector methods to show, hide and show the
22906 console/timeline panels.
22907 - Add an isDisabled method to WebCache.
22908 - Allow WebLocalizableStrings.h to be used in C files.
22910 * Misc/WebCache.h: Add isDisabled.
22911 * Misc/WebCache.mm:
22912 (+[WebCache isDisabled]): New method.
22914 * Misc/WebLocalizableStrings.h: Changes to allow use in plain C files.
22916 * WebCoreSupport/WebInspectorClient.mm:
22917 (-[WebInspectorWindowController showWindow:]): Call super if already visible
22918 so the window will be ordered front.
22919 (-[WebInspectorWindowController showWebInspector:]): Method used by menu items,
22920 so they are enabled and work when the Inspector window is key.
22921 (-[WebInspectorWindowController showErrorConsole:]): Ditto.
22922 (-[WebInspectorWindowController showNetworkTimeline:]): Ditto.
22924 * WebInspector/WebInspector.h: Add and remove methods.
22925 * WebInspector/WebInspector.mm:
22926 (-[WebInspector webViewClosed]): Called when the WebView is closed/dealloced.
22927 Clears the _webView pointer.
22928 (-[WebInspector show:]): Calls thru to the Page's InspectorController.
22929 (-[WebInspector showConsole:]): Ditto.
22930 (-[WebInspector showTimeline:]): Ditto.
22931 (-[WebInspector close:]): Ditto.
22932 (-[WebInspector attach:]): Ditto.
22933 (-[WebInspector detach:]): Ditto.
22934 (+[WebInspector sharedWebInspector]): Moved to the obsolete category.
22935 (+[WebInspector webInspector]): Ditto.
22936 (-[WebInspector setWebFrame:]): Ditto.
22937 (-[WebInspector window]): Ditto.
22938 (-[WebInspector showWindow:]): Ditto.
22940 * WebView/WebView.mm:
22941 (-[WebViewPrivate dealloc]): Release the WebInspector.
22942 (-[WebView _close]): Call webViewClosed on the WebInspector.
22943 (-[WebView inspector]): Create a WebInspector if needed and return it.
22944 * WebView/WebViewPrivate.h: Add the inspector method.
22946 2007-10-30 Adele Peterson <adele@apple.com>
22948 Reviewed by Darin Adler.
22950 WebKit part of fix for http://bugs.webkit.org/show_bug.cgi?id=10577
22951 <rdar://problem/5103625> REGRESSION: Caps lock icon should show in password fields
22953 * WebView/WebHTMLView.mm:
22954 (-[WebHTMLView flagsChanged:]): Call capsLockStateMayHaveChanged so WebCore knows it may have to update a password field.
22955 (+[WebHTMLView _postFlagsChangedEvent:]): Added a comment with a Radar number for why this isn't just in flagsChanged.
22956 (-[WebHTMLView scrollWheel:]): Instead of calling the next responder explicitly, we can just call super, which will take care of this.
22958 2007-10-27 Mark Ambachtsheer <mark.a@apple.com>
22960 Reviewed by Darin Adler.
22962 Fix for bug 15710, When QD plugins draw to an offscreen bitmap and the plugin is not at
22963 (0, 0) the clipping rectangle is not correct.
22964 Added the origin to the window clip rectangle coordinates to account for plugins that
22965 don't originate at (0,0); affects code for offscreen GWorlds only.
22967 * Plugins/WebBaseNetscapePluginView.mm:
22968 (-[WebBaseNetscapePluginView saveAndSetNewPortStateForUpdate:]):
22970 2007-10-26 Adele Peterson <adele@apple.com>
22972 Reviewed by Oliver.
22974 Adding WebKitSystemInterface support for the caps lock indicator
22976 * WebCoreSupport/WebSystemInterface.m: (InitWebCoreSystemInterface):
22978 2007-10-25 David Hyatt <hyatt@apple.com>
22980 Fix for bug 15672, backgrounds don't tile properly inside transforms. This patch fixes tiling
22981 of backgrounds inside CSS transforms and also of HTML content with background images inside SVG
22984 Reviewed by aroben and mmitz
22986 * WebCoreSupport/WebSystemInterface.m:
22987 (InitWebCoreSystemInterface):
22988 * WebKit.xcodeproj/project.pbxproj:
22990 2007-10-25 John Sullivan <sullivan@apple.com>
22992 Reviewed by Tim Hatcher
22994 Removed the support for toggling whether WebKit uses the 10.5 PDFKit improvements. Now it
22995 always does, when available.
22997 * WebView/WebPreferencesPrivate.h:
22998 removed _usePDFPreviewView and _setUsePDFPreviewView:. Note that these were guarded with
22999 a comment that says that they can be removed when no longer needed. That time is now.
23001 * WebView/WebPreferences.m:
23002 (+[WebPreferences initialize]):
23003 removed WebKitUsePDFPreviewViewPreferenceKey
23004 (-[WebPreferences _usePDFPreviewView]):
23006 (-[WebPreferences _setUsePDFPreviewView:]):
23009 * WebView/WebPDFView.mm:
23010 (-[WebPDFView initWithFrame:]):
23011 don't check _usePDFPreviewView
23013 * WebView/WebPreferenceKeysPrivate.h:
23014 removed WebKitUsePDFPreviewViewPreferenceKey
23016 2007-10-24 Timothy Hatcher <timothy@apple.com>
23018 Reviewed by Mark Rowe.
23020 <rdar://problem/5069711> OpenSource version of libWebKitSystemInterface.a is Tiger only, causes issues if used on Leopard
23022 Use the WebKitSystemInterface that matches the system version.
23024 * Configurations/DebugRelease.xcconfig:
23025 * WebKit.xcodeproj/project.pbxproj:
23027 2007-10-24 Brady Eidson <beidson@apple.com>
23031 <rdar://problem/5554130> DatabaseTracker.o has a global initializer
23033 * Misc/WebDatabaseManager.mm:
23034 (WebKitSetWebDatabasesPathIfNecessary): Call the member function instead of a static one
23036 2007-10-23 Mark Rowe <mrowe@apple.com>
23038 Build fix for Eric's build fix in r26916.
23040 * MigrateHeaders.make:
23042 2007-10-22 Eric Seidel <eric@webkit.org>
23044 Reviewed by Maciej.
23046 * MigrateHeaders.make: copy over font-face related DOM headers
23048 2007-10-22 Andrew Wellington <proton@wiretapped.net>
23050 Reviewed by Mark Rowe.
23052 Fix for local database support after r26879
23053 Ensure that ENABLE_DATABASE and ENABLE_ICONDATABASE are correctly set
23055 * Configurations/WebKit.xcconfig:
23057 2007-10-19 Brady Eidson <beidson@apple.com>
23059 Reviewed by Tim Hatcher
23061 Added support for Chrome prompts required by the Storage API
23062 Added support API for future managing of databases from the WebKit client
23063 Added preference and initialization for the databases path
23065 * Misc/WebDatabaseManager.h: Added. WebDatabaseManager is how a WebKit application can list and
23066 remove the current available databases
23067 * Misc/WebDatabaseManager.mm: Added.
23068 (+[WebDatabaseManager origins]):
23069 (+[WebDatabaseManager databasesWithOrigin:]):
23070 (+[WebDatabaseManager deleteAllDatabases]):
23071 (+[WebDatabaseManager deleteAllDatabasesWithOrigin:]):
23072 (+[WebDatabaseManager deleteDatabaseWithOrigin:named:]):
23073 (WebKitSetWebDatabasesPathIfNecessary): Setup the database path
23074 * Misc/WebDatabaseManagerPrivate.h: Added.
23076 * WebCoreSupport/WebChromeClient.h: Support for calling the delegate to run the prompt for
23077 an origin exceeding its size limit
23078 * WebCoreSupport/WebChromeClient.mm:
23079 (WebChromeClient::runDatabaseSizeLimitPrompt):
23080 * WebKit.xcodeproj/project.pbxproj:
23081 * WebView/WebUIDelegate.h:
23083 * WebView/WebView.mm:
23084 (-[WebView _commonInitializationWithFrameName:groupName:]): Setup the database path
23085 * WebView/WebViewInternal.h:
23087 2007-10-19 John Sullivan <sullivan@apple.com>
23089 Reviewed by Tim Hatcher
23091 - fixed <rdar://problem/5540325> REGRESSION (2.0.4-3): History menu looks odd after clearing history
23093 * History/WebHistory.mm:
23094 (-[WebHistoryPrivate removeAllItems]):
23095 This was fallout from r25275. We need to clear the orderedLastVisitedDays cache here, in addition
23096 to the other places where it's cleared.
23098 2007-10-18 Dan Bernstein <mitz@apple.com>
23102 * WebView/WebDataSource.mm:
23103 (-[WebDataSource _MIMETypeOfResponse:]):
23105 2007-10-18 Dan Bernstein <mitz@apple.com>
23107 Reviewed by Adam Roben.
23109 - fix <rdar://problem/5313523>
23110 REGRESSION(Leopard): http/tests/incremental/slow-utf8-text.pl fails on Leopard
23112 * WebCoreSupport/WebFrameLoaderClient.mm:
23113 (WebFrameLoaderClient::makeDocumentView): Changed to use _responseMIMEType.
23114 * WebView/WebDataSource.mm:
23115 (-[WebDataSource _MIMETypeOfResponse:]): Added. Works around
23116 <rdar://problem/5321972> by testing for the case of an NSHTTPURLResponse
23117 with a MIMEType of application/octet-stream and a Content-Type header
23118 starting with text/plain and returning text/plain as the MIME type in
23120 (-[WebDataSource _responseMIMEType]): Added. Used to get the correct
23121 response MIME type.
23122 (-[WebDataSource _isDocumentHTML]): Changed to use _responseMIMEType.
23123 (-[WebDataSource _makeRepresentation]): Ditto.
23124 (-[WebDataSource mainResource]): Ditto.
23125 (-[WebDataSource subresources]): Changed to use _MIMETypeOfResponse and
23126 pass the MIME type explicitly.
23127 (-[WebDataSource subresourceForURL:]): Ditto.
23128 * WebView/WebDataSourcePrivate.h:
23129 * WebView/WebFrameView.mm:
23130 (-[WebFrameView _makeDocumentViewForDataSource:]): Changed to use
23132 * WebView/WebResource.mm:
23133 (-[WebResource _initWithData:URL:response:MIMEType:]): Changed this
23134 method to take a MIME type instead of extracting it from the response,
23135 so that WebDataSource could pass the correct MIME type.
23136 * WebView/WebResourcePrivate.h:
23138 2007-10-17 Darin Adler <darin@apple.com>
23140 Reviewed by Mark Rowe.
23142 - fix <rdar://problem/5183775> Uninitialized memory in -[WebDynamicScrollBarsView updateScrollers]
23144 * WebView/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]):
23145 Change code path so it doesn't dispatch a method that returns an NSSize passing a nil object.
23146 It's safe to do that for functions that return integers or pointers, but not structures.
23148 2007-10-16 David Kilzer <ddkilzer@apple.com>
23150 Reviewed by Timothy.
23152 <rdar://problem/5544354> Wrong delegate method called in
23153 WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
23155 * WebCoreSupport/WebFrameLoaderClient.mm:
23156 (WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad): Fixed selector name.
23158 2007-10-16 Darin Adler <darin@apple.com>
23162 - moved transpose command implementation into WebCore
23164 * WebView/WebHTMLView.mm: Removed transpose: and replaced it with standard WebCore forwarding.
23166 2007-10-16 Darin Adler <darin@apple.com>
23168 Reviewed by Maciej and Geoff (and looked over by Eric).
23170 - http://bugs.webkit.org/show_bug.cgi?id=15519
23171 eliminate use of <ctype.h> for processing ASCII
23173 * ForwardingHeaders/wtf/ASCIICType.h: Added.
23174 * ForwardingHeaders/wtf/DisallowCType.h: Added.
23176 * WebKitPrefix.h: Include DisallowCType.h.
23178 * Misc/WebNSURLExtras.mm: (-[NSURL _web_URLWithLowercasedScheme]): Use toASCIILower.
23179 * WebView/WebHTMLView.mm:
23180 (-[WebHTMLView callWebCoreCommand:]): Use toASCIIUpper.
23181 (-[WebTextCompleteController filterKeyDown:]): Add a list of specific character codes,
23182 instead of using ispunct.
23184 2007-10-16 John Sullivan <sullivan@apple.com>
23186 Reviewed by Adam Roben
23188 Cleaned up localizable strings
23190 * English.lproj/Localizable.strings:
23192 * StringsNotToBeLocalized.txt:
23194 * WebKit.xcodeproj/project.pbxproj:
23195 StringsNotToBeLocalized.txt recently moved but project file wasn't updated to match; now it is
23197 2007-10-15 Kevin Decker <kdecker@apple.com>
23199 Reviewed by Darin Adler.
23201 Fixed: <rdar://problem/5520541> REGRESSION: Broken image when forwarding certain email on Tiger
23203 * WebCoreSupport/WebFrameBridge.mm: The problem was that we were loading Mail's WebKit plug-in
23204 too soon, which borked some necessary housekeeping on behalf of Mail. The fix is to add a quirk
23205 that treats Tiger Mail's WebKit plug-in like a Netscape plug-in, thus ensuring the plug-in will
23206 load during first layout and not attach time. For this plug-in, loading at first layout is
23207 expected and is consistent with Safari 2 behavior.
23209 2007-10-15 John Sullivan <sullivan@apple.com>
23211 Reviewed by Geoff Garen
23213 Replaced NS_DURING/NS_HANDLER with @try/@catch throughout WebKit
23215 I made the following changes:
23216 - replaced NS_DURING with @try, and added opening brace if there wasn't one
23217 - replaced NS_HANDLER with @catch (NSException *localException), and added braces if there weren't any
23218 - removed NS_ENDHANDLER, and added a closing brace if there wasn't one
23219 - in a couple of places, fixed indentation therein
23221 * Misc/WebIconDatabase.mm:
23222 (objectFromPathForKey):
23223 * WebView/WebHTMLView.mm:
23224 (-[WebHTMLView drawSingleRect:]):
23225 (-[WebHTMLView beginDocument]):
23226 (-[WebHTMLView deleteToMark:]):
23227 * WebView/WebView.mm:
23228 (-[WebView initWithCoder:]):
23230 == Rolled over to ChangeLog-2007-10-14 ==