ChangeLog 850 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
2009-11-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Made the remaining time display show negative zero at the end of the
        video.

        Made other cleanup.

        * WebView/WebVideoFullscreenHUDWindowController.h: Reverted the types of
        _timeline and _volumeSlider to the more generic NSControl.
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Cleaned
        up style.
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Added an
        assertion that the cast to NSButton * is legal. Removed casts.
        (-[WebVideoFullscreenHUDWindowController updateTime]): Use
        -setValue:forKey: instead of an NSSlider method.
        (timeToString): Changed to support only non-negative values and
        simplified.
        (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Always
        prepend a “-” to the time.

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
2009-11-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        WebKit part of making the appearance of the full-screen video HUD match
        QuickTime Player X’s HUD.

        * WebView/WebVideoFullscreenHUDWindowController.h: Removed unnecessary
        #import statements, cleaned up style, and changed _timeline,
        _volumeSlider and _playButton to have more specific types.
        * WebView/WebVideoFullscreenHUDWindowController.mm: Updated #import
        statements.
        (webkit_CGFloor): Added this helper function.
        (-[WebVideoFullscreenHUDWindowController init]): Cleaned up style.
        (createTimeTextField): Changed to use the bold system font.
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
        subviews’ metrics and the text fields’ text alignment.
        (-[WebVideoFullscreenHUDWindowController updateTime]): Avoid conversion
        from double to float.
        (stringToTimeTextAttributed): Removed this useless function that
        returned an NSAttributedString masquerading as an NSString.
        (-[WebVideoFullscreenHUDWindowController remainingTimeText]): Removed
        call to stringToTimeTextAttributed().
        (-[WebVideoFullscreenHUDWindowController elapsedTimeText]): Ditto.

cfleizach@apple.com's avatar
cfleizach@apple.com committed
49 50 51 52 53 54 55 56 57 58
2009-11-02  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        Support ARIA "tab" roles
        https://bugs.webkit.org/show_bug.cgi?id=30842

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory AXARIAContentGroupText:]):

59 60 61 62 63 64 65 66 67 68 69
2009-11-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Made the space bar toggle playing state in full-screen video when
        modifier keys are down. Made it do so without highlighting the
        Play/Pause button.

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController keyDown:]):

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
2009-11-01  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Made the full-screen video HUD respond to the up and down arrow keys by
        increasing and decreasing the volume by 1/10 of the range or, when
        combined with the Option key, all the way up or down.

        Made the volume buttons in the full-screen video HUD match the behavior
        of their equivalents in the QuickTime Player HUD by turning the volume
        all the way up or down.

        Made the volume slider update immediately when the keyboard or volume
        buttons are used to change the volume, rather than at the nearest 1/4
        second interval.

        Made the elapsed and remaining time displays update immediately when the
        play head is dragged across the timeline, rather than at 1/4 second
        intervals.

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController keyDown:]): Handle the up and
        down arrow keys.
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Changed the
        actions of the volume up and volume down buttons.
        (-[WebVideoFullscreenHUDWindowController setCurrentTime:]): Call
        -updateTime.
        (-[WebVideoFullscreenHUDWindowController setVolumeToZero:]): Added this
        action for the volume down button.
        (-[WebVideoFullscreenHUDWindowController setVolumeToMaximum:]): Added
        this action for the volume up button.
        (-[WebVideoFullscreenHUDWindowController decrementVolume]): No longer
        and action method.
        (-[WebVideoFullscreenHUDWindowController incrementVolume]): Ditto.
        (-[WebVideoFullscreenHUDWindowController setVolume:]): Call
        -updateVolume.

107 108 109 110 111 112 113 114 115 116 117 118 119
2009-10-30  Evan Stade  <estade@chromium.org>

        Reviewed by David Levin.

        Notify the chrome when the focused node has changed.
        https://bugs.webkit.org/show_bug.cgi?id=30832

        Added stub implementation for new ChromeClient function.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::focusedNodeChanged):

120 121 122 123 124 125 126 127 128 129 130 131 132
2009-10-30  Roland Steiner  <rolandsteiner@chromium.org>

        Reviewed by Eric Seidel.

        Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.

        Bug 28420 -  Implement HTML5 <ruby> rendering
        (https://bugs.webkit.org/show_bug.cgi?id=28420)

        No new tests (no functional change).

        * Configurations/FeatureDefines.xcconfig:

133 134 135 136 137 138 139 140 141
2009-10-29  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Validate the stopSpeaking: selector so that is not always enabled when a WebView is first responder.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):

142 143 144 145 146 147 148 149 150 151 152 153 154 155
2009-10-29  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=30932
        <rdar://problem/7350269>
        
        REGRESSION: Crash when turning on Private Browsing on site with flash.
        
        Null check setValue.
        
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView privateBrowsingModeDidChange]):

156 157 158 159 160 161 162 163 164 165 166 167 168
2009-10-29  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Kevin Decker.

        Refactor some duplicate plug-in clean up code into shared functions.

        * Plugins/WebPluginController.mm:
        (-[WebPluginController stopOnePlugin:]): New, stop a plug-in.
        (-[WebPluginController destroyOnePlugin:]): New, destroy plug-in.
        (-[WebPluginController stopAllPlugins]): Call stopOnePlugin.
        (-[WebPluginController destroyPlugin:]): Call stopOnePlugin and destroyOnePlugin.
        (-[WebPluginController destroyAllPlugins]): Call destroyOnePlugin.

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
2009-10-28  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7303145> 
        Can't exit full screen mode or restart movie after pressing command -R.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController _requestExit]): 
            New, call media element's exitFullscreen method.
        (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): 
            Call mediaElement->exitFullscreen() after a delay as it turns around and calls
            WebVideoFullscreenController:exitFullscreen.

        * WebView/WebVideoFullscreenHUDWindowController.h:
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindow resignFirstResponder]):
            New, don't give up responder status.
        (-[WebVideoFullscreenHUDWindow performKeyEquivalent:]):
            New, block all command key events.
        (-[WebVideoFullscreenHUDWindowController exitFullscreen:]):
            Remember when we are in the process of exiting fullscreen, don't allow recursion.

        * WebView/WebView.mm:
        (-[WebView _exitFullscreen]):
            Early return if fullscreen controller is nil.

        * WebView/WebWindowAnimation.h: 
            Correct comment about _window retain status.
        * WebView/WebWindowAnimation.m:
        (-[WebWindowScaleAnimation dealloc]):
            Don't release _window, we never reatained it.

202 203 204 205 206 207 208 209 210 211 212 213 214
2009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Adler.

        Provide a way to get counter values with layoutTestContoller
        https://bugs.webkit.org/show_bug.cgi?id=30555

        Add counterValueForElement in WebFrame to call WebCore::counterValueForElement.

        * Misc/WebCoreStatistics.h:
        * Misc/WebCoreStatistics.mm:
        (-[WebFrame counterValueForElement:]):

215 216 217 218 219 220 221 222 223 224
2009-10-27  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for refactoring in the date code.

        * WebView/WebView.mm:
        (aeDescFromJSValue): Since we just want a number of milliseconds, do that
        instead of something more complicated.

225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245
2009-10-26  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Move some WebView event handling code into its own file, WebViewEventHandling.mm

        * WebView/WebView.mm:
        (-[WebView _close]):
        (-[WebView _selectedOrMainFrame]):
        * WebView/WebViewEventHandling.mm: Added.
        (-[WebView _closingEventHandling]):
        (-[WebView _setMouseDownEvent:]):
        (-[WebView mouseDown:]):
        (-[WebView mouseUp:]):
        (+[WebView _updateMouseoverWithEvent:]):
        (-[WebView _updateMouseoverWithFakeEvent]):
        (_updateMouseoverWithEvent:fakeEvent::if):
        (-[WebView _stopAutoscrollTimer]):
        (-[WebView _setToolTip:]):
        * WebView/WebViewInternal.h:

246 247 248 249 250 251 252 253 254 255 256
2009-10-26  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6988966> Hardware layers do not show up in page snapshots

        * WebView/WebHTMLViewPrivate.h:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _compositingLayersHostingView]):
        Add a private method that returns the NSView used to host compositing layers.
        
257 258 259 260 261 262
2009-10-23  Mark Rowe  <mrowe@apple.com>

        Fix engineering builds in the mysterious future.

        * Configurations/DebugRelease.xcconfig:

263 264 265 266 267 268 269 270 271 272 273 274
2009-10-23  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=30729
        Provide private API to request the global context for a specific world.
        Used to initialize parameters on the global object.

        * WebView/WebFramePrivate.h:
        * WebView/WebFrame.mm:
        (-[WebFrame contextForWorldID:]):

275 276 277 278 279 280 281 282 283 284 285 286
2009-10-22  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/7322847>
        Pressing space bar key in full screen mode should pause movie but doesn't

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController keyDown:]):  New, toggle playback on space key.
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Play button action is now called togglePlaying.
        (-[WebVideoFullscreenHUDWindowController togglePlaying:]): Rename from playingChanged.

287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304
2009-10-22  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by NOBODY (build fix).
        Build fix following bug #30696.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
        (WebKit::NetscapePluginInstanceProxy::evaluate):
        (WebKit::NetscapePluginInstanceProxy::invoke):
        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
        (WebKit::NetscapePluginInstanceProxy::construct):
        (WebKit::NetscapePluginInstanceProxy::getProperty):
        (WebKit::NetscapePluginInstanceProxy::setProperty):
        (WebKit::NetscapePluginInstanceProxy::removeProperty):
        (WebKit::NetscapePluginInstanceProxy::hasProperty):
        (WebKit::NetscapePluginInstanceProxy::hasMethod):
        (WebKit::NetscapePluginInstanceProxy::enumerate):

305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
2009-10-16  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Sam Weinig & Geoff Garen.

        https://bugs.webkit.org/show_bug.cgi?id=30696
        Update to incorporate support for IsolatedWorlds in JSC bindings.

        * WebView/WebFrame.mm:
        (-[WebFrame _attachScriptDebugger]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebFrame globalContext]):
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame evaluateWebScript:]):
        * WebView/WebView.mm:
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):

321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340
2009-10-22  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein & Simon Fraser.

        <rdar://problem/7297717>
        https://bugs.webkit.org/show_bug.cgi?id=30323
        Play/pause button in full-screen video controller does not reflect current state

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController setMediaElement:WebCore::]): Register for QTMovieRateDidChangeNotification
        (-[WebVideoFullscreenController rateChanged:]): Call HUD controller when rate changes.

        * WebView/WebVideoFullscreenHUDWindowController.h:
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]): Call updateRate so play button
        reflects playback state.
        (-[WebVideoFullscreenHUDWindowController updateRate]): New, set play button state according to
        movie state.
        (-[WebVideoFullscreenHUDWindowController playingChanged:]): Only call [self playing] once.

341 342 343 344 345 346 347
2009-10-21  John Sullivan  <sullivan@apple.com>

        Rubber-stamped by Dan Bernstein.

        * WebView/WebDynamicScrollBarsView.h:
        Corrected a couple of long-obsolete comments regarding Safari's use of this class.

mitz@apple.com's avatar
mitz@apple.com committed
348 349 350 351 352 353 354 355 356 357 358 359
2009-10-20  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        <rdar://problem/7319749> REGRESSION(r49806): Contextual Menu items missing
        https://bugs.webkit.org/show_bug.cgi?id=30568

        Revert accidental change from r49806.

        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::getCustomMenuFromDefaultItems):

360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
2009-10-20  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by David Levin.

        Removed WebSocket runtime settings.
        https://bugs.webkit.org/show_bug.cgi?id=29896

        WebSocket runtime configuration is supported by chromium/v8 only.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

376 377 378 379 380 381 382 383 384
2009-10-19  Nate Chapin  <japhet@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Update call to loadFrameRequest to match new parameters.

        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]): Update call to loadFrameRequest.

385 386 387 388 389 390 391 392 393 394 395 396
2009-10-19  David Kilzer  <ddkilzer@apple.com>

        Documentation fix for -[NSObject(WebResourceLoadDelegate) webView:resource:willSendRequest:redirectResponse:fromDataSource:]

        Reviewed by Dan Bernstein.

        * WebView/WebResourceLoadDelegate.h: Prepended "webView:" to the
        @method declaration of
        -webView:resource:willSendRequest:redirectResponse:fromDataSource:
        which was absent before r3953 and was missed during the great
        documentation clean up of r4269.

andersca@apple.com's avatar
andersca@apple.com committed
397 398 399 400 401 402 403
2009-10-19  Anders Carlsson  <andersca@apple.com>

        Fix build.

        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):

404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429
2009-10-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        Split assertions of conjunctions into separate statements or remove
        redundant assertions.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WebKit::NetscapePluginHostProxy::deadNameNotificationCallback):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
        (-[WebHostedNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView halt]):
        (-[WebBaseNetscapePluginView resumeFromHalt]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::getCustomMenuFromDefaultItems):
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::checkGrammarOfString):
        (WebEditorClient::checkTextOfParagraph):
        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController _reflectSelection]):

430 431 432 433 434 435 436 437 438
2009-10-18  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/7309062> Crashes in WebCore::DocumentLoader::isStopping below WebKit::NetscapePluginInstanceProxy::loadRequest.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::loadRequest): Null-check the DocumentLoader before deferencing it.

439 440 441 442 443 444 445 446 447 448 449 450 451 452
2009-10-16  Kevin Decker  <kdecker@apple.com>

        Reviewed by Jon Honeycutt.

        <rdar://problem/7304575>
        
        * Plugins/WebBaseNetscapePluginView.h: Added new boolean ivar and -hasBeenHalted instance method.
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView halt]):Update _hasBeenHalted.
        (-[WebBaseNetscapePluginView hasBeenHalted]): Added.
        * WebView/WebView.mm:
        (+[WebView _hasPluginForNodeBeenHalted:]): Checks to see if a plug-in node's been halted.
        * WebView/WebViewPrivate.h: Added -_hasPluginForNodeBeenHalted method.

453 454 455 456 457 458 459 460 461 462 463 464 465 466
2009-10-16  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders Carlson.

        Small code cleanup
        
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebHaltablePlugin::halt): Just call -[WebBaseNetscapePluginView halt].
        (WebHaltablePlugin::restart): Just call -[WebBaseNetscapePluginView resumeFromHalt]
        (-[WebBaseNetscapePluginView halt]): 
        (-[WebBaseNetscapePluginView resumeFromHalt]):
        * WebView/WebView.mm:
        (_pluginViewForNode): Added a check if a render is a widget. This prevents a later assertion.

467 468 469 470 471 472 473 474 475 476 477 478 479
2009-10-16  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders Carlson.

        Last part of:
        <rdar://problem/7273354>

        * WebView/WebView.mm: 
        (_pluginViewForNode): Added with code extracted from _isNodeHaltedPlugin
        (+[WebView _isNodeHaltedPlugin:]): Made this a class method.
        (+[WebView _restartHaltedPluginForNode:]): Added. Restarts a plug-in
        * WebView/WebViewPrivate.h: Added +_restartHaltedPluginForNode to header.

kdecker@apple.com's avatar
kdecker@apple.com committed
480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496
2009-10-16  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders.

        <rdar://problem/7273354> 

        * Plugins/WebBaseNetscapePluginView.h: Added _isHalted ivar and three new methods: -halt, -resumeFromHalt, and -isHalted
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebHaltablePlugin::halt): Call -halt instead of -stop.  
        (WebHaltablePlugin::restart):Call -resumeFromHalt instead of -start. 
        (-[WebBaseNetscapePluginView halt]): Added. Stop the plug-in, update _isHalted.
        (-[WebBaseNetscapePluginView resumeFromHalt]): Added. Start the plug-in, update _isHalted.
        (-[WebBaseNetscapePluginView isHalted]): Added.
        * WebView/WebView.mm:
        (-[WebView _isNodeHaltedPlugin:]): Added. Queries a DOMNode to determine if it's a halted plug-in.
        * WebView/WebViewPrivate.h: Added _isNodeHaltedPlugin.

497 498 499 500 501 502 503 504 505 506 507
2009-10-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/7306052> Fullscreen max/min volume buttons non-functional

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]): Set volume buttons target and action.
        (-[WebVideoFullscreenHUDWindowController decrementVolume:]): New, decrement the volume by 10%.
        (-[WebVideoFullscreenHUDWindowController incrementVolume:]): New, increment the volume by 10%.

508 509 510 511 512 513 514 515 516
2009-10-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode

        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindowController setVolume:]): Unmute movie before changing volume.

kdecker@apple.com's avatar
kdecker@apple.com committed
517 518 519 520 521 522 523
2009-10-14  Kevin Decker  <kdecker@apple.com>

        Unbreak the world.
        
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebHaltablePlugin::restart):

524 525 526 527 528 529 530 531 532 533
2009-10-14  Kevin Decker  <kdecker@apple.com>

        Reviewed by Anders Carlsson and Jon Honeycutt

        <rdar://problem/7304295> snapshots of halted plug-ins are missing
        
        * Plugins/WebBaseNetscapePluginView.mm: Move bodies of WebHaltablePlugin virtual functions from WebHaltablePlugin class definition.
        (WebHaltablePlugin::halt): Provide a substitute image to the RenderWidget for the plug-in view.
        (WebHaltablePlugin::restart): Clear the substitute image.

534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549
2009-10-13  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Change the order of arguments on some methods.  Split removal for user stylesheets and script into
        separate functions based off the type of object being removed.

        * WebView/WebView.mm:
        (+[WebView _addUserScriptToGroup:worldID:source:url:whitelist:blacklist:injectionTime:]):
        (+[WebView _addUserStyleSheetToGroup:worldID:source:url:whitelist:blacklist:]):
        (+[WebView _removeUserScriptFromGroup:worldID:url:]):
        (+[WebView _removeUserStyleSheetFromGroup:worldID:url:]):
        (+[WebView _removeUserScriptsFromGroup:worldID:]):
        (+[WebView _removeUserStyleSheetsFromGroup:worldID:]):
        * WebView/WebViewPrivate.h:

550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
2009-10-13  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/6660507> Add "privacy mode" to Netscape Plug-in API

        Listen for WebPreferences notifications and update the _isPrivateBrowsingEnabled ivar 
        when the value changes. Also call -[WebBaseNetscapePluginView privateBrowsingModeDidChange] when the
        value changes. In process this just calls NPP_SetValue, and OOP it sends a MIG message to the plug-in host.
        
        * Plugins/Hosted/NetscapePluginHostManager.h:
        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::instantiatePlugin):
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::privateBrowsingModeDidChange):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        (-[WebHostedNetscapePluginView privateBrowsingModeDidChange]):
        * Plugins/Hosted/WebKitPluginHost.defs:
        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView privateBrowsingModeDidChange]):
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]):
        (-[WebBaseNetscapePluginView preferencesHaveChanged:]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView privateBrowsingModeDidChange]):
        (-[WebNetscapePluginView getVariable:value:]):

579 580 581 582 583 584 585 586 587 588 589 590 591
2009-10-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Video keeps playing after going fullscreen, then closing window
        https://bugs.webkit.org/show_bug.cgi?id=30164
        
        Clear the QTMovie on the QTMovieView when coming out of fullscreen,
        to fix issue where the underlying movie keeps playing.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidExitFullscreen]):

592 593 594 595 596 597 598 599 600 601 602 603 604 605
2009-10-11  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7294267> REGRESSION (r48492): Gmail voice and video chat
        doesn’t work
        https://bugs.webkit.org/show_bug.cgi?id=30295

        Test: plugins/setProperty.html

        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::setFieldValue): Fixed a typo. The function
        should return early if m_instanceProxy is null.

606 607 608 609 610 611 612 613 614 615 616 617 618 619
2009-10-09  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Factor HistoryController out of FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=30246

        Update API call.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::restoreViewState):
        * WebView/WebView.mm:
        (-[WebView _loadBackForwardListFromOtherView:]):

620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635
2009-10-09  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        <rdar://problem/7290671> Crash after navigating away from a page with subframe containing plug-in

        At the time that -stop is called on a WebBaseNetscapePluginView that is contained within a subframe
        the WebFrame's data source has been zeroed out.  This was causing -[WebBaseNetscapePluginView webFrame]
        to return nil during -stop, preventing the plug-in view from unregistering itself from the PluginHalter.
        We fix this by having -webFrame retrieve the frame directly rather than retrieving it from the data source.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView dataSource]): Get the data source from the WebFrame.
        (-[WebBaseNetscapePluginView webFrame]): Get the Frame directly from the element's document rather
        than taking a windy route through the WebDataSource.

636 637 638 639 640 641 642 643 644 645
2009-10-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein.

        Add SPI to specifically enable visited link tracking.

        * History/WebHistory.mm:
        (+[WebHistory _setVisitedLinkTrackingEnabled:]):
        * History/WebHistoryPrivate.h:

646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
2009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>

        Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
        for the existence of a PluginHalterDelegate.

        Reviewed by Dan Bernstein.

        * WebCoreSupport/WebPluginHalterClient.h:
        Add declaration for new function.

        * WebCoreSupport/WebPluginHalterClient.mm:
        (WebPluginHalterClient::enabled):
        Check whether the UIDelegate responds to shouldHaltPlugin.

        * WebView/WebPreferenceKeysPrivate.h:
        Remove the "enabled" preference key.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        Remove the initialization of the pref.

        * WebView/WebPreferencesPrivate.h:
        Remove the getter/setter for this pref.

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):
        Remove propagation of the pref. 

674 675 676 677 678 679 680 681 682 683 684 685 686 687
2009-10-08  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move executeScript from FrameLoader to ScriptController
        https://bugs.webkit.org/show_bug.cgi?id=30200

        Update API call.

        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        * WebView/WebView.mm:
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):

688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708
2009-10-08  Brady Eidson  <beidson@apple.com>

        Reviewed by Dan Bernstein.

        Ask the History Delegate to populate the visited links hash.
        <rdar://problem/7285293> and https://webkit.org/b/29904

        * History/WebHistory.mm:
        (+[WebHistory _removeAllVisitedLinks]):
        * History/WebHistoryPrivate.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::populateVisitedLinks):
        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebDelegateImplementationCaching.mm:
        (CallHistoryDelegate):
        * WebView/WebHistoryDelegate.h:
        * WebView/WebView.mm:
        (-[WebView _cacheHistoryDelegateImplementations]):
        (-[WebView addVisitedLinks:]):
        * WebView/WebViewPrivate.h:

709 710 711 712 713 714 715 716 717 718
2009-10-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove the shouldLoadMediaElementURL implementation.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        * WebView/WebPolicyDelegatePrivate.h:

719 720 721 722 723 724 725
2009-10-07  Simon Fraser  <simon.fraser@apple.com>

        Re-land 49269-49271 since reverting them did not fix the tests.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

726 727 728 729 730 731 732 733
2009-10-07  Simon Fraser  <simon.fraser@apple.com>

        Revert 49269-49271 to see if it fixes test failures on SnowLeopard that do not
        reproduce locally.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

734 735 736 737 738 739 740 741 742 743 744 745 746
2009-10-07  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Factor PolicyChecker out of FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=30155

        Move the policy callback to the policy object.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchWillSubmitForm):
        (WebFrameLoaderClient::receivedPolicyDecison):

747 748 749 750 751 752 753 754 755 756 757 758 759 760
2009-10-07  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Send title changes to the global history delegate.
        <rdar://problem/7285293> and https://webkit.org/b/29904

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::setTitle):
        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebHistoryDelegate.h:
        * WebView/WebView.mm:
        (-[WebView _cacheHistoryDelegateImplementations]):

761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782
2009-10-07  Darin Adler  <darin@apple.com>

        Reviewed by John Sullivan.

        Make the setMetadataURL function foolproof by having it remove user info
        https://bugs.webkit.org/show_bug.cgi?id=30178
        rdar://problem/6544670

        * Misc/WebNSFileManagerExtras.m:
        (-[NSFileManager _webkit_setMetadataURL:referrer:atPath:]):
        Call _web_URLByRemovingUserInfo on the passed in URL string after converting
        it to a URL, and then convert it back to a string.

        * Misc/WebNSURLExtras.h: Added _web_URLByRemovingUserInfo.
        * Misc/WebNSURLExtras.mm: Removed unused WebKitURLComponents struct.
        (-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Renamed to be
        clearer on what this does.
        (-[NSURL _webkit_URLByRemovingFragment]): Changed to call new name.
        (-[NSURL _webkit_URLByRemovingResourceSpecifier]): Ditto.
        (-[NSURL _web_URLByRemovingComponentAndSubsequentCharacter:]): Added.
        (-[NSURL _web_URLByRemovingUserInfo]): Added.

783 784 785 786 787 788 789
2009-10-07  Simon Fraser  <simon.fraser@apple.com>

        Make Dan Bernstein happy.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

790 791 792 793 794 795 796 797 798 799
2009-10-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Avoid Obj-C message dispatch when possible by storing accessed objects
        in local variables.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

800 801 802 803 804 805 806 807 808 809 810 811 812 813
2009-10-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Animation stalls for a few seconds partway through
        https://bugs.webkit.org/show_bug.cgi?id=30182
        
        Make sure that we only call -disableScreenUpdatesUntilFlush when a window
        update is actually going to happen, otherwise screen updates are disabled
        for too long.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView drawRect:]):

814 815 816 817 818 819 820 821 822 823 824
2009-10-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: default to an attached inspector window on Windows (as on Mac).

        https://bugs.webkit.org/show_bug.cgi?id=30134

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController showWindow:]):

825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844
2009-10-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move FrameLoader::canLoad to SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=30111

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::loadRequest):
        * Plugins/WebBaseNetscapePluginStream.mm:
        (WebNetscapePluginStream::WebNetscapePluginStream):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
        * Plugins/WebPluginContainerCheck.mm:
        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
        * WebView/WebFrame.mm:
        (-[WebFrame _allowsFollowingLink:]):

845 846 847 848 849 850 851 852 853 854 855 856
2009-10-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move setLocalLoadPolicy and friends to SecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=30110

        Call the new API.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):

857 858 859 860 861 862 863 864 865 866 867 868 869 870 871
2009-10-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Mark Rowe.

        accessibility/media-element.html crashes (and has incorrect result)
        https://bugs.webkit.org/show_bug.cgi?id=30108

        Fix up the accessibilty label for the newly added fullscreen button,
        and update the test result accordingly.

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory localizedMediaControlElementString:]):
        Handle "ControlsPanel" which is just an empty container, to avoid
        asserting in debug builds.

872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889
2009-10-06  Daniel Bates  <dbates@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=30107
        
        Fixes an issue where the Mac build does return the correct drop effect
        with respect to the HTML 5 specification when effectAllowed == "none".
        
        Currently, when effectAllowed == "none" and dropEffect == "copy" or 
        dropEffect == "move" the resulting drop effect is "copy" and "move",
        respectively. However, the HTML 5 specification states that regardless
        of the specified dropEffect, when effectAllowed == "none" the resulting
        drop effect should be "none".

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):

890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905
2009-10-06  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: close inspector client view on
        InspectorController::close API call.

        In order to run batch web inspector layout tests (and not affect 
        subsequent tests) we should close inspector client's view upon
        InspectorController::close API call.

        https://bugs.webkit.org/show_bug.cgi?id=30009

        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::createPage):

mitz@apple.com's avatar
mitz@apple.com committed
906 907 908 909 910 911 912 913
2009-10-05  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Moved a WebPluginHalterClient out of the WebCore namesapce.

        * WebCoreSupport/WebPluginHalterClient.h:

914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935
2009-10-05  Kevin Decker  <kdecker@apple.com>

        Reviewed by Dan Bernstein.

        Added new PluginHalter client, delegate and few more WebPreferences keys.

        * WebView/WebPreferenceKeysPrivate.h: Added two new keys.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Initialize newly added key.
        (-[WebPreferences pluginAllowedRunTime]): Added.
        (-[WebPreferences setPluginAllowedRunTime:]): Added.
        * WebView/WebPreferencesPrivate.h: Added above two methods.
        * WebView/WebUIDelegatePrivate.h: Added shouldHaltPlugin delegate.
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        Setup a new WebPluginHalterClient.
        (-[WebView _preferencesChangedNotification:]): Update WebCore settings accordingly.
        * WebCoreSupport/WebPluginHalterClient.h: Added.
        * WebCoreSupport/WebPluginHalterClient.mm: Added.
        (WebPluginHalterClient::WebPluginHalterClient):
        (WebPluginHalterClient::shouldHaltPlugin): Added, invoke the delegate.

936 937 938 939 940 941
2009-10-05  Simon Fraser  <simon.fraser@apple.com>

        More build fixes for Tiger.

        * WebView/WebVideoFullscreenController.mm:

942 943 944 945 946 947 948 949
2009-10-05  Simon Fraser  <simon.fraser@apple.com>

        More build fixes for Tiger.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenWindow animationDidEnd:]):
        * WebView/WebWindowAnimation.m:

950 951 952 953 954 955 956 957 958 959 960 961
2009-10-05  Simon Fraser  <simon.fraser@apple.com>

        More build fixes for Tiger.

        * WebView/WebVideoFullscreenController.mm:
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
        (-[WebVideoFullscreenHUDWindowController scheduleTimeUpdate]):
        (-[WebVideoFullscreenHUDWindowController fadeWindowIn]):
        (-[WebVideoFullscreenHUDWindowController fadeWindowOut]):
        (-[WebVideoFullscreenHUDWindowController closeWindow]):

962 963 964 965 966 967 968 969 970 971 972
2009-10-05  Simon Fraser  <simon.fraser@apple.com>

        Build fixes for Tiger.

        * WebView/WebVideoFullscreenHUDWindowController.h:
        * WebView/WebVideoFullscreenHUDWindowController.mm:
        (-[WebVideoFullscreenHUDWindow initWithContentRect:styleMask:backing:defer:]):
        (-[WebVideoFullscreenHUDWindowController dealloc]):
        (-[WebVideoFullscreenHUDWindowController closeWindow]):
        (-[WebVideoFullscreenHUDWindowController windowDidLoad]):

973 974 975 976 977 978
2009-10-05  Simon Fraser  <simon.fraser@apple.com>

        Build fix. If you call Node::hasTagName(), you also have to include Element.h.

        * WebCoreSupport/WebChromeClient.mm:

979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032
2009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>

        Reviewed by Simon Fraser
        
        Support fullscreen in MediaPlayer (Mac)
        https://bugs.webkit.org/show_bug.cgi?id=26742

        Add a fullscreen button to the <video> controller if the media engine,
        and the theme have support for fullscreen, and can show appropriate controls.
        Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
        in WebKit to do a nice animation to fullscreen, with a custom controller.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::supportsFullscreenForNode):
        (WebChromeClient::enterFullscreenForNode):
        (WebChromeClient::exitFullscreenForNode):
        New methods to ask whether fullscreen is possible for a given node, and
        notifications on enterying and exiting fullscreen.
        
        * WebView/WebVideoFullscreenController.h: Added.
        * WebView/WebVideoFullscreenController.mm: Added.
        WebVideoFullscreenController is responsible for creating the fullscreen window,
        and coordinating the various animations when going fullscreen.

        * WebView/WebVideoFullscreenHUDWindowController.h: Added.
        * WebView/WebVideoFullscreenHUDWindowController.mm: Added.
        This class manages the heads-up display (HUD) control bar.

        * WebView/WebView.mm:
        (-[WebView _close]):
        Make sure we come out of fullscreen if the WebView is torn down (e.g. if
        you close a background window).

        (-[WebView _enterFullscreenForNode:WebCore::]):
        Make a WebVideoFullscreenController and tell is to start to go fullscreen.
        
        (-[WebView _exitFullscreen]):
        Tell the WebVideoFullscreenController to come out of fullscreen, and clean up.
        
        * WebView/WebViewData.h:
        * WebView/WebViewData.mm:
        (-[WebViewPrivate dealloc]):
        (-[WebViewPrivate finalize]):
        * WebView/WebViewInternal.h:
        Keep a pointer to the WebVideoFullscreenController.
        
        * WebView/WebWindowAnimation.h: Added.
        * WebView/WebWindowAnimation.m: Added.
        (WebWindowAnimationDurationFromDuration):
        (scaledRect):
        (squaredDistance):
        Handle the animations used during the transitition to fullscreen.

1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058
2009-10-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Kevin Decker.
       
        WebKit side of <rdar://problem/7179166>
       
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        Add an m_pluginIsWaitingForDraw member variable.
        
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        Initialize m_pluginIsWaitingForDraw.
        
        (WebKit::NetscapePluginInstanceProxy::invalidateRect):
        Set m_pluginIsWaitingForDraw to true.
        
        (WebKit::NetscapePluginInstanceProxy::didDraw):
        If m_pluginIsWaitingForDraw is true, call _WKPHPluginInstanceDidDraw.
        
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView drawRect:]):
        Call didDraw.
        
        * Plugins/Hosted/WebKitPluginHost.defs:
        Add PHPluginInstanceDidDraw.

1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075
2009-10-02  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Adele Peterson.

        Add functionality to pause/throttle CSS transitions/animations in a WebView
        https://bugs.webkit.org/show_bug.cgi?id=29942

        Added both a setter and getter function

        * WebView/WebView.mm:
        (-[WebView cssAnimationsSuspended]):
        (-[WebView setCSSAnimationsSuspended:]):
        * WebView/WebViewData.h:
        * WebView/WebViewData.mm:
        (-[WebViewPrivate init]):
        * WebView/WebViewPrivate.h:

kdecker@apple.com's avatar
kdecker@apple.com committed
1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092
2009-10-04  Kevin Decker  <kdecker@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/7273363> Plug-ins should use PluginHalter
        
        * Plugins/WebBaseNetscapePluginView.h: Add WebHaltablePlugin forward declare and _haltable ivar.
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebHaltablePlugin::WebHaltablePlugin): Added.
        (WebHaltablePlugin::halt): New method that stops a plug-in.
        (WebHaltablePlugin::restart): New method that starts a plug-in.
        (WebHaltablePlugin::node): Added. Provides the DOMNode corresponding to the plug-in in WebBaseNetscapePluginView.
        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:WebCore::]):
        Initialize new _haltable ivar.
        (-[WebBaseNetscapePluginView start]): Call the page's didStartPlugin() upon starting a plug-in.
        (-[WebBaseNetscapePluginView stop]): Call the page's didStopPlugin() upon stopping a plug-in.

1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104
2009-10-05  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: add testing harness for Web Inspector.

        https://bugs.webkit.org/show_bug.cgi?id=30010

        * WebInspector/WebInspector.mm:
        (-[WebInspector evaluateInFrontend:callId:script:]):
        * WebInspector/WebInspectorPrivate.h: Added.

1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115
2009-10-04  Kevin Decker  <kdecker@apple.com>

        Reviewed by Cameron Zwarich.

        * WebView/WebPreferenceKeysPrivate.h: Added new key.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Leave plug-in halting disabled by default.
        (-[WebPreferences pluginHalterEnabled]): Added.
        (-[WebPreferences setPluginHalterEnabled:]): Ditto.
        * WebView/WebPreferencesPrivate.h: Added above new methods. 

1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127
2009-10-02  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.

        * WebView/WebView.mm:
        (toStringVector):
        (+[WebView _addUserScriptToGroup:source:url:worldID:whitelist:blacklist:injectionTime:]):
        (+[WebView _addUserStyleSheetToGroup:source:url:worldID:whitelist:blacklist:]):
        * WebView/WebViewPrivate.h:

1128 1129 1130 1131 1132 1133
2009-10-01  Mark Rowe  <mrowe@apple.com>

        Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.

        * Configurations/FeatureDefines.xcconfig:

1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150
2009-10-01  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Oliver Hunt.

        Turn on ENABLE_3D_CANVAS in TOT
        https://bugs.webkit.org/show_bug.cgi?id=29906

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences webGLEnabled]):
        (-[WebPreferences setWebGLEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161
2009-09-30  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Fix for <rdar://problem/7259706>
        Need WebKit API or SPI on Mac and Windows to test whether it's safe to load a page in a new tab/window

        * WebView/WebFrame.mm:
        (-[WebFrame _allowsFollowingLink:]):
        * WebView/WebFramePrivate.h:

1162 1163 1164 1165 1166 1167 1168 1169 1170 1171
2009-09-30  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Add the ability to remove user stylesheets and scripts by URL.

        * WebView/WebView.mm:
        (+[WebView _removeUserContentFromGroup:url:worldID:]):
        * WebView/WebViewPrivate.h:

1172 1173 1174 1175 1176 1177 1178 1179 1180 1181
2009-09-29  Brady Eidson  <beidson@apple.com>

        Rubberstamped by Dan Bernstein.

        Fix license and some sorting in new files.

        * WebView/WebHistoryDelegate.h:
        * WebView/WebNavigationData.h:
        * WebView/WebNavigationData.mm:

1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221
2009-09-29  Brady Eidson  <beidson@apple.com>

        Reviewed by John Sullivan.

        WebKit Mac API should provide a delegate interface for global history.
        <rdar://problem/7042773> and https://webkit.org/b/29904

        * WebView/WebHistoryDelegate.h: Added. New interface for WebKit clients to implement to manage 
          their own global history store.

        Object to store all of the bits of data relevant to a page visit:
        * WebView/WebNavigationData.h: Added.
        * WebView/WebNavigationData.mm: Added.
        (-[WebNavigationDataPrivate dealloc]):
        (-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
        (-[WebNavigationData url]):
        (-[WebNavigationData title]):
        (-[WebNavigationData originalRequest]):
        (-[WebNavigationData response]):
        (-[WebNavigationData hasSubstituteData]):
        (-[WebNavigationData clientRedirectSource]):
        (-[WebNavigationData dealloc]):

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::updateGlobalHistory): If the delegate exists, don't use the built-in WebHistory.
          If the implementation for this method exists, call it.
        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Ditto

        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebDelegateImplementationCaching.mm:
        (WebViewGetHistoryDelegateImplementations):
        (CallHistoryDelegate):

        * WebView/WebView.mm:
        (-[WebView _cacheHistoryDelegateImplementations]):
        (-[WebView setHistoryDelegate:]):
        (-[WebView historyDelegate]):
        * WebView/WebViewData.h:
        * WebView/WebViewPrivate.h:

dglazkov@chromium.org's avatar
dglazkov@chromium.org committed
1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232
2009-09-29  Kenneth Russell  <kbr@google.com>

        Reviewed by Dimitri Glazkov.

        Add support for run-time flag for 3D canvas
        https://bugs.webkit.org/show_bug.cgi?id=29826

        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]): Enable experimental
        WebGL flag when 3D_CANVAS is enabled in the build.

1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248
2009-09-28  Fumitoshi Ukai  <ukai@chromium.org>

        Reviewed by Eric Seidel.

        Add experimentalWebSocketsEnabled in WebPreferences.
        https://bugs.webkit.org/show_bug.cgi?id=28941

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences experimentalWebSocketsEnabled]):
        (-[WebPreferences setExperimentalWebSocketsEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264
2009-09-28  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
        a PDF

        CGPDFObjectRef is not a CFTypeRef, and cannot be retained or released.
        Its lifetime is managed by its container. Just use a Vector to store
        CGPDFObjectRefs, relying on the CGPDFDocument to keep them alive.

        * WebView/WebPDFDocumentExtras.mm:
        (appendValuesInPDFNameSubtreeToVector):
        (getAllValuesInPDFNameTree):
        (web_PDFDocumentAllScripts):

1265 1266 1267 1268 1269 1270 1271 1272
2009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>

        Reviewed by Alice Liu.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
        Pass 0 for new Page constructor argument.

1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291
2009-09-14  John Gregg  <johnnyg@google.com>

        Reviewed by Eric Seidel.

        isEnabled switch for notifications (experimental) in Page Settings
        https://bugs.webkit.org/show_bug.cgi?id=28930

        Adds support for the experimentalNotificationsEnabled flag in Settings
        through WebPreferencesPrivate.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences experimentalNotificationsEnabled]):
        (-[WebPreferences setExperimentalNotificationsEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChangedNotification:]):

1292 1293 1294 1295 1296 1297 1298 1299 1300
2009-09-23  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Updated for a WebCore rename.

        * WebView/WebFrame.mm:
        (-[WebFrame _cacheabilityDictionary]):

1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316
2009-09-23  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Speed up access to history items by caching date computation.

        * History/WebHistory.mm:
        (getDayBoundaries): Refactored from timeIntervalForBeginningOfDay.
        Returns the beginning of the day that the passed time is within and
        the beginning of the next day.
        (beginningOfDay): Added. Uses getDayBoundaries so it can be fast for
        multiple dates within the same day, which is the common case.
        (dateKey): Added. Calls beginningOfDay and converts to an integer.
        (-[WebHistoryPrivate findKey:forDay:]): Changed to call dateKey
        insetad of timeIntervalForBeginningOfDay.

1317 1318 1319 1320 1321 1322 1323 1324 1325
2009-09-23  David Kilzer  <ddkilzer@apple.com>

        Move definition of USE(PLUGIN_HOST_PROCESS) from WebKitPrefix.h to Platform.h

        Reviewed by Mark Rowe.

        * WebKitPrefix.h: Removed definition of
        WTF_USE_PLUGIN_HOST_PROCESS.

1326 1327 1328 1329 1330 1331 1332 1333 1334 1335
2009-09-22  Timothy Hatcher  <timothy@apple.com>

        Prevent scrolling multiple frames during latched wheel events.

        Reviewed by Anders Carlsson.

        * WebView/WebDynamicScrollBarsView.h:
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView scrollWheel:]):

1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346
2009-09-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/7240911> REGRESSION (r48586): Crash occurs when loading
        a PDF

        * WebView/WebPDFDocumentExtras.mm:
        (addWebPDFDocumentExtras): Made methodList static, because
        class_addMethods() doesn't copy it.

1347 1348 1349 1350 1351 1352 1353
2009-09-21  Dan Bernstein  <mitz@apple.com>

        Attempt to fix the Tiger build

        * WebView/WebPDFDocumentExtras.mm:
        (addWebPDFDocumentExtras):

1354 1355 1356 1357 1358 1359 1360 1361
2009-09-21  Dan Bernstein  <mitz@apple.com>

        Attempt to fix the Tiger build

        * WebView/WebPDFDocumentExtras.mm:
        (web_PDFDocumentAllScripts):
        (addWebPDFDocumentExtras):

1362 1363 1364 1365 1366 1367 1368
2009-09-21  Dan Bernstein  <mitz@apple.com>

        Attempt to fix the Tiger build

        * WebView/WebPDFDocumentExtras.mm:
        * WebView/WebPDFRepresentation.mm:

1369 1370 1371 1372 1373 1374
2009-09-21  Dan Bernstein  <mitz@apple.com>

        Attempt to fix the Leopard and Tiger builds

        * WebView/WebPDFDocumentExtras.mm:

1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412
2009-09-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/4137135> iFrame with PDF not being handled correctly on
        usps.com
        https://bugs.webkit.org/show_bug.cgi?id=4151

        * WebView/WebJSPDFDoc.h: Added.
        * WebView/WebJSPDFDoc.mm: Added.
        (jsPDFDocInitialize): Retains the WebDataSource.
        (jsPDFDocFinalize): Releases the WebDataSource.
        (jsPDFDocPrint): Call the WebUIDelegate method -webView:printFrameView:
        with the PDF document's view.
        (makeJSPDFDoc): Makes and returns a JavaScript Doc instance that wraps
        the WebDataSource.
        * WebView/WebPDFDocumentExtras.h: Added.
        * WebView/WebPDFDocumentExtras.mm: Added.
        (appendValuesInPDFNameSubtreeToArray): Traverses a subtree of a PDF name
        tree and adds all values in the subtree to an array.
        (allValuesInPDFNameTree): Returns an array with all of the values in a
        PDF name tree.
        (web_PDFDocumentAllScripts): This is the implementation of -[PDFDocument
        _web_allScripts]. It gets all values in the document-level "JavaScript"
        name tree, which are action dictionaries, and returns an array of the
        actions' scripts.
        (addWebPDFDocumentExtras): Adds the -_web_allScripts method to
        PDFDocument.
        * WebView/WebPDFRepresentation.h:
        * WebView/WebPDFRepresentation.m: Removed.
        * WebView/WebPDFRepresentation.mm: Copied from WebKit/mac/WebView/WebPDFRepresentation.m.
        (+[WebPDFRepresentation initialize]): Added. Calls
        addWebPDFDocumentExtras().
        (-[WebPDFRepresentation finishedLoadingWithDataSource:]): Get the
        scripts from the PDF document, create a JavaScript Doc object for the
        document, and a JavaScript execution context, then execute every script
        in the context, with the Doc object as "this".

1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427
2009-09-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Compositing layers are incorrectly positioned after scrolling with position:fixed
        https://bugs.webkit.org/show_bug.cgi?id=29262
        
        When scrolling a page with compositing layers inside a position:fixed element,
        we need to update the compositing layer positions when the scroll position changes.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _frameOrBoundsChanged]):
        Call the new FrameView::scrollPositionChanged() method rather than sending the
        scroll event directly.

1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440
2009-09-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Simon Hausmann.

        Make PlatformWindow return something else than PlatformWidget
        https://bugs.webkit.org/show_bug.cgi?id=29085

        Reflect the rename of platformWindow and it's return type.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::platformPageClient):

1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460
2009-09-17  Anders Carlsson  <andersca@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/7007541> 
        CrashTracer: 4800+ crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...

        Add null checks for m_instanceProxy (It will be null when a plug-in has crashed).
        
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::invoke):
        (WebKit::ProxyInstance::supportsInvokeDefaultMethod):
        (WebKit::ProxyInstance::supportsConstruct):
        (WebKit::ProxyInstance::getPropertyNames):
        (WebKit::ProxyInstance::methodsNamed):
        (WebKit::ProxyInstance::fieldNamed):
        (WebKit::ProxyInstance::fieldValue):
        (WebKit::ProxyInstance::setFieldValue):
        (WebKit::ProxyInstance::invalidate):

1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474
2009-09-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
        become misplaced when the WebHTMLView is resized or scrolled sometimes.
        <rdar://problem/7071636>
        
        The previous fix didn't fix the case where the layers jiggle when resizing the docked
        inspector when the view size is over 2048px tall, on Leopard.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateLayerHostingViewPosition]):

1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487
2009-09-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Oliver Hunt.

        Work around a bug in AppKit on Leopard which causes compositing layers to jitter, and
        become misplaced when the WebHTMLView is resized or scrolled sometimes.
        <rdar://problem/7071636>
        
        We call an internal AppKit method to make sure the layer geometry is updated correctly.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateLayerHostingViewPosition]):

1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500
2009-09-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fixed position elements flash when CSS transforms are applied on page > 2048px tall
        https://bugs.webkit.org/show_bug.cgi?id=27272
        
        Update the previous workaround for misplaced compositing layers, which used a 4096px
        threshold, to 2048px since that's the GPU max texture size on some older hardware.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateLayerHostingViewPosition]):

1501 1502 1503 1504 1505 1506 1507 1508
2009-09-15  Alex Milowski  <alex@milowski.com>

        Reviewed by Tor Arne Vestbø.

        Added the ENABLE_MATHML to the feaure defines

        * Configurations/FeatureDefines.xcconfig:

1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521
2009-09-15  Mark Rowe  <mrowe@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7224378> REGRESSION(r48360): Dragging a tab with a plug-in out of a window, the plug-in gets slow and confused

        In r48360, the fix for <rdar://problem/7090444>, I neglected to consider the case where the plug-in had already been started and
        -start would do an early-return rather than calling -restartTimers and -addWindowObservers itself.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Reinstate the call to -restartTimers and -addWindowObservers, but guard them
        with a check that the view is still in the window.

1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535
2009-09-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        Safari 4 cannot be used to update firmware on Linksys routers.
        <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160

        Adopt the new WebCore::CredentialStorage in WebKit/Mac.

        * Misc/WebDownload.mm:
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
        * Plugins/WebBaseNetscapePluginView.mm:
        (WebKit::getAuthenticationInfo):

1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556
2009-09-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Anders Carlsson.

        Fix <rdar://problem/7090444> Crashes in-[WebBaseNetscapePluginView stop] handling NSWindowWillCloseNotification.

        It's not valid to call -addWindowObservers when the view is not in a window, but this can happen when -start
        initializes a plug-in and the plug-in removes itself from the document during initialization.  -viewDidMoveToWindow
        calls -start and then calls -addWindowObservers without ensuring that the view is still in a window.

        If -[WebBaseNetscapePluginView addWindowObservers] is incorrectly called when the view is not in a window, it will
        observe NSWindowWillCloseNotification on all windows.  This unexpected observer registration is not balanced by an
        unregistration so the notification can be delivered after the view is deallocated, causing the crash seen in
        <rdar://problem/7090444>.

        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView start]): Only call -updateAndSetWindow if we still have a current window.
        (-[WebBaseNetscapePluginView viewDidMoveToWindow]): Remove unnecessary calls to -restartTimers and -addWindowObservers
        from -[WebBaseNetscapePluginView viewDidMoveToWindow].  They are already called from within -start with the extra benefit
        of ensuring that the view is still in a window when they are called.

1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568
2009-09-11  Mark Rowe  <mrowe@apple.com>

        Reviewed by Jon Honeycutt.

        Fix <rdar://problem/7145242> Crashes inside WTF::HashTable below NetscapePluginInstanceProxy::disconnectStream

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::cancelLoad): Canceling the load can result in calling through to disconnectStream.
        If the plug-in instance holds the last reference to the plug-in stream this will result in the stream being deallocated.
        This leads to HostedNetscapePluginStream::cancelLoad's call to disconnectStream being passed a deallocated stream object.
        Since the stream was already disconnected by the call to cancel there's no need to call disconnectStream a second time.

1569 1570 1571 1572 1573 1574 1575 1576
2009-09-11  Eric Seidel  <eric@webkit.org>

        No review, rolling out r48229.
        http://trac.webkit.org/changeset/48229

        * WebView/WebFrame.mm:
        (-[WebFrame _dragSourceMovedTo:]):

1577 1578 1579 1580 1581 1582 1583 1584
2009-09-10  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Sam Weinig.

        Update JavaScriptCore and WebKit's FeatureDefines.xcconfig so that they are in sync with WebCore as they need to be.

        * Configurations/FeatureDefines.xcconfig:

1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596
2009-09-09  Jens Alfke  <snej@chromium.org>

        Reviewed by Eric Seidel.

        Initialize DataTransfer's effectAllowed and dropEffect properties correctly
        according to HTML5 spec (sec. 7.9.2-7.9.3).
        https://bugs.webkit.org/show_bug.cgi?id=26700

        * WebView/WebFrame.mm:
        (-[WebFrame _dragSourceMovedTo:]):
            Pass current drag operation (if known) to EventHandler::dragSourceMovedTo().

1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610
2009-09-09  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
        to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
        to all Frames in the PageGroup.

        Added userscripts/simple-stylesheet.html test case.

        * WebView/WebView.mm:
        (+[WebView _addUserStyleSheetToGroup:source:url:worldID:patterns:]):
        * WebView/WebViewPrivate.h:

1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625
2009-09-07  Steve Block  <steveblock@google.com>

        Reviewed by Adam Barth.

        Adds a mock Geolocation service. This will be used to provide predictable behavior of the
        Geolocation API for use in LayoutTests. Later changes will integrate the the mock
        Geolocation service with DumpRenderTree.
        https://bugs.webkit.org/show_bug.cgi?id=28264

        * WebCoreSupport/WebGeolocationMockPrivate.h: Added.
        * WebCoreSupport/WebGeolocationMock.mm: Added.
        (+[WebGeolocationMock setError:code:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
        (+[WebGeolocationMock setPosition:latitude:longitude:accuracy:]): Added. Used by DumpRender tree to configure the mock Geolocation service.
        * WebKit.exp: Modified. Exports WebGeolocationMock.

1626 1627 1628 1629 1630 1631 1632 1633 1634
2009-09-07  Drew Wilson  <atwilson@google.com>

        Reviewed by David Levin.

        Enable SHARED_WORKERS by default.
        https://bugs.webkit.org/show_bug.cgi?id=28959

        * Configurations/FeatureDefines.xcconfig:

1635 1636 1637 1638 1639 1640 1641 1642 1643 1644
2009-09-06  Cameron McCormack  <cam@mcc.id.au>

        Reviewed by Eric Seidel.

        Drop <definition-src> support
        https://bugs.webkit.org/show_bug.cgi?id=28991

        * MigrateHeaders.make: Remove reference to ObjC definition-src
        binding class.

dglazkov@chromium.org's avatar
dglazkov@chromium.org committed
1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664
2009-09-04  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=28614

        Account for scrollbar state changes that occur during layout.

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView updateScrollers]):

        Perform a layout prior to checking whether the scrollbar modes are
        off, on, or automatic.  The modes may change during layout.

        * WebView/WebFrameView.mm:
        (-[WebFrameView _install]):

        Eliminate duplicated (and incorrect) scrollbar mode tracking between
        FrameView and ScrollView.

1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682
2009-09-03  Dave Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
        
        This patch adds new API for adding and removing user scripts from page groups.  User scripts
        are bundled together in isolated worlds (you can have multiple scripts together in the same
        world).

        Added userscripts/ directory for holding new tests (along with a simple test of script injection).

        * WebView/WebView.mm:
        (+[WebView _addUserScriptToGroup:source:url:worldID:patterns:injectionTime:]):
        (+[WebView _removeUserContentFromGroup:worldID:]):
        (+[WebView _removeAllUserContentFromGroup:]):
        * WebView/WebViewPrivate.h:

1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696
2009-09-04  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24696

        Plumb mixed content notifications to WebFrameLoadDelegatePrivate.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):
        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebFrameLoadDelegatePrivate.h: Added.

1697 1698 1699 1700 1701 1702 1703 1704 1705 1706
2009-09-03  Adam Barth  <abarth@webkit.org>

        Unreviewed build fix.

        Change notImplemented() to a FIXME.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):

1707 1708 1709 1710 1711 1712
2009-09-03  Adam Barth  <abarth@webkit.org>

        Reviewed by eric@webkit.org.

        https://bugs.webkit.org/show_bug.cgi?id=24696

1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726
        Plumb mixed content notifications to WebFrameLoadDelegatePrivate.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):
        * WebView/WebDelegateImplementationCaching.h:
        * WebView/WebFrameLoadDelegatePrivate.h: Added.

2009-09-03  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=24696

1727 1728 1729 1730 1731 1732 1733
        Stub implementations of mixed content methods of FrameLoaderClient. 

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):

1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744
2009-09-02  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        More partial work towards "Page Cache should support pages with Frames"
        https://bugs.webkit.org/show_bug.cgi?id=13631

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _topHTMLView]): Rework the ASSERT in this method to reflect the
          reality of calling this method for pages currently in the PageCache.

dglazkov@chromium.org's avatar
dglazkov@chromium.org committed
1745 1746 1747 1748 1749
2009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>

    Reverting http://trac.webkit.org/changeset/47904, because it caused
    layout test failure.

ap@apple.com's avatar
ap@apple.com committed
1750 1751 1752 1753 1754 1755 1756 1757 1758
2009-08-31  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=28852
        Rename KURL single argument constructor to avoid confusion

        * WebView/WebScriptDebugger.mm: (toNSURL): Adapt to the change.

dglazkov@chromium.org's avatar
dglazkov@chromium.org committed
1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770
2009-08-31  Mark Mentovai  <mark@chromium.org>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=28614

        Perform a layout prior to checking whether the scrollbar modes are
        off, on, or automatic.  The modes may change during layout.

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView updateScrollers]):

1771 1772 1773 1774 1775 1776 1777 1778 1779 1780
2009-08-28  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by John Sullivan.

        update-webkit-localizable-strings script can no longer complete
        https://bugs.webkit.org/show_bug.cgi?id=28792

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory AXARIAContentGroupText:]):

1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792
2009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Holger Freyther.

        https://bugs.webkit.org/show_bug.cgi?id=25889
        [GTK] scrollbar policy for main frame is not implementable

        Add empty implementation for new ChromeClient method.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::scrollbarsModeDidChange):

1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805
2009-08-25  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Oliver Hunt.

        <video> and <audio> controller should be accessible
        https://bugs.webkit.org/show_bug.cgi?id=28081

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory localizedMediaControlElementString:]):
        (-[WebViewFactory localizedMediaControlElementHelpText:]):
        (-[WebViewFactory localizedMediaTimeDescription:]):
            New.

1806 1807 1808 1809 1810 1811 1812 1813
2009-08-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by NOBODY (build fix)

        Turn off ENABLE_3D_CANVAS in the xconfig files.

        * Configurations/FeatureDefines.xcconfig:

1814 1815 1816 1817 1818 1819 1820 1821 1822
2009-08-22  Adam Barth  <abarth@webkit.org>

        Revert 47684.  We're going to do this later once clients have had a
        chance to opt into the setting they like.

        * Misc/WebKitVersionChecks.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833
2009-08-22  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Don't let local files access web URLs
        https://bugs.webkit.org/show_bug.cgi?id=28480

        * Misc/WebKitVersionChecks.m:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

andersca@apple.com's avatar
andersca@apple.com committed
1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846
2009-08-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/7162480>
        Sometimes WebKit does not layout correctly when a WebView is embedded in an HICocoaView
        
        Add a null check for the current context when reflectScrolledClipView: is called from outside a 
        draw operation.
        
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):

1847 1848 1849 1850 1851 1852 1853 1854 1855 1856
2009-08-20  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        Enable various "grouping" ARIA roles
        https://bugs.webkit.org/show_bug.cgi?id=28486

        * WebCoreSupport/WebViewFactory.mm:
        (-[WebViewFactory AXARIAContentGroupText:]):

1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880
2009-08-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        Fix <http://webkit.org/b/28484> Plug-in-related leaks seen on the build bot

        When the plug-in data is being loaded manually there is a reference cycle between the
        NetscapePluginInstanceProxy and the HostedNetscapePluginStream.  We need to explicitly
        break the reference cycle in NetscapePluginInstanceProxy::cleanup so that both objects
        will be destroyed.

        Take the opportunity to add RefCountedLeakCounter support to HostedNetscapePluginStream
        and NetscapePluginInstanceProxy to simplify tracking down leaks of these objects in the future.

        * Plugins/Hosted/HostedNetscapePluginStream.h:
        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::HostedNetscapePluginStream):
        (WebKit::HostedNetscapePluginStream::~HostedNetscapePluginStream):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
        (WebKit::NetscapePluginInstanceProxy::~NetscapePluginInstanceProxy):
        (WebKit::NetscapePluginInstanceProxy::cleanup): Clear m_manualStream to break the reference
        cycle.

1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892
2009-08-19  Aaron Boodman  <aa@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
        specify a more granular policy for cross-origin XHR access.

        * WebView/WebView.mm: Add SPI to manipulate origin access whitelists.
        (+[WebView _whiteListAccessFromOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Ditto.
        (+[WebView _resetOriginAccessWhiteLists]): Ditto.
        * WebView/WebViewPrivate.h: Ditto.

1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907
2009-08-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        Mac specific part of
        
        <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        Implement shouldLoadMediaElementURL by asking the policy delegate.
        
        * WebView/WebPolicyDelegatePrivate.h:
        Add new delegate method, remove some unused cruft.

1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921
2009-08-18  Drew Wilson  <atwilson@google.com>

        Reviewed by Eric Seidel.

        Need to extend DumpRenderTree to expose number of worker threads.
        https://bugs.webkit.org/show_bug.cgi?id=28292

        * WebKit.exp:
        Exported WebWorkersPrivate so DumpRenderTree can access it.
        * Workers/WebWorkersPrivate.h: Added.
        * Workers/WebWorkersPrivate.mm: Added.
        (+[WebWorkersPrivate workerThreadCount]):
        Added WebWorkersPrivate::workerThreadCount() API for DumpRenderTree.

1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932
2009-08-17  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Use a HashMap instead of a list of if statements for the command
        name exception map.

        * WebView/WebHTMLView.mm:
        (createSelectorExceptionMap): Added.
        (commandNameForSelector): Use createSelectorExceptionMap.

1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944
2009-08-16  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/28366> WebHTMLViewInternal.h: add @class CALayer declaration

        Reviewed by Simon Fraser.

        Without WebKitPrefix.h, the missing @class CALayer declaration
        causes a compile-time error.

        * WebView/WebHTMLViewInternal.h: Added @class CALayer
        declaration with USE(ACCELERATED_COMPOSITING).

1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970
2009-08-16  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates

        Reviewed by Dan Bernstein.

        * Plugins/WebBaseNetscapePluginStream.mm: Added using std::min
        statement.
        (WebNetscapePluginStream::deliverData): Changed MIN() to min().
        Changed C-style cast to a static_cast.
        * Plugins/WebNetscapePluginView.mm: Added using std::min
        statement.
        (-[WebNetscapePluginView _postURL:target:len:buf:file:notifyData:sendNotification:allowHeaders:]):
        Changed MIN() to min().  Changed C-style cast to a static_cast.
        * WebView/WebHTMLView.mm: Added using std::max statement.
        (-[WebHTMLView _dragImageForURL:withLabel:]): Changed MAX() to
        max().
        (-[WebHTMLView _scaleFactorForPrintOperation:]): Ditto.
        * WebView/WebTextCompletionController.mm: Added using std::max
        and using std::min statements.
        (-[WebTextCompletionController _placePopupWindow:]): Changed
        type of maxWidth variable from float to CGFloat to prevent a
        type mismatch on x86_64.  Changed MAX() to max() and MIN() to
        min().  Added static_cast for a constant value since CGFloat is
        defined as a float on i386 and as a double on x86_64.

1971 1972 1973 1974 1975 1976 1977 1978 1979
2009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Sam Weinig.

        Added ENABLE_EVENTSOURCE flag.
        https://bugs.webkit.org/show_bug.cgi?id=14997

        * Configurations/FeatureDefines.xcconfig:

mrowe@apple.com's avatar
mrowe@apple.com committed
1980 1981 1982 1983 1984 1985 1986
2009-08-14  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::enumerate):  Add the necessary .get() calls.

1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997
2009-08-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/7091546> - Assertion failure in plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html 
        on 64-bit SnowLeopard

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::cancelLoad): Since this might be called while the FrameLoader is switching DocumentLoaders
          during the brief moment where there is no activeDocumentLoader(), accept and handle a validly null DocumentLoader.

1998 1999 2000 2001 2002 2003 2004 2005 2006
2009-08-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Brady Eidson.

        Fix leaks of NSNumber and NSMutableArray objects seen during layout tests.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::enumerate): Don't leak an NSMutableArray that we allocate.

2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
2009-08-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Anders Carlsson.

        Fix leaks of HostedNetscapePluginStream and NetscapePlugInStreamLoader objects seen during layout tests.

        * Plugins/Hosted/HostedNetscapePluginStream.mm:
        (WebKit::HostedNetscapePluginStream::didFail): Disconnect the stream from the plug-in instance proxy
        when the load fails.

2017 2018 2019 2020 2021
2009-08-13  Darin Adler  <darin@apple.com>

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm: Updated includes.
        * WebView/WebScriptDebugger.mm: Ditto.

2022 2023 2024 2025 2026 2027 2028 2029 2030
2009-08-12  Mark Rowe  <mrowe@apple.com>

        Reviewed by Kevin Decker.

        <rdar://problem/6017913> Replace use of HISearchWindowShow in -[WebView _searchWithSpotlightFromMenu].

        * WebView/WebView.mm:
        (-[WebView _searchWithSpotlightFromMenu:]): Use -[NSWorkspace showSearchResultsForQueryString:] post-Leopard.

2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044
2009-08-12  Greg Bolsinga  <bolsinga@apple.com>

        Reviewed by Eric Seidel.

        Add delegate methods about focus and blur and state change
        https://bugs.webkit.org/show_bug.cgi?id=27153
        
        Have ObjC delegate methods match C++ method names in the ChromeClient.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::formDidFocus):
        (WebChromeClient::formDidBlur):
        * WebView/WebUIDelegatePrivate.h:

2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055
2009-08-11  John Gregg  <johnnyg@google.com>

        Reviewed by Maciej Stachowiak.

        Desktop Notifications API
        https://bugs.webkit.org/show_bug.cgi?id=25643

        Adds ENABLE_NOTIFICATION flag.

        * Configurations/FeatureDefines.xcconfig:

andersca@apple.com's avatar
andersca@apple.com committed
2056 2057 2058 2059 2060 2061 2062 2063
2009-08-11  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove dead declarations.
        
        * WebView/WebViewInternal.h:

2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
2009-08-11  Dmitry Titov  <dimich@chromium.org>

        Reviewed by Adam Roben.

        Originally implemented by Glenn Wilson <gwilson@chromium.org>.

        Added new methods for overriding default WebPreference values
        and for resetting preferences to their defaults.
        See https://bugs.webkit.org/show_bug.cgi?id=20534

        * WebView/WebPreferences.mm:
        (-[WebPreferences _setPreferenceForTestWithValue:withKey:]): added.
        * WebView/WebPreferencesPrivate.h: same.

2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
2009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>

        Reviewed by George Staikos.

        [WML] Deck access control is completly broken
        https://bugs.webkit.org/show_bug.cgi?id=27721

        Synchronize WebFrameLoadType with FrameLoadType enum. Append 'WebFrameLoadTypeBackWMLDeckNotAccessible'.

        * WebView/WebFramePrivate.h:

2089 2090 2091 2092 2093 2094 2095
2009-08-07  Simon Fraser  <simon.fraser@apple.com>

        Fix the build on 10.6.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView attachRootLayer:]):

2096 2097 2098 2099 2100 2101 2102 2103
2009-08-07  Simon Fraser  <simon.fraser@apple.com>

        Fix a stylistic nit related to the location of the *, which, for some
        ridiculous reason, WebKit style dictates to be different between Objective-C and C++.
        
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):

2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132
2009-08-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Work around an issue on Leopard where composited layers are misplaced and squished when the page
        gets over 4096px tall.
        https://bugs.webkit.org/show_bug.cgi?id=27272
        <rdar://problem/7067892> [Leopard] Composisted layers are misplaced and squished on on long pages
        <rdar://problem/7068252> [Leopard] When switching to a tab with HW layers, they fade in

        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
        Call -_updateLayerHostingViewPosition after scrolling.
        
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _frameOrBoundsChanged]):
        Call -_updateLayerHostingViewPosition after the view changes size.

        (-[WebHTMLView attachRootLayer:]):
        Turn off default animations, to avoid animations of sublayer transform, and fading-in
        when tab switching.
        
        * WebView/WebHTMLViewInternal.h:
        (-[WebHTMLView _updateLayerHostingViewPosition]):
        New method that constrains the height of the layer-hosting view to a max height
        of 4096px, and compensates for the height restriction by placing the layer-hosting
        view at the top of the visible part of the WebHTMLView, and adjusting the position
        of the hosted layers via sublayer transform.

2133 2134 2135 2136 2137 2138 2139
2009-08-07  Anders Carlsson  <andersca@apple.com>

        Fix Tiger build.
        
        * WebView/WebRenderNode.mm:
        (-[WebRenderNode _initWithCoreFrame:]):

2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152
2009-08-07  Anders Carlsson  <andersca@apple.com>

        Reviewed by Timothy Hatcher and Sam Weinig.

        Change WebRenderNode to take a WebFrame instead of a WebFrameView.
        
        * WebView/WebRenderNode.h:
        * WebView/WebRenderNode.mm:
        (-[WebRenderNode _initWithName:position:rect:coreFrame:children:]):
        (copyRenderNode):
        (-[WebRenderNode _initWithCoreFrame:]):
        (-[WebRenderNode initWithWebFrame:]):

2153 2154 2155 2156 2157 2158 2159 2160
2009-08-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler and Dan Bernstein.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::hasHTMLView):
        Always return true when we're in viewless mode.

2161 2162 2163 2164 2165 2166
2009-08-06  Anders Carlsson  <andersca@apple.com>

        Remove WebGraphicsExtras.h include.
        
        * Plugins/WebNetscapePluginView.mm:

2167 2168 2169 2170 2171 2172 2173 2174 2175
2009-08-06  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Remove WebGraphicsExtras, it is no longer used.

        * Misc/WebGraphicsExtras.c: Removed.
        * Misc/WebGraphicsExtras.h: Removed.

2176 2177 2178 2179 2180 2181 2182 2183
2009-08-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by David Hyatt.

        Added ENABLE_3D_CANVAS flag to build, default to off

        * Configurations/FeatureDefines.xcconfig:

2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194
2009-08-04  Michael Nordman  <michaeln@google.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=27821

        Mods to keep up with ApplicationCacheHost refactoring.

        * WebView/WebDataSource.mm:
        (-[WebDataSource _transferApplicationCache:]):

darin@apple.com's avatar
darin@apple.com committed
2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213
2009-07-30  Darin Adler  <darin@apple.com>

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        * Misc/WebNSAttributedStringExtras.mm:
        (fileWrapperForElement):
        * Misc/WebNSPasteboardExtras.mm:
        (imageFromElement):
        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
        * WebView/WebFrame.mm:
        (-[WebFrame _computePageRectsWithPrintWidthScaleFactor:printHeight:]):
        (-[WebFrame _accessibilityTree]):
        * WebView/WebRenderNode.mm:
        (copyRenderNode):
        Use checked casts.

2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261
2009-07-31  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.
        
        Accelerated animations stutter on pages with lots of animations and 3d transforms
        https://bugs.webkit.org/show_bug.cgi?id=27884
        
        This patch changes the strategy for synchronizing painting view the view,
        and compositing layer updates. Previously the strategy was to disable screen
        updates between the time we updated the layer tree, and painted the view. That
        left screen updates disabled for too long (hundreds of milliseconds) in some
        cases, causing animation stutter.
        
        The new strategy is to batch up changes to the CA layer tree, and commit them
        all at once just before painting happens (referred to as a "sync" in the code).
        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
        the values stored in GraphicsLayer into the CA layer tree at commit time.
        
        Compositing layers are then synced in FrameView::paintContents(). However, not
        all style/layout changes will result in painting; to deal with style changes that
        touch only compositing properties, we set up a runloop observer that takes care
        of comitting layer changes when no painting happens.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::scheduleCompositingLayerSync):
        scheduleViewUpdate() renamed to syncCompositingStateRecursive()
        
        * WebView/WebView.mm:
        (-[WebView _close]):
        (-[WebView _clearLayerSyncLoopObserver]):
        "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".

        (-[WebView _syncCompositingChanges]):
        Helper method that calls syncCompositingStateRecursive() on the FrameView.
        
        (layerSyncRunLoopObserverCallBack):
        (-[WebView _scheduleCompositingLayerSync]):
        This is all about layer sycning now. Also, the run loop observer is repeating,
        because it has to keep firing until syncCompositingStateRecursive() says that it
        has completed.
        
        * WebView/WebViewData.h:
        "viewUpdateRunLoopObserver" is now "layerSyncLoopObserver".

        * WebView/WebViewInternal.h: