1 2011-05-11 Antoine Labour <piman (a] chromium.org> 2 3 Reviewed by David Levin. 4 5 Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the 6 loaded resource. 7 https://bugs.webkit.org/show_bug.cgi?id=60656 8 9 * loader/DocumentThreadableLoader.cpp: 10 (WebCore::DocumentThreadableLoader::loadRequest): 11 Pass the shouldBufferData to the resource load scheduler, forcing it to true for the 12 preflight request. 13 * loader/ResourceLoadScheduler.cpp: 14 (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): 15 Pass through shouldBufferData to SubresourceLoader::create 16 * loader/ResourceLoadScheduler.h: 17 18 * loader/SubresourceLoader.cpp: 19 (WebCore::SubresourceLoader::create): 20 Set shouldBufferData on the newly created loader 21 22 * loader/SubresourceLoader.h: 23 24 * loader/ThreadableLoader.h: 25 (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): 26 Add shouldBufferData to the options, defaulting to true. 27 28 2011-05-11 Jay Civelli <jcivelli (a] chromium.org> 29 30 Reviewed by Adam Barth. 31 32 Adding a Content-Type parser. This is needed for MHTML support. 33 https://bugs.webkit.org/show_bug.cgi?id=60637 34 35 (WebCore::ScriptController::disableEval): 36 * platform/network/ContentTypeParser.cpp: Added. 37 * platform/network/ContentTypeParser.h: Added. 38 39 2011-05-11 Jessie Berlin <jberlin (a] apple.com> 40 41 Reviewed by Steve Falkenburg. 42 43 [Windows WebKit2] Use cookies set in WebKit1 44 https://bugs.webkit.org/show_bug.cgi?id=60274 45 46 Share the default storage session between the UI and Web Processes. 47 48 * platform/network/cf/CookieStorageCFNet.cpp: 49 (WebCore::defaultSessionCookieStorage): 50 Keep track of the default storage session cookie storage. 51 (WebCore::currentCookieStorage): 52 Call defaultCookieStorage to get the default cookie storage. 53 (WebCore::defaultCookieStorage): 54 If there is a default storage session cookie storage, prefer that over getting the default 55 cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly 56 without specifying a storage session will not get the cookie storage being shared by the UI 57 and Web Processes. 58 59 * platform/network/ResourceHandle.h: 60 * platform/network/cf/ResourceHandleCFNet.cpp: 61 (WebCore::willSendRequest): 62 Make sure to set the current storage session on any requests used by the Web 63 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 64 doing anything with the Web Process's default storage session (which is not the one shared 65 with the UI Process). 66 (WebCore::makeFinalRequest): 67 Ditto. 68 (WebCore::ResourceHandle::willSendRequest): 69 Ditto. 70 (WebCore::ResourceHandle::currentStorageSession): 71 If there is a Private Browsing storage session, return that. 72 If not, on Windows return the default storage session that is being shared with the UI 73 Process and on Mac return 0. 74 (WebCore::defaultCFURLStorageSession): 75 (WebCore::ResourceHandle::setDefaultStorageSession): 76 (WebCore::ResourceHandle::defaultStorageSession): 77 78 * platform/network/cf/ResourceRequestCFNet.cpp: 79 (WebCore::ResourceRequest::doUpdatePlatformRequest): 80 Make sure to set the current storage session on any requests used by the Web 81 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 82 doing anything with the Web Process's default storage session (which is not the one shared 83 with the UI Process). 84 85 2011-05-11 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 86 87 Reviewed by David Kilzer. 88 89 Remove wml directory from include lists 90 https://bugs.webkit.org/show_bug.cgi?id=60646 91 92 Remove wml dir from CMake, Autotools and qmake build systems since WML 93 was removed in r85256. 94 95 No new tests since no change in functionality. 96 97 * CMakeLists.txt: 98 * GNUmakefile.am: 99 * WebCore.pri: 100 101 2011-05-11 Lucas De Marchi <lucas.demarchi (a] profusion.mobi> 102 103 Reviewed by Antonio Gomes. 104 105 [CMAKE] Move EFL-specific file to CMakeListsEfl.txt 106 https://bugs.webkit.org/show_bug.cgi?id=60642 107 108 Move file EFL-specific file to the CMakeListsEfl.txt file. This implies 109 having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND 110 calls, since they depend on lists that now may change inside a port 111 like WebCore_USER_AGENT_STYLE_SHEETS. 112 113 No new tests since no change in functionality. 114 115 * CMakeLists.txt: remove css file specific to EFL port. 116 * CMakeListsEfl.txt: move file here. 117 118 2011-05-11 Tao Bai <michaelbai (a] chromium.org> 119 120 Reviewed by David Kilzer. 121 122 Return empty Favicon URL instead of default one when the frame isn't top level one 123 https://bugs.webkit.org/show_bug.cgi?id=60527 124 This issue was discovered by chromium browser test. 125 126 * dom/Document.cpp: 127 (WebCore::Document::setIconURL): 128 Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785. 129 * loader/FrameLoader.cpp: 130 (WebCore::FrameLoader::iconURLs): 131 (WebCore::FrameLoader::fillIconURL): 132 Restored original logic, the empty URL should be returned instead of default one. The client (at 133 least chromium) may rely on the returned value to decided whether the favicon should be changed. 134 135 2011-05-11 Nat Duca <nduca (a] chromium.org> 136 137 Reviewed by Kenneth Russell. 138 139 [chromium] Make throttling of WebGL based on webgl frames, not compositor frames 140 https://bugs.webkit.org/show_bug.cgi?id=60508 141 142 When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need 143 to prevent WebGL from running too far ahead of the GPU process. The current 144 throttling mechanism relies on prepareTexture being called for every WebGL frame. 145 However, in a non-requestAnimFrame application, multiple frames might get created 146 before the compositor runs and calls prepareTexture on the surface. 147 148 To address this, we post a task that calls a special rate limiting GL extension on 149 the WebGL context after every WebGL "frame." When the compositor runs, it calls 150 prepareTexture as usual. 151 152 * platform/graphics/chromium/Extensions3DChromium.h: 153 * platform/graphics/chromium/LayerRendererChromium.cpp: 154 (WebCore::LayerRendererChromium::LayerRendererChromium): 155 * platform/graphics/chromium/LayerRendererChromium.h: 156 (WebCore::LayerRendererChromium::setIsAnimating): 157 (WebCore::LayerRendererChromium::isAnimating): 158 * platform/graphics/chromium/WebGLLayerChromium.cpp: 159 (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask): 160 (WebCore::WebGLLayerChromiumRateLimitTask::run): 161 (WebCore::WebGLLayerChromiumRateLimitTask::cancel): 162 (WebCore::WebGLLayerChromium::WebGLLayerChromium): 163 (WebCore::WebGLLayerChromium::~WebGLLayerChromium): 164 (WebCore::WebGLLayerChromium::setTextureUpdated): 165 (WebCore::WebGLLayerChromium::setContext): 166 * platform/graphics/chromium/WebGLLayerChromium.h: 167 (WebCore::WebGLLayerChromium::context): 168 169 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 170 171 Reviewed by Kenneth Rohde Christiansen. 172 173 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 174 https://bugs.webkit.org/show_bug.cgi?id=60439 175 176 Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation 177 mechanism happens inside TextureMapper, and we interpolate right before we paint. 178 179 No new tests. Tests in LayoutTests/compositing cover this. 180 181 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: 182 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): 183 (WebCore::GraphicsLayerTextureMapper::syncCompositingState): 184 (WebCore::GraphicsLayerTextureMapper::addAnimation): 185 (WebCore::GraphicsLayerTextureMapper::pauseAnimation): 186 (WebCore::GraphicsLayerTextureMapper::removeAnimation): 187 (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired): 188 * platform/graphics/texmap/TextureMapperNode.cpp: 189 (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations): 190 (WebCore::normalizedAnimationValue): 191 (WebCore::TextureMapperNode::applyOpacityAnimation): 192 (WebCore::solveEpsilon): 193 (WebCore::solveCubicBezierFunction): 194 (WebCore::solveStepsFunction): 195 (WebCore::applyTimingFunction): 196 (WebCore::TextureMapperNode::applyTransformAnimation): 197 (WebCore::TextureMapperNode::applyAnimationFrame): 198 (WebCore::TextureMapperNode::applyAnimation): 199 (WebCore::TextureMapperNode::hasRunningOpacityAnimation): 200 (WebCore::TextureMapperNode::hasRunningTransformAnimation): 201 (WebCore::TextureMapperNode::syncAnimations): 202 (WebCore::copyTimingFunction): 203 (WebCore::copyAnimationValue): 204 (WebCore::TextureMapperAnimation::TextureMapperAnimation): 205 * platform/graphics/texmap/TextureMapperNode.h: 206 (WebCore::TextureMapperAnimation::create): 207 208 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 209 210 Reviewed by Kenneth Rohde Christiansen. 211 212 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 213 https://bugs.webkit.org/show_bug.cgi?id=60439 214 215 Patch 11/12: Patch PluginView to build with TextureMapper on Linux. 216 217 No new tests. This is a build fix. 218 219 * platform/qt/QWebPageClient.h: 220 (QWebPageClient::setRootGraphicsLayer): 221 222 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 223 224 Reviewed by Kenneth Rohde Christiansen. 225 226 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 227 https://bugs.webkit.org/show_bug.cgi?id=60439 228 229 Patch 10/12: Glue the TextureMapper refactoring into Webkit(1). 230 Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient. 231 232 No new tests. Tests in LayoutTests/compositing cover this. 233 234 * platform/qt/QWebPageClient.h: 235 (QWebPageClient::setRootGraphicsLayer): 236 237 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 238 239 Reviewed by Kenneth Rohde Christiansen. 240 241 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 242 https://bugs.webkit.org/show_bug.cgi?id=60439 243 244 Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy. 245 Changes include: 246 1. Support the new TextureMapperPlatformLayer for media & WebGL. 247 2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures. 248 3. Divide computation operations to different smaller functions. 249 4. Get rid of scissor/clip layers, use transformed clip instead. 250 5. Allow tiling for big layers. 251 252 No new tests. Tests in LayoutTests/compositing cover this. 253 254 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: 255 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): 256 (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect): 257 (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): 258 (WebCore::GraphicsLayerTextureMapper::platformLayer): 259 * platform/graphics/texmap/GraphicsLayerTextureMapper.h: 260 (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay): 261 (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas): 262 (WebCore::GraphicsLayerTextureMapper::node): 263 * platform/graphics/texmap/TextureMapperNode.cpp: 264 (WebCore::TextureMapperSurfaceManager::getIntermediateSurface): 265 (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface): 266 (WebCore::toTextureMapperNode): 267 (WebCore::TextureMapperNode::rootLayer): 268 (WebCore::TextureMapperNode::setTransform): 269 (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded): 270 (WebCore::TextureMapperNode::countDescendantsWithContent): 271 (WebCore::TextureMapperNode::computeOverlapsIfNeeded): 272 (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded): 273 (WebCore::TextureMapperNode::computeLocalTransformIfNeeded): 274 (WebCore::TextureMapperNode::needsToComputeBoundingRect): 275 (WebCore::TextureMapperNode::computeAllTransforms): 276 (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded): 277 (WebCore::TextureMapperNode::computeTiles): 278 (WebCore::TextureMapperNode::computeVisibleRectIfNeeded): 279 (WebCore::TextureMapperNode::renderContent): 280 (WebCore::TextureMapperNode::paint): 281 (WebCore::TextureMapperNode::targetRectForTileRect): 282 (WebCore::TextureMapperNode::paintSelf): 283 (WebCore::TextureMapperNode::compareGraphicsLayersZValue): 284 (WebCore::TextureMapperNode::sortByZOrder): 285 (WebCore::TextureMapperNode::paintSelfAndChildren): 286 (WebCore::TextureMapperNode::paintReflection): 287 (WebCore::TextureMapperNode::paintRecursive): 288 (WebCore::TextureMapperNode::~TextureMapperNode): 289 (WebCore::TextureMapperNode::resetDescendants): 290 (WebCore::TextureMapperNode::setContentScale): 291 (WebCore::TextureMapperNode::setVisibleRect): 292 (WebCore::TextureMapperNode::syncCompositingState): 293 (WebCore::TextureMapperNode::invalidateOverlaps): 294 (WebCore::TextureMapperNode::syncCompositingStateSelf): 295 (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations): 296 * platform/graphics/texmap/TextureMapperNode.h: 297 (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions): 298 (WebCore::TextureMapperAnimation::create): 299 (WebCore::TextureMapperNode::TextureMapperNode): 300 (WebCore::TextureMapperNode::size): 301 (WebCore::TextureMapperNode::setOpacity): 302 (WebCore::TextureMapperNode::setTextureMapper): 303 (WebCore::TextureMapperNode::media): 304 (WebCore::TextureMapperNode::texture): 305 (WebCore::TextureMapperNode::targetRect): 306 (WebCore::TextureMapperNode::entireRect): 307 (WebCore::TextureMapperNode::contentSize): 308 (WebCore::TextureMapperNode::State::State): 309 (WebCore::deleteOwnedPtr): 310 311 2011-05-07 Noam Rosenthal <noam.rosenthal (a] nokia.com> 312 313 Reviewed by Kenneth Rohde Christiansen. 314 315 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 316 https://bugs.webkit.org/show_bug.cgi?id=60439 317 318 Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate 319 them to different patches. This is the summary of what the changes do: 320 321 1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that. 322 2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead, 323 we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs. 324 3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the 325 GL context otherwise. 326 4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their 327 internal content. 328 5. Allow packing and unpacking. This is currently a stub, for future memory optimizations. 329 6. Put some of the initialization code here (beginPainting/endPainting). 330 7. Allow painting a texture via an ID instead of a BitmapTexture data type. 331 8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current. 332 333 No new tests. Tests in LayoutTests/compositing test this. 334 335 * platform/graphics/opengl/TextureMapperGL.cpp: 336 (WebCore::debugGLCommand): 337 (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram): 338 (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData): 339 (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate): 340 (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref): 341 (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository): 342 (WebCore::TextureMapperGLData::TextureMapperGLData): 343 (WebCore::BitmapTextureGL::id): 344 (WebCore::BitmapTextureGL::isOpaque): 345 (WebCore::BitmapTextureGL::relativeSize): 346 (WebCore::BitmapTextureGL::setTextureMapper): 347 (WebCore::BitmapTextureGL::pack): 348 (WebCore::BitmapTextureGL::unpack): 349 (WebCore::BitmapTextureGL::isPacked): 350 (WebCore::BitmapTextureGL::BitmapTextureGL): 351 (WebCore::TextureMapperGL::TextureMapperGL): 352 (WebCore::TextureMapperGL::initializeShaders): 353 (WebCore::TextureMapperGL::beginPainting): 354 (WebCore::TextureMapperGL::endPainting): 355 (WebCore::TextureMapperGL::drawTexture): 356 (WebCore::BitmapTextureGL::reset): 357 (WebCore::BitmapTextureGL::endPaint): 358 (WebCore::BitmapTextureGL::setContentsToImage): 359 (WebCore::createProjectionMatrix): 360 (WebCore::BitmapTextureGL::bind): 361 (WebCore::BitmapTextureGL::destroy): 362 (WebCore::TextureMapperGL::~TextureMapperGL): 363 (WebCore::TextureMapperGL::bindSurface): 364 (WebCore::TextureMapperGL::beginClip): 365 (WebCore::TextureMapperGL::endClip): 366 (WebCore::TextureMapperGL::createTexture): 367 * platform/graphics/opengl/TextureMapperGL.h: 368 (WebCore::TextureMapperGL::allowSurfaceForRoot): 369 (WebCore::TextureMapperGL::create): 370 (WebCore::TextureMapperGL::setGraphicsContext): 371 (WebCore::TextureMapperGL::graphicsContext): 372 (WebCore::TextureMapperGL::isOpenGLBacked): 373 * platform/graphics/qt/GraphicsContext3DQt.cpp: 374 (WebCore::GraphicsContext3DInternal::paintToTextureMapper): 375 (WebCore::GraphicsContext3DInternal::boundingRect): 376 (WebCore::GraphicsContext3DInternal::paint): 377 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 378 (WebCore::MediaPlayerPrivateQt::repaint): 379 (WebCore::MediaPlayerPrivateQt::paintToTextureMapper): 380 * platform/graphics/qt/MediaPlayerPrivateQt.h: 381 (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged): 382 (WebCore::MediaPlayerPrivateQt::platformLayer): 383 384 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 385 386 Reviewed by Kenneth Rohde Christiansen. 387 388 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 389 https://bugs.webkit.org/show_bug.cgi?id=60439 390 391 Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper. 392 This allows using a WebGL canvas with CSS. 393 394 No new tests. Tests in LayoutTests/compositing/webgl cover this. 395 396 * platform/graphics/qt/GraphicsContext3DQt.cpp: 397 (WebCore::GraphicsContext3DInternal::paintToTextureMapper): 398 (WebCore::GraphicsContext3DInternal::boundingRect): 399 (WebCore::GraphicsContext3DInternal::paint): 400 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 401 (WebCore::MediaPlayerPrivateQt::repaint): 402 (WebCore::MediaPlayerPrivateQt::paintToTextureMapper): 403 * platform/graphics/qt/MediaPlayerPrivateQt.h: 404 (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged): 405 (WebCore::MediaPlayerPrivateQt::platformLayer): 406 407 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 408 409 Reviewed by Kenneth Rohde Christiansen. 410 411 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 412 https://bugs.webkit.org/show_bug.cgi?id=60439 413 414 Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper, 415 to allow videos to be composited. 416 417 No new tests. Tests in LayoutTests/compositing cover this. 418 419 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 420 (WebCore::MediaPlayerPrivateQt::repaint): 421 (WebCore::MediaPlayerPrivateQt::paintToTextureMapper): 422 * platform/graphics/qt/MediaPlayerPrivateQt.h: 423 (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged): 424 (WebCore::MediaPlayerPrivateQt::platformLayer): 425 426 2011-05-11 John Bauman <jbauman (a] chromium.org> 427 428 Reviewed by Kenneth Russell. 429 430 Don't send zeros in TexImage if GL implementation handles that 431 https://bugs.webkit.org/show_bug.cgi?id=60581 432 433 Chromium already handles zeroing textures upon creation, so don't 434 bother zeroing them in WebKit, as that causes some unnecessary memcpys 435 of zeros. 436 437 No new tests as functionality is the same. 438 439 * html/canvas/WebGLRenderingContext.cpp: 440 (WebCore::WebGLRenderingContext::texImage2DBase): 441 * platform/graphics/GraphicsContext3D.cpp: 442 (WebCore::GraphicsContext3D::texImage2DResourceSafe): 443 * platform/graphics/GraphicsContext3D.h: 444 * platform/graphics/gtk/GraphicsContext3DGtk.cpp: 445 (WebCore::GraphicsContext3D::GraphicsContext3D): 446 * platform/graphics/mac/GraphicsContext3DMac.mm: 447 (WebCore::GraphicsContext3D::GraphicsContext3D): 448 * platform/graphics/qt/GraphicsContext3DQt.cpp: 449 (WebCore::GraphicsContext3D::GraphicsContext3D): 450 451 2011-05-11 Simon Fraser <simon.fraser (a] apple.com> 452 453 Attempt to fix Chromium Mac build. 454 455 * rendering/RenderThemeMac.mm: 456 (WebCore::RenderThemeMac::paintSliderThumb): 457 458 2011-05-11 Daniel Bates <dbates (a] rim.com> 459 460 Reviewed by Antonio Gomes. 461 462 [Qt] Extract code to set mouse event modifiers into common function 463 https://bugs.webkit.org/show_bug.cgi?id=60649 464 465 Consolidate code to set the keyboard modifiers for a mouse event into a common 466 function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount) 467 and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code. 468 469 No functionality was changed. So, no new tests. 470 471 * platform/qt/PlatformMouseEventQt.cpp: 472 (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added. 473 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers(). 474 475 2011-05-11 Levi Weintraub <leviw (a] chromium.org> 476 477 Reviewed by Eric Seidel. 478 479 Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints 480 https://bugs.webkit.org/show_bug.cgi?id=60591 481 482 Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect. 483 484 No new tests since there is no functionality change. 485 486 * rendering/InlineFlowBox.cpp: 487 (WebCore::InlineFlowBox::paintBoxDecorations): 488 * rendering/RenderBox.cpp: 489 (WebCore::RenderBox::paintBoxDecorationsWithSize): 490 * rendering/RenderBoxModelObject.cpp: 491 (WebCore::RenderBoxModelObject::paintBorder): 492 * rendering/RenderBoxModelObject.h: 493 * rendering/RenderFieldset.cpp: 494 (WebCore::RenderFieldset::paintBoxDecorations): 495 * rendering/RenderTable.cpp: 496 (WebCore::RenderTable::paintBoxDecorations): 497 * rendering/RenderTableCell.cpp: 498 (WebCore::RenderTableCell::paintBoxDecorations): 499 500 2011-05-11 Sheriff Bot <webkit.review.bot (a] gmail.com> 501 502 Unreviewed, rolling out r86255. 503 http://trac.webkit.org/changeset/86255 504 https://bugs.webkit.org/show_bug.cgi?id=60660 505 506 REGRESSION (r86255): Lots of tests crashing in 507 CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release 508 (WebKit2 Tests) (Requested by aroben on #webkit). 509 510 * platform/network/ResourceHandle.h: 511 * platform/network/cf/CookieStorageCFNet.cpp: 512 (WebCore::currentCookieStorage): 513 (WebCore::defaultCookieStorage): 514 * platform/network/cf/ResourceHandleCFNet.cpp: 515 (WebCore::willSendRequest): 516 (WebCore::makeFinalRequest): 517 (WebCore::ResourceHandle::willSendRequest): 518 * platform/network/cf/ResourceRequestCFNet.cpp: 519 (WebCore::ResourceRequest::doUpdatePlatformRequest): 520 521 2011-05-11 Sam Weinig <sam (a] webkit.org> 522 523 Reviewed by Eric Seidel. 524 525 Frequent crashes beneath WebCore::ScriptElement::prepareScript 526 https://bugs.webkit.org/show_bug.cgi?id=60559 527 528 * html/parser/HTMLScriptRunner.cpp: 529 (WebCore::HTMLScriptRunner::runScript): 530 Add null check and explanation that we are keeping the ASSERT to help 531 track down the cause and produce a test. 532 533 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 534 535 Reviewed by Kenneth Rohde Christiansen. 536 537 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 538 https://bugs.webkit.org/show_bug.cgi?id=60439 539 540 Patch 5/12: Implement the new TextureMapper functions for the Qt backend. 541 This allow non-rectangular clipping, some stub functions, and getting a unique 542 id for an image. 543 544 No new tests. Tests in LayoutTests/compositing cover this. 545 546 * platform/graphics/qt/TextureMapperQt.cpp: 547 (WebCore::TextureMapperQt::beginClip): 548 (WebCore::TextureMapperQt::endClip): 549 (WebCore::TextureMapperQt::viewportSize): 550 (WebCore::TextureMapperQt::setGraphicsContext): 551 (WebCore::TextureMapperQt::graphicsContext): 552 (WebCore::TextureMapperQt::drawTexture): 553 (WebCore::TextureMapperQt::beginPainting): 554 (WebCore::TextureMapperQt::endPainting): 555 (WebCore::RGBA32PremultimpliedBufferQt::beginPaint): 556 (WebCore::uidForImage): 557 * platform/graphics/qt/TextureMapperQt.h: 558 559 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 560 561 Reviewed by Kenneth Rohde Christiansen. 562 563 [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch 564 https://bugs.webkit.org/show_bug.cgi?id=60439 565 566 Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when 567 OpenGL is present. 568 569 No new tests. This is a build fix. 570 571 * WebCore.pri: 572 * WebCore.pro: 573 574 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 575 576 Reviewed by Kenneth Rohde Christiansen. 577 578 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 579 https://bugs.webkit.org/show_bug.cgi?id=60439 580 581 Patch 2/12: Add a few functions to the TextureMapper API, allowing: 582 1. an entry/exit point for painting (beginPaint/endPaint) 583 2. Clipping with a matrix, since we use stencil instead of scissors 584 3. Draw a texture directly with an ID 585 4. Remove offset, since we're using real tiling 586 5. numberOfBytes calculation for textures, for memory management 587 588 No new tests. Tests in LayoutTests/compositing test this. 589 590 * platform/graphics/texmap/TextureMapper.h: 591 (WebCore::BitmapTexture::destroy): 592 (WebCore::BitmapTexture::allowOfflineTextureUpload): 593 (WebCore::BitmapTexture::bpp): 594 (WebCore::BitmapTexture::numberOfBytes): 595 (WebCore::TextureMapper::viewportSize): 596 (WebCore::TextureMapper::setViewportSize): 597 (WebCore::TextureMapper::allowPartialUpdates): 598 (WebCore::TextureMapper::isOpenGLBacked): 599 (WebCore::TextureMapper::setTransform): 600 (WebCore::TextureMapper::transform): 601 (WebCore::TextureMapper::beginPainting): 602 (WebCore::TextureMapper::endPainting): 603 604 2011-05-11 Noam Rosenthal <noam.rosenthal (a] nokia.com> 605 606 Reviewed by Kenneth Rohde Christiansen. 607 608 [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch 609 https://bugs.webkit.org/show_bug.cgi?id=60439 610 611 Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a 612 media player to decide how to paint into the TextureMapper, rather than mandate specific 613 types of platform layers. 614 615 No new tests. Tests in LayoutTests/compositing test this. 616 617 * platform/graphics/GraphicsLayer.h: 618 * platform/graphics/texmap/TextureMapperPlatformLayer.h: 619 620 2011-05-11 Simon Fraser <simon.fraser (a] apple.com> 621 622 Reviewed by Darin Adler. 623 624 Flesh out RenderLayer's ScrollableArea implementation a little more 625 https://bugs.webkit.org/show_bug.cgi?id=60593 626 627 Override a few more ScrollableArea methods on RenderLayer 628 as a baby-step towards animating overflow div scrolling. 629 630 * platform/ScrollableArea.h: 631 (WebCore::ScrollableArea::visibleContentRect): 632 * rendering/RenderLayer.cpp: 633 (WebCore::RenderLayer::scrollPosition): 634 (WebCore::RenderLayer::minimumScrollPosition): 635 (WebCore::RenderLayer::maximumScrollPosition): 636 (WebCore::RenderLayer::visibleContentRect): 637 (WebCore::RenderLayer::overhangAmount): 638 (WebCore::RenderLayer::didCompleteRubberBand): 639 * rendering/RenderLayer.h: 640 (WebCore::RenderLayer::shouldSuspendScrollAnimations): 641 642 2011-05-11 Simon Fraser <simon.fraser (a] apple.com> 643 644 Reviewed by Dave Hyatt. 645 646 <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2 647 <rdar://problem/9418025> Slider thumb has odd appearance 648 649 Fix two issues drawing the slider thumb. 650 651 To fix <rdar://problem/9421781>, if we detect that we're in WebKit2 652 by virtual of the FrameView not having a documentView, then flip 653 the graphics context. 654 655 To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView: 656 rather than -drawWithFrame:inView: so that AppKit doesn't draw a section 657 of track behind the thumb. 658 659 * rendering/RenderThemeMac.mm: 660 (WebCore::RenderThemeMac::paintSliderThumb): 661 662 2011-05-11 Jessie Berlin <jberlin (a] apple.com> 663 664 Reviewed by Steve Falkenburg. 665 666 [Windows WebKit2] Use cookies set in WebKit1 667 https://bugs.webkit.org/show_bug.cgi?id=60274 668 669 Share the default storage session between the UI and Web Processes. 670 671 * platform/network/cf/CookieStorageCFNet.cpp: 672 (WebCore::defaultSessionCookieStorage): 673 Keep track of the default storage session cookie storage. 674 (WebCore::currentCookieStorage): 675 Call defaultCookieStorage to get the default cookie storage. 676 (WebCore::defaultCookieStorage): 677 If there is a default storage session cookie storage, prefer that over getting the default 678 cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly 679 without specifying a storage session will not get the cookie storage being shared by the UI 680 and Web Processes. 681 682 * platform/network/ResourceHandle.h: 683 * platform/network/cf/ResourceHandleCFNet.cpp: 684 (WebCore::willSendRequest): 685 Make sure to set the current storage session on any requests used by the Web 686 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 687 doing anything with the Web Process's default storage session (which is not the one shared 688 with the UI Process). 689 (WebCore::makeFinalRequest): 690 Ditto. 691 (WebCore::ResourceHandle::willSendRequest): 692 Ditto. 693 (WebCore::ResourceHandle::currentStorageSession): 694 If there is a Private Browsing storage session, return that. 695 If not, on Windows return the default storage session that is being shared with the UI 696 Process and on Mac return 0. 697 (WebCore::defaultCFURLStorageSession): 698 (WebCore::ResourceHandle::setDefaultStorageSession): 699 (WebCore::ResourceHandle::defaultStorageSession): 700 701 * platform/network/cf/ResourceRequestCFNet.cpp: 702 (WebCore::ResourceRequest::doUpdatePlatformRequest): 703 Make sure to set the current storage session on any requests used by the Web 704 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 705 doing anything with the Web Process's default storage session (which is not the one shared 706 with the UI Process). 707 708 2011-05-11 Martin Robinson <mrobinson (a] igalia.com> 709 710 Try once more to fix the WinCairo build. 711 712 * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative 713 include rather than a system include. 714 715 2011-05-11 Sam Weinig <sam (a] webkit.org> 716 717 Reviewed by Eric Seidel. 718 719 Stop including Console.h just to get Console enum types 720 https://bugs.webkit.org/show_bug.cgi?id=60607 721 722 Move MessageSource, MessageType and MessageLevel into its own 723 header and cleanup surrounding classes. 724 725 * GNUmakefile.list.am: 726 * WebCore.gypi: 727 * WebCore.pro: 728 * WebCore.vcproj/WebCore.vcproj: 729 * WebCore.xcodeproj/project.pbxproj: 730 * bindings/js/JSCustomXPathNSResolver.cpp: 731 * bindings/scripts/CodeGeneratorJS.pm: 732 * bindings/v8/V8Proxy.cpp: 733 * dom/ScriptExecutionContext.h: 734 * html/HTMLFormElement.cpp: 735 * html/parser/XSSFilter.cpp: 736 * inspector/ConsoleMessage.h: 737 * inspector/InjectedScriptHost.h: 738 * inspector/InspectorAgent.h: 739 * inspector/InspectorConsoleAgent.h: 740 * inspector/InspectorFrontendHost.h: 741 * inspector/InspectorInstrumentation.cpp: 742 * inspector/InspectorInstrumentation.h: 743 * loader/EmptyClients.h: 744 * loader/FrameLoader.cpp: 745 * loader/MainResourceLoader.cpp: 746 * loader/appcache/ApplicationCacheGroup.cpp: 747 * page/ChromeClient.h: 748 * page/Console.cpp: 749 (WebCore::Console::~Console): 750 * page/Console.h: 751 * page/ConsoleTypes.h: Added. 752 * page/ContentSecurityPolicy.cpp: 753 * page/Geolocation.h: 754 * workers/WorkerReportingProxy.h: 755 * xml/XMLHttpRequest.cpp: 756 757 2011-05-11 Dimitri Glazkov <dglazkov (a] chromium.org> 758 759 Unreviewed, rolling out r85650. 760 http://trac.webkit.org/changeset/85650 761 https://bugs.webkit.org/show_bug.cgi?id=59983 762 763 Triggers m_numNodeListCaches > 0 assert in gc-heavy sites. 764 765 * dom/ContainerNode.cpp: 766 (WebCore::ContainerNode::childrenChanged): 767 * dom/Node.cpp: 768 (WebCore::Node::~Node): 769 (WebCore::Node::setDocument): 770 (WebCore::Node::setTreeScopeRecursively): 771 (WebCore::Node::childNodes): 772 (WebCore::Node::registerDynamicNodeList): 773 (WebCore::Node::unregisterDynamicNodeList): 774 (WebCore::Node::notifyLocalNodeListsAttributeChanged): 775 (WebCore::Node::notifyLocalNodeListsChildrenChanged): 776 (WebCore::Node::getElementsByTagName): 777 (WebCore::Node::getElementsByTagNameNS): 778 (WebCore::Node::getElementsByName): 779 (WebCore::Node::getElementsByClassName): 780 * dom/Node.h: 781 * html/HTMLFormControlElement.cpp: 782 (WebCore::HTMLFormControlElement::labels): 783 784 2011-05-11 Eric Carlson <eric.carlson (a] apple.com> 785 786 Reviewed by Darin Adler. 787 788 Video track sometimes fails to draw. 789 https://bugs.webkit.org/show_bug.cgi?id=60635 790 <rdar://problem/9281951> 791 792 No new tests, covered by existing pixel tests. 793 794 * html/HTMLMediaElement.cpp: 795 (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a 796 recalculation, and media engine notification, the next time the state machine runs. 797 798 2011-05-11 Adam Roben <aroben (a] apple.com> 799 800 WinCE build fixes for strict PassOwnPtr 801 802 * platform/graphics/wince/SharedBitmap.cpp: 803 (WebCore::SharedBitmap::createHandle): 804 (WebCore::SharedBitmap::clipBitmap): 805 Use nullptr instead of 0. 806 807 * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for 808 this file until SimpleFontData::scaledFontData is dealt with on all platforms. 809 810 * platform/text/wince/TextCodecWinCE.cpp: 811 (WebCore::newTextCodecWinCE): Use adoptPtr. 812 813 2011-05-11 Chang Shu <cshu (a] webkit.org> 814 815 Reviewed by Antonio Gomes. 816 817 [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html 818 https://bugs.webkit.org/show_bug.cgi?id=60477 819 820 PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null. 821 The value is checked at EventHandler.cpp:2527 (r86166). 822 823 Function keyTextForKeyEvent is partially implemented and can be enhanced in 824 a need-base. 825 826 * platform/qt/PlatformKeyboardEventQt.cpp: 827 (WebCore::keyTextForKeyEvent): 828 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 829 830 2011-05-11 Adam Roben <aroben (a] apple.com> 831 832 Use case-insensitive comparisons when checking plugin filenames on Windows 833 834 Windows paths are nearly always case-insensitive. 835 836 I couldn't think of a good way to test this. 837 838 Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but 839 should not 840 841 Reviewed by Steve Falkenburg. 842 843 * plugins/win/PluginPackageWin.cpp: 844 (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when 845 checking plugin filenames. 846 847 2011-05-11 Adam Roben <aroben (a] apple.com> 848 849 Turn on strict PassOwnPtr on Windows 850 851 Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled 852 853 Reviewed by Adam Barth. 854 855 * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this 856 file until SimpleFontData::scaledFontData is dealt with on all platforms. 857 858 2011-05-11 Julien Chaffraix <jchaffraix (a] webkit.org> 859 860 Reviewed by Geoffrey Garen. 861 862 XPathResult should keep its node set's JS wrappers alive 863 https://bugs.webkit.org/show_bug.cgi?id=34231 864 865 The change added a custom mark function for JSC. V8 was already properly 866 marking the nodes so no change were done on the V8 side. 867 868 Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html 869 fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html 870 fast/xpath/xpath-result-eventlistener-crash.html 871 fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html 872 873 * Android.jscbindings.mk: 874 * GNUmakefile.list.am: 875 * UseJSC.cmake: 876 * WebCore.gypi: 877 * WebCore.pro: 878 * WebCore.vcproj/WebCore.vcproj: 879 * WebCore.xcodeproj/project.pbxproj: 880 * bindings/js/JSBindingsAllInOne.cpp: 881 Added the new file to our build systems. 882 883 * bindings/js/JSXPathResultCustom.cpp: Added. 884 (WebCore::JSXPathResult::markChildren): Added code to mark the 885 XPathResult snapshot's nodes. 886 * xml/XPathResult.h: 887 (WebCore::XPathResult::value): Exposed this getter so that we can 888 mark our XPathValue. 889 * xml/XPathResult.idl: Told the IDL parser that we now need 890 a custom mark function. 891 892 2011-05-04 Philippe Normand <pnormand (a] igalia.com> 893 894 Reviewed by Martin Robinson. 895 896 [Gtk+] deadlock in gstreamer video player when exiting fullscreen 897 https://bugs.webkit.org/show_bug.cgi?id=58548 898 899 Block data flow towards the pipeline branch to remove to avoid 900 potential deadlocks during the PAUSED->READY transitions of the 901 elements to remove. 902 903 * platform/graphics/gstreamer/GStreamerGWorld.cpp: 904 (WebCore::GStreamerGWorld::exitFullscreen): 905 906 2011-05-11 Kent Tamura <tkent (a] chromium.org> 907 908 Reviewed by Hajime Morita. 909 910 The position of validation message bubble is wrong for non text fields. 911 https://bugs.webkit.org/show_bug.cgi?id=60341 912 913 Tests: fast/forms/validation-message-on-checkbox.html 914 fast/forms/validation-message-on-listbox.html 915 fast/forms/validation-message-on-menulist.html 916 fast/forms/validation-message-on-radio.html 917 fast/forms/validation-message-on-textarea.html 918 919 * css/html.css: 920 (::-webkit-validation-bubble-message): 921 Add white-space:normal in order not to inherit white-space:pre for <select>. 922 * html/ValidationMessage.cpp: 923 (WebCore::adjustBubblePosition): 924 Adjust the bubble position. 925 - The top of the bubble should be same as the bottom of the target control. 926 - The left of the bubble should be same as the left of the target control. 927 But If the left+32 is larger than the center of the target control, 928 left+32 should be at the center of the target control. 929 But the left position should not be less than 0. 930 (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition(). 931 932 2011-05-11 Emil A Eklund <eae (a] chromium.org> 933 934 Reviewed by Eric Seidel. 935 936 Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs 937 https://bugs.webkit.org/show_bug.cgi?id=60592 938 939 Refactoring, covered by existing tests. 940 941 * rendering/RenderFlexibleBox.cpp: 942 (WebCore::RenderFlexibleBox::layoutBlock): 943 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 944 (WebCore::RenderFlexibleBox::layoutVerticalBox): 945 (WebCore::RenderFlexibleBox::placeChild): 946 * rendering/RenderFlexibleBox.h: 947 948 2011-05-10 Ilya Tikhonovsky <loislo (a] chromium.org> 949 950 Unreviewed buildfix for strict OwnPtr. 951 952 * platform/audio/AudioBus.cpp: 953 (WebCore::AudioBus::createBufferFromRange): 954 (WebCore::AudioBus::createBySampleRateConverting): 955 (WebCore::AudioBus::createByMixingToMono): 956 * platform/audio/HRTFElevation.cpp: 957 (WebCore::HRTFElevation::createForSubject): 958 (WebCore::HRTFElevation::createByInterpolatingSlices): 959 * platform/audio/Panner.cpp: 960 (WebCore::Panner::create): 961 * platform/audio/Reverb.cpp: 962 (WebCore::Reverb::initialize): 963 * platform/audio/chromium/AudioBusChromium.cpp: 964 (WebCore::AudioBus::loadPlatformResource): 965 (WebCore::createBusFromInMemoryAudioFile): 966 967 2011-05-10 Adam Barth <abarth (a] webkit.org> 968 969 Build fix for font data madness. I've had to whitelist this on several 970 ports. They need to all be fixed at once. 971 972 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 973 974 2011-05-10 David Kilzer <ddkilzer (a] apple.com> 975 976 BUILD FIX for !ENABLE(TEXT_CARET) after r86039 977 978 * editing/FrameSelection.cpp: 979 (WebCore::DragCaretController::paintDragCaret): Added 980 UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET). 981 982 2011-05-10 James Robinson <jamesr (a] chromium.org> 983 984 Reviewed by Kenneth Russell. 985 986 [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium 987 https://bugs.webkit.org/show_bug.cgi?id=60524 988 989 This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things 990 up: 991 992 *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents(). 993 updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do 994 the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just 995 go away. 996 *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone. 997 *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used 998 during lost context). LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different 999 by comparing the pointer value to the old one. This check will be incorrect if there are multiple lost 1000 contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the 1001 same address as the old one. An explicit call to setLayerRenderer() for every layer in the tree fixes this 1002 since when this function is called the new and old LayerRendererChromium are still live and so they cannot 1003 live at the same address. 1004 1005 The first two changes are purely refactors and do not change behavior. The third issue can't be tested via a 1006 layout test directly as we don't have a way to induce a lost context on the compositor in a layout test. 1007 1008 * platform/graphics/chromium/LayerRendererChromium.cpp: 1009 (WebCore::LayerRendererChromium::paintLayerContents): 1010 (WebCore::LayerRendererChromium::clearLayerRendererRecursive): 1011 (WebCore::LayerRendererChromium::transferRootLayer): 1012 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 1013 (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): 1014 * platform/graphics/chromium/LayerRendererChromium.h: 1015 1016 2011-05-10 Anton D'Auria <adauria (a] apple.com> 1017 1018 Reviewed by David Levin. 1019 1020 StorageTracker should report actual local storage usage on disk 1021 https://bugs.webkit.org/show_bug.cgi?id=60558 1022 1023 Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html 1024 storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html 1025 1026 Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by 1027 an origin's local storage db. Factored out code that retrieves 1028 path of local storage db. 1029 1030 * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled 1031 function names. 1032 * storage/StorageTracker.cpp: 1033 (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function 1034 to get path of origin's db 1035 (WebCore::StorageTracker::databasePathForOrigin): New helper function. 1036 that gets the path of an origin's local storage db from StorageTracker. 1037 (WebCore::StorageTracker::diskUsageForOrigin): New API. 1038 * storage/StorageTracker.h: 1039 1040 2011-05-10 Anton D'Auria <adauria (a] apple.com> 1041 1042 Reviewed by Alexey Proskuryakov. 1043 1044 Add ApplicationCache API to get disk usage per origin 1045 https://bugs.webkit.org/show_bug.cgi?id=57127 1046 1047 ApplicationCacheStorage already provides an API to get per-origin 1048 disk usage. This should be exposed through WebCore::ApplicationCache 1049 to not be dependent on storage implementation. 1050 1051 Test: http/tests/appcache/origin-usage.html 1052 1053 * WebCore.exp.in: 1054 * loader/appcache/ApplicationCache.cpp: 1055 (WebCore::ApplicationCache::diskUsageForOrigin): 1056 * loader/appcache/ApplicationCache.h: 1057 1058 2011-05-10 Pratik Solanki <psolanki (a] apple.com> 1059 1060 Reviewed by Alexey Proskuryakov. 1061 1062 Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:] 1063 https://bugs.webkit.org/show_bug.cgi?id=60594 1064 <rdar://problem/9203259> 1065 1066 No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK. 1067 1068 * platform/network/mac/ResourceHandleMac.mm: 1069 (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData() 1070 callback on client can result in the load being cancelled. This results in the delegate 1071 (self) being freed. Protect self during the loop so we can check for m_handle and safely 1072 return without crashing. 1073 1074 2011-05-10 Chris Guillory <chris.guillory (a] google.com> 1075 1076 Reviewed by James Robinson. 1077 1078 [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint. 1079 https://bugs.webkit.org/show_bug.cgi?id=59848 1080 1081 To test this I plan to make the non-printing device (BitmapPlatformDevice) fail 1082 when EndPlatformPaint doesn't matchup with BeginPlatformPaint. 1083 http://codereview.chromium.org/6949012/ 1084 1085 * platform/graphics/chromium/FontChromiumWin.cpp: 1086 (WebCore::Font::drawComplexText): 1087 1088 2011-05-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 1089 1090 Unreviewed, rolling out r86195. 1091 http://trac.webkit.org/changeset/86195 1092 https://bugs.webkit.org/show_bug.cgi?id=60597 1093 1094 LayerOffset is a really bad name (Requested by smfr on 1095 #webkit). 1096 1097 * GNUmakefile.list.am: 1098 * WebCore.gypi: 1099 * WebCore.pro: 1100 * WebCore.vcproj/WebCore.vcproj: 1101 * WebCore.xcodeproj/project.pbxproj: 1102 * page/FrameView.cpp: 1103 (WebCore::FrameView::paintScrollCorner): 1104 * platform/graphics/LayerOffset.h: Removed. 1105 * rendering/InlineTextBox.cpp: 1106 (WebCore::InlineTextBox::paint): 1107 (WebCore::InlineTextBox::paintCustomHighlight): 1108 * rendering/InlineTextBox.h: 1109 * rendering/RenderBox.cpp: 1110 (WebCore::RenderBox::paintCustomHighlight): 1111 * rendering/RenderBox.h: 1112 * rendering/RenderImage.cpp: 1113 (WebCore::RenderImage::paintReplaced): 1114 * rendering/RenderLayer.cpp: 1115 (WebCore::RenderLayer::paintScrollCorner): 1116 (WebCore::RenderLayer::paintResizer): 1117 * rendering/RenderListMarker.cpp: 1118 (WebCore::RenderListMarker::paint): 1119 * rendering/RenderObject.h: 1120 * rendering/RenderScrollbar.cpp: 1121 (WebCore::RenderScrollbar::paintPart): 1122 * rendering/RenderScrollbarPart.cpp: 1123 (WebCore::RenderScrollbarPart::paintIntoRect): 1124 * rendering/RenderScrollbarPart.h: 1125 * rendering/RenderTable.cpp: 1126 (WebCore::RenderTable::paintObject): 1127 (WebCore::RenderTable::paintMask): 1128 * rendering/RenderTable.h: 1129 * rendering/RenderWidget.cpp: 1130 (WebCore::RenderWidget::paint): 1131 * rendering/RootInlineBox.cpp: 1132 (WebCore::RootInlineBox::paintCustomHighlight): 1133 (WebCore::RootInlineBox::paint): 1134 * rendering/RootInlineBox.h: 1135 1136 2011-05-10 Emil A Eklund <eae (a] chromium.org> 1137 1138 Reviewed by Eric Seidel. 1139 1140 Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer 1141 https://bugs.webkit.org/show_bug.cgi?id=60409 1142 1143 Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes. 1144 1145 Refactoring, covered by existing tests. 1146 1147 * rendering/RenderLayer.cpp: 1148 (WebCore::RenderLayer::RenderLayer): 1149 (WebCore::RenderLayer::updateLayerPositions): 1150 (WebCore::RenderLayer::updateLayerPosition): 1151 (WebCore::RenderLayer::scrollTo): 1152 (WebCore::RenderLayer::visibleHeight): 1153 (WebCore::RenderLayer::visibleWidth): 1154 (WebCore::RenderLayer::scrollWidth): 1155 (WebCore::RenderLayer::scrollHeight): 1156 (WebCore::RenderLayer::computeScrollDimensions): 1157 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 1158 * rendering/RenderLayer.h: 1159 (WebCore::RenderLayer::x): 1160 (WebCore::RenderLayer::y): 1161 (WebCore::RenderLayer::setLocation): 1162 (WebCore::RenderLayer::width): 1163 (WebCore::RenderLayer::height): 1164 (WebCore::RenderLayer::size): 1165 (WebCore::RenderLayer::setWidth): 1166 (WebCore::RenderLayer::setHeight): 1167 (WebCore::RenderLayer::scrolledContentOffset): 1168 (WebCore::RenderLayer::scrollXOffset): 1169 (WebCore::RenderLayer::scrollYOffset): 1170 (WebCore::RenderLayer::scrollOffset): 1171 (WebCore::RenderLayer::scrollToXOffset): 1172 (WebCore::RenderLayer::scrollToYOffset): 1173 (WebCore::RenderLayer::relativePositionOffset): 1174 1175 2011-05-10 Levi Weintraub <leviw (a] chromium.org> 1176 1177 Reviewed by Eric Seidel. 1178 1179 Create LayerOffset class 1180 https://bugs.webkit.org/show_bug.cgi?id=60490 1181 1182 Adding a LayerOffset class that will replace existing usage of tx/ty. 1183 LayerOffset is necessary since these values are commonly used as both 1184 a size and a point. Updating paintIntoRect to use this new class. 1185 1186 No new tests since this doesn't change any behavior. 1187 1188 * GNUmakefile.list.am: 1189 * WebCore.gypi: 1190 * WebCore.pro: 1191 * WebCore.vcproj/WebCore.vcproj: 1192 * WebCore.xcodeproj/project.pbxproj: 1193 * page/FrameView.cpp: 1194 (WebCore::FrameView::paintScrollCorner): 1195 * platform/graphics/LayerOffset.h: Added. 1196 (WebCore::LayerOffset::LayerOffset): 1197 (WebCore::LayerOffset::x): 1198 (WebCore::LayerOffset::y): 1199 (WebCore::LayerOffset::setX): 1200 (WebCore::LayerOffset::setY): 1201 (WebCore::LayerOffset::toSize): 1202 (WebCore::LayerOffset::toPoint): 1203 (WebCore::operator+=): 1204 (WebCore::operator-=): 1205 (WebCore::operator+): 1206 (WebCore::operator-): 1207 (WebCore::operator==): 1208 (WebCore::operator!=): 1209 * rendering/RenderLayer.cpp: 1210 (WebCore::RenderLayer::paintScrollCorner): 1211 (WebCore::RenderLayer::paintResizer): 1212 * rendering/RenderScrollbar.cpp: 1213 (WebCore::RenderScrollbar::paintPart): 1214 * rendering/RenderScrollbarPart.cpp: 1215 (WebCore::RenderScrollbarPart::paintIntoRect): 1216 * rendering/RenderScrollbarPart.h: 1217 1218 2011-05-10 Ryosuke Niwa <rniwa (a] webkit.org> 1219 1220 Reviewed by Darin Adler. 1221 1222 Make member variables of CaretBase private 1223 https://bugs.webkit.org/show_bug.cgi?id=60454 1224 1225 Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back 1226 from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest 1227 of member variables in CaretBase private. 1228 1229 * editing/FrameSelection.cpp: 1230 (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument. 1231 (WebCore::DragCaretController::DragCaretController): 1232 (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint 1233 now that they are part of FrameSelection again. 1234 (WebCore::DragCaretController::setCaretPosition): 1235 (WebCore::FrameSelection::setSelection): 1236 (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect. 1237 (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition 1238 and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect 1239 based on some conditions. 1240 (WebCore::FrameSelection::localCaretRect): 1241 (WebCore::CaretBase::caretRepaintRect): 1242 (WebCore::FrameSelection::recomputeCaretRect): 1243 (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true. 1244 (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint 1245 has been moved from CaretBase to FrameSelection. 1246 (WebCore::FrameSelection::focusedOrActiveStateChanged): 1247 (WebCore::FrameSelection::updateAppearance): 1248 (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool. 1249 (WebCore::FrameSelection::caretBlinkTimerFired): 1250 * editing/FrameSelection.h: 1251 (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting. 1252 (WebCore::CaretBase::shouldUpdateCaretRect): Added. 1253 (WebCore::CaretBase::setCaretRectNeedsUpdate): Added. 1254 (WebCore::CaretBase::setCaretVisibility): Added. 1255 (WebCore::CaretBase::caretIsVisible): Added. 1256 (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added. 1257 1258 2011-05-10 James Robinson <jamesr (a] chromium.org> 1259 1260 Reviewed by Nate Chapin. 1261 1262 [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer 1263 https://bugs.webkit.org/show_bug.cgi?id=60588 1264 1265 GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl. LayerChromium was using 1266 superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code. The 1267 mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child. 1268 1269 No new tests, refactor only. 1270 1271 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 1272 (WebCore::GraphicsLayerChromium::setChildren): 1273 (WebCore::GraphicsLayerChromium::addChild): 1274 (WebCore::GraphicsLayerChromium::addChildAtIndex): 1275 (WebCore::GraphicsLayerChromium::addChildBelow): 1276 (WebCore::GraphicsLayerChromium::addChildAbove): 1277 (WebCore::GraphicsLayerChromium::replaceChild): 1278 (WebCore::GraphicsLayerChromium::removeFromParent): 1279 (WebCore::GraphicsLayerChromium::setContentsToImage): 1280 (WebCore::GraphicsLayerChromium::setContentsToCanvas): 1281 (WebCore::GraphicsLayerChromium::setContentsToMedia): 1282 (WebCore::GraphicsLayerChromium::hostLayerForChildren): 1283 (WebCore::GraphicsLayerChromium::layerForParent): 1284 (WebCore::GraphicsLayerChromium::updateChildList): 1285 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 1286 (WebCore::GraphicsLayerChromium::setupContentsLayer): 1287 * platform/graphics/chromium/GraphicsLayerChromium.h: 1288 * platform/graphics/chromium/LayerChromium.cpp: 1289 (WebCore::LayerChromium::LayerChromium): 1290 (WebCore::LayerChromium::~LayerChromium): 1291 (WebCore::LayerChromium::addChild): 1292 (WebCore::LayerChromium::insertChild): 1293 (WebCore::LayerChromium::removeFromParent): 1294 (WebCore::LayerChromium::removeChild): 1295 (WebCore::LayerChromium::replaceChild): 1296 (WebCore::LayerChromium::indexOfChild): 1297 (WebCore::LayerChromium::rootLayer): 1298 (WebCore::LayerChromium::removeAllChildren): 1299 (WebCore::LayerChromium::setChildren): 1300 (WebCore::LayerChromium::parent): 1301 (WebCore::LayerChromium::dumpLayer): 1302 * platform/graphics/chromium/LayerChromium.h: 1303 (WebCore::LayerChromium::children): 1304 (WebCore::LayerChromium::setParent): 1305 (WebCore::LayerChromium::numChildren): 1306 * platform/graphics/chromium/LayerRendererChromium.cpp: 1307 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 1308 (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): 1309 (WebCore::LayerRendererChromium::dumpRenderSurfaces): 1310 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 1311 (WebCore::CCLayerImpl::parent): 1312 (WebCore::CCLayerImpl::descendantsDrawsContent): 1313 * platform/graphics/chromium/cc/CCLayerImpl.h: 1314 1315 2011-05-10 Levi Weintraub <leviw (a] chromium.org> 1316 1317 Reviewed by Darin Adler. 1318 1319 Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints 1320 https://bugs.webkit.org/show_bug.cgi?id=60586 1321 1322 Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect! 1323 1324 No new tests as this is simply refactoring. 1325 1326 * rendering/InlineFlowBox.cpp: 1327 (WebCore::InlineFlowBox::paintMask): 1328 * rendering/RenderBox.cpp: 1329 (WebCore::RenderBox::paintMaskImages): 1330 * rendering/RenderBoxModelObject.cpp: 1331 (WebCore::RenderBoxModelObject::paintNinePieceImage): 1332 (WebCore::RenderBoxModelObject::paintBorder): 1333 * rendering/RenderBoxModelObject.h: 1334 1335 2011-05-05 Jer Noble <jer.noble (a] apple.com> 1336 1337 Reviewed by Maciej Stachowiak. 1338 1339 Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event. 1340 https://bugs.webkit.org/show_bug.cgi?id=60278 1341 1342 Handle the removal of a full screen element from within Node::willRemove() instead 1343 of Document::nodeWillBeRemoved(). The new function Document::fullScreenElementWillBeRemoved() will 1344 be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved(). 1345 1346 Test: fullscreen/full-screen-remove-children.html 1347 1348 * dom/Document.cpp: 1349 (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element. 1350 (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved. 1351 * dom/Document.h: 1352 * dom/Node.cpp: 1353 (WebCore::Node::willRemove): Check to see if this is the current full screen element. 1354 1355 2011-05-10 Beth Dakin <bdakin (a] apple.com> 1356 1357 Reviewed by Darin Adler. 1358 1359 https://bugs.webkit.org/show_bug.cgi?id=60582 1360 Crash switching overlay/non-overlay scrollbar preference still possible 1361 -and corresponding- 1362 <rdar://problem/9323983> 1363 1364 This patch prevents any work from being done on pages that are in the page cache 1365 when the preference is switched. 1366 1367 When the Document is going into or coming out of the page cache, have the 1368 FrameView inactivate or activate the Page's ScrollAnimators as appropriate. 1369 * dom/Document.cpp: 1370 (WebCore::Document::setInPageCache): 1371 1372 Iterate through the Page's ScrollableAreas setting the active state of the 1373 ScrollAnimators. 1374 * page/FrameView.cpp: 1375 (WebCore::FrameView::setAnimatorsAreActive): 1376 * page/FrameView.h: 1377 1378 ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true 1379 unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache. 1380 * platform/ScrollAnimator.cpp: 1381 (WebCore::ScrollAnimator::ScrollAnimator): 1382 * platform/ScrollAnimator.h: 1383 (WebCore::ScrollAnimator::setIsActive): 1384 (WebCore::ScrollAnimator::isActive): 1385 1386 ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true 1387 when a ScrollAnimator is inactive and has received the 1388 updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It 1389 prevents any work from being done for this delegate until the ScrollAnimator 1390 becomes active again. 1391 * platform/mac/ScrollAnimatorMac.h: 1392 (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate): 1393 (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate): 1394 1395 This delegate method has been re-factored into ScrollAnimatorMac:: 1396 updateScrollerStyle(). This way the meat of the function can be called by both the 1397 delegate and ScrollAnimatorMac::setIsActive() 1398 * platform/mac/ScrollAnimatorMac.mm: 1399 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): 1400 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 1401 1402 This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true. 1403 (WebCore::ScrollAnimatorMac::setIsActive): 1404 1405 This is mostly the same as the old delegate method. Key differences are that if 1406 the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and 1407 return early. We also only call scrollableArea()->scrollbarStyleChanged() if 1408 needsScrollerStyleUpdate() is false since in the true case when we are restoring 1409 from the page cache, this would be duplicated work. 1410 (WebCore::ScrollAnimatorMac::updateScrollerStyle): 1411 1412 New WKSystemInterface function is needed to retrieve the scrollbar style. 1413 * WebCore.exp.in: 1414 * platform/mac/WebCoreSystemInterface.h: 1415 * platform/mac/WebCoreSystemInterface.mm: 1416 1417 2011-05-10 Adam Barth <abarth (a] webkit.org> 1418 1419 Reviewed by David Levin. 1420 1421 Enable strict PassOwnPtr on Chromium 1422 https://bugs.webkit.org/show_bug.cgi?id=60502 1423 1424 Technically there are a few bits in here that weren't reviewed by Dave, 1425 but close enough for government work. This patch all fixes the 1426 remaining strict PassOwnPtr violations on Chromium Linux. 1427 1428 * platform/graphics/chromium/PlatformCanvas.cpp: 1429 (WebCore::PlatformCanvas::resize): 1430 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 1431 * platform/graphics/skia/ImageBufferSkia.cpp: 1432 (WebCore::ImageBuffer::ImageBuffer): 1433 * platform/graphics/skia/PlatformContextSkia.cpp: 1434 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 1435 1436 2011-05-10 Brady Eidson <beidson (a] apple.com> 1437 1438 Reviewed by Alice Liu. 1439 1440 <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572 1441 REGRESSION - Canon On-screen Manual.app crashes after a search 1442 1443 No new tests - There's no way to reproduce the truly bizarre things Canon does in their app 1444 that would reasonably fit in to our testing infrastructure. 1445 1446 In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately 1447 start loading those images that had been disabled. 1448 1449 If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads 1450 can cause crashes downstream when the WebView memory has actually been free'd. 1451 1452 One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods. 1453 And the Canon Onscreen Manual is one such app. 1454 1455 Starting these loads synchronously is not important. By putting it on a 0-delay, properly closing the Page cancels them 1456 before they have a chance to really start. 1457 1458 See http://webkit.org/b/60572 for more discussion. 1459 1460 1461 Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right 1462 away when this pref changes, call it on a 0-delay: 1463 * page/Settings.cpp: 1464 (WebCore::Settings::Settings): 1465 (WebCore::Settings::setLoadsImagesAutomatically): 1466 (WebCore::Settings::loadsImagesAutomaticallyTimerFired): 1467 * page/Settings.h: 1468 1469 2011-05-10 Martin Robinson <mrobinson (a] igalia.com> 1470 1471 Reviewed by Xan Lopez. 1472 1473 [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480 1474 https://bugs.webkit.org/show_bug.cgi?id=59990 1475 1476 No new tests. This is covered by existing pixel tests. 1477 1478 * platform/gtk/GtkVersioning.c: 1479 (getGdkDrawableSize): Added this helper method. 1480 * platform/gtk/GtkVersioning.h: Added helper method declaration. 1481 * platform/gtk/WidgetRenderingContext.cpp: 1482 (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if 1483 there is actually a GdkDrawable. If not, disable the sanity check. 1484 1485 2011-05-10 Martin Robinson <mrobinson (a] igalia.com> 1486 1487 Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup. 1488 1489 * GNUmakefile.list.am: Add stub to source list. 1490 * platform/network/soup/CredentialStorageSoup.cpp: Added. 1491 (WebCore::CredentialStorage::getFromPersistentStorage): Added stub. 1492 (WebCore::CredentialStorage::get): 1493 1494 2011-05-09 David Hyatt <hyatt (a] apple.com> 1495 1496 Reviewed by Dan Bernstein. 1497 1498 <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive 1499 1500 Second attempts at a fix for this bug. Instead of removing the dirtying (which turned out to be needed in a few cases), 1501 make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent. Because the method already 1502 aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological 1503 behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already. 1504 1505 * rendering/RenderLineBoxList.cpp: 1506 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 1507 1508 2011-05-05 Brent Fulgham <bfulgham (a] webkit.org> and Martin Robinson <mrobinson (a] igalia.com> 1509 1510 Reviewed by Anders Carlsson. 1511 1512 [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo 1513 https://bugs.webkit.org/show_bug.cgi?id=60293 1514 1515 No new tests. This is covered by current pixel tests. 1516 1517 * platform/graphics/cairo/CairoUtilities.cpp: 1518 (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage 1519 into this helper which creates a deep copy of a Cairo image surface. 1520 * platform/graphics/cairo/CairoUtilities.h: Added declaration. 1521 * platform/graphics/cairo/ImageBufferCairo.cpp: 1522 (WebCore::ImageBuffer::copyImage): Use the new helper. 1523 * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic 1524 into the new drawSurfaceToContext method on PlatformContextCairo. 1525 (WebCore::BitmapImage::draw): 1526 * platform/graphics/cairo/PlatformContextCairo.cpp: 1527 (WebCore::drawPatternToCairoContext): Added. 1528 (WebCore::PlatformContextCairo::drawSurfaceToContext): Added. 1529 * platform/graphics/cairo/PlatformContextCairo.h: Added declarations. 1530 1531 2011-05-10 Anders Carlsson <andersca (a] apple.com> 1532 1533 Attempt to fix Qt build. 1534 1535 * platform/network/qt/CredentialStorageQt.cpp: 1536 (WebCore::CredentialStorage::get): 1537 Add stub. 1538 1539 2011-05-10 Kenichi Ishibashi <bashi (a] chromium.org> 1540 1541 Reviewed by Tony Chang. 1542 1543 REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing 1544 https://bugs.webkit.org/show_bug.cgi?id=60079 1545 1546 Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate 1547 value pair. 1548 1549 * platform/graphics/chromium/HarfbuzzSkia.cpp: 1550 (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0. 1551 1552 2011-05-10 Anders Carlsson <andersca (a] apple.com> 1553 1554 Reviewed by Sam Weinig. 1555 1556 Extra sign in required to view video on MobileMe Gallery album 1557 https://bugs.webkit.org/show_bug.cgi?id=60560 1558 <rdar://problem/9338693> 1559 1560 Add symbols required by WebKit2. 1561 1562 * WebCore.exp.in: 1563 1564 2011-05-10 Alexander Pavlov <apavlov (a] chromium.org> 1565 1566 Reviewed by Pavel Feldman. 1567 1568 Web Inspector: Styles sidebar is not updated upon changes in the Resources panel. 1569 https://bugs.webkit.org/show_bug.cgi?id=60320 1570 1571 * inspector/front-end/ElementsPanel.js: 1572 (WebInspector.ElementsPanel): 1573 1574 2011-05-06 Brett Wilson <brettw (a] chromium.org> 1575 1576 Reviewed by Adam Barth. 1577 1578 Use a File object to store the downloaded file reference rather than 1579 just the path. This keeps the file and permissions in scope (using the 1580 already-existing blob system) so the browser won't delete the file 1581 when the load is complete. Instead, the file will be cleaned up when 1582 the request objects are deleted. 1583 https://bugs.webkit.org/show_bug.cgi?id=60281 1584 1585 * platform/network/chromium/ResourceResponse.cpp: 1586 (WebCore::ResourceResponse::doPlatformCopyData): 1587 (WebCore::ResourceResponse::doPlatformAdopt): 1588 * platform/network/chromium/ResourceResponse.h: 1589 (WebCore::ResourceResponse::downloadedFile): 1590 (WebCore::ResourceResponse::setDownloadedFile): 1591 1592 2011-05-10 Eric Carlson <eric.carlson (a] apple.com> 1593 1594 Reviewed by Darin Adler. 1595 1596 Files that load quickly sometimes won't play. 1597 https://bugs.webkit.org/show_bug.cgi?id=60556 1598 <rdar://problem/9330567> 1599 1600 No new tests, this failure is very difficult to reproduce on some machines. The fix was 1601 verified manually. 1602 1603 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 1604 (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates 1605 to dispatchNotification so it is more obvious which state changes call it. 1606 (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo. 1607 (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to 1608 dispatchNotification. 1609 (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto. 1610 (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto. 1611 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after 1612 processing "size changed" notification so we detect all state changes. Consolidate 1613 calls to updateStates here. 1614 1615 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 1616 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in 1617 a debug build. 1618 1619 2011-05-10 Abhishek Arya <inferno (a] chromium.org> 1620 1621 Reviewed by Simon Fraser. 1622 1623 Add containsFloats call to hasOverhangingFloats. 1624 https://bugs.webkit.org/show_bug.cgi?id=60537 1625 1626 Test: fast/block/float/no-overhanging-float-crash.html 1627 1628 * rendering/RenderBlock.cpp: 1629 (WebCore::RenderBlock::repaintOverhangingFloats): 1630 * rendering/RenderBlock.h: 1631 (WebCore::RenderBlock::hasOverhangingFloats): 1632 1633 2011-05-10 Alexis Menard <alexis.menard (a] openbossa.org> 1634 1635 Reviewed by Antonio Gomes. 1636 1637 Warning fix on PluginPackage.cpp. 1638 https://bugs.webkit.org/show_bug.cgi?id=60371 1639 1640 Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0. 1641 Let's use a struct rather than an array so we can pass everything to StringHasher. 1642 1643 * plugins/PluginPackage.cpp: 1644 (WebCore::PluginPackage::hash): 1645 1646 2011-05-10 Andreas Kling <andreas.kling (a] nokia.com> 1647 1648 Rubber-stamped by Csaba Osztrogonc. 1649 1650 [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes. 1651 https://bugs.webkit.org/show_bug.cgi?id=60551 1652 1653 * WebCore.pro: Disable the line that enables HAVE_QRAWFONT 1654 if the feature is found. Added a comment about why. 1655 1656 2011-05-10 Andrey Kosyakov <caseq (a] chromium.org> 1657 1658 Reviewed by Sam Weinig. 1659 1660 Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug 1661 https://bugs.webkit.org/show_bug.cgi?id=60266 1662 1663 * bindings/objc/DOM.mm: 1664 (kitClass): return DOMNode class for shadow root node 1665 1666 1667 2011-05-10 Ben Murdoch <benm (a] google.com> 1668 1669 Reviewed by Steve Block. 1670 1671 Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp 1672 https://bugs.webkit.org/show_bug.cgi?id=60478 1673 1674 No new tests), build fix only. 1675 1676 * xml/XSLTProcessorLibxslt.cpp: Add CString.h include. 1677 1678 2011-05-10 Keith Kyzivat <keith.kyzivat (a] nokia.com> 1679 1680 Reviewed by Kenneth Rohde Christiansen. 1681 1682 [Qt] QtRawFont support should check based on feature, not version 1683 https://bugs.webkit.org/show_bug.cgi?id=60513 1684 1685 Build fix - no tests added. 1686 1687 * WebCore.pro: 1688 1689 2011-05-10 Tony Gentilcore <tonyg (a] chromium.org> 1690 1691 Build fix: include ExceptionCode 1692 https://bugs.webkit.org/show_bug.cgi?id=60538 1693 1694 * bindings/js/JSDOMBinding.cpp: 1695 1696 2011-05-06 Tony Gentilcore <tonyg (a] chromium.org> 1697 1698 Reviewed by Darin Adler. 1699 1700 Fix some unnecessary includes in headers 1701 https://bugs.webkit.org/show_bug.cgi?id=60388 1702 1703 These were all found using the include-what-you-use clang plugin. 1704 1705 * css/CSSFontFaceSrcValue.h: 1706 * css/CSSImageGeneratorValue.h: 1707 * css/CSSParser.h: 1708 * css/CSSPrimitiveValueCache.cpp: 1709 * css/CSSPrimitiveValueCache.h: 1710 * css/CSSStyleSelector.cpp: 1711 * css/CSSStyleSelector.h: 1712 * css/RGBColor.cpp: 1713 * css/RGBColor.h: 1714 * dom/EventTarget.h: 1715 * dom/ExceptionBase.cpp: 1716 * dom/ExceptionBase.h: 1717 * dom/MessagePort.cpp: 1718 * dom/Range.cpp: 1719 * dom/Range.h: 1720 * dom/SelectElement.cpp: 1721 * dom/SelectElement.h: 1722 * dom/TextEvent.cpp: 1723 * dom/TextEvent.h: 1724 * dom/Touch.cpp: 1725 * dom/Touch.h: 1726 * dom/TouchEvent.cpp: 1727 * dom/TouchEvent.h: 1728 * dom/XMLDocumentParser.h: 1729 * dom/XMLDocumentParserScope.h: 1730 * editing/AppendNodeCommand.cpp: 1731 * editing/ApplyBlockElementCommand.h: 1732 * editing/DeleteFromTextNodeCommand.cpp: 1733 * editing/EditCommand.h: 1734 * editing/Editor.h: 1735 * editing/FormatBlockCommand.h: 1736 * editing/IndentOutdentCommand.h: 1737 * editing/InsertIntoTextNodeCommand.cpp: 1738 * editing/InsertNodeBeforeCommand.cpp: 1739 * editing/ReplaceSelectionCommand.h: 1740 * editing/SetNodeAttributeCommand.h: 1741 * html/HTMLSelectElement.h: 1742 * html/canvas/CanvasRenderingContext2D.cpp: 1743 * loader/appcache/DOMApplicationCache.cpp: 1744 * page/EventSource.cpp: 1745 * rendering/RenderListBox.cpp: 1746 * rendering/RenderMenuList.cpp: 1747 * rendering/RenderTextControlSingleLine.cpp: 1748 * rendering/svg/RenderSVGInlineText.cpp: 1749 * svg/SVGMatrix.h: 1750 * websockets/WebSocket.cpp: 1751 * workers/AbstractWorker.cpp: 1752 * xml/XMLHttpRequest.cpp: 1753 * xml/XPathExpression.cpp: 1754 1755 2011-05-10 MORITA Hajime <morrita (a] google.com> 1756 1757 Reviewed by Ryosuke Niwa. 1758 1759 REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment 1760 https://bugs.webkit.org/show_bug.cgi?id=60090 1761 1762 SpellChecker uses TextCheckerClient, which belongs Page object, 1763 which is possibly destroyed during SpellChecker's lifetime. 1764 This change added to a guard before using TextCheckerClient to 1765 ensure it being live. 1766 1767 No new tests, this is a speculative fix for a real crash. 1768 1769 * editing/Editor.cpp: 1770 (WebCore::Editor::Editor): 1771 * editing/SpellChecker.cpp: 1772 (WebCore::SpellChecker::SpellChecker): 1773 (WebCore::SpellChecker::client): 1774 (WebCore::SpellChecker::canCheckAsynchronously): 1775 (WebCore::SpellChecker::requestCheckingFor): 1776 * editing/SpellChecker.h: 1777 1778 2011-05-09 Dan Bernstein <mitz (a] apple.com> 1779 1780 Try to fix the LLVM Compiler build. 1781 1782 * page/EventHandler.h: 1783 1784 2011-05-09 Daniel Cheng <dcheng (a] chromium.org> 1785 1786 Fix the build. 1787 1788 Really add the file this time. 1789 1790 * page/DragState.h: Added. 1791 (WebCore::DragState::DragState): 1792 1793 2011-05-09 Daniel Cheng <dcheng (a] chromium.org> 1794 1795 Reviewed by Tony Chang. 1796 1797 Refactor RenderObject::draggableNode. 1798 https://bugs.webkit.org/show_bug.cgi?id=60503 1799 1800 This patch lays the ground for refactoring the drag start logic. It moves draggableNode to 1801 DragController to avoid the awkward plumbing of calling DragController from RenderObject and 1802 also moves EventHandlerDragState out from EventHandler so it can be shared between 1803 EventHandler and DragController where appropriate. 1804 1805 No new tests since there should be no behavior change. 1806 1807 * GNUmakefile.list.am: 1808 * WebCore.gypi: 1809 * WebCore.pro: 1810 * WebCore.vcproj/WebCore.vcproj: 1811 * WebCore.xcodeproj/project.pbxproj: 1812 * page/DragController.cpp: 1813 (WebCore::DragController::draggableNode): 1814 (WebCore::DragController::mayStartDragAtEventLocation): 1815 * page/DragController.h: 1816 * page/DragState.h: Added. 1817 (WebCore::DragState::DragState): 1818 * page/EventHandler.cpp: 1819 (WebCore::EventHandler::dragState): 1820 (WebCore::EventHandler::eventMayStartDrag): 1821 (WebCore::EventHandler::handleDrag): 1822 * page/EventHandler.h: 1823 * rendering/RenderObject.cpp: 1824 * rendering/RenderObject.h: 1825 1826 2011-05-09 Luke Macpherson <macpherson (a] chromium.org> 1827 1828 Reviewed by Darin Adler. 1829 1830 Enable casting between CSSPrimitiveValue and FontWeight enum 1831 https://bugs.webkit.org/show_bug.cgi?id=60516 1832 1833 No new tests added as no functionality changed. 1834 1835 * css/CSSPrimitiveValueMappings.h: 1836 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 1837 Implement cast from FontWeight to CSSPrimitiveValue. 1838 (WebCore::CSSPrimitiveValue::operator FontWeight): 1839 Implement cast from CSSPrimitiveValue to FontWeight 1840 * css/CSSStyleSelector.cpp: 1841 (WebCore::CSSStyleSelector::applyProperty): 1842 Use new cast to reduce code size. 1843 Flatten switch inside if. 1844 1845 2011-05-09 Simon Fraser <simon.fraser (a] apple.com> 1846 1847 Move IconURL.* into the dom grouping. 1848 1849 * WebCore.xcodeproj/project.pbxproj: 1850 1851 2011-05-08 Jeremy Noble <jer.noble (a] apple.com> 1852 1853 Reviewed by Dan Bernstein. 1854 1855 Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com 1856 https://bugs.webkit.org/show_bug.cgi?id=60449 1857 1858 Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to 1859 coalesce anonymous children. 1860 1861 Test: fullscreen/full-screen-remove-sibling.html 1862 1863 * rendering/RenderObject.h: 1864 (WebCore::RenderObject::isAnonymousBlock): 1865 1866 2011-05-09 Jeremy Noble <jer.noble (a] apple.com> 1867 1868 Reviewed by Simon Fraser. 1869 1870 REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video 1871 https://bugs.webkit.org/show_bug.cgi?id=60512 1872 1873 Initialize m_containsFullScreenElement. 1874 1875 * html/HTMLFrameElementBase.cpp: 1876 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): 1877 1878 2011-05-09 Ryosuke Niwa <rniwa (a] webkit.org> 1879 1880 Reviewed by Darin Adler. 1881 1882 REGRESSION(r86039): DragCaretController doesn't draw caret 1883 https://bugs.webkit.org/show_bug.cgi?id=60505 1884 1885 Removed an early exit in setCaretPosition introduced by r86039. 1886 Also replaced calls to containerNode by deprecatedNode since rendering code doesn't 1887 support container node for rendering caret. 1888 1889 * editing/FrameSelection.cpp: 1890 (WebCore::DragCaretController::setCaretPosition): 1891 1892 2011-04-29 Martin Robinson <mrobinson (a] igalia.com> 1893 1894 Reviewed by Gustavo Noronha Silva. 1895 1896 [GTK] Untangle GtkAdjustments from WebCore 1897 https://bugs.webkit.org/show_bug.cgi?id=59821 1898 1899 Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews 1900 and, consequently, Scrollbars. Handling adjustment updates can now be managed 1901 in WebKit. 1902 1903 No new tests. This is covered by existing Scrollbar tests. 1904 1905 * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared 1906 between ScrollView.cpp and ScrollViewGtk.cpp. 1907 * platform/ScrollView.h: Remove unused methods. 1908 * platform/gtk/MainFrameScrollbarGtk.cpp: 1909 (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment. 1910 (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here. 1911 * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal. 1912 * platform/gtk/ScrollViewGtk.cpp: Ditto. 1913 (WebCore::ScrollView::createScrollbar): Ditto. 1914 (WebCore::ScrollView::setScrollbarModes): Ditto. 1915 * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now 1916 that it doesn't receive it transitively. 1917 1918 2011-05-09 Adam Barth <abarth (a] webkit.org> 1919 1920 Reviewed by Eric Seidel. 1921 1922 CSP should block Function constructor 1923 https://bugs.webkit.org/show_bug.cgi?id=60240 1924 1925 Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html 1926 http/tests/security/contentSecurityPolicy/function-constructor-blocked.html 1927 1928 * bindings/js/JSLazyEventListener.cpp: 1929 (WebCore::JSLazyEventListener::initializeJSFunction): 1930 - Update call site to the new entrypoint. 1931 * bindings/v8/V8LazyEventListener.cpp: 1932 (WebCore::V8LazyEventListener::prepareListenerObject): 1933 - Add some comments about the rediculousness of this implementation. 1934 1935 2011-05-09 Chris Rogers <crogers (a] google.com> 1936 1937 Reviewed by Kenneth Russell. 1938 1939 Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance 1940 https://bugs.webkit.org/show_bug.cgi?id=60396 1941 1942 No new tests since audio API is not yet implemented. 1943 1944 * WebCore.gypi: 1945 * WebCore.xcodeproj/project.pbxproj: 1946 * platform/audio/DenormalDisabler.h: Added. 1947 (WebCore::DenormalDisabler::DenormalDisabler): 1948 (WebCore::DenormalDisabler::~DenormalDisabler): 1949 (WebCore::DenormalDisabler::getCSR): 1950 (WebCore::DenormalDisabler::setCSR): 1951 * webaudio/AudioDestinationNode.cpp: 1952 (WebCore::AudioDestinationNode::provideInput): 1953 1954 2011-05-09 Tony Chang <tony (a] chromium.org> 1955 1956 Reviewed by Eric Seidel. 1957 1958 Style cleanups in RenderFlexibleBox.cpp 1959 https://bugs.webkit.org/show_bug.cgi?id=60504 1960 1961 No new tests, just refactoring. 1962 1963 * rendering/RenderFlexibleBox.cpp: 1964 (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and 1965 use class initializer list. 1966 (WebCore::FlexBoxIterator::reset): 1967 (WebCore::FlexBoxIterator::next): 1968 (WebCore::RenderFlexibleBox::RenderFlexibleBox): 1969 (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths 1970 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): 1971 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): 1972 (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): 1973 (WebCore::RenderFlexibleBox::layoutBlock): 1974 (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements 1975 rather than while loops. 1976 (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto 1977 (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto 1978 (WebCore::RenderFlexibleBox::applyLineClamp): 1979 (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height. 1980 1981 2011-05-09 Eric Seidel <eric (a] webkit.org> 1982 1983 Reviewed by Ryosuke Niwa. 1984 1985 Abstract line deletion code into a function 1986 https://bugs.webkit.org/show_bug.cgi?id=60501 1987 1988 No change in behavior, thus no testing. 1989 1990 * rendering/RenderBlockLineLayout.cpp: 1991 (WebCore::deleteLineRange): 1992 (WebCore::RenderBlock::layoutRunsAndFloats): 1993 (WebCore::RenderBlock::determineStartPosition): 1994 (WebCore::RenderBlock::matchedEndLine): 1995 1996 2011-05-09 Darin Adler <darin (a] apple.com> 1997 1998 Cleared some stray executable bits on source files. 1999 2000 * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable. 2001 * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable. 2002 2003 2011-05-09 Erik Arvidsson <arv (a] chromium.org> 2004 2005 Reviewed by Darin Adler. 2006 2007 radiogroup: onchange not detected when triggered by keyboard 2008 https://bugs.webkit.org/show_bug.cgi?id=32013 2009 2010 Test: fast/forms/radio-group-keyboard-change-event.html 2011 2012 * html/RadioInputType.cpp: 2013 (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click 2014 event. The simulated click event will check it for us but more importantly it will fire the "change" event as 2015 expected. 2016 2017 2011-05-09 Adam Barth <abarth (a] webkit.org> 2018 2019 Reviewed by Daniel Bates. 2020 2021 XSSAuditor should be more selective about the <meta http-equivs> that it blocks 2022 https://bugs.webkit.org/show_bug.cgi?id=60489 2023 2024 We don't need to filter most http-equiv attributes. This patch 2025 introduces a blacklist for two that we probably do want to filter. 2026 It's possible a whitelist would be more appropriate, but I'm inclined 2027 to start with a blacklist and see how it works. 2028 2029 This patch will hopefully fix a false positive that is causing errors 2030 with copy-and-pasted text in Gmail in some configurations (due to using 2031 the <meta> tag to request UTF-8 encoding both in the pasted text and in 2032 the page itself). 2033 2034 * html/parser/XSSFilter.cpp: 2035 (WebCore::isNonCanonicalCharacter): 2036 (WebCore::canonicalize): 2037 (WebCore::isRequiredForInjection): 2038 (WebCore::hasName): 2039 (WebCore::findAttributeWithName): 2040 (WebCore::isNameOfInlineEventHandler): 2041 (WebCore::isDangerousHTTPEquiv): 2042 - This function is new in the patch and includes a blacklist of 2043 dangerous http-equivs. Many of the other functions listed here 2044 are just being moved from an anonymous namespace to use static 2045 for internal linkage. 2046 (WebCore::containsJavaScriptURL): 2047 (WebCore::decodeURL): 2048 (WebCore::XSSFilter::eraseAttributeIfInjected): 2049 2050 2011-05-05 Matthew Delaney <mdelaney (a] apple.com> 2051 2052 Reviewed by Simon Fraser. 2053 2054 Remove canvas usage of roundToDevicePixels 2055 https://bugs.webkit.org/show_bug.cgi?id=60331 2056 2057 No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x. 2058 2059 * html/canvas/CanvasRenderingContext2D.cpp: 2060 (WebCore::CanvasRenderingContext2D::drawImage): 2061 2062 2011-05-09 Alexis Menard <alexis.menard (a] openbossa.org> 2063 2064 Reviewed by Andreas Kling. 2065 2066 [Qt] Fix the build on Embedded Linux. 2067 https://bugs.webkit.org/show_bug.cgi?id=60347 2068 2069 qpa is the name for lighthouse but the old name for Qt for Embedded Linux should 2070 still be used in order to build properly. 2071 2072 * WebCore.pri: 2073 2074 2011-05-09 Andreas Kling <kling (a] webkit.org> 2075 2076 Reviewed by Kenneth Rohde Christiansen. 2077 2078 [Qt] Simple small-caps text is displayed in uniform size. 2079 https://bugs.webkit.org/show_bug.cgi?id=60492 2080 2081 Covered by existing tests. 2082 2083 * platform/graphics/qt/FontPlatformDataQt.cpp: 2084 (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor 2085 used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont 2086 to make small caps and emphasis marks have the correct size when rendered through 2087 the fast font path. 2088 2089 2011-05-09 Andreas Kling <kling (a] webkit.org> 2090 2091 Reviewed by Tor Arne Vestb. 2092 2093 [Qt] Remove unused FontPlatformData functions. 2094 https://bugs.webkit.org/show_bug.cgi?id=60485 2095 2096 * platform/graphics/qt/FontPlatformData.h: 2097 (WebCore::FontPlatformData::bold): Removed. 2098 (WebCore::FontPlatformData::family): Removed. 2099 (WebCore::FontPlatformData::italic): Removed. 2100 (WebCore::FontPlatformData::smallCaps): Removed. 2101 2102 2011-05-09 Robin Dunn <robin (a] alldunn.com> 2103 2104 Reviewed by Kevin Ollivier. 2105 2106 [wx] Add invalid file handle check. 2107 2108 https://bugs.webkit.org/show_bug.cgi?id=60483 2109 2110 * platform/wx/FileSystemWx.cpp: 2111 (WebCore::closeFile): 2112 2113 2011-05-09 Robin Dunn <robin (a] alldunn.com> 2114 2115 Reviewed by Kevin Ollivier. 2116 2117 [wx] Update the popup menu code to grab the native control and initialize the 2118 event handler properly. 2119 2120 https://bugs.webkit.org/show_bug.cgi?id=60482 2121 2122 * platform/wx/PopupMenuWx.cpp: 2123 (WebCore::PopupMenuWx::PopupMenuWx): 2124 (WebCore::PopupMenuWx::~PopupMenuWx): 2125 (WebCore::PopupMenuWx::show): 2126 2127 2011-05-09 Robin Dunn <robin (a] alldunn.com> 2128 2129 Reviewed by Kevin Ollivier. 2130 2131 [wx] Make sure other controls adjust the rect to handle transforms, and turn off the 2132 adjustment in 2.9.2+ where it is handled internally by wx. 2133 2134 Also add a couple drawing and focus handling fixes for text fields and menulist controls. 2135 2136 https://bugs.webkit.org/show_bug.cgi?id=60481 2137 2138 * platform/wx/RenderThemeWx.cpp: 2139 (WebCore::getAdjustedRect): 2140 (WebCore::RenderThemeWx::supportsFocus): 2141 (WebCore::RenderThemeWx::paintButton): 2142 (WebCore::RenderThemeWx::adjustTextFieldStyle): 2143 (WebCore::RenderThemeWx::paintTextField): 2144 (WebCore::RenderThemeWx::adjustMenuListStyle): 2145 (WebCore::RenderThemeWx::paintMenuList): 2146 (WebCore::RenderThemeWx::paintMenuListButton): 2147 2148 2011-05-09 Tony Gentilcore <tonyg (a] chromium.org> 2149 2150 Reviewed by Darin Adler. 2151 2152 Style fix: Function names must begin with lowercase letter and should not use "get". 2153 https://bugs.webkit.org/show_bug.cgi?id=60475 2154 2155 * dom/Document.cpp: 2156 (WebCore::Document::webkitVisibilityState): 2157 * page/PageVisibilityState.cpp: 2158 (WebCore::pageVisibilityStateString): Renamed. 2159 * page/PageVisibilityState.h: 2160 2161 2011-05-09 Adam Barth <abarth (a] webkit.org> 2162 2163 Reviewed by Tony Gentilcore. 2164 2165 Make Chromium build with strict PassOwnPtr 2166 https://bugs.webkit.org/show_bug.cgi?id=60461 2167 2168 Fix many, many PassOwnPtr nits. 2169 2170 * bindings/v8/V8Proxy.cpp: 2171 (WebCore::V8Proxy::precompileScript): 2172 * bindings/v8/custom/V8DOMWindowCustom.cpp: 2173 (WebCore::WindowSetTimeoutImpl): 2174 * bindings/v8/custom/V8MessageEventCustom.cpp: 2175 (WebCore::V8MessageEvent::initMessageEventCallback): 2176 * bindings/v8/custom/V8WorkerContextCustom.cpp: 2177 (WebCore::SetTimeoutOrInterval): 2178 * dom/Document.cpp: 2179 (WebCore::Document::removedLastRef): 2180 (WebCore::Document::detach): 2181 * fileapi/DOMFileSystem.h: 2182 (WebCore::DOMFileSystem::scheduleCallback): 2183 * fileapi/FileSystemCallbacks.cpp: 2184 (WebCore::FileSystemCallbacks::didOpenFileSystem): 2185 (WebCore::ResolveURICallbacks::didOpenFileSystem): 2186 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 2187 (WebCore::GraphicsLayer::create): 2188 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 2189 (WebCore::CCLayerImpl::createRenderSurface): 2190 * platform/graphics/gpu/BicubicShader.cpp: 2191 (WebCore::BicubicShader::create): 2192 * platform/graphics/gpu/ConvolutionShader.cpp: 2193 (WebCore::ConvolutionShader::create): 2194 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: 2195 (WebCore::LoopBlinnSolidFillShader::create): 2196 * platform/graphics/gpu/SolidFillShader.cpp: 2197 (WebCore::SolidFillShader::create): 2198 * platform/graphics/gpu/TexShader.cpp: 2199 (WebCore::TexShader::create): 2200 * platform/graphics/gpu/Texture.cpp: 2201 (WebCore::Texture::create): 2202 * storage/chromium/DatabaseTrackerChromium.cpp: 2203 (WebCore::TrackerRemoveOpenDatabaseTask::create): 2204 * storage/chromium/SQLTransactionClientChromium.cpp: 2205 (WebCore::NotifyDatabaseChangedTask::create): 2206 2207 2011-05-07 Martin Robinson <mrobinson (a] igalia.com> 2208 2209 Reviewed by Daniel Bates. 2210 2211 [Soup] Clean up error handling in ResourceHandleSoup 2212 https://bugs.webkit.org/show_bug.cgi?id=60436 2213 2214 Instead of repeating the ResourceError creation twice, abstract 2215 it into a helper method. 2216 2217 No new tests. This is a code cleanup. 2218 2219 * platform/network/soup/ResourceHandleSoup.cpp: 2220 (WebCore::soupErrorShouldCauseLoadFailure): Added. 2221 (WebCore::convertSoupErrorToResourceError): Added. 2222 (WebCore::sendRequestCallback): Use the new helpers. 2223 (WebCore::readCallback): Ditto. 2224 2225 2011-05-09 Abhishek Arya <inferno (a] chromium.org> 2226 2227 Reviewed by Dave Hyatt. 2228 2229 Regression(r85869): Restore dirty line logic in RenderInline::destroy. 2230 https://bugs.webkit.org/show_bug.cgi?id=60448 2231 2232 Test: fast/inline/inline-destroy-dirty-lines-crash.html 2233 2234 * rendering/RenderInline.cpp: 2235 (WebCore::RenderInline::destroy): 2236 2237 2011-05-09 Alejandro G. Castro <alex (a] igalia.com> 2238 2239 Reviewed by Martin Robinson. 2240 2241 [GTK] WidgetGtk setFocus can not access directly the widget in WK2 2242 https://bugs.webkit.org/show_bug.cgi?id=60016 2243 2244 Added code to check the situation where we do not have direct 2245 access to the widget. We use the page to grab the focus which 2246 would send a request to the UIProcess in WK2. 2247 2248 * platform/gtk/WidgetGtk.cpp: 2249 (WebCore::Widget::setFocus): 2250 2251 2011-05-09 Leandro Gracia Gil <leandrogracia (a] chromium.org> 2252 2253 Reviewed by Tony Gentilcore. 2254 2255 Media Stream API: add exception raising to the getUserMedia method. 2256 https://bugs.webkit.org/show_bug.cgi?id=60387 2257 2258 Perform the required changes to support rising exceptions in the 2259 navigator.getUserMedia method. This is required by the latest changes in the spec: 2260 http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia 2261 2262 Test: fast/dom/MediaStream/argument-types.html 2263 2264 * bindings/js/JSNavigatorCustom.cpp: 2265 (WebCore::JSNavigator::webkitGetUserMedia): 2266 * bindings/v8/custom/V8NavigatorCustom.cpp: 2267 (WebCore::V8Navigator::webkitGetUserMediaCallback): 2268 * page/Navigator.cpp: 2269 (WebCore::Navigator::webkitGetUserMedia): 2270 * page/Navigator.h: 2271 * page/Navigator.idl: 2272 2273 2011-05-09 Csaba Osztrogonc <ossy (a] webkit.org> 2274 2275 Unreviewed Qt 4.8 fix. 2276 2277 * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now. 2278 2279 2011-05-09 Adam Roben <aroben (a] apple.com> 2280 2281 Windows project file fix after r86047 2282 2283 * WebCore.vcproj/WebCore.vcproj: Added missing closing tags. 2284 2285 2011-05-06 Chris Marrin <cmarrin (a] apple.com> 2286 2287 Reviewed by Darin Adler. 2288 2289 Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses 2290 https://bugs.webkit.org/show_bug.cgi?id=60417 2291 2292 Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where 2293 the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer 2294 but implements a tiled layer. I also now print the address of the CALayer or CACFLayer 2295 instead of the PlatformCALayer everywhere. 2296 2297 * platform/graphics/ca/GraphicsLayerCA.cpp: 2298 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 2299 2300 2011-05-09 Rob Buis <rbuis (a] rim.com> 2301 2302 Reviewed by Dirk Schulze. 2303 2304 Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed 2305 https://bugs.webkit.org/show_bug.cgi?id=22576 2306 2307 Add tag name ASSERTs in SVG Element constructors. 2308 2309 No new tests, since no change in behaviour. 2310 2311 * svg/SVGAElement.cpp: 2312 (WebCore::SVGAElement::SVGAElement): 2313 * svg/SVGAltGlyphElement.cpp: 2314 (WebCore::SVGAltGlyphElement::SVGAltGlyphElement): 2315 * svg/SVGAnimateColorElement.cpp: 2316 (WebCore::SVGAnimateColorElement::SVGAnimateColorElement): 2317 * svg/SVGAnimateElement.cpp: 2318 (WebCore::SVGAnimateElement::SVGAnimateElement): 2319 * svg/SVGAnimateMotionElement.cpp: 2320 (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement): 2321 * svg/SVGAnimateTransformElement.cpp: 2322 (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement): 2323 * svg/SVGCircleElement.cpp: 2324 (WebCore::SVGCircleElement::SVGCircleElement): 2325 * svg/SVGClipPathElement.cpp: 2326 (WebCore::SVGClipPathElement::SVGClipPathElement): 2327 * svg/SVGCursorElement.cpp: 2328 (WebCore::SVGCursorElement::SVGCursorElement): 2329 * svg/SVGDefsElement.cpp: 2330 (WebCore::SVGDefsElement::SVGDefsElement): 2331 * svg/SVGDescElement.cpp: 2332 (WebCore::SVGDescElement::SVGDescElement): 2333 * svg/SVGEllipseElement.cpp: 2334 (WebCore::SVGEllipseElement::SVGEllipseElement): 2335 * svg/SVGFEBlendElement.cpp: 2336 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 2337 * svg/SVGFEColorMatrixElement.cpp: 2338 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 2339 * svg/SVGFEComponentTransferElement.cpp: 2340 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): 2341 * svg/SVGFECompositeElement.cpp: 2342 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 2343 * svg/SVGFEConvolveMatrixElement.cpp: 2344 (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement): 2345 * svg/SVGFEDiffuseLightingElement.cpp: 2346 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 2347 * svg/SVGFEDisplacementMapElement.cpp: 2348 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 2349 * svg/SVGFEDistantLightElement.cpp: 2350 (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement): 2351 * svg/SVGFEDropShadowElement.cpp: 2352 (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement): 2353 * svg/SVGFEFloodElement.cpp: 2354 (WebCore::SVGFEFloodElement::SVGFEFloodElement): 2355 * svg/SVGFEFuncAElement.cpp: 2356 (WebCore::SVGFEFuncAElement::SVGFEFuncAElement): 2357 * svg/SVGFEFuncBElement.cpp: 2358 (WebCore::SVGFEFuncBElement::SVGFEFuncBElement): 2359 * svg/SVGFEFuncGElement.cpp: 2360 (WebCore::SVGFEFuncGElement::SVGFEFuncGElement): 2361 * svg/SVGFEFuncRElement.cpp: 2362 (WebCore::SVGFEFuncRElement::SVGFEFuncRElement): 2363 * svg/SVGFEGaussianBlurElement.cpp: 2364 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): 2365 * svg/SVGFEImageElement.cpp: 2366 (WebCore::SVGFEImageElement::SVGFEImageElement): 2367 * svg/SVGFEMergeElement.cpp: 2368 (WebCore::SVGFEMergeElement::SVGFEMergeElement): 2369 * svg/SVGFEMergeNodeElement.cpp: 2370 (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement): 2371 * svg/SVGFEMorphologyElement.cpp: 2372 (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement): 2373 * svg/SVGFEOffsetElement.cpp: 2374 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): 2375 * svg/SVGFEPointLightElement.cpp: 2376 (WebCore::SVGFEPointLightElement::SVGFEPointLightElement): 2377 * svg/SVGFESpecularLightingElement.cpp: 2378 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 2379 * svg/SVGFESpotLightElement.cpp: 2380 (WebCore::SVGFESpotLightElement::SVGFESpotLightElement): 2381 * svg/SVGFETileElement.cpp: 2382 (WebCore::SVGFETileElement::SVGFETileElement): 2383 * svg/SVGFETurbulenceElement.cpp: 2384 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 2385 * svg/SVGFilterElement.cpp: 2386 (WebCore::SVGFilterElement::SVGFilterElement): 2387 * svg/SVGFontElement.cpp: 2388 (WebCore::SVGFontElement::SVGFontElement): 2389 * svg/SVGFontFaceElement.cpp: 2390 (WebCore::SVGFontFaceElement::SVGFontFaceElement): 2391 * svg/SVGFontFaceFormatElement.cpp: 2392 (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement): 2393 * svg/SVGFontFaceNameElement.cpp: 2394 (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement): 2395 * svg/SVGFontFaceSrcElement.cpp: 2396 (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement): 2397 * svg/SVGFontFaceUriElement.cpp: 2398 (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement): 2399 * svg/SVGForeignObjectElement.cpp: 2400 (WebCore::SVGForeignObjectElement::SVGForeignObjectElement): 2401 * svg/SVGGElement.cpp: 2402 (WebCore::SVGGElement::SVGGElement): 2403 * svg/SVGGlyphElement.cpp: 2404 (WebCore::SVGGlyphElement::SVGGlyphElement): 2405 * svg/SVGHKernElement.cpp: 2406 (WebCore::SVGHKernElement::SVGHKernElement): 2407 * svg/SVGImageElement.cpp: 2408 (WebCore::SVGImageElement::SVGImageElement): 2409 * svg/SVGLineElement.cpp: 2410 (WebCore::SVGLineElement::SVGLineElement): 2411 * svg/SVGLinearGradientElement.cpp: 2412 (WebCore::SVGLinearGradientElement::SVGLinearGradientElement): 2413 * svg/SVGMPathElement.cpp: 2414 (WebCore::SVGMPathElement::SVGMPathElement): 2415 * svg/SVGMarkerElement.cpp: 2416 (WebCore::SVGMarkerElement::SVGMarkerElement): 2417 * svg/SVGMaskElement.cpp: 2418 (WebCore::SVGMaskElement::SVGMaskElement): 2419 * svg/SVGMetadataElement.cpp: 2420 (WebCore::SVGMetadataElement::SVGMetadataElement): 2421 * svg/SVGMissingGlyphElement.cpp: 2422 (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement): 2423 * svg/SVGPathElement.cpp: 2424 (WebCore::SVGPathElement::SVGPathElement): 2425 * svg/SVGPatternElement.cpp: 2426 (WebCore::SVGPatternElement::SVGPatternElement): 2427 * svg/SVGPolygonElement.cpp: 2428 (WebCore::SVGPolygonElement::SVGPolygonElement): 2429 * svg/SVGPolylineElement.cpp: 2430 (WebCore::SVGPolylineElement::SVGPolylineElement): 2431 * svg/SVGRadialGradientElement.cpp: 2432 (WebCore::SVGRadialGradientElement::SVGRadialGradientElement): 2433 * svg/SVGRectElement.cpp: 2434 (WebCore::SVGRectElement::SVGRectElement): 2435 * svg/SVGSVGElement.cpp: 2436 (WebCore::SVGSVGElement::SVGSVGElement): 2437 * svg/SVGScriptElement.cpp: 2438 (WebCore::SVGScriptElement::SVGScriptElement): 2439 * svg/SVGSetElement.cpp: 2440 (WebCore::SVGSetElement::SVGSetElement): 2441 * svg/SVGStopElement.cpp: 2442 (WebCore::SVGStopElement::SVGStopElement): 2443 * svg/SVGStyleElement.cpp: 2444 (WebCore::SVGStyleElement::SVGStyleElement): 2445 * svg/SVGSwitchElement.cpp: 2446 (WebCore::SVGSwitchElement::SVGSwitchElement): 2447 * svg/SVGSymbolElement.cpp: 2448 (WebCore::SVGSymbolElement::SVGSymbolElement): 2449 * svg/SVGTRefElement.cpp: 2450 (WebCore::SVGTRefElement::SVGTRefElement): 2451 * svg/SVGTSpanElement.cpp: 2452 (WebCore::SVGTSpanElement::SVGTSpanElement): 2453 * svg/SVGTextElement.cpp: 2454 (WebCore::SVGTextElement::SVGTextElement): 2455 * svg/SVGTextPathElement.cpp: 2456 (WebCore::SVGTextPathElement::SVGTextPathElement): 2457 * svg/SVGTitleElement.cpp: 2458 (WebCore::SVGTitleElement::SVGTitleElement): 2459 * svg/SVGUseElement.cpp: 2460 (WebCore::SVGUseElement::SVGUseElement): 2461 * svg/SVGVKernElement.cpp: 2462 (WebCore::SVGVKernElement::SVGVKernElement): 2463 * svg/SVGViewElement.cpp: 2464 (WebCore::SVGViewElement::SVGViewElement): 2465 2466 2011-05-09 Shishir Agrawal <shishir (a] chromium.org> 2467 2468 Reviewed by Tony Gentilcore. 2469 2470 Implement Page Visibility API. 2471 https://bugs.webkit.org/show_bug.cgi?id=54181 2472 2473 Tests: fast/events/page-visibility-iframe-delete-test.html 2474 fast/events/page-visibility-iframe-move-test.html 2475 fast/events/page-visibility-iframe-propagation-test.html 2476 fast/events/page-visibility-transition-test.html 2477 2478 * CMakeLists.txt: 2479 * GNUmakefile.list.am: 2480 * WebCore.gypi: 2481 * WebCore.pro: 2482 * WebCore.vcproj/WebCore.vcproj: 2483 * WebCore.xcodeproj/project.pbxproj: 2484 * dom/Document.cpp: 2485 (WebCore::Document::visibilityState): 2486 (WebCore::Document::webkitVisibilityState): 2487 (WebCore::Document::webkitIsVisible): 2488 (WebCore::Document::dispatchVisibilityStateChangeEvent): 2489 * dom/Document.h: 2490 * dom/Document.idl: 2491 * dom/EventNames.h: 2492 * page/Frame.cpp: 2493 (WebCore::Frame::dispatchVisibilityStateChangeEvent): 2494 * page/Frame.h: 2495 * page/Page.cpp: 2496 (WebCore::Page::Page): 2497 (WebCore::Page::setVisibilityState): 2498 (WebCore::Page::visibilityState): 2499 * page/Page.h: 2500 * page/PageVisibilityState.cpp: Added. 2501 (WebCore::GetPageVisibilityStateString): 2502 * page/PageVisibilityState.h: Added. 2503 2504 2011-05-09 Luke Macpherson <macpherson (a] chromium.org> 2505 2506 Reviewed by Eric Seidel. 2507 2508 Implement expanding CSS border properties in CSSStyleApplyProperty. 2509 https://bugs.webkit.org/show_bug.cgi?id=60456 2510 2511 No new tests added as no functionality changed. 2512 2513 * css/CSSStyleApplyProperty.cpp: 2514 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 2515 Create CSS border expanding property handlers. 2516 * css/CSSStyleSelector.cpp: 2517 (WebCore::CSSStyleSelector::applyProperty): 2518 Remove property handlers that are no longer needed. 2519 2520 2011-05-08 Ryosuke Niwa <rniwa (a] webkit.org> 2521 2522 Reviewed by Kent Tamura. 2523 2524 selectstart event does not fire when selection is made via select all 2525 https://bugs.webkit.org/show_bug.cgi?id=60376 2526 2527 Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in 2528 document, editable region, or text control. 2529 2530 Tests: editing/selection/selectstart-on-selectall.html 2531 editing/selection/selectstart-prevent-selectall.html 2532 2533 * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement. 2534 * editing/FrameSelection.cpp: 2535 (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is 2536 input element or textarea element when the current selection is inside a shadow DOM, and the root 2537 editable element if it's inside a non-shadow editable region, and the body element otherwise. 2538 * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer 2539 declared in Node. 2540 2541 2011-05-08 Luke Macpherson <macpherson (a] chromium.org> 2542 2543 Reviewed by Eric Seidel. 2544 2545 Make RenderStyle::setColumnBreakInside() reject unsupported enum values. 2546 https://bugs.webkit.org/show_bug.cgi?id=60249 2547 2548 No new tests added as no functionality changed. 2549 2550 * css/CSSStyleSelector.cpp: 2551 (WebCore::CSSStyleSelector::applyProperty): 2552 Remove special-case code and use appropriate macro. 2553 * rendering/style/RenderStyle.h: 2554 (WebCore::InheritedFlags::setColumnBreakInside): 2555 Assert that supported values are used. 2556 2557 2011-05-08 Ryosuke Niwa <rniwa (a] webkit.org> 2558 2559 Reviewed by Darin Adler. 2560 2561 Extract a DragCaretController from FrameSelection 2562 https://bugs.webkit.org/show_bug.cgi?id=60273 2563 2564 Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for 2565 DragCaretController and FrameSelection and provides functions to paint caret. 2566 2567 Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition. 2568 2569 * WebCore.exp.in: 2570 * editing/FrameSelection.cpp: 2571 (WebCore::CaretBase::CaretBase): Added. 2572 (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true. 2573 (WebCore::DragCaretController::isContentRichlyEditable): Added. 2574 (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase. 2575 (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection. 2576 (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController. 2577 (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification. 2578 (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved 2579 and respondToNodeModification. Note that the position DragCaretController holds is equivalent to 2580 FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position, 2581 we used to execute the first if clause and cleared render tree selection and DOM tree selection. 2582 This is exactly what new DragCaretController::nodeWillBeRemoved does. 2583 (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions. 2584 (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection. 2585 (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned. 2586 Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if 2587 FrameSelection's start was not null. 2588 (WebCore::caretRendersInsideNode): Moved; Made static local. 2589 (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer. 2590 (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer. 2591 (WebCore::DragCaretController::caretRenderer): Ditto. 2592 (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments. 2593 (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*. 2594 (WebCore::CaretBase::caretRepaintRect): Ditto. 2595 (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect, 2596 and shouldRepaintCaret with extra arguments. 2597 (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable. 2598 (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect. 2599 (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect. 2600 (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret. 2601 (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret. 2602 (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for 2603 DragCaretController. 2604 (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret. 2605 * editing/FrameSelection.h: 2606 (WebCore::CaretBase::localCaretRectForPainting): Added. 2607 (WebCore::DragCaretController::isContentEditable): Added. 2608 (WebCore::DragCaretController::hasCaret): Added. 2609 (WebCore::DragCaretController::caretPosition): Added. 2610 (WebCore::DragCaretController::clear): Added. 2611 * page/DragController.cpp: 2612 (WebCore::DragController::tryDocumentDrag): Uses DragCaretController. 2613 (WebCore::DragController::dispatchTextInputEventFor): Ditto. 2614 (WebCore::DragController::concludeEditDrag): Ditto. 2615 (WebCore::DragController::placeDragCaret): Ditto. 2616 * page/Page.cpp: 2617 (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection. 2618 * page/Page.h: 2619 (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*. 2620 * rendering/RenderBlock.cpp: 2621 (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController. 2622 2623 2011-05-08 Dan Bernstein <mitz (a] apple.com> 2624 2625 Reviewed by Darin Adler. 2626 2627 <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes 2628 https://bugs.webkit.org/show_bug.cgi?id=60432 2629 2630 * rendering/InlineTextBox.h: 2631 (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member 2632 variable is a (truncated) int anyway. 2633 * rendering/RenderBlockLineLayout.cpp: 2634 (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int 2635 so that the right amount is added to the total width. Also changed to use an early return. 2636 2637 2011-05-08 Pavel Feldman <pfeldman (a] chromium.org> 2638 2639 Not reviewed: ignore 0 responses in the inspector network instrumentation. 2640 2641 * inspector/front-end/NetworkManager.js: 2642 2643 2011-05-08 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 2644 2645 Reviewed by Kenneth Rohde Christiansen. 2646 2647 [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly 2648 https://bugs.webkit.org/show_bug.cgi?id=58556 2649 2650 Tests: fast/canvas/webgl/gl-teximage.html 2651 2652 * platform/graphics/qt/GraphicsContext3DQt.cpp: 2653 (WebCore::GraphicsContext3D::getImageData): 2654 2655 2011-05-07 Dan Bernstein <mitz (a] apple.com> 2656 2657 Reviewed by Maciej Stachowiak. 2658 2659 <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles 2660 https://bugs.webkit.org/show_bug.cgi?id=60443 2661 2662 Test: fast/replaced/table-percent-height-positioned.html 2663 2664 * rendering/RenderBox.cpp: 2665 (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height 2666 replaced elements from being squeezed by table cells when the replaced element is positioned (and thus 2667 doesnt affect the table cells height). 2668 2669 2011-05-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 2670 2671 Unreviewed, rolling out r86016. 2672 http://trac.webkit.org/changeset/86016 2673 https://bugs.webkit.org/show_bug.cgi?id=60445 2674 2675 caused crashes on the WK2 Windows bots (Requested by 2676 jessieberlin on #webkit). 2677 2678 * platform/network/ResourceHandle.h: 2679 * platform/network/cf/CookieStorageCFNet.cpp: 2680 (WebCore::currentCookieStorage): 2681 (WebCore::defaultCookieStorage): 2682 * platform/network/cf/ResourceHandleCFNet.cpp: 2683 (WebCore::willSendRequest): 2684 (WebCore::makeFinalRequest): 2685 (WebCore::ResourceHandle::willSendRequest): 2686 * platform/network/cf/ResourceRequestCFNet.cpp: 2687 (WebCore::ResourceRequest::doUpdatePlatformRequest): 2688 2689 2011-05-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 2690 2691 Unreviewed, rolling out r85974. 2692 http://trac.webkit.org/changeset/85974 2693 https://bugs.webkit.org/show_bug.cgi?id=60444 2694 2695 broke browser tests (Requested by inferno-sec on #webkit). 2696 2697 * platform/network/chromium/ResourceResponse.cpp: 2698 (WebCore::ResourceResponse::doPlatformCopyData): 2699 (WebCore::ResourceResponse::doPlatformAdopt): 2700 * platform/network/chromium/ResourceResponse.h: 2701 (WebCore::ResourceResponse::downloadFilePath): 2702 (WebCore::ResourceResponse::setDownloadFilePath): 2703 2704 2011-05-07 Jessie Berlin <jberlin (a] apple.com> 2705 2706 Reviewed by Steve Falkenburg. 2707 2708 [Windows WebKit2] Use cookies set in WebKit1 2709 https://bugs.webkit.org/show_bug.cgi?id=60274 2710 2711 Share the default storage session between the UI and Web Processes. 2712 2713 * platform/network/cf/CookieStorageCFNet.cpp: 2714 (WebCore::defaultSessionCookieStorage): 2715 Keep track of the default storage session cookie storage. 2716 (WebCore::currentCookieStorage): 2717 Call defaultCookieStorage to get the default cookie storage. 2718 (WebCore::defaultCookieStorage): 2719 If there is a default storage session cookie storage, prefer that over getting the default 2720 cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly 2721 without specifying a storage session will not get the cookie storage being shared by the UI 2722 and Web Processes. 2723 2724 * platform/network/ResourceHandle.h: 2725 * platform/network/cf/ResourceHandleCFNet.cpp: 2726 (WebCore::willSendRequest): 2727 Make sure to set the current storage session on any requests used by the Web 2728 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 2729 doing anything with the Web Process's default storage session (which is not the one shared 2730 with the UI Process). 2731 (WebCore::makeFinalRequest): 2732 Ditto. 2733 (WebCore::ResourceHandle::willSendRequest): 2734 Ditto. 2735 (WebCore::ResourceHandle::currentStorageSession): 2736 If there is a Private Browsing storage session, return that. 2737 If not, on Windows return the default storage session that is being shared with the UI 2738 Process and on Mac return 0. 2739 (WebCore::defaultCFURLStorageSession): 2740 (WebCore::ResourceHandle::setDefaultStorageSession): 2741 (WebCore::ResourceHandle::defaultStorageSession): 2742 2743 * platform/network/cf/ResourceRequestCFNet.cpp: 2744 (WebCore::ResourceRequest::doUpdatePlatformRequest): 2745 Make sure to set the current storage session on any requests used by the Web 2746 Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid 2747 doing anything with the Web Process's default storage session (which is not the one shared 2748 with the UI Process). 2749 2750 2011-05-07 Joe Mason <jmason (a] rim.com> 2751 2752 Reviewed by Daniel Bates. 2753 2754 FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect 2755 https://bugs.webkit.org/show_bug.cgi?id=52211 2756 2757 Create a UserGestureIndicator when calling the clientRedirected callback. 2758 2759 * loader/NavigationScheduler.cpp: 2760 (WebCore::ScheduledURLNavigation::didStartTimer): 2761 (WebCore::ScheduledURLNavigation::didStopTimer): 2762 (WebCore::ScheduledFormSubmission::didStartTimer): 2763 (WebCore::ScheduledFormSubmission::didStopTimer): 2764 2765 2011-05-06 Jon Lee <jonlee (a] apple.com> 2766 2767 Reviewed by Alice Liu. 2768 2769 Crash when sending a wheel event to a node with no shadow ancestor node 2770 https://bugs.webkit.org/show_bug.cgi?id=60429 2771 <rdar://problem/9389619> 2772 2773 * page/EventHandler.cpp: 2774 (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it. 2775 2776 2011-05-06 Kent Tamura <tkent (a] chromium.org> 2777 2778 Reviewed by Ryosuke Niwa. 2779 2780 Eliminate WebCore/dom/InputElement.{cpp,h} 2781 https://bugs.webkit.org/show_bug.cgi?id=60262 2782 2783 - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement 2784 and TextFieldInputType. 2785 - Change the return type of Node::toInputElement(): 2786 InputElement* -> HTMLInputElement* 2787 2788 No new tests. This change should not change the existing behaviour. 2789 2790 * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h. 2791 * GNUmakefile.list.am: ditto. 2792 * WebCore.exp.in: Add symbols of functions exposed to WebKit. 2793 * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h. 2794 * WebCore.pro: ditto. 2795 * WebCore.vcproj/WebCore.vcproj: ditto. 2796 * WebCore.xcodeproj/project.pbxproj: ditto. 2797 * accessibility/AXObjectCache.cpp: 2798 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 2799 Follow the return type change of Node::toInputElement(). 2800 * accessibility/AccessibilityRenderObject.cpp: 2801 (WebCore::AccessibilityRenderObject::isPasswordField): ditto. 2802 (WebCore::AccessibilityRenderObject::isIndeterminate): ditto. 2803 (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto. 2804 (WebCore::AccessibilityRenderObject::isChecked): ditto. 2805 * css/CSSStyleSelector.cpp: 2806 (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto. 2807 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto. 2808 * dom/CheckedRadioButtons.cpp: 2809 (WebCore::CheckedRadioButtons::removeButton): ditto. 2810 * dom/DOMAllInOne.cpp: Remove InputElement.h. 2811 * dom/InputElement.cpp: Removed. 2812 * dom/InputElement.h: Removed. 2813 * dom/Node.cpp: 2814 (WebCore::Node::toInputElement): 2815 Change the return type from InputElement* to HTMLInputElement*. 2816 * dom/Node.h: ditto. 2817 * html/HTMLInputElement.cpp: 2818 (WebCore::HTMLInputElement::HTMLInputElement): 2819 (WebCore::HTMLInputElement::formControlName): 2820 (WebCore::HTMLInputElement::tooLong): 2821 (WebCore::HTMLInputElement::updateFocusAppearance): 2822 (WebCore::HTMLInputElement::aboutToUnload): 2823 (WebCore::HTMLInputElement::handleFocusEvent): 2824 (WebCore::HTMLInputElement::handleBlurEvent): 2825 (WebCore::HTMLInputElement::updateType): 2826 (WebCore::HTMLInputElement::parseMappedAttribute): 2827 (WebCore::HTMLInputElement::size): 2828 (WebCore::HTMLInputElement::copyNonAttributeProperties): 2829 (WebCore::HTMLInputElement::value): 2830 (WebCore::HTMLInputElement::suggestedValue): 2831 (WebCore::HTMLInputElement::setSuggestedValue): 2832 (WebCore::HTMLInputElement::setValue): 2833 (WebCore::HTMLInputElement::setValueFromRenderer): 2834 (WebCore::HTMLInputElement::setFileListFromRenderer): 2835 (WebCore::HTMLInputElement::setDefaultName): 2836 (WebCore::HTMLInputElement::maxLength): 2837 (WebCore::HTMLInputElement::cacheSelection): 2838 (WebCore::formatCodes): Moved from InputElement. 2839 (WebCore::cursorPositionToMaskIndex): ditto. 2840 (WebCore::HTMLInputElement::isConformToInputMask): ditto. 2841 (WebCore::HTMLInputElement::validateInputMask): ditto. 2842 (WebCore::HTMLInputElement::setWapInputFormat): ditto. 2843 (WebCore::HTMLInputElement::notifyFormStateChanged): ditto. 2844 (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto. 2845 (WebCore::HTMLInputElement::updateValueIfNeeded):ditto. 2846 * html/HTMLInputElement.h: 2847 - Add data members which were defined in InputElementData. 2848 - Make some functions public because the public interface InputElement is removed. 2849 - Make some functions non-virtual because they don't override 2850 corresponding virtual functions of InputElement anymore. 2851 (WebCore::HTMLInputElement::toInputElement): 2852 Follow the return type change of Node::toInputElement(). 2853 (WebCore::HTMLInputElement::isIndeterminate): 2854 (WebCore::HTMLInputElement::isAutofilled): 2855 (WebCore::HTMLInputElement::supportsMaxLength): 2856 (WebCore::HTMLInputElement::cachedSelectionStart): 2857 (WebCore::HTMLInputElement::cachedSelectionEnd): 2858 * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h. 2859 * html/InputType.cpp: 2860 (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code. 2861 * html/InputType.h: Update for the above. 2862 * html/TextFieldInputType.cpp: 2863 (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp. 2864 (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength(). 2865 (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent): 2866 Move the code from InputElement::handleBeforeTextInsertedEvent(). 2867 * html/TextFieldInputType.h: Update declarations. 2868 * rendering/RenderTextControlSingleLine.cpp: 2869 - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor. 2870 - Follow the return type change of inputElement(). 2871 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 2872 Make sure node() is an HTMLInputElement instance. 2873 (WebCore::RenderTextControlSingleLine::addSearchResult): 2874 (WebCore::RenderTextControlSingleLine::stopSearchEventTimer): 2875 (WebCore::RenderTextControlSingleLine::showPopup): 2876 (WebCore::RenderTextControlSingleLine::hidePopup): 2877 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 2878 (WebCore::RenderTextControlSingleLine::updateFromElement): 2879 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): 2880 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle): 2881 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): 2882 (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle): 2883 (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle): 2884 (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle): 2885 (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): 2886 (WebCore::RenderTextControlSingleLine::startSearchEventTimer): 2887 (WebCore::RenderTextControlSingleLine::searchEventTimerFired): 2888 (WebCore::RenderTextControlSingleLine::valueChanged): 2889 (WebCore::RenderTextControlSingleLine::setTextFromItem): 2890 (WebCore::RenderTextControlSingleLine::inputElement): 2891 * rendering/RenderTextControlSingleLine.h: 2892 Change the return type of inputElement(): InputElement* -> HTMLInputElement*. 2893 * rendering/RenderTheme.cpp: 2894 (WebCore::RenderTheme::isChecked): 2895 Follow the return type change of Node::toInputElement(). 2896 (WebCore::RenderTheme::isIndeterminate): ditto. 2897 (WebCore::RenderTheme::shouldHaveSpinButton): 2898 Change the parameter type: InputElement* -> HTMLInputElement*. 2899 * rendering/RenderTheme.h: ditto. 2900 2901 2011-05-06 Adam Barth <abarth (a] webkit.org> 2902 2903 Reviewed by Eric Seidel. 2904 2905 Implement "Report-Only" mode for CSP 2906 https://bugs.webkit.org/show_bug.cgi?id=60402 2907 2908 This mode lets web sites try out CSP by getting violation reports (and 2909 console spam) without actually changing the behavior of their web sites. 2910 2911 Test: http/tests/security/contentSecurityPolicy/report-only.html 2912 2913 * dom/Document.cpp: 2914 (WebCore::Document::processHttpEquiv): 2915 * loader/FrameLoader.cpp: 2916 (WebCore::FrameLoader::didBeginDocument): 2917 * page/ContentSecurityPolicy.cpp: 2918 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): 2919 (WebCore::ContentSecurityPolicy::didReceiveHeader): 2920 (WebCore::ContentSecurityPolicy::reportViolation): 2921 (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation): 2922 (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation): 2923 (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation): 2924 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 2925 * page/ContentSecurityPolicy.h: 2926 2927 2011-05-06 Beth Dakin <bdakin (a] apple.com> 2928 2929 Reviewed by Darin Adler. 2930 2931 https://bugs.webkit.org/show_bug.cgi?id=60421 2932 Custom scrollbars nested inside an overlay scrollbar overflow region end up 2933 painting twice 2934 -and corresponding- 2935 <rdar://problem/9389072> 2936 2937 Be sure not to paint custom css scrollbars during the special overlay-scrollbar 2938 painting pass. 2939 * rendering/RenderLayer.cpp: 2940 (WebCore::RenderLayer::paintOverflowControls): 2941 2942 2011-05-06 Cary Clark <caryclark (a] google.com> 2943 2944 Reviewed by Eric Seidel. 2945 2946 Add utility for converting SkCanvas to CGContext 2947 https://bugs.webkit.org/show_bug.cgi?id=59808 2948 2949 Skia on Mac uses Skia to render WebKit, and CG 2950 to render UI elements. The CG elements need a 2951 transcribed graphics context that preserves the 2952 canvas matrix, and the canvas clip. 2953 2954 The BitLockerSkia utility class sets up a CGContext 2955 from the SkCanvas, locks the bitmap's bits, and 2956 releases the lock when the class goes out of scope. 2957 2958 Each time the CGContext is retrieved, it is rebuilt. 2959 This permits the caller to modify the same canvas 2960 between calls. 2961 2962 This change adds utilities but does not modify any 2963 existing code. For now, there are no callers to these 2964 utilities, so there is no functional change. 2965 2966 No new tests. 2967 2968 * platform/graphics/skia/BitLockerSkia.cpp: Added. 2969 (WebCore::SkMatrixToCGAffineTransform): Conversion utility. 2970 (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas. 2971 (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up. 2972 (WebCore::BitLockerSkia::release): Internal private helper. 2973 (WebCore::BitLockerSkia::cgContext): Returns CGContextRef. 2974 * platform/graphics/skia/BitLockerSkia.h: Added. 2975 2976 2011-05-06 Martin Robinson <mrobinson (a] igalia.com> 2977 2978 Reviewed by Xan Lopez. 2979 2980 [GTK] [WebKit2] WebView::windowToScreen needs an implementation 2981 https://bugs.webkit.org/show_bug.cgi?id=55960 2982 2983 Abstract coordinate system translation code from WebKit into WebCore. 2984 This will allow the code to be shared between WebKit and WebKit2. The code 2985 now lives in a new GtkUtilities.cpp helper file. 2986 2987 * GNUmakefile.list.am: Added GtkUtilities to the source list. 2988 * platform/gtk/GtkUtilities.cpp: Added. 2989 (WebCore::convertWidgetRectToScreenRect): 2990 * platform/gtk/GtkUtilities.h: Added. 2991 2992 2011-05-06 Martin Robinson <mrobinson (a] igalia.com> 2993 2994 Reviewed by Xan Lopez. 2995 2996 Remove some unnecessary static methods in ResourceHandleSoup. 2997 2998 No new tests. This is only a small cleanup. 2999 3000 * platform/network/soup/ResourceHandleSoup.cpp: 3001 (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly. 3002 (WebCore::gotHeadersCallback):Ditto. 3003 (WebCore::contentSniffedCallback):Ditto. 3004 (WebCore::sendRequestCallback):Ditto. 3005 (WebCore::ResourceHandle::defaultSession): Create the soup session directly. 3006 3007 2011-05-06 Martin Robinson <mrobinson (a] igalia.com> 3008 3009 Reviewed by Xan Lopez. 3010 3011 [Soup] ResourceHandles are leaked on 304 responses 3012 https://bugs.webkit.org/show_bug.cgi?id=60413 3013 3014 Always call cleanupSoupRequestOperation, even when the request was not 3015 canceled. Before the code would call didFinishLoading and then never clean up 3016 the request. 3017 3018 No new tests. This simply fixes a memory leak. 3019 3020 * platform/network/soup/ResourceHandleSoup.cpp: 3021 (WebCore::sendRequestCallback): 3022 3023 2011-05-06 Adam Barth <abarth (a] webkit.org> 3024 3025 Reviewed by Eric Seidel. 3026 3027 Add disable-javascript-urls CSP directive 3028 https://bugs.webkit.org/show_bug.cgi?id=60301 3029 3030 This CSP directive is not in the CSP spec. This patch is somewhat of 3031 an experiment to see whether this feature is useful. Based on our 3032 implementation experience, we will coordinate with folks via the W3C to 3033 see if this makes sense to add to the spec. 3034 3035 Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html 3036 3037 * page/ContentSecurityPolicy.cpp: 3038 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): 3039 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 3040 (WebCore::ContentSecurityPolicy::addDirective): 3041 * page/ContentSecurityPolicy.h: 3042 3043 2011-05-06 Brett Wilson <brettw (a] chromium.org> 3044 3045 Reviewed by Adam Barth. 3046 3047 Use a File object to store the downloaded file reference rather than 3048 just the path. This keeps the file and permissions in scope (using the 3049 already-existing blob system) so the browser won't delete the file 3050 when the load is complete. Instead, the file will be cleaned up when 3051 the request objects are deleted. 3052 https://bugs.webkit.org/show_bug.cgi?id=60281 3053 3054 * platform/network/chromium/ResourceResponse.cpp: 3055 (WebCore::ResourceResponse::doPlatformCopyData): 3056 (WebCore::ResourceResponse::doPlatformAdopt): 3057 * platform/network/chromium/ResourceResponse.h: 3058 (WebCore::ResourceResponse::downloadedFile): 3059 (WebCore::ResourceResponse::setDownloadedFile): 3060 3061 2011-05-06 Alexis Menard <alexis.menard (a] openbossa.org> 3062 3063 Reviewed by Darin Adler. 3064 3065 Fix two warnings of unused variables. 3066 https://bugs.webkit.org/show_bug.cgi?id=60370 3067 3068 Remove two unused local variable from the code. 3069 3070 No new tests, the existing ones should cover. 3071 3072 * rendering/RenderFlexibleBox.cpp: 3073 (WebCore::RenderFlexibleBox::layoutVerticalBox): 3074 * svg/animation/SVGSMILElement.cpp: 3075 (WebCore::SVGSMILElement::calculateNextProgressTime): 3076 3077 2011-05-06 Adam Barth <abarth (a] webkit.org> 3078 3079 Reviewed by Eric Seidel. 3080 3081 Wire up CSP's eval blocking to V8's new API 3082 https://bugs.webkit.org/show_bug.cgi?id=60384 3083 3084 * bindings/v8/ScriptController.cpp: 3085 (WebCore::ScriptController::disableEval): 3086 3087 2011-05-06 David Hyatt <hyatt (a] apple.com> 3088 3089 Reviewed by Dan Bernstein. 3090 3091 https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>) 3092 REGRESSION (r81684?): cox.com sign in button is missing 3093 3094 Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight. 3095 This restores the original behavior before the refactoring messed it up. 3096 3097 Added fast/inline/nested-top-alignment.html 3098 3099 * rendering/InlineFlowBox.cpp: 3100 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 3101 3102 2011-05-06 David Hyatt <hyatt (a] apple.com> 3103 3104 Reviewed by Dan Bernstein. 3105 3106 https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>) 3107 REGRESSION (r81992): portions of ticketmaster site render blank 3108 3109 Make simplified layout skip from a positioned object out to its containing block. There is no 3110 need to dirty the intermediate inlines, and in this case it's actively harmful, since the 3111 block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set. 3112 3113 Added fast/block/positioning/hiding-inside-relpositioned-inline.html 3114 3115 * rendering/RenderObject.h: 3116 (WebCore::RenderObject::markContainingBlocksForLayout): 3117 3118 2011-05-06 Pavel Feldman <pfeldman (a] chromium.org> 3119 3120 Not reviewed: move selection test into the text area branch. 3121 3122 * inspector/front-end/TextViewer.js: 3123 (WebInspector.TextViewer.prototype._contextMenu): 3124 3125 2011-05-04 Adrienne Walker <enne (a] google.com> 3126 3127 Reviewed by James Robinson. 3128 3129 [chromium] Fix incorrect scissor rect for layers that render into a rendersurface 3130 https://bugs.webkit.org/show_bug.cgi?id=59020 3131 3132 Allow for empty scissor rects, which implies scissoring to the render 3133 surface. The previous code and previous patch on this bug both didn't 3134 take into account that the scissor rect should be the render surface 3135 and not the projection of the layer itself, because child layers 3136 aren't necessarily contained within the bounds of their superlayer. 3137 3138 Test: compositing/flat-with-transformed-child.html 3139 3140 * platform/graphics/chromium/LayerRendererChromium.cpp: 3141 (WebCore::LayerRendererChromium::paintLayerContents): 3142 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 3143 (WebCore::LayerRendererChromium::drawLayer): 3144 (WebCore::LayerRendererChromium::setScissorToRect): 3145 3146 2011-05-06 Simon Fraser <simon.fraser (a] apple.com> 3147 3148 Reviewed by Sam Weinig. 3149 3150 Lazily allocate ScrollAnimator in ScrollableArea 3151 https://bugs.webkit.org/show_bug.cgi?id=60327 3152 3153 Avoid allocating the ScrollAnimator up-front, because we 3154 create lots of ScrollableAreas via RenderLayer, and we should 3155 only need the animator when scrolling. 3156 3157 * platform/ScrollableArea.cpp: 3158 (WebCore::ScrollableArea::ScrollableArea): 3159 (WebCore::ScrollableArea::scrollAnimator): 3160 (WebCore::ScrollableArea::scroll): 3161 (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation): 3162 (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation): 3163 (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation): 3164 (WebCore::ScrollableArea::handleWheelEvent): 3165 (WebCore::ScrollableArea::handleGestureEvent): 3166 * platform/ScrollableArea.h: 3167 3168 2011-05-06 Eric Carlson <eric.carlson (a] apple.com> 3169 3170 Reviewed by Darin Adler. 3171 3172 REGRESSION (r77954): HTTP Live Streams have incorrect controller UI 3173 https://bugs.webkit.org/show_bug.cgi?id=60304 3174 <rdar://problem/9392609> 3175 3176 Don't assume that the only time the media controls UI may need to change is on a 3177 network state change, readyState changes can be significant as well. 3178 3179 Tested manually because we don't have any live streams to test in DRT. 3180 3181 * html/HTMLMediaElement.cpp: 3182 (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay. 3183 (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay. 3184 3185 * html/shadow/MediaControlRootElement.cpp: 3186 (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay. 3187 (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto. 3188 * html/shadow/MediaControlRootElement.h: 3189 3190 * html/shadow/MediaControlRootElementChromium.cpp: 3191 (WebCore::MediaControlRootElementChromium::reset): Ditto. 3192 (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto. 3193 * html/shadow/MediaControlRootElementChromium.h: 3194 * html/shadow/MediaControls.h: 3195 3196 2011-05-06 Andreas Kling <andreas.kling (a] nokia.com> 3197 3198 Unreviewed Qt 4.8 build fix. 3199 3200 * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can 3201 enable it after the 4.8 bots are updated with the full QRawFont APIs. 3202 3203 2011-05-06 Alexander Pavlov <apavlov (a] chromium.org> 3204 3205 Reviewed by Yury Semikhatsky. 3206 3207 Web Inspector: editing CSS in the Resources panel and not committing does not revert the change. 3208 https://bugs.webkit.org/show_bug.cgi?id=60319 3209 3210 * inspector/front-end/ResourceView.js: 3211 (WebInspector.ResourceSourceFrame.prototype.cancelEditing): 3212 3213 2011-05-06 Joe Mason <jmason (a] rim.com> 3214 3215 Reviewed by Adam Barth. 3216 3217 WebSocket urls should always be encoded as UTF-8. 3218 https://bugs.webkit.org/show_bug.cgi?id=57138 3219 3220 Change WebSocket::connect to take the raw URL string and parse it 3221 internally using the simple KURL constructor, which expects an absolute 3222 UTF-8 encoded URL. This ensures that all code that creates a WebSocket 3223 goes through this method instead of completeURL. 3224 3225 Test: http/tests/websocket/tests/url-with-nonascii-query.html 3226 3227 * bindings/js/JSWebSocketCustom.cpp: 3228 (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect(). 3229 * websockets/WebSocket.cpp: 3230 (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8. 3231 * websockets/WebSocket.h: 3232 3233 2011-05-06 Luke Macpherson <macpherson (a] chromium.org> 3234 3235 Reviewed by Eric Seidel. 3236 3237 Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro. 3238 https://bugs.webkit.org/show_bug.cgi?id=60339 3239 3240 No tests added as no functionality changed. 3241 3242 * css/CSSStyleSelector.cpp: 3243 (WebCore::CSSStyleSelector::applyProperty): 3244 Use correct macro for CSSPropertySpeak. 3245 * rendering/style/RenderStyle.h: 3246 (WebCore::InheritedFlags::initialColorSpace): 3247 Add initialColorSpace() static method. 3248 3249 2011-05-06 Luke Macpherson <macpherson (a] chromium.org> 3250 3251 Reviewed by Eric Seidel. 3252 3253 Make RenderStyle::setPageBreakInside() reject unsupported enum values. 3254 https://bugs.webkit.org/show_bug.cgi?id=60235 3255 3256 No tests added as no functionality changed. 3257 3258 * css/CSSStyleSelector.cpp: 3259 (WebCore::CSSStyleSelector::applyProperty): 3260 Remove special-case code and use appropriate macro. 3261 * rendering/style/RenderStyle.h: 3262 (WebCore::InheritedFlags::setPageBreakInside): 3263 Assert that only supported values are used. 3264 3265 2011-05-06 Luke Macpherson <macpherson (a] chromium.org> 3266 3267 Reviewed by Eric Seidel. 3268 3269 Move burden of checking for BJustify box alignment into RenderStyle 3270 https://bugs.webkit.org/show_bug.cgi?id=60246 3271 3272 No new tests added as no functionality changed. 3273 3274 * css/CSSStyleSelector.cpp: 3275 (WebCore::CSSStyleSelector::applyProperty): 3276 Remove special-case logic checking for BJUSTIFY and use existing macro. 3277 * rendering/style/RenderStyle.h: 3278 (WebCore::InheritedFlags::setBoxAlign): 3279 Assert valid values are used. 3280 3281 2011-05-06 Luke Macpherson <macpherson (a] chromium.org> 3282 3283 Reviewed by Eric Seidel. 3284 3285 Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro. 3286 https://bugs.webkit.org/show_bug.cgi?id=60338 3287 3288 No tests added as no functionality changed. 3289 3290 * css/CSSStyleSelector.cpp: 3291 (WebCore::CSSStyleSelector::applyProperty): 3292 Use correct macro for CSSPropertySpeak. 3293 3294 2011-05-06 Alexis Menard <alexis.menard (a] openbossa.org> 3295 3296 Reviewed by Alexey Proskuryakov. 3297 3298 Build fix with gcc 4.6 and c++0x support. 3299 https://bugs.webkit.org/show_bug.cgi?id=60284 3300 3301 When enabling support of c++0x the compilation fails because of an 3302 ambiguous overload error. In this code when constructing the pair 3303 we use the new c++0x rvalue reference feature (&&). It means we are 3304 calling String(const WTF::AtomicString&) which becomes ambiguous because 3305 it has an overload WTF::String::String(const WTF::String&) and usually one 3306 with the native port string type (e.g. QString). In this code we want the 3307 String version because the pair store Strings. 3308 3309 No new tests, build fix. 3310 3311 * loader/FormSubmission.cpp: 3312 (WebCore::FormSubmission::create): 3313 3314 2011-05-06 Cris Neckar <cdn (a] chromium.org> 3315 3316 Reviewed by Dirk Schulze. 3317 3318 Tests for crash when a transform is applied to certain filters. 3319 https://bugs.webkit.org/show_bug.cgi?id=59551 3320 3321 Test: svg/filters/filter-after-transform-crash.svg 3322 3323 * platform/graphics/filters/FEComposite.cpp: 3324 (WebCore::FEComposite::determineAbsolutePaintRect): 3325 * platform/graphics/filters/FEConvolveMatrix.h: 3326 (WebCore::FEConvolveMatrix::determineAbsolutePaintRect): 3327 * platform/graphics/filters/FEDisplacementMap.h: 3328 (WebCore::FEDisplacementMap::determineAbsolutePaintRect): 3329 * platform/graphics/filters/FEFlood.h: 3330 (WebCore::FEFlood::determineAbsolutePaintRect): 3331 * platform/graphics/filters/FELighting.h: 3332 (WebCore::FELighting::determineAbsolutePaintRect): 3333 * platform/graphics/filters/FETile.h: 3334 (WebCore::FETile::determineAbsolutePaintRect): 3335 * platform/graphics/filters/FETurbulence.h: 3336 (WebCore::FETurbulence::determineAbsolutePaintRect): 3337 * platform/graphics/filters/FilterEffect.cpp: 3338 (WebCore::isFilterSizeValid): 3339 (WebCore::FilterEffect::determineAbsolutePaintRect): 3340 (WebCore::FilterEffect::asUnmultipliedImage): 3341 (WebCore::FilterEffect::asPremultipliedImage): 3342 (WebCore::FilterEffect::copyUnmultipliedImage): 3343 (WebCore::FilterEffect::copyPremultipliedImage): 3344 (WebCore::FilterEffect::createUnmultipliedImageResult): 3345 (WebCore::FilterEffect::createPremultipliedImageResult): 3346 * platform/graphics/filters/FilterEffect.h: 3347 (WebCore::FilterEffect::maxEffectRect): 3348 (WebCore::FilterEffect::setMaxEffectRect): 3349 * rendering/svg/RenderSVGResourceFilter.cpp: 3350 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: 3351 (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): 3352 3353 2011-05-06 Luke Macpherson <macpherson (a] chromium.org> 3354 3355 Reviewed by Eric Seidel. 3356 3357 Use cast to convert primitive value to FontSmoothingMode. 3358 https://bugs.webkit.org/show_bug.cgi?id=60242 3359 3360 No tests added as no functionality changed. 3361 3362 * css/CSSStyleSelector.cpp: 3363 (WebCore::CSSStyleSelector::applyProperty): 3364 Use cast to convert primitive value to FontSmoothingMode. 3365 3366 2011-05-05 Luke Macpherson <macpherson (a] chromium.org> 3367 3368 Reviewed by Eric Seidel. 3369 3370 Make CSSPropertySpeak use the correct macro. 3371 https://bugs.webkit.org/show_bug.cgi?id=60335 3372 3373 No tests added as no functionality changed. 3374 3375 * css/CSSStyleSelector.cpp: 3376 (WebCore::CSSStyleSelector::applyProperty): 3377 Use correct macro for CSSPropertySpeak. 3378 3379 2011-05-05 Eric Carlson <eric.carlson (a] apple.com> 3380 3381 Reviewed by Maciej Stachowiak. 3382 3383 <rdar://problem/9390864> 3384 https://bugs.webkit.org/show_bug.cgi?id=60343 3385 Crash on Recovery System when trying to load page that includes media element 3386 3387 Automated test not possible, tested manually. 3388 3389 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 3390 (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if 3391 AVFoundation and CoreMedia are installed. 3392 3393 * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to 3394 SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist. 3395 3396 2011-05-05 Eric Carlson <eric.carlson (a] apple.com> 3397 3398 Reviewed by Darin Adler. 3399 3400 Live streams sometimes won't play with AVFoundation backend 3401 https://bugs.webkit.org/show_bug.cgi?id=58961 3402 rdar://problem/9284748 3403 3404 Tested manually because we don't have any live streams to test in DRT. 3405 3406 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 3407 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume 3408 AVFoundation will notify us when internal states change. 3409 3410 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver 3411 a RetainPtr 3412 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 3413 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto. 3414 (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto. 3415 3416 2011-05-05 Jay Civelli <jcivelli (a] chromium.org> 3417 3418 Reviewed by Adam Barth. 3419 3420 Adding quoted-printable encoding/decoding capabilities. 3421 This is needed for MHTML support. 3422 https://bugs.webkit.org/show_bug.cgi?id=59834 3423 3424 * CMakeLists.txt: 3425 * GNUmakefile.list.am: 3426 * WebCore.gypi: 3427 * WebCore.pro: 3428 * WebCore.vcproj/WebCore.vcproj: 3429 * WebCore.xcodeproj/project.pbxproj: 3430 * platform/text/QuotedPrintable.cpp: Added. 3431 * platform/text/QuotedPrintable.h: Added. 3432 3433 2011-05-05 Andy Estes <aestes (a] apple.com> 3434 3435 Reviewed by Eric Seidel. 3436 3437 Implement document.innerHTML 3438 https://bugs.webkit.org/show_bug.cgi?id=60316 3439 3440 ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder 3441 for fragment parsing. This assertion will become invalid when 3442 document.innerHTML is implemented, which is the only case where HTML5 3443 specifies that a fragment will not have a context element. 3444 3445 * html/parser/HTMLTreeBuilder.cpp: 3446 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): 3447 3448 2011-05-05 Kevin Ollivier <kevino (a] theolliviers.com> 3449 3450 [wx] Unreviewed build fix. Include ApplicationServices for wx port. 3451 3452 * platform/graphics/GlyphBuffer.h: 3453 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 3454 3455 2011-05-05 Dan Bernstein <mitz (a] apple.com> 3456 3457 Reviewed by Simon Fraser. 3458 3459 WebCore part of <rdar://problem/9155590> Broken animation in iAd producer 3460 3461 * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard. 3462 * platform/graphics/ca/GraphicsLayerCA.cpp: 3463 (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity 3464 check in Core Animation. 3465 * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard. 3466 * platform/mac/WebCoreSystemInterface.mm: Ditto. 3467 3468 2011-05-05 Sam Weinig <sam (a] webkit.org> 3469 3470 Reviewed by Anders Carlsson. 3471 3472 WebKit2 (Mac): Background tabs/windows can force themselves to the front 3473 <rdar://problem/9386346> 3474 https://bugs.webkit.org/show_bug.cgi?id=60315 3475 3476 * platform/mac/WidgetMac.mm: 3477 (WebCore::Widget::setFocus): 3478 It is incorrect for us to call Chrome::focus() here, which could bring a window/tab 3479 to the front. Calling focusNSView() was only necessary because in WebKit we must inform 3480 the platform widget that the focus has changed. WebKit2 Mac now matches other ports. 3481 3482 2011-05-05 Justin Novosad <junov (a] chromium.org> 3483 3484 Reviewed by Kenneth Russell. 3485 3486 [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose 3487 https://bugs.webkit.org/show_bug.cgi?id=60173 3488 3489 * page/Page.cpp: 3490 (WebCore::Page::sharedGraphicsContext3D): 3491 Flipping the switch to make Skia the default for the accelerated 2d canvas 3492 3493 2011-05-05 Tony Gentilcore <tonyg (a] chromium.org> 3494 3495 Reviewed by Adam Barth. 3496 3497 ASSERT(m_state == ParsingState) fires @ www.canalplus.fr 3498 https://bugs.webkit.org/show_bug.cgi?id=60101 3499 3500 Test: fast/parser/close-while-stopping.html 3501 3502 * dom/Document.cpp: 3503 (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close, 3504 the close() steps should be aborted if there is no script-created parser 3505 associated with the document. Our parser lives throughout 3506 http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems 3507 the spec doesn't consider the parser active any more. So to properly 3508 respect this, we need to check that the parser is still parsing. 3509 3510 2011-04-28 Evan Martin <evan (a] chromium.org> 3511 3512 Reviewed by Ojan Vafai. 3513 3514 REGRESSION: backspace should not go back on Linux 3515 https://bugs.webkit.org/show_bug.cgi?id=59731 3516 3517 Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on 3518 Linux, and test for it in the default backspace handler. 3519 3520 * editing/EditingBehavior.h: 3521 (WebCore::EditingBehavior::shouldNavigateBackOnBackspace): 3522 * page/EventHandler.cpp: 3523 (WebCore::EventHandler::defaultBackspaceEventHandler): 3524 3525 2011-05-05 Igor Oliveira <igor.oliveira (a] openbossa.org> 3526 3527 Reviewed by Kenneth Russell. 3528 3529 Framebuffer object is being created twice 3530 https://bugs.webkit.org/show_bug.cgi?id=60207 3531 3532 Does not create more than one opengl framebuffer 3533 3534 * platform/graphics/gpu/mac/DrawingBufferMac.mm: 3535 (WebCore::DrawingBuffer::DrawingBuffer): 3536 * platform/graphics/gpu/qt/DrawingBufferQt.cpp: 3537 (WebCore::DrawingBuffer::DrawingBuffer): 3538 * platform/graphics/gtk/DrawingBufferGtk.cpp: 3539 (WebCore::DrawingBuffer::DrawingBuffer): 3540 3541 2011-05-05 Simon Fraser <simon.fraser (a] apple.com> 3542 3543 Reviewed by Beth Dakin. 3544 3545 Every RenderLayer registers itself as a ScrollableArea 3546 https://bugs.webkit.org/show_bug.cgi?id=59650 3547 3548 Rather than registering every RenderLayer as a ScrollableArea 3549 on layer creation, only register RenderLayers which are overflow- 3550 scrollable. Use the m_scrollableAreaPage pointer to keep track 3551 of whether we've registered to avoid excess work. 3552 3553 * rendering/RenderLayer.cpp: 3554 (WebCore::RenderLayer::RenderLayer): 3555 (WebCore::RenderLayer::scrollsOverflow): 3556 (WebCore::RenderLayer::styleChanged): 3557 * rendering/RenderLayer.h: 3558 3559 2011-05-05 Jer Noble <jer.noble (a] apple.com> 3560 3561 Reviewed by Steve Falkenburg. 3562 3563 Workaround iTunes' incorrect registry entry for .m4a extensions. 3564 https://bugs.webkit.org/show_bug.cgi?id=60229 3565 3566 No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html). 3567 The test failed to catch this regression because the build bots haven't installed iTunes. 3568 3569 Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'. 3570 3571 * platform/win/MIMETypeRegistryWin.cpp: 3572 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 3573 3574 2011-05-05 Abhishek Arya <inferno (a] chromium.org> 3575 3576 Reviewed by Dave Hyatt. 3577 3578 When style changes for a RenderBlock and we lose our ability to intrude into 3579 floats in the next siblings block (e.g a position change), make sure to mark 3580 our childs with floats for layout and iterate through our next sibling block 3581 chain to see which ones contain the float that also exists in our floating 3582 objects list and clear those using markAllDescendantsWithFloatsForLayout. 3583 https://bugs.webkit.org/show_bug.cgi?id=56299 3584 3585 Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html 3586 fast/block/float/float-not-removed-from-next-sibling.html 3587 fast/block/float/float-not-removed-from-next-sibling2.html 3588 fast/block/float/float-not-removed-from-next-sibling3.html 3589 fast/block/float/float-not-removed-from-next-sibling4.html 3590 3591 * rendering/RenderBlock.cpp: 3592 (WebCore::RenderBlock::styleWillChange): 3593 (WebCore::RenderBlock::styleDidChange): 3594 (WebCore::RenderBlock::markSiblingsWithFloatsForLayout): 3595 * rendering/RenderBlock.h: 3596 3597 2011-05-05 Brian Weinstein <bweinstein (a] apple.com> 3598 3599 Reviewed by Timothy Hatcher. 3600 3601 WebKit2: Docking Web Inspector doesn't respect maximum inspector size 3602 https://bugs.webkit.org/show_bug.cgi?id=60294 3603 <rdar://problem/9388518> 3604 3605 Make a needed function public and export it. 3606 3607 * WebCore.exp.in: Export constrainedAttaechedWindowHeight. 3608 * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public. 3609 3610 2011-05-05 Tony Gentilcore <tonyg (a] chromium.org> 3611 3612 Reviewed by Nate Chapin. 3613 3614 [Navigation Timing] navigationStart should always be available 3615 https://bugs.webkit.org/show_bug.cgi?id=59448 3616 3617 * page/PerformanceTiming.cpp: 3618 (WebCore::PerformanceTiming::navigationStart): 3619 3620 2011-05-05 Eric Carlson <eric.carlson (a] apple.com> 3621 3622 Reviewed by Adam Roben. 3623 3624 Block callbacks delivered during destruction 3625 https://bugs.webkit.org/show_bug.cgi?id=60291 3626 <rdar://problem/9382942> 3627 3628 No new tests, tested by existing tests. 3629 3630 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 3631 (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call 3632 setIgnoreLoadStateChanges(true) to cancel all callbacks. 3633 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if 3634 m_ignoreLoadStateChanges is true. 3635 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates. 3636 Don't call updateStates after calling loadedTimeRangesChanged, it already does it. 3637 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 3638 3639 2011-05-05 David Hyatt <hyatt (a] apple.com> 3640 3641 Reviewed by Darin Adler. 3642 3643 <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive 3644 3645 Culled inlines were triggering some pathological line box tree groveling that isn't even necessary. 3646 Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case 3647 (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case 3648 (the object being removed has no effect on any lines). 3649 3650 Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that 3651 is encountered has a null inlineBoxWrapper(). Just a slight speed optimization to avoid an extra null check. 3652 3653 * rendering/RenderBlock.cpp: 3654 (WebCore::RenderBlock::destroy): 3655 * rendering/RenderInline.cpp: 3656 (WebCore::RenderInline::destroy): 3657 (WebCore::RenderInline::culledInlineFirstLineBox): 3658 (WebCore::RenderInline::culledInlineLastLineBox): 3659 3660 2011-05-05 Bharathwaaj Srinivasan <bharathwaaj.s (a] gmail.com> 3661 3662 Reviewed by Holger Freyther. 3663 3664 Fix build-webkit --minimal. 3665 https://bugs.webkit.org/show_bug.cgi?id=60257 3666 3667 No new tests. This is just a build fix. 3668 3669 * bindings/js/JSDOMBinding.cpp: 3670 3671 2011-05-05 Eric Carlson <eric.carlson (a] apple.com> 3672 3673 Reviewed by Adam Roben. 3674 3675 The preload attribute of the video tag is not completely implemented 3676 https://bugs.webkit.org/show_bug.cgi?id=43673 3677 <rdar://problem/9369746> 3678 3679 This change implements "preload=metadata" for the AVFoundation backend. 3680 Tested manually with manual-tests/media-elements/video-preload.html. 3681 3682 * html/HTMLMediaElement.cpp: 3683 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay. 3684 (WebCore::HTMLMediaElement::prepareForLoad): Ditto. 3685 (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play. 3686 (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto' 3687 because we need to have media data loaded to seek. 3688 (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay. 3689 * html/HTMLMediaElement.h: 3690 3691 * manual-tests/media-elements/video-preload.html: Make changing urls work. 3692 3693 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 3694 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Remove 3695 m_videoFrameHasDrawn and m_delayingLoad as they are no longer used. 3696 (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed. 3697 (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 3698 Move all preload logic to setPreload, call it from here. 3699 (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 3700 setPreload, call it. 3701 (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is 3702 unlikely to be correct and isn't worth caching. Use invalidTime() function. 3703 (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function. 3704 (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging. 3705 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus 3706 to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected 3707 without one. Set networkState to 'idle' when the playback buffer is full because that is 3708 a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 3709 when the first frame is available. 3710 (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache 3711 width, height, hasVideo, etc. 3712 (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function. 3713 (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto. 3714 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto. 3715 (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done 3716 in derived classes. 3717 (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create 3718 AVAsset and AVPlayerItem here. 3719 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 3720 3721 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 3722 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 3723 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize 3724 m_videoFrameHasDrawn. 3725 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from 3726 videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or 3727 if we have painted a frame to the context. 3728 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset 3729 if necessary. 3730 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto. 3731 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic. 3732 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem. 3733 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging. 3734 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when 3735 the buffer is full. 3736 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the 3737 AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration 3738 when we only have metadata. 3739 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change. 3740 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn. 3741 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset 3742 when when we haven't allocated the AVPlayerItem yet so that we can report attributes 3743 when we only have metadata. 3744 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before 3745 we have allocated the AVPlayerItem. 3746 3747 2011-05-05 Ryosuke Niwa <rniwa (a] webkit.org> 3748 3749 Reviewed by Eric Seidel. 3750 3751 Rename SelectionController to FrameSelection 3752 https://bugs.webkit.org/show_bug.cgi?id=60234 3753 3754 * CMakeLists.txt: 3755 * GNUmakefile.list.am: 3756 * WebCore.exp.in: 3757 * WebCore.gypi: 3758 * WebCore.pro: 3759 * WebCore.vcproj/WebCore.vcproj: 3760 * WebCore.xcodeproj/project.pbxproj: 3761 * accessibility/AccessibilityObject.cpp: 3762 * accessibility/AccessibilityRenderObject.cpp: 3763 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): 3764 * accessibility/mac/AccessibilityObjectWrapper.mm: 3765 * bindings/objc/ExceptionHandlers.h: 3766 * css/CSSStyleSelector.cpp: 3767 * dom/ContainerNode.cpp: 3768 (WebCore::ContainerNode::cloneChildNodes): 3769 * dom/Document.cpp: 3770 * dom/InputElement.cpp: 3771 * editing/DeleteButtonController.cpp: 3772 * editing/EditCommand.cpp: 3773 * editing/EditingAllInOne.cpp: 3774 * editing/EditingStyle.cpp: 3775 * editing/Editor.cpp: 3776 (WebCore::Editor::canCopy): 3777 (WebCore::Editor::canDelete): 3778 (WebCore::Editor::markMisspellingsAfterTypingToWord): 3779 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 3780 (WebCore::Editor::changeSelectionAfterCommand): 3781 (WebCore::Editor::respondToChangedSelection): 3782 * editing/Editor.h: 3783 * editing/EditorCommand.cpp: 3784 (WebCore::executeDeleteToMark): 3785 (WebCore::executeMoveBackward): 3786 (WebCore::executeMoveBackwardAndModifySelection): 3787 (WebCore::executeMoveDown): 3788 (WebCore::executeMoveDownAndModifySelection): 3789 (WebCore::executeMoveForward): 3790 (WebCore::executeMoveForwardAndModifySelection): 3791 (WebCore::executeMoveLeft): 3792 (WebCore::executeMoveLeftAndModifySelection): 3793 (WebCore::executeMovePageDown): 3794 (WebCore::executeMovePageDownAndModifySelection): 3795 (WebCore::executeMovePageUp): 3796 (WebCore::executeMovePageUpAndModifySelection): 3797 (WebCore::executeMoveRight): 3798 (WebCore::executeMoveRightAndModifySelection): 3799 (WebCore::executeMoveToBeginningOfDocument): 3800 (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): 3801 (WebCore::executeMoveToBeginningOfLine): 3802 (WebCore::executeMoveToBeginningOfLineAndModifySelection): 3803 (WebCore::executeMoveToBeginningOfParagraph): 3804 (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): 3805 (WebCore::executeMoveToBeginningOfSentence): 3806 (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): 3807 (WebCore::executeMoveToEndOfDocument): 3808 (WebCore::executeMoveToEndOfDocumentAndModifySelection): 3809 (WebCore::executeMoveToEndOfSentence): 3810 (WebCore::executeMoveToEndOfSentenceAndModifySelection): 3811 (WebCore::executeMoveToEndOfLine): 3812 (WebCore::executeMoveToEndOfLineAndModifySelection): 3813 (WebCore::executeMoveToEndOfParagraph): 3814 (WebCore::executeMoveToEndOfParagraphAndModifySelection): 3815 (WebCore::executeMoveParagraphBackwardAndModifySelection): 3816 (WebCore::executeMoveParagraphForwardAndModifySelection): 3817 (WebCore::executeMoveUp): 3818 (WebCore::executeMoveUpAndModifySelection): 3819 (WebCore::executeMoveWordBackward): 3820 (WebCore::executeMoveWordBackwardAndModifySelection): 3821 (WebCore::executeMoveWordForward): 3822 (WebCore::executeMoveWordForwardAndModifySelection): 3823 (WebCore::executeMoveWordLeft): 3824 (WebCore::executeMoveWordLeftAndModifySelection): 3825 (WebCore::executeMoveWordRight): 3826 (WebCore::executeMoveWordRightAndModifySelection): 3827 (WebCore::executeMoveToLeftEndOfLine): 3828 (WebCore::executeMoveToLeftEndOfLineAndModifySelection): 3829 (WebCore::executeMoveToRightEndOfLine): 3830 (WebCore::executeMoveToRightEndOfLineAndModifySelection): 3831 * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp. 3832 (WebCore::FrameSelection::FrameSelection): 3833 (WebCore::FrameSelection::moveTo): 3834 (WebCore::FrameSelection::setSelection): 3835 (WebCore::FrameSelection::nodeWillBeRemoved): 3836 (WebCore::FrameSelection::respondToNodeModification): 3837 (WebCore::FrameSelection::textWillBeReplaced): 3838 (WebCore::FrameSelection::setIsDirectional): 3839 (WebCore::FrameSelection::directionOfEnclosingBlock): 3840 (WebCore::FrameSelection::willBeModified): 3841 (WebCore::FrameSelection::positionForPlatform): 3842 (WebCore::FrameSelection::startForPlatform): 3843 (WebCore::FrameSelection::endForPlatform): 3844 (WebCore::FrameSelection::modifyExtendingRight): 3845 (WebCore::FrameSelection::modifyExtendingForward): 3846 (WebCore::FrameSelection::modifyMovingRight): 3847 (WebCore::FrameSelection::modifyMovingForward): 3848 (WebCore::FrameSelection::modifyExtendingLeft): 3849 (WebCore::FrameSelection::modifyExtendingBackward): 3850 (WebCore::FrameSelection::modifyMovingLeft): 3851 (WebCore::FrameSelection::modifyMovingBackward): 3852 (WebCore::FrameSelection::modify): 3853 (WebCore::FrameSelection::xPosForVerticalArrowNavigation): 3854 (WebCore::FrameSelection::clear): 3855 (WebCore::FrameSelection::setStart): 3856 (WebCore::FrameSelection::setEnd): 3857 (WebCore::FrameSelection::setBase): 3858 (WebCore::FrameSelection::setExtent): 3859 (WebCore::FrameSelection::setCaretRectNeedsUpdate): 3860 (WebCore::FrameSelection::updateCaretRect): 3861 (WebCore::FrameSelection::caretRenderer): 3862 (WebCore::FrameSelection::localCaretRect): 3863 (WebCore::FrameSelection::absoluteBoundsForLocalRect): 3864 (WebCore::FrameSelection::absoluteCaretBounds): 3865 (WebCore::FrameSelection::caretRepaintRect): 3866 (WebCore::FrameSelection::recomputeCaretRect): 3867 (WebCore::FrameSelection::shouldRepaintCaret): 3868 (WebCore::FrameSelection::invalidateCaretRect): 3869 (WebCore::FrameSelection::paintCaret): 3870 (WebCore::FrameSelection::debugRenderer): 3871 (WebCore::FrameSelection::contains): 3872 (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected): 3873 (WebCore::FrameSelection::selectAll): 3874 (WebCore::FrameSelection::setSelectedRange): 3875 (WebCore::FrameSelection::isInPasswordField): 3876 (WebCore::FrameSelection::caretRendersInsideNode): 3877 (WebCore::FrameSelection::focusedOrActiveStateChanged): 3878 (WebCore::FrameSelection::pageActivationChanged): 3879 (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive): 3880 (WebCore::FrameSelection::setUseSecureKeyboardEntry): 3881 (WebCore::FrameSelection::setFocused): 3882 (WebCore::FrameSelection::isFocusedAndActive): 3883 (WebCore::FrameSelection::updateAppearance): 3884 (WebCore::FrameSelection::setCaretVisible): 3885 (WebCore::FrameSelection::clearCaretRectIfNeeded): 3886 (WebCore::FrameSelection::caretBlinkTimerFired): 3887 (WebCore::FrameSelection::notifyRendererOfSelectionChange): 3888 (WebCore::FrameSelection::setFocusedNodeIfNeeded): 3889 (WebCore::FrameSelection::paintDragCaret): 3890 (WebCore::FrameSelection::copyTypingStyle): 3891 (WebCore::FrameSelection::shouldDeleteSelection): 3892 (WebCore::FrameSelection::bounds): 3893 (WebCore::FrameSelection::getClippedVisibleTextRectangles): 3894 (WebCore::FrameSelection::currentForm): 3895 (WebCore::FrameSelection::revealSelection): 3896 (WebCore::FrameSelection::setSelectionFromNone): 3897 (WebCore::FrameSelection::shouldChangeSelection): 3898 (WebCore::FrameSelection::formatForDebugger): 3899 (WebCore::FrameSelection::showTreeForThis): 3900 (showTree): 3901 * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h. 3902 (WebCore::FrameSelection::typingStyle): 3903 (WebCore::FrameSelection::clearTypingStyle): 3904 (WebCore::FrameSelection::setTypingStyle): 3905 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): 3906 * editing/ModifySelectionListLevel.cpp: 3907 * editing/RemoveFormatCommand.cpp: 3908 * editing/ReplaceSelectionCommand.cpp: 3909 * editing/SelectionController.cpp: Removed. 3910 * editing/SelectionController.h: Removed. 3911 * editing/SetSelectionCommand.cpp: 3912 (WebCore::SetSelectionCommand::SetSelectionCommand): 3913 (WebCore::SetSelectionCommand::doApply): 3914 (WebCore::SetSelectionCommand::doUnapply): 3915 * editing/SetSelectionCommand.h: 3916 (WebCore::SetSelectionCommand::create): 3917 * editing/SpellingCorrectionCommand.cpp: 3918 (WebCore::SpellingCorrectionCommand::doApply): 3919 * editing/SpellingCorrectionController.cpp: 3920 (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection): 3921 * editing/TypingCommand.cpp: 3922 (WebCore::TypingCommand::deleteKeyPressed): 3923 (WebCore::TypingCommand::forwardDeleteKeyPressed): 3924 * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp. 3925 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): 3926 * editing/chromium/SelectionControllerChromium.cpp: Removed. 3927 * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp. 3928 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): 3929 * editing/gtk/SelectionControllerGtk.cpp: Removed. 3930 * editing/mac/EditorMac.mm: 3931 (WebCore::Editor::canCopyExcludingStandaloneImages): 3932 * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm. 3933 (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): 3934 * editing/mac/SelectionControllerMac.mm: Removed. 3935 * editing/qt/EditorQt.cpp: 3936 * loader/archive/cf/LegacyWebArchive.cpp: 3937 * page/ContextMenuController.cpp: 3938 (WebCore::ContextMenuController::populate): 3939 * page/DOMSelection.cpp: 3940 (WebCore::DOMSelection::type): 3941 (WebCore::DOMSelection::modify): 3942 (WebCore::DOMSelection::addRange): 3943 (WebCore::DOMSelection::deleteFromDocument): 3944 (WebCore::DOMSelection::containsNode): 3945 * page/DragController.cpp: 3946 (WebCore::DragController::dragIsMove): 3947 * page/DragController.h: 3948 * page/EventHandler.cpp: 3949 (WebCore::setSelectionIfNeeded): 3950 (WebCore::setNonDirectionalSelectionIfNeeded): 3951 (WebCore::EventHandler::sendContextMenuEventForKey): 3952 (WebCore::EventHandler::handleKeyboardSelectionMovement): 3953 * page/EventHandler.h: 3954 * page/FocusController.cpp: 3955 (WebCore::clearSelectionIfNeeded): 3956 * page/Frame.cpp: 3957 (WebCore::Frame::Frame): 3958 * page/Frame.h: 3959 (WebCore::Frame::selection): 3960 * page/Page.cpp: 3961 (WebCore::Page::Page): 3962 * page/Page.h: 3963 (WebCore::Page::dragCaretController): 3964 * page/chromium/DragControllerChromium.cpp: 3965 * page/chromium/EventHandlerChromium.cpp: 3966 * page/win/DragControllerWin.cpp: 3967 * page/win/EventHandlerWin.cpp: 3968 * rendering/HitTestResult.cpp: 3969 * rendering/RenderBlock.cpp: 3970 (WebCore::RenderBlock::destroy): 3971 (WebCore::RenderBlock::paintCaret): 3972 * rendering/RenderImage.cpp: 3973 * rendering/RenderInline.cpp: 3974 (WebCore::RenderInline::destroy): 3975 * rendering/RenderLayer.cpp: 3976 * rendering/RenderListBox.cpp: 3977 * rendering/RenderObjectChildList.cpp: 3978 (WebCore::RenderObjectChildList::removeChildNode): 3979 * rendering/RenderTextControl.cpp: 3980 * rendering/RenderTextControlSingleLine.cpp: 3981 * rendering/RenderTheme.cpp: 3982 * rendering/RenderTreeAsText.cpp: 3983 * svg/SVGSVGElement.cpp: 3984 * svg/SVGTextContentElement.cpp: 3985 (WebCore::SVGTextContentElement::selectSubString): 3986 3987 2011-05-05 Brent Fulgham <bfulgham (a] webkit.org> 3988 3989 [WinCairo] unreviewed build correction. 3990 3991 * platform/network/curl/ResourceRequest.h: 3992 Stub out the new pipelined http logic for cURL. 3993 3994 2011-05-05 Pavel Feldman <pfeldman (a] chromium.org> 3995 3996 Reviewed by Yury Semikhatsky. 3997 3998 Web Inspector: searching for node does not result in bringToFront call. 3999 https://bugs.webkit.org/show_bug.cgi?id=60222 4000 4001 * inspector/front-end/ElementsPanel.js: 4002 (WebInspector.ElementsPanel.prototype.updateFocusedNode): 4003 4004 2011-05-05 Andreas Kling <andreas.kling (a] nokia.com> 4005 4006 Reviewed by Simon Hausmann. 4007 4008 [Qt] Implement the fast font path for Qt. 4009 https://bugs.webkit.org/show_bug.cgi?id=51106 4010 4011 Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for 4012 rendering and measurement of simple text. 4013 4014 Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new 4015 classes are fully integrated into the Qt 4.8 release branch. 4016 4017 * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build. 4018 4019 * platform/graphics/Font.cpp: 4020 (WebCore::Font::drawText): Disable fast font path for stroked text, and when 4021 painting text with a shadow. (Qt-only) 4022 (WebCore::Font::codePath): Try to use fast font path in more cases. 4023 4024 * platform/graphics/qt/FontCacheQt.cpp: 4025 (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont 4026 to use for rendering a given string. Goes through QTextLayout to find the best 4027 font based on the original QFont query. 4028 (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above. 4029 4030 * platform/graphics/qt/FontPlatformData.h: 4031 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate): 4032 (WebCore::FontPlatformData::FontPlatformData): 4033 (WebCore::FontPlatformData::rawFont): 4034 * platform/graphics/qt/FontPlatformDataQt.cpp: 4035 (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData. 4036 4037 * platform/graphics/qt/FontQt.cpp: 4038 (WebCore::fillPenForContext): 4039 (WebCore::strokePenForContext): 4040 (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon 4041 to share code between complex and simple font rendering paths. 4042 (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs(). 4043 4044 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 4045 (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString(). 4046 4047 * platform/graphics/qt/SimpleFontDataQt.cpp: 4048 (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we 4049 have no way of knowing the pitch. 4050 (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter(). 4051 (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes(). 4052 (WebCore::SimpleFontData::scaledFontData): Added, based on other ports. 4053 (WebCore::SimpleFontData::smallCapsFontData): Ditto. 4054 (WebCore::SimpleFontData::emphasisMarkFontData): Ditto. 4055 (WebCore::SimpleFontData::platformBoundsForGlyph): Stub. 4056 (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics. 4057 (WebCore::SimpleFontData::platformCharWidthInit): Ditto. 4058 4059 2011-05-05 Alexis Menard <alexis.menard (a] openbossa.org> 4060 4061 Reviewed by Andreas Kling. 4062 4063 [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0. 4064 https://bugs.webkit.org/show_bug.cgi?id=60224 4065 4066 We should use nullptr rather than 0. nullptr will be added in the new C++ standard 4067 but WebKit already has a nullptr class if there is no c++0x support. 4068 4069 * platform/qt/RenderThemeQt.cpp: 4070 (WebCore::RenderThemeQt::adjustProgressBarStyle): 4071 (WebCore::RenderThemeQt::adjustSliderTrackStyle): 4072 (WebCore::RenderThemeQt::adjustSliderThumbStyle): 4073 4074 2011-05-05 Ilya Tikhonovsky <loislo (a] chromium.org> 4075 4076 Reviewed by Yury Semikhatsky. 4077 4078 Web Inspector: rename BrowserDebugger to DOMDebugger. 4079 4080 https://bugs.webkit.org/show_bug.cgi?id=60256 4081 InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent 4082 browserDebugger => domDebugger 4083 4084 * CMakeLists.txt: 4085 * GNUmakefile.list.am: 4086 * WebCore.gypi: 4087 * WebCore.pro: 4088 * WebCore.vcproj/WebCore.vcproj: 4089 * WebCore.xcodeproj/project.pbxproj: 4090 * inspector/CodeGeneratorInspector.pm: 4091 * inspector/InspectorAgent.cpp: 4092 (WebCore::InspectorAgent::InspectorAgent): 4093 (WebCore::InspectorAgent::inspectedPageDestroyed): 4094 (WebCore::InspectorAgent::disconnectFrontend): 4095 * inspector/InspectorAgent.h: 4096 (WebCore::InspectorAgent::DOMDebuggerAgent): 4097 * inspector/InspectorController.cpp: 4098 (WebCore::InspectorController::connectFrontend): 4099 * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp. 4100 (WebCore::InspectorDOMDebuggerAgent::create): 4101 (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent): 4102 (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent): 4103 (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled): 4104 (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled): 4105 (WebCore::InspectorDOMDebuggerAgent::disable): 4106 (WebCore::InspectorDOMDebuggerAgent::clearFrontend): 4107 (WebCore::InspectorDOMDebuggerAgent::discardBindings): 4108 (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint): 4109 (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint): 4110 (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode): 4111 (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode): 4112 (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint): 4113 (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint): 4114 (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): 4115 (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode): 4116 (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr): 4117 (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent): 4118 (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint): 4119 (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints): 4120 (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded): 4121 (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint): 4122 (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint): 4123 (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest): 4124 (WebCore::InspectorDOMDebuggerAgent::clear): 4125 * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h. 4126 * inspector/InspectorInstrumentation.cpp: 4127 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 4128 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 4129 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 4130 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 4131 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 4132 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 4133 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 4134 * inspector/InstrumentingAgents.h: 4135 (WebCore::InstrumentingAgents::InstrumentingAgents): 4136 (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent): 4137 (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent): 4138 * inspector/WorkerInspectorController.cpp: 4139 (WebCore::WorkerInspectorController::connectFrontend): 4140 4141 2011-05-04 Yury Semikhatsky <yurys (a] chromium.org> 4142 4143 Reviewed by Pavel Feldman. 4144 4145 Web Inspector: show only Console and Scripts panels in worker inspector front-end 4146 https://bugs.webkit.org/show_bug.cgi?id=60159 4147 4148 * inspector/front-end/WorkerManager.js: 4149 (WebInspector.WorkerManager.isWorkerFrontend): 4150 * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end. 4151 4152 2011-05-03 Hans Wennborg <hans (a] chromium.org> 4153 4154 Reviewed by Steve Block. 4155 4156 IndexedDB: Unit tests for LevelDB key coding functions 4157 https://bugs.webkit.org/show_bug.cgi?id=59692 4158 4159 Fix some embarrassing bugs uncovered by unit tests. 4160 4161 No new functionality, but this is now covered by unit tests in the Chromium WebKit port. 4162 4163 * storage/IDBLevelDBCoding.cpp: 4164 (WebCore::IDBLevelDBCoding::decodeInt): 4165 (WebCore::IDBLevelDBCoding::decodeVarInt): 4166 4167 2011-05-05 Young Han Lee <joybro (a] company100.net> 4168 4169 Reviewed by Csaba Osztrogonc. 4170 4171 [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled. 4172 https://bugs.webkit.org/show_bug.cgi?id=60251 4173 4174 No new tests. Build fix. 4175 4176 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: 4177 (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper): 4178 4179 2011-05-04 Jay Civelli <jcivelli (a] chromium.org> 4180 4181 Reviewed by Adam Barth. 4182 4183 Adding a utility class to read a SharedBuffer line by line. 4184 https://bugs.webkit.org/show_bug.cgi?id=59946 4185 4186 * CMakeLists.txt: 4187 * GNUmakefile.list.am: 4188 * WebCore.gypi: 4189 * WebCore.pro: 4190 * WebCore.vcproj/WebCore.vcproj: 4191 * WebCore.xcodeproj/project.pbxproj: 4192 * platform/SharedBufferCRLFLineReader.cpp: Added. 4193 * platform/SharedBufferCRLFLineReader.h: Added. 4194 4195 2011-05-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 4196 4197 Unreviewed, rolling out r85788. 4198 http://trac.webkit.org/changeset/85788 4199 https://bugs.webkit.org/show_bug.cgi?id=60250 4200 4201 svg/text/text-block-child-crash.xhtml asserts (Requested by 4202 Ossy on #webkit). 4203 4204 * css/CSSStyleSelector.cpp: 4205 (WebCore::CSSStyleSelector::applyProperty): 4206 4207 2011-05-04 Ryosuke Niwa <rniwa (a] webkit.org> 4208 4209 Reviewed by Eric Seidel. 4210 4211 Make more member functions in EventHandler private 4212 https://bugs.webkit.org/show_bug.cgi?id=60200 4213 4214 Reduced the number of public member functions in EventHandler. 4215 4216 * WebCore.exp.in: 4217 * page/EventHandler.cpp: 4218 (WebCore::EventHandler::handleAutoscroll): 4219 (WebCore::EventHandler::autoscrollTimerFired): 4220 (WebCore::EventHandler::stopAutoscrollTimer): 4221 (WebCore::EventHandler::handleMousePressEvent): 4222 (WebCore::EventHandler::handleMouseMoveEvent): 4223 (WebCore::EventHandler::keyEvent): 4224 (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult): 4225 * page/EventHandler.h: 4226 (WebCore::EventHandler::mouseDownMayStartSelect): 4227 4228 2011-05-04 James Robinson <jamesr (a] chromium.org> 4229 4230 Reviewed by Kenneth Russell. 4231 4232 [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat 4233 https://bugs.webkit.org/show_bug.cgi?id=60202 4234 4235 In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check. This switches 4236 the order back and adds a regression test. 4237 4238 Test: compositing/repaint/transform-style-change.html 4239 4240 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 4241 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 4242 4243 2011-05-04 Cris Neckar <cdn (a] chromium.org> 4244 4245 Reviewed by Adam Barth. 4246 4247 Expose WebView directly through ChromeClient. 4248 https://bugs.webkit.org/show_bug.cgi?id=49902 4249 4250 Test: fast/media/media-svg-crash.html 4251 4252 * loader/EmptyClients.h: 4253 (WebCore::EmptyChromeClient::webView): 4254 * page/ChromeClient.h: 4255 * page/brew/ChromeClientBrew.h: 4256 (WebCore::ChromeClientBrew::webView): 4257 4258 2011-05-04 Joseph Pecoraro <joepeck (a] webkit.org> 4259 4260 Reviewed by Darin Adler. 4261 4262 Unable to Paste After Deleting Text from Input due to -webkit-user-select 4263 https://bugs.webkit.org/show_bug.cgi?id=60219 4264 4265 When deleting all the text inside the input a placeholder <br> 4266 element was inserted for the selection point. However, when 4267 pasting, the test run computes the -webkit-user-select for the 4268 <br> element, instead of what would be the text inside the 4269 <input> and incorrectly disallows selection and prevented 4270 the paste. 4271 4272 Test: editing/pasteboard/paste-placeholder-input.html 4273 4274 * editing/ReplaceSelectionCommand.cpp: 4275 (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip 4276 <br> elements above us as those are likely placeholder elements. 4277 4278 2011-05-04 Fridrich Strba <fridrich.strba (a] bluewin.ch> 4279 4280 Reviewed by Martin Robinson. 4281 4282 Windows build of WebKit GTK needs to be able to find SystemInfo.h 4283 https://bugs.webkit.org/show_bug.cgi?id=60221 4284 4285 * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched 4286 for headers, since Source/WebCore/platform/win/SystemInfo.h 4287 header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp 4288 on Windows. 4289 4290 2011-05-04 Vangelis Kokkevis <vangelis (a] chromium.org> 4291 4292 Reviewed by Kenneth Russell. 4293 4294 [chromium] Improve sorting of layers in hierarchies that preserve-3d 4295 by testing for overlapping regions between layer pairs and doing a 4296 topological sort to determine the right order. 4297 https://bugs.webkit.org/show_bug.cgi?id=59255 4298 4299 Test: platform/chromium/compositing/perpendicular-layer-sorting.html 4300 4301 * WebCore.gypi: 4302 * platform/graphics/chromium/LayerRendererChromium.cpp: 4303 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 4304 * platform/graphics/chromium/LayerRendererChromium.h: 4305 * platform/graphics/chromium/cc/CCLayerImpl.h: 4306 (WebCore::CCLayerImpl::clearRenderSurface): 4307 * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added. 4308 (WebCore::perpProduct): 4309 (WebCore::innerProduct): 4310 (WebCore::pointInColinearEdge): 4311 (WebCore::edgeEdgeTest): 4312 (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector): 4313 (WebCore::CCLayerSorter::LayerIntersector::go): 4314 (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest): 4315 (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest): 4316 (WebCore::CCLayerSorter::LayerIntersector::checkZDiff): 4317 (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint): 4318 (WebCore::CCLayerSorter::CCLayerSorter): 4319 (WebCore::CCLayerSorter::checkOverlap): 4320 (WebCore::CCLayerSorter::createGraphNodes): 4321 (WebCore::CCLayerSorter::createGraphEdges): 4322 (WebCore::CCLayerSorter::removeEdgeFromList): 4323 (WebCore::CCLayerSorter::sort): 4324 * platform/graphics/chromium/cc/CCLayerSorter.h: Added. 4325 (WebCore::CCLayerSorter::GraphNode::GraphNode): 4326 (WebCore::CCLayerSorter::GraphEdge::GraphEdge): 4327 4328 2011-05-03 Jer Noble <jer.noble (a] apple.com> 4329 4330 Reviewed by Antti Koivisto. 4331 4332 Safari: Video at apple.com cannot play at full screen mode with layout distortion 4333 https://bugs.webkit.org/show_bug.cgi?id=60140 4334 4335 Because a fullscreen element may be in a stacking context with a lower z-index than 4336 a sibling stacking context, those higher contexts would sometimes "pop" through the 4337 full screen renderer. To facilitate eliminating all the stacking contexts aside from 4338 the full screen renderer, added a new pseudo-class specific to video or audio full 4339 screen elements. Then, added a new UA rule which resets the z-index and opacities of 4340 all elements under said pseudo-class to auto and 1 respectively. To facilitate quick 4341 identity checking of HTMLMediaElements, added isMediaElement() virtual function to 4342 Element and HTMLMediaElement. 4343 4344 Test: fullscreen/full-screen-stacking-context.html 4345 4346 * css/CSSSelector.cpp: 4347 (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument. 4348 (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument. 4349 (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument. 4350 * css/CSSSelector.h: Add PseudoFullScreenMediaDocument. 4351 * css/CSSStyleSelector.cpp: 4352 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument. 4353 * css/fullscreen.css: 4354 (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names, 4355 which were missing the -webkit prefix. 4356 (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added. 4357 * dom/Element.h: 4358 (WebCore::Element::isMediaElement): Added, returns false. 4359 * html/HTMLMediaElement.h: 4360 (WebCore::HTMLMediaElement::isMediaElement): Added, returns true. 4361 * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT. 4362 4363 2011-05-04 Levi Weintraub <leviw (a] chromium.org> 4364 4365 Reviewed by Eric Seidel. 4366 4367 Split findNextLineBreak into a LineBreaker class 4368 https://bugs.webkit.org/show_bug.cgi?id=60209 4369 4370 Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking 4371 nearly no state, but subsequent patches will move some of the local variables used throughout 4372 the nextLineBreak function into member variables to simplify breaking off helper functions from 4373 the bloated function. 4374 4375 No new tests since this is just moving code around. 4376 4377 * WebCore.xcodeproj/project.pbxproj: 4378 * rendering/RenderBlock.h: 4379 (WebCore::RenderBlock::LineBreaker::LineBreaker): 4380 (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor. 4381 (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto. 4382 (WebCore::RenderBlock::LineBreaker::clear): Ditto. 4383 * rendering/RenderBlockLineLayout.cpp: 4384 (WebCore::RenderBlock::layoutRunsAndFloats): 4385 (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace): 4386 (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): 4387 (WebCore::RenderBlock::LineBreaker::reset): 4388 (WebCore::RenderBlock::LineBreaker::nextLineBreak): 4389 4390 2011-05-04 Fridrich Strba <fridrich.strba (a] bluewin.ch> 4391 4392 Reviewed by Adam Barth. 4393 4394 Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf. 4395 The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain. 4396 https://bugs.webkit.org/show_bug.cgi?id=58579 4397 4398 * dom/XMLDocumentParserLibxml2.cpp: 4399 (WebCore::XMLDocumentParser::error): 4400 4401 2011-05-04 Alexis Menard <alexis.menard (a] openbossa.org> 4402 4403 Unreviewed warning fix. 4404 4405 The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid 4406 a warning in Release build. 4407 4408 * dom/Node.cpp: 4409 (WebCore::Node::removeEventListener): 4410 * platform/DateComponents.cpp: 4411 (WebCore::DateComponents::parseTime): 4412 * rendering/RenderLayer.cpp: 4413 (WebCore::RenderLayer::convertToLayerCoords): 4414 * storage/StorageMap.cpp: 4415 (WebCore::StorageMap::importItem): 4416 * svg/SVGUseElement.cpp: 4417 (WebCore::SVGUseElement::buildShadowTree): 4418 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 4419 4420 2011-05-04 Alexis Menard <alexis.menard (a] openbossa.org> 4421 4422 Unreviewed warning fix. 4423 4424 The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid 4425 a warning in Release build. 4426 4427 * accessibility/AccessibilityRenderObject.cpp: 4428 (WebCore::lastChildConsideringContinuation): 4429 4430 2011-05-04 Dimitri Glazkov <dglazkov (a] chromium.org> 4431 4432 Sort xcodeproj files. 4433 4434 The WebCore.xcodeproj got out of sorts again. 4435 4436 * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file. 4437 4438 2011-05-04 Alexis Menard <alexis.menard (a] openbossa.org> 4439 4440 Reviewed by Adam Barth. 4441 4442 Warning fix. 4443 4444 * bindings/js/DOMObjectHashTableMap.h: 4445 (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): 4446 4447 2011-05-04 Rob Buis <rbuis (a] rim.com> 4448 4449 Reviewed by Darin Adler. 4450 4451 NULL deref when SVG elements have table styles 4452 https://bugs.webkit.org/show_bug.cgi?id=45561 4453 4454 Restrict computed CSS values for SVG display property to block, inline or none. 4455 4456 Tests: svg/custom/display-table-caption-foreignObject.svg 4457 svg/custom/display-table-caption-inherit-foreignObject.xhtml 4458 svg/custom/display-table-caption-inherit-text.xhtml 4459 svg/custom/display-table-caption-text.svg 4460 4461 * css/CSSStyleSelector.cpp: 4462 (WebCore::CSSStyleSelector::applyProperty): 4463 4464 2011-05-04 Tao Bai <michaelbai (a] chromium.org> 4465 4466 Reviewed by David Kilzer. 4467 4468 Populate touch-icon url to FrameLoaderClient 4469 https://bugs.webkit.org/show_bug.cgi?id=59143 4470 4471 Parsed and populated apple-touch-icon url to FrameLoaderClient. 4472 Changed favicon to be a type of icon. 4473 4474 * CMakeLists.txt: 4475 * Configurations/FeatureDefines.xcconfig: 4476 * GNUmakefile.am: 4477 * GNUmakefile.list.am: 4478 * WebCore.gypi: 4479 * WebCore.vcproj/WebCore.vcproj: 4480 * WebCore.xcodeproj/project.pbxproj: 4481 * dom/Document.cpp: 4482 (WebCore::Document::iconURL): 4483 (WebCore::Document::setIconURL): 4484 * dom/Document.h: 4485 * dom/IconURL.cpp: Added. 4486 (WebCore::toIconIndex): 4487 * dom/IconURL.h: Added. 4488 (WebCore::IconURL::IconURL): 4489 * features.pri: 4490 * html/HTMLLinkElement.cpp: 4491 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 4492 (WebCore::HTMLLinkElement::process): 4493 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): 4494 * html/HTMLLinkElement.h: 4495 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): 4496 (WebCore::HTMLLinkElement::isEnabledViaScript): 4497 * html/parser/HTMLPreloadScanner.cpp: 4498 (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet): 4499 * loader/DocumentLoader.cpp: 4500 (WebCore::DocumentLoader::iconURL): 4501 (WebCore::DocumentLoader::setIconURL): 4502 * loader/DocumentLoader.h: 4503 * loader/EmptyClients.h: 4504 (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons): 4505 * loader/FrameLoader.cpp: 4506 (WebCore::FrameLoader::iconURL): 4507 (WebCore::FrameLoader::iconURLs): 4508 (WebCore::FrameLoader::fillIconURL): 4509 (WebCore::FrameLoader::getDefaultIconURL): 4510 (WebCore::FrameLoader::setIconURL): 4511 (WebCore::FrameLoader::didChangeIcons): 4512 * loader/FrameLoader.h: 4513 * loader/FrameLoaderClient.h: 4514 4515 2011-05-04 Chris Marrin <cmarrin (a] apple.com> 4516 4517 Reviewed by Simon Fraser. 4518 4519 Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer 4520 https://bugs.webkit.org/show_bug.cgi?id=60191 4521 4522 Skip replaceSublayer when there is no superlayer rather than asserting. 4523 This is probably not a problem and happens when restructuring the layer 4524 tree. Avoiding this crash will allow us to get more testing. 4525 4526 * platform/graphics/ca/GraphicsLayerCA.cpp: 4527 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 4528 4529 2011-05-04 Martin Robinson <mrobinson (a] igalia.com> 4530 4531 Reviewed by Gustavo Noronha Silva. 4532 4533 Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme 4534 method, just use extern declarations to avoid having to declare it in the header. 4535 This will prevent having to include glib.h in RenderThemeGtk.h, which is included 4536 in many C++ files. 4537 4538 No new tests. This is just a build fix. 4539 4540 * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType. 4541 (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): 4542 (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): 4543 (WebCore::RenderThemeGtk::paintCapsLockIndicator): 4544 (WebCore::RenderThemeGtk::paintMediaButton): 4545 * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and 4546 gtkEntry() public because they are now accessed externally from getStockIcon(). 4547 * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls. 4548 (WebCore::getStockIconForWidgetType): 4549 * platform/gtk/RenderThemeGtk3.cpp: Ditto. 4550 (WebCore::getStockIconForWidgetType): 4551 4552 2011-05-04 Mark Pilgrim <pilgrim (a] chromium.org> 4553 4554 Reviewed by Tony Chang. 4555 4556 IndexedDB open (database) should fail if name is null 4557 https://bugs.webkit.org/show_bug.cgi?id=60022 4558 4559 Test: storage/indexeddb/mozilla/open-database-null-name.html 4560 4561 Combination problem: Bug in IDL didn't pass null values to .cpp layer, 4562 then .cpp layer didn't check for null value anyway. 4563 4564 * storage/IDBFactory.cpp: 4565 (WebCore::IDBFactory::open): check for null name 4566 * storage/IDBFactory.idl: pass null name as null 4567 4568 2011-05-04 Jer Noble <jer.noble (a] apple.com> 4569 4570 Reviewed by Darin Adler. 4571 4572 Entering full screen fails >= second time on Vimeo.com. 4573 https://bugs.webkit.org/show_bug.cgi?id=60143 4574 4575 Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called. 4576 Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer 4577 at the end of an animation, if it determined that the RenderFullScreen would still require 4578 a layer even when not animating. 4579 4580 * rendering/RenderFullScreen.cpp: 4581 (RenderFullScreen::setAnimating): Clear the renderer's layer. 4582 4583 2011-05-04 Simon Fraser <simon.fraser (a] apple.com> 4584 4585 Reviewed by Darin Adler. 4586 4587 Avoid allocating a new image buffer in ~CanvasRenderingContext2D() 4588 https://bugs.webkit.org/show_bug.cgi?id=59849 4589 4590 When attempting to unwind the graphics state stack in the 4591 CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement 4592 to create a new ImageBuffer. 4593 4594 * html/HTMLCanvasElement.cpp: 4595 (WebCore::HTMLCanvasElement::existingDrawingContext): 4596 * html/HTMLCanvasElement.h: 4597 * html/canvas/CanvasRenderingContext2D.cpp: 4598 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D): 4599 4600 2011-05-04 Andrey Kosyakov <caseq (a] chromium.org> 4601 4602 Reviewed by Yury Semikhatsky. 4603 4604 Web Inspector: expose shadow DOM in the Elements panel 4605 https://bugs.webkit.org/show_bug.cgi?id=60160 4606 4607 Test: inspector/elements/shadow-dom.html 4608 4609 * dom/Element.cpp: 4610 (WebCore::Element::ensureShadowRoot): 4611 (WebCore::Element::removeShadowRoot): 4612 * inspector/Inspector.json: 4613 * inspector/InspectorDOMAgent.cpp: 4614 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 4615 (WebCore::InspectorDOMAgent::buildObjectForNode): 4616 (WebCore::InspectorDOMAgent::didInsertDOMNode): 4617 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 4618 (WebCore::InspectorDOMAgent::isContainerNode): 4619 * inspector/InspectorDOMAgent.h: 4620 * inspector/front-end/DOMAgent.js: 4621 (WebInspector.DOMNode): 4622 (WebInspector.DOMNode.prototype.inShadowTree): 4623 (WebInspector.DOMNode.prototype._setShadowRootPayload): 4624 (WebInspector.DOMNode.prototype._renumber): 4625 (WebInspector.DOMAgent.prototype._bindNodes): 4626 (WebInspector.DOMAgent.prototype.querySelectorAll): 4627 (WebInspector.DOMAgent.prototype._shadowRootUpdated): 4628 (WebInspector.DOMDispatcher.prototype.searchResults): 4629 (WebInspector.DOMDispatcher.prototype.shadowRootUpdated): 4630 * inspector/front-end/ElementsPanel.js: 4631 (WebInspector.ElementsPanel): 4632 (WebInspector.ElementsPanel.prototype._nodeUpdated): 4633 (WebInspector.ElementsPanel.prototype._attributesUpdated): 4634 (WebInspector.ElementsPanel.prototype._nodeRemoved): 4635 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 4636 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 4637 * inspector/front-end/ElementsTreeOutline.js: 4638 (WebInspector.ElementsTreeElement): 4639 (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode): 4640 (WebInspector.ElementsTreeElement.prototype._updateChildren): 4641 (): 4642 * inspector/front-end/inspector.css: 4643 (#elements-content .dom-shadow-root): 4644 (.outline-disclosure li .webkit-html-tag.shadow): 4645 * inspector/front-end/utilities.js: 4646 4647 2011-05-03 Adam Roben <aroben (a] apple.com> 4648 4649 Remove an unnecessary OwnPtr equality check in XSLT code 4650 4651 Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error 4652 4653 Reviewed by Anders Carlsson and Antti Koivisto. 4654 4655 * dom/Document.cpp: 4656 (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are 4657 equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so 4658 we're safe.) 4659 4660 2011-05-04 Leandro Gracia Gil <leandrogracia (a] chromium.org> 4661 4662 Reviewed by Tony Gentilcore. 4663 4664 Media Stream API: add the skeleton of the frame and page controllers and the embedder client. 4665 https://bugs.webkit.org/show_bug.cgi?id=56922 4666 4667 Add the basic outlines of the page controller, the per-frame controller and the embedder 4668 client interface for the Media Stream API. Provide methods to handle the situations 4669 where a frame is detached from the page or transferred between pages. 4670 4671 Tests for the Media Stream API will be provided by the bug 56587. 4672 4673 * CMakeLists.txt: 4674 * GNUmakefile.list.am: 4675 * WebCore.gypi: 4676 * WebCore.pro: 4677 * WebCore.vcproj/WebCore.vcproj: 4678 * WebCore.xcodeproj/project.pbxproj: 4679 * page/Frame.cpp: 4680 (WebCore::Frame::Frame): 4681 (WebCore::Frame::~Frame): 4682 (WebCore::Frame::pageDestroyed): 4683 (WebCore::Frame::transferChildFrameToNewDocument): 4684 * page/Frame.h: 4685 (WebCore::Frame::mediaStreamFrameController): 4686 * page/MediaStreamClient.h: Added. 4687 (WebCore::MediaStreamClient::~MediaStreamClient): 4688 * page/MediaStreamController.cpp: Added. 4689 (WebCore::MediaStreamController::Request::Request): 4690 (WebCore::MediaStreamController::Request::localId): 4691 (WebCore::MediaStreamController::Request::frameController): 4692 (WebCore::MediaStreamController::MediaStreamController): 4693 (WebCore::MediaStreamController::~MediaStreamController): 4694 (WebCore::MediaStreamController::unregisterFrameController): 4695 (WebCore::MediaStreamController::registerRequest): 4696 * page/MediaStreamController.h: Added. 4697 * page/MediaStreamFrameController.cpp: Added. 4698 (WebCore::MediaStreamFrameController::Request::Request): 4699 (WebCore::MediaStreamFrameController::Request::~Request): 4700 (WebCore::MediaStreamFrameController::Request::scriptExecutionContext): 4701 (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest): 4702 (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest): 4703 (WebCore::MediaStreamFrameController::RequestMap::abort): 4704 (WebCore::MediaStreamFrameController::RequestMap::abortAll): 4705 (WebCore::MediaStreamFrameController::MediaStreamFrameController): 4706 (WebCore::MediaStreamFrameController::~MediaStreamFrameController): 4707 (WebCore::MediaStreamFrameController::securityOrigin): 4708 (WebCore::MediaStreamFrameController::scriptExecutionContext): 4709 (WebCore::MediaStreamFrameController::pageController): 4710 (WebCore::MediaStreamFrameController::enterDetachedState): 4711 (WebCore::MediaStreamFrameController::disconnectPage): 4712 (WebCore::MediaStreamFrameController::disconnectFrame): 4713 (WebCore::MediaStreamFrameController::transferToNewPage): 4714 * page/MediaStreamFrameController.h: Added. 4715 * page/Page.cpp: 4716 (WebCore::Page::Page): 4717 (WebCore::Page::PageClients::PageClients): 4718 * page/Page.h: 4719 (WebCore::Page::mediaStreamController): 4720 4721 2011-05-04 Alexander Pavlov <apavlov (a] chromium.org> 4722 4723 Reviewed by Yury Semikhatsky. 4724 4725 Web Inspector: Double-click in a read-only style rule results in a non-editable blank property 4726 https://bugs.webkit.org/show_bug.cgi?id=60150 4727 4728 * inspector/front-end/StylesSidebarPane.js: 4729 (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick): 4730 4731 2011-05-04 Dominic Battre <battre (a] chromium.org> 4732 4733 Reviewed by Tony Gentilcore. 4734 4735 Fix missing header in case SVG is disabled 4736 https://bugs.webkit.org/show_bug.cgi?id=60153 4737 4738 * dom/EventDispatcher.cpp: 4739 4740 2011-05-04 Luke Macpherson <macpherson (a] chromium.org> 4741 4742 Reviewed by Eric Seidel. 4743 4744 Rename CSSStyleApplyProperty::propertyValue and setPropertyValue. 4745 https://bugs.webkit.org/show_bug.cgi?id=60006 4746 4747 No new tests as no functionality added. Simple rename only. 4748 4749 * css/CSSStyleApplyProperty.cpp: 4750 Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler. 4751 * css/CSSStyleApplyProperty.h: 4752 Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler. 4753 4754 2011-05-04 Ryosuke Niwa <rniwa (a] webkit.org> 4755 4756 Reviewed by Eric Seidel. 4757 4758 Cleanup conditionals in findNextLineBreak 4759 https://bugs.webkit.org/show_bug.cgi?id=60117 4760 4761 Simplified conditional statements in findNextLineBreak. 4762 4763 * rendering/RenderBlockLineLayout.cpp: 4764 (WebCore::RenderBlock::findNextLineBreak): 4765 4766 2011-05-04 Luke Macpherson <macpherson (a] chromium.org> 4767 4768 Reviewed by Eric Seidel. 4769 4770 Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro. 4771 https://bugs.webkit.org/show_bug.cgi?id=60114 4772 4773 No new tests as no functionality changes. 4774 4775 * css/CSSStyleSelector.cpp: 4776 (WebCore::CSSStyleSelector::applyProperty): 4777 Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication. 4778 4779 2011-05-04 Caio Marcelo de Oliveira Filho <caio.oliveira (a] openbossa.org> 4780 4781 Reviewed by Andreas Kling. 4782 4783 [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method 4784 https://bugs.webkit.org/show_bug.cgi?id=59070 4785 4786 Applications using our API and our autotests subclass QNetworkReply as part of providing a 4787 custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes 4788 QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt 4789 4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737. 4790 4791 The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper 4792 watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply 4793 indicating that it is finished. When there's no finished signal (synchronous) we set the 4794 dynamic property once we get the reply. 4795 4796 This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not 4797 emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted. 4798 4799 * platform/network/qt/QNetworkReplyHandler.cpp: 4800 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 4801 Connect the finished signal to the new setFinished() slot. 4802 4803 (WebCore::QNetworkReplyWrapper::synchronousLoad): 4804 Since we don't get the finished signal for synchronous loads, set the dynamic property 4805 before processing it. 4806 4807 (WebCore::QNetworkReplyWrapper::resetConnections): 4808 Do not reset the connection to setFinished(). 4809 4810 (WebCore::QNetworkReplyWrapper::setFinished): 4811 Set the dynamic property in the reply. 4812 4813 (WebCore::QNetworkReplyWrapper::emitMetaDataChanged): 4814 (WebCore::QNetworkReplyHandler::start): 4815 Change to use wrapper's isFinished() instead of asking the reply directly. 4816 4817 * platform/network/qt/QNetworkReplyHandler.h: 4818 (WebCore::QNetworkReplyWrapper::isFinished): 4819 Checks the dynamic property of the reply. 4820 4821 * platform/network/qt/QtMIMETypeSniffer.cpp: 4822 (QtMIMETypeSniffer::sniff): 4823 Use the dynamic property to check if the reply is finished. 4824 4825 2011-05-04 Eric Seidel <eric (a] webkit.org> 4826 4827 Reviewed by Ryosuke Niwa. 4828 4829 Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats 4830 https://bugs.webkit.org/show_bug.cgi?id=60080 4831 4832 No functional change, just moving code. 4833 4834 * rendering/RenderBlock.h: 4835 * rendering/RenderBlockLineLayout.cpp: 4836 (WebCore::RenderBlock::createLineBoxesFromBidiRuns): 4837 (WebCore::RenderBlock::layoutRunsAndFloats): 4838 4839 2011-05-04 Andreas Kling <andreas.kling (a] nokia.com> 4840 4841 Reviewed by Kenneth Rohde Christiansen. 4842 4843 [Qt] Remove unused function FontPlatformData::pixelSize() 4844 https://bugs.webkit.org/show_bug.cgi?id=60156 4845 4846 * platform/graphics/qt/FontPlatformData.h: 4847 (WebCore::FontPlatformData::pixelSize): Removed. 4848 4849 2011-05-04 Luke Macpherson <macpherson (a] chromium.org> 4850 4851 Reviewed by Darin Adler. 4852 4853 Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty() 4854 https://bugs.webkit.org/show_bug.cgi?id=60011 4855 4856 No new tests added as no functionality changed. 4857 4858 * css/CSSStyleSelector.cpp: 4859 (WebCore::CSSStyleSelector::applyProperty): 4860 Remove reundant check for auto table layout. 4861 4862 2011-05-04 Mihai Parparita <mihaip (a] chromium.org> 4863 4864 Reviewed by Darin Adler. 4865 4866 Remove double-free checks for bug 56124 4867 https://bugs.webkit.org/show_bug.cgi?id=60037 4868 4869 Antti's speculative fix for bug 56124 (r84151) appears to have worked, 4870 these CRASH() calls are not triggering anymore. 4871 4872 * css/CSSSelector.h: 4873 (WebCore::CSSSelector::CSSSelector): 4874 (WebCore::CSSSelector::~CSSSelector): 4875 * css/CSSSelectorList.cpp: 4876 (WebCore::CSSSelectorList::deleteSelectors): 4877 4878 2011-05-04 Satish Sampath <satish (a] chromium.org> 4879 4880 Reviewed by Tony Gentilcore. 4881 4882 Layout the speech input button to the left of outer spin button properly. 4883 https://bugs.webkit.org/show_bug.cgi?id=59742 4884 4885 * rendering/RenderTextControlSingleLine.cpp: 4886 (WebCore::RenderTextControlSingleLine::layout): 4887 4888 2011-05-04 Yury Semikhatsky <yurys (a] chromium.org> 4889 4890 Unreviewed. Build fix. 4891 4892 * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration 4893 4894 2011-05-03 Yury Semikhatsky <yurys (a] chromium.org> 4895 4896 Reviewed by Pavel Feldman. 4897 4898 Web Inspector: can't inspect element in an iframe when element originates from non-frame document 4899 https://bugs.webkit.org/show_bug.cgi?id=60031 4900 4901 Inspected object type evaluation has moved into native bindings. This way it doesn't 4902 depend on the current JS context. 4903 4904 Test: inspector/elements/elements-inspect-iframe-from-different-domain.html 4905 4906 * bindings/js/JSInjectedScriptHostCustom.cpp: 4907 (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish 4908 real undefined values from HTMLAllCollection 4909 (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed 4910 value 4911 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 4912 (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback): 4913 (WebCore::V8InjectedScriptHost::typeCallback): 4914 * inspector/InjectedScriptHost.idl: 4915 * inspector/InjectedScriptSource.js: 4916 (.): 4917 4918 2011-05-03 Pratik Solanki <psolanki (a] apple.com> 4919 4920 Reviewed by Antti Koivisto. 4921 4922 Part of WebCore should use CFNetwork-based loader on Mac 4923 https://bugs.webkit.org/show_bug.cgi?id=51836 4924 4925 Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean 4926 up some warnings and #if USE(CFNETWORK) around code. 4927 4928 * platform/mac/CookieJar.mm: 4929 * platform/network/CookieStorage.h: 4930 * platform/network/cf/CookieStorageCFNet.cpp: 4931 (WebCore::privateBrowsingCookieStorage): 4932 (WebCore::currentCookieStorage): 4933 (WebCore::setCurrentCookieStorage): 4934 (WebCore::setCookieStoragePrivateBrowsingEnabled): 4935 (WebCore::notifyCookiesChangedOnMainThread): 4936 (WebCore::notifyCookiesChanged): 4937 * platform/network/cf/CookieStorageCFNet.h: 4938 * platform/network/mac/CookieStorageMac.mm: 4939 4940 2011-05-03 Justin Novosad <junov (a] chromium.org> 4941 4942 Reviewed by Kenneth Russell. 4943 4944 [Chromium] Make accelerated 2d canvas enabled by default with skia 4945 https://bugs.webkit.org/show_bug.cgi?id=59929 4946 4947 No new tests. Covered by existing layout tests 4948 4949 * html/canvas/CanvasRenderingContext2D.cpp: 4950 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 4951 Initialized for accelerated canvas if either the accelerated2dCanvas 4952 or the legacyAccelerated2dCanvas flags are enabled 4953 * page/Page.cpp: 4954 (WebCore::Page::sharedGraphicsContext3D): 4955 This is where the code goes to implement the functionality for the 4956 legacy vs current acceleration paths for the 2D canvas. Currently, 4957 this is a no-op, and always select the legacy path. This is temporary 4958 until we are ready to sort the GPU layout tests (rebasline vs. bug) 4959 * page/Settings.cpp: Added new flage for legacyAccelerated2dCanvas 4960 (WebCore::Settings::Settings): 4961 (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled): 4962 * page/Settings.h: 4963 (WebCore::Settings::legacyAccelerated2dCanvasEnabled): 4964 4965 2011-04-29 Jer Noble <jer.noble (a] apple.com> 4966 4967 Reviewed by Eric Seidel. 4968 4969 Implement FULLSCREEN_API on Windows, Part 4: Enable it 4970 https://bugs.webkit.org/show_bug.cgi?id=59798 4971 4972 * WebCore.vcproj/WebCore.vcproj: Add missing full screen related 4973 files to the project. 4974 4975 2011-05-03 Alpha Lam <hclam (a] chromium.org> 4976 4977 Not reviewed. Build fix. 4978 4979 More places from 0 to nullptr. 4980 4981 * bindings/v8/V8Proxy.cpp: 4982 (WebCore::V8Proxy::precompileScript): 4983 * platform/graphics/chromium/LayerTilerChromium.cpp: 4984 (WebCore::LayerTilerChromium::create): 4985 * platform/graphics/gpu/BicubicShader.cpp: 4986 (WebCore::BicubicShader::create): 4987 * platform/graphics/gpu/ConvolutionShader.cpp: 4988 (WebCore::ConvolutionShader::create): 4989 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: 4990 (WebCore::LoopBlinnSolidFillShader::create): 4991 * platform/graphics/gpu/SolidFillShader.cpp: 4992 (WebCore::SolidFillShader::create): 4993 * platform/graphics/gpu/TexShader.cpp: 4994 (WebCore::TexShader::create): 4995 * platform/graphics/skia/PlatformContextSkia.cpp: 4996 (WebCore::PlatformContextSkia::~PlatformContextSkia): 4997 * platform/leveldb/LevelDBDatabase.cpp: 4998 (WebCore::LevelDBDatabase::createIterator): 4999 * platform/text/LocalizedNumberICU.cpp: 5000 (WebCore::createFormatterForCurrentLocale): 5001 5002 2011-05-03 Alpha Lam <hclam (a] chromium.org> 5003 5004 Not reviewed. Build fix. 5005 5006 Using nullptr instead of 0. This makes visual studio happy. 5007 5008 * storage/IDBTransactionBackendInterface.h: 5009 5010 2011-05-03 Luke Macpherson <macpherson (a] chromium.org> 5011 5012 Reviewed by Dimitri Glazkov. 5013 5014 Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects. 5015 https://bugs.webkit.org/show_bug.cgi?id=59774 5016 5017 No new tests required as on new functionality. 5018 5019 * css/CSSStyleApplyProperty.cpp: 5020 (WebCore::ApplyPropertyColor::applyValue): 5021 Added template parameter "inheritColorFromParent = false". 5022 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 5023 Use template parameter where appropriate. 5024 5025 2011-05-03 Dan Bernstein <mitz (a] apple.com> 5026 5027 Reviewed by Darin Adler. 5028 5029 <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust. 5030 5031 Added a pointer from FloatingObject to its originating line, if there is one, and made sure to 5032 dirty the line when the float is removed, instead of relying on the float always intersecting 5033 its originating line. 5034 5035 * rendering/RenderBlock.cpp: 5036 (WebCore::RenderBlock::removeFloatingObject): 5037 (WebCore::RenderBlock::removeFloatingObjectsBelow): 5038 (WebCore::RenderBlock::clearFloats): 5039 * rendering/RenderBlock.h: 5040 (WebCore::RenderBlock::FloatingObject::FloatingObject): 5041 * rendering/RenderBlockLineLayout.cpp: 5042 (WebCore::RenderBlock::appendFloatingObjectToLastLine): 5043 (WebCore::RenderBlock::layoutRunsAndFloats): 5044 (WebCore::RenderBlock::determineStartPosition): 5045 5046 2011-05-02 Jer Noble <jer.noble (a] apple.com> 5047 5048 Reviewed by Adam Roben. 5049 5050 Implement FULLSCREEN_API on Windows, Part 3: WebKit2 5051 https://bugs.webkit.org/show_bug.cgi?id=59845 5052 5053 Move WebFullScreenController into WebCore to facilitate code sharing between WebKit 5054 and WebKit2. WebFullScreenController now uses a Client class to request work on its 5055 behalf by WebKit and WebKit2. MediaPlayerPrivateFullscreenWindow now only creates a 5056 CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing 5057 problems, and because a CALayerHost is overkill if the window is only drawing black to 5058 its client area. 5059 5060 * WebCore.vcproj/WebCore.vcproj: 5061 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 5062 (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create 5063 m_layerHost in the constructor. 5064 (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost. 5065 (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost. 5066 (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is 5067 not present, fill the window with black in WM_PAINT. 5068 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h: 5069 * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp. 5070 * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h. 5071 * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h 5072 (WebCore::FullScreenControllerClient::~FullScreenControllerClient): 5073 5074 2011-05-03 Brady Eidson <beidson (a] apple.com> 5075 5076 Reviewed by Sam Weinig. 5077 5078 https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182> 5079 WK2 Icon Database should provide access to all image representations in the icon. 5080 5081 Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented: 5082 * platform/graphics/BitmapImage.h: 5083 * platform/graphics/Image.h: 5084 (WebCore::Image::getCGImageArray): 5085 * platform/graphics/cg/ImageCG.cpp: 5086 (WebCore::BitmapImage::getCGImageArray): 5087 5088 2011-05-03 Ryosuke Niwa <rniwa (a] webkit.org> 5089 5090 Reviewed by Eric Seidel. 5091 5092 findNextLineBreak splits InlineIterator into 3 pieces 5093 https://bugs.webkit.org/show_bug.cgi?id=60082 5094 5095 Avoid splitting InlineIterator into 3 variables with inter-dependencies. 5096 5097 * rendering/InlineIterator.h: 5098 (WebCore::InlineIterator::fastIncrementInTextNode): Added. 5099 (WebCore::InlineIterator::previousInSameNode): Added. 5100 * rendering/RenderBlockLineLayout.cpp: 5101 (WebCore::RenderBlock::findNextLineBreak): 5102 5103 2011-05-03 Dean Jackson <dino (a] apple.com> 5104 5105 Reviewed by Simon Fraser. 5106 5107 Interrupted transitions are not correctly removed 5108 https://bugs.webkit.org/show_bug.cgi?id=60062 5109 5110 CompositeAnimation was replacing any existing 5111 transition as a new one was created. However, it wasn't 5112 clearing the lists in AnimationControllerPrivate that 5113 signal when a hardware animation starts. Rather than 5114 simple removing the existing transition, we now tell 5115 AnimationControllerPrivate that is has gone. 5116 5117 Test: transitions/3d/interrupted-transition.html 5118 5119 * page/animation/CompositeAnimation.cpp: 5120 (WebCore::CompositeAnimation::updateTransitions): 5121 5122 2011-05-03 Enrica Casucci <enrica (a] apple.com> 5123 5124 Reviewed by Ryosuke Niwa. 5125 5126 Crash in SpellingCorrectionController::respondToChangedSelection. 5127 https://bugs.webkit.org/show_bug.cgi?id=60071 5128 <rdar://problem/9358190> 5129 5130 Creating a Visible position could trigger a layout and there is no 5131 guarantee that the selection is still valid after that. 5132 5133 Tests: editing/selection/undo-crash.html 5134 5135 * editing/SpellingCorrectionController.cpp: 5136 (WebCore::SpellingCorrectionController::respondToChangedSelection): 5137 5138 2011-05-03 Levi Weintraub <leviw (a] chromium.org> 5139 5140 Reviewed by Eric Seidel. 5141 5142 Refactor computeInlineDirectionPositionsForLine into smaller functions 5143 https://bugs.webkit.org/show_bug.cgi?id=60072 5144 5145 Split three functions off from computeInlineDirectionPositionsForLine 5146 to improve its readability. 5147 5148 No new tests since this is just moving code around. 5149 5150 * rendering/RenderBlock.h: 5151 * rendering/RenderBlockLineLayout.cpp: 5152 (WebCore::RenderBlock::setMarginsForRubyRun): 5153 (WebCore::setLogicalWidthForTextRun): 5154 (WebCore::computeExpansionForJustifiedText): 5155 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 5156 5157 2011-05-03 David Kilzer <ddkilzer (a] apple.com> 5158 5159 <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking 5160 5161 Reviewed by Antti Koivisto. 5162 5163 * platform/network/cf/ResourceRequestCFNet.cpp: 5164 (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the 5165 priority on the request if HTTP pipelining is enabled. 5166 (WebCore::ResourceRequest::doUpdateResourceRequest): Read the 5167 priority from the request if HTTP pipelining is enabled. 5168 (readBooleanPreference): Enable code when compiling with 5169 USE(CFNETWORK). 5170 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto. 5171 Comment out setting the minimum fast lane priority on Windows 5172 since it's not currently available. 5173 5174 2011-05-03 Simon Fraser <simon.fraser (a] apple.com> 5175 5176 Reviewed by Dan Bernstein. 5177 5178 <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on 5179 5180 Conditionalize compositing tiled layer size-constraining logic to older 5181 OSes. 5182 5183 * platform/graphics/ca/GraphicsLayerCA.cpp: 5184 (WebCore::GraphicsLayerCA::constrainedSize): 5185 5186 2011-05-03 Roland Steiner <rolandsteiner (a] chromium.org> 5187 5188 Reviewed by Dimitri Glazkov. 5189 5190 Allow access keys to be used in shadow DOM 5191 https://bugs.webkit.org/show_bug.cgi?id=59979 5192 5193 Move access key methods and members back to Document from TreeScope. 5194 Also traverse into shadow trees when building the access key map. 5195 5196 No new tests. (refactoring) 5197 5198 * dom/Document.cpp: 5199 (WebCore::Document::Document): 5200 (WebCore::Document::getElementByAccessKey): 5201 (WebCore::Document::buildAccessKeyMap): 5202 (WebCore::Document::invalidateAccessKeyMap): 5203 * dom/Document.h: 5204 * dom/TreeScope.cpp: 5205 (WebCore::TreeScope::TreeScope): 5206 (WebCore::TreeScope::destroyTreeScopeData): 5207 * dom/TreeScope.h: 5208 5209 2011-05-03 Dan Bernstein <mitz (a] apple.com> 5210 5211 Reviewed by Darin Adler. 5212 5213 <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text 5214 https://bugs.webkit.org/show_bug.cgi?id=60067 5215 5216 No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree. 5217 5218 * rendering/RenderText.cpp: 5219 (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here, 5220 and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right 5221 results for flipped writing modes. 5222 5223 2011-05-03 Anton Muhin <antonm (a] chromium.org> 5224 5225 Reviewed by Yury Semikhatsky. 5226 5227 [v8] remove an ASSERT from grouping logic 5228 https://bugs.webkit.org/show_bug.cgi?id=60024 5229 5230 This ASSERT was exploratory. Alas, right now I am aware of no easy way to 5231 repro it. Removing for now for greener bots. 5232 5233 No new tests, only an ASSERT removal. 5234 5235 * bindings/v8/V8GCController.cpp: 5236 (WebCore::calculateGroupId): 5237 5238 2011-05-03 Ryosuke Niwa <rniwa (a] webkit.org> 5239 5240 Reviewed by Darin Adler. 5241 5242 WebKit allows selection that crosses the shadow boundary of a readonly input element 5243 https://bugs.webkit.org/show_bug.cgi?id=60000 5244 5245 The bug was caused by VisibleSelection's not validating shadow DOM boundaries. 5246 Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries, 5247 in its validation process. 5248 5249 Tests: editing/selection/select-across-readonly-input-1.html 5250 editing/selection/select-across-readonly-input-2.html 5251 editing/selection/select-across-readonly-input-3.html 5252 editing/selection/select-across-readonly-input-4.html 5253 editing/selection/select-across-readonly-input-5.html 5254 5255 * editing/VisibleSelection.cpp: 5256 (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries. 5257 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added. 5258 * editing/VisibleSelection.h: 5259 5260 2011-05-03 Eric Seidel <eric (a] webkit.org> 5261 5262 Reviewed by Ryosuke Niwa. 5263 5264 Split out layoutRunsAndFloats from layoutInlineChildren 5265 https://bugs.webkit.org/show_bug.cgi?id=60052 5266 5267 No new tests, just moving code here. There should be 5268 no change in behavior. 5269 5270 * rendering/RenderBlock.h: 5271 * rendering/RenderBlockLineLayout.cpp: 5272 (WebCore::RenderBlock::layoutRunsAndFloats): 5273 (WebCore::RenderBlock::layoutInlineChildren): 5274 5275 2011-05-03 James Robinson <jamesr (a] chromium.org> 5276 5277 Reviewed by Kenneth Russell. 5278 5279 [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled 5280 https://bugs.webkit.org/show_bug.cgi?id=59965 5281 5282 Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions. 5283 5284 Test: fast/canvas/canvas-resize-after-paint.html 5285 5286 * html/canvas/CanvasRenderingContext2D.cpp: 5287 (WebCore::CanvasRenderingContext2D::reset): 5288 Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing 5289 DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions. 5290 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 5291 (WebCore::Canvas2DLayerChromium::setLayerRenderer): 5292 Add a null check for m_drawingBuffer 5293 * platform/graphics/gpu/DrawingBuffer.cpp: 5294 (WebCore::DrawingBuffer::clear): 5295 Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so 5296 this is unnecessary. 5297 5298 2011-05-03 Adam Roben <aroben (a] apple.com> 5299 5300 Fix most strict PassOwnPtr violations on Windows 5301 5302 Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr 5303 enabled 5304 5305 Reviewed by Anders Carlsson. 5306 5307 * loader/EmptyClients.h: 5308 * platform/GeolocationService.cpp: 5309 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 5310 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 5311 * platform/mock/GeolocationServiceMock.cpp: 5312 * rendering/RenderTheme.cpp: 5313 * rendering/RenderThemeSafari.cpp: 5314 5315 2011-05-03 Levi Weintraub <leviw (a] chromium.org> 5316 5317 Reviewed by Eric Seidel. 5318 5319 Extract LineInfo class 5320 https://bugs.webkit.org/show_bug.cgi?id=60044 5321 5322 Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant 5323 layout information about a line. This simplifies function signatures and clears up initialization. 5324 5325 No new tests as this is refactoring. 5326 5327 * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo. 5328 * rendering/RenderBlockLineLayout.cpp: 5329 (WebCore::LineInfo::LineInfo): 5330 (WebCore::LineInfo::isFirstLine): 5331 (WebCore::LineInfo::isLastLine): 5332 (WebCore::LineInfo::isEmpty): 5333 (WebCore::LineInfo::previousLineBrokeCleanly): 5334 (WebCore::LineInfo::setFirstLine): 5335 (WebCore::LineInfo::setLastLine): 5336 (WebCore::LineInfo::setEmpty): 5337 (WebCore::LineInfo::setPreviousLineBrokeCleanly): 5338 (WebCore::RenderBlock::createLineBoxes): 5339 (WebCore::RenderBlock::constructLine): 5340 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 5341 (WebCore::RenderBlock::layoutInlineChildren): 5342 (WebCore::RenderBlock::determineStartPosition): 5343 (WebCore::skipNonBreakingSpace): 5344 (WebCore::shouldCollapseWhiteSpace): 5345 (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp 5346 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): 5347 (WebCore::RenderBlock::skipTrailingWhitespace): 5348 (WebCore::RenderBlock::skipLeadingWhitespace): 5349 (WebCore::RenderBlock::findNextLineBreak): 5350 5351 2011-05-03 Roland Steiner <rolandsteiner (a] chromium.org> 5352 5353 Reviewed by Dimitri Glazkov. 5354 5355 Update node list cache count on the containing TreeScope rather than the Document 5356 https://bugs.webkit.org/show_bug.cgi?id=59983 5357 5358 Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope. 5359 Move updating of the node list cache count from setDocument() to setTreeScopeRecursively(). 5360 Make setDocument() and setDocumentRecursively() private. 5361 5362 No new tests. (refactoring) 5363 5364 * dom/ContainerNode.cpp: 5365 (WebCore::ContainerNode::childrenChanged): 5366 * dom/Node.cpp: 5367 (WebCore::Node::~Node): 5368 (WebCore::Node::setDocument): 5369 (WebCore::Node::setTreeScopeRecursively): 5370 (WebCore::Node::childNodes): 5371 (WebCore::Node::registerDynamicNodeList): 5372 (WebCore::Node::unregisterDynamicNodeList): 5373 (WebCore::Node::notifyLocalNodeListsAttributeChanged): 5374 (WebCore::Node::notifyLocalNodeListsChildrenChanged): 5375 (WebCore::Node::getElementsByTagName): 5376 (WebCore::Node::getElementsByTagNameNS): 5377 (WebCore::Node::getElementsByName): 5378 (WebCore::Node::getElementsByClassName): 5379 * dom/Node.h: 5380 * html/HTMLFormControlElement.cpp: 5381 (WebCore::HTMLFormControlElement::labels): 5382 5383 2011-05-03 Ryosuke Niwa <rniwa (a] webkit.org> 5384 5385 Reviewed by Eric Seidel. 5386 5387 Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class 5388 https://bugs.webkit.org/show_bug.cgi?id=60046 5389 5390 Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes. 5391 5392 * rendering/RenderBlockLineLayout.cpp: 5393 (WebCore::TrailingObjects::TrailingObjects): 5394 (WebCore::TrailingObjects::setTrailingWhitespace): 5395 (WebCore::TrailingObjects::clear): 5396 (WebCore::TrailingObjects::appendBoxIfNeeded): 5397 (WebCore::TrailingObjects::addMidpoints): 5398 (WebCore::RenderBlock::findNextLineBreak): 5399 5400 2011-05-03 Igor Oliveira <igor.oliveira (a] openbossa.org> 5401 5402 Reviewed by Eric Seidel. 5403 5404 [Qt] Implement initial support to DataTransferItems 5405 https://bugs.webkit.org/show_bug.cgi?id=58448 5406 5407 Implement initial support to DataTransferItems. DataTransferItems are used to 5408 hold data for drag and drop operations. DataTransferItems hold a list of 5409 DataTransferItem objects each of which holds an item being dragged. 5410 5411 * WebCore.pro: 5412 * dom/DataTransferItems.idl: 5413 * editing/qt/EditorQt.cpp: 5414 (WebCore::Editor::newGeneralClipboard): 5415 * page/qt/EventHandlerQt.cpp: 5416 (WebCore::EventHandler::createDraggingClipboard): 5417 * platform/chromium/DataTransferItemsChromium.h: 5418 * platform/qt/ClipboardQt.cpp: 5419 (WebCore::Clipboard::create): 5420 (WebCore::ClipboardQt::ClipboardQt): 5421 (WebCore::ClipboardQt::items): 5422 * platform/qt/ClipboardQt.h: 5423 (WebCore::ClipboardQt::create): 5424 * platform/qt/DataTransferItemQt.cpp: Added. 5425 (WebCore::DataTransferItem::create): 5426 (WebCore::DataTransferItemQt::createFromPasteboard): 5427 (WebCore::DataTransferItemQt::create): 5428 (WebCore::DataTransferItemQt::DataTransferItemQt): 5429 (WebCore::DataTransferItemQt::getAsString): 5430 (WebCore::DataTransferItemQt::getAsFile): 5431 * platform/qt/DataTransferItemQt.h: Added. 5432 * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp. 5433 (WebCore::DataTransferItemsQt::create): 5434 (WebCore::DataTransferItemsQt::DataTransferItemsQt): 5435 (WebCore::DataTransferItemsQt::addPasteboardItem): 5436 * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp. 5437 5438 2011-05-03 Julien Chaffraix <jchaffraix (a] codeaurora.org> 5439 5440 Reviewed by Dimitri Glazkov. 5441 5442 Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot* 5443 https://bugs.webkit.org/show_bug.cgi?id=58703 5444 5445 No new tests, refactoring only. 5446 5447 * dom/Element.cpp: 5448 (WebCore::Element::copyNonAttributeProperties): 5449 (WebCore::Element::insertedIntoDocument): 5450 (WebCore::Element::removedFromDocument): 5451 (WebCore::Element::insertedIntoTree): 5452 (WebCore::Element::removedFromTree): 5453 (WebCore::Element::attach): 5454 (WebCore::Element::detach): 5455 (WebCore::Element::recalcStyle): 5456 (WebCore::Element::shadowRoot): 5457 (WebCore::Element::ensureShadowRoot): 5458 (WebCore::Element::childrenChanged): 5459 * dom/Node.cpp: 5460 (WebCore::Node::setTreeScopeRecursively): 5461 (WebCore::shadowRoot): 5462 (WebCore::Node::setDocumentRecursively): 5463 (WebCore::NodeRendererFactory::findVisualParent): 5464 Updated all the call sites for shadowRoot and ensureShadowRoot in the 2 5465 previous classes. 5466 5467 * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*. 5468 5469 * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore. 5470 5471 * html/HTMLDetailsElement.cpp: 5472 * html/HTMLSummaryElement.cpp: 5473 Added #include for ShadowRoot.h. 5474 5475 2011-05-03 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 5476 5477 Reviewed by Kenneth Rohde Christiansen. 5478 5479 [EFL] Implement mediaSliderTrack 5480 https://bugs.webkit.org/show_bug.cgi?id=59998 5481 5482 Implement paintMediaSliderTrack. 5483 5484 * platform/efl/RenderThemeEfl.cpp: 5485 (WebCore::RenderThemeEfl::RenderThemeEfl): 5486 (WebCore::RenderThemeEfl::paintMediaSliderTrack): 5487 * platform/efl/RenderThemeEfl.h: 5488 5489 2011-05-03 Mikhail Naganov <mnaganov (a] chromium.org> 5490 5491 Reviewed by Pavel Feldman. 5492 5493 WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles. 5494 https://bugs.webkit.org/show_bug.cgi?id=60023 5495 5496 * inspector/front-end/DetailedHeapshotGridNodes.js: 5497 (WebInspector.HeapSnapshotConstructorNode): 5498 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): 5499 * inspector/front-end/HeapSnapshot.js: 5500 (WebInspector.HeapSnapshot.prototype.dispose): 5501 (WebInspector.HeapSnapshot.prototype.aggregates): 5502 (WebInspector.HeapSnapshot.prototype._buildAggregates): 5503 (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes): 5504 (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass): 5505 (WebInspector.HeapSnapshotFilteredOrderedIterator): 5506 (WebInspector.HeapSnapshotNodesProvider): 5507 * inspector/front-end/HeapSnapshotProxy.js: 5508 (WebInspector.HeapSnapshotProxy.prototype.aggregates): 5509 (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass): 5510 5511 2011-05-03 Mikhail Naganov <mnaganov (a] chromium.org> 5512 5513 Reviewed by Pavel Feldman. 5514 5515 WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked. 5516 https://bugs.webkit.org/show_bug.cgi?id=60029 5517 5518 * English.lproj/localizedStrings.js: 5519 * inspector/front-end/DetailedHeapshotView.js: 5520 (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset): 5521 (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid): 5522 5523 2011-05-03 Beth Dakin <bdakin (a] apple.com> 5524 5525 Reviewed by Dan Bernstein. 5526 5527 https://bugs.webkit.org/show_bug.cgi?id=60045 5528 Scrollbar thumb sometimes leaves artifacts in the track after scrolling 5529 -and corresponding- 5530 <rdar://problem/9015376> 5531 5532 When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should 5533 always be ignored. 5534 * platform/mac/ScrollbarThemeMac.mm: 5535 (WebCore::updateArrowPlacement): 5536 5537 2011-05-03 David Hyatt <hyatt (a] apple.com> 5538 5539 Reviewed by Dan Bernstein. 5540 5541 https://bugs.webkit.org/show_bug.cgi?id=60040 5542 <rdar://problem/9261591> 5543 5544 Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does 5545 a translation of a 0,0 point to absolute coordinates so that the top left position is 5546 accurate. 5547 5548 Added fast/inline/skipped-whitespace-client-rect.html 5549 5550 * rendering/RenderInline.cpp: 5551 (WebCore::RenderInline::culledInlineAbsoluteQuads): 5552 5553 2011-05-03 Sam Weinig <sam (a] webkit.org> 5554 5555 Fix chromium build. 5556 5557 * page/Settings.cpp: 5558 5559 2011-05-02 Roland Steiner <rolandsteiner (a] chromium.org> 5560 5561 Reviewed by Dimitri Glazkov. 5562 5563 Bug 59974 - Update image map on the containing TreeScope rather than the Document 5564 https://bugs.webkit.org/show_bug.cgi?id=59974 5565 5566 No new tests. (reefactoring) 5567 5568 * html/HTMLMapElement.cpp: 5569 (WebCore::HTMLMapElement::parseMappedAttribute): 5570 (WebCore::HTMLMapElement::insertedIntoDocument): 5571 (WebCore::HTMLMapElement::removedFromDocument): 5572 * rendering/RenderImage.cpp: 5573 (WebCore::RenderImage::imageMap): 5574 5575 2011-05-03 Sam Weinig <sam (a] webkit.org> 5576 5577 Fix chromium build. 5578 5579 * loader/HistoryController.cpp: 5580 5581 2011-05-02 Roland Steiner <rolandsteiner (a] chromium.org> 5582 5583 Reviewed by Dimitri Glazkov. 5584 5585 Bug 59966 - Update ID hash on the containing TreeScope rather than the Document 5586 https://bugs.webkit.org/show_bug.cgi?id=59966 5587 5588 No new tests. (refactoring) 5589 5590 * accessibility/AccessibilityRenderObject.cpp: 5591 (WebCore::AccessibilityRenderObject::elementsFromAttribute): 5592 (WebCore::AccessibilityRenderObject::activeDescendant): 5593 * accessibility/AccessibilityRenderObject.h: 5594 (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject): 5595 * css/CSSCursorImageValue.cpp: 5596 (WebCore::resourceReferencedByCursorElement): 5597 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): 5598 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): 5599 (WebCore::CSSCursorImageValue::cachedImage): 5600 * dom/DynamicNodeList.cpp: 5601 (WebCore::DynamicNodeList::itemWithName): 5602 * dom/Element.h: 5603 (WebCore::Element::updateId): 5604 * dom/Node.cpp: 5605 (WebCore::Node::querySelector): 5606 * html/FormAssociatedElement.cpp: 5607 (WebCore::FormAssociatedElement::insertedIntoTree): 5608 (WebCore::FormAssociatedElement::resetFormOwner): 5609 * html/HTMLInputElement.cpp: 5610 (WebCore::HTMLInputElement::dataList): 5611 * html/HTMLLabelElement.cpp: 5612 (WebCore::HTMLLabelElement::control): 5613 * rendering/svg/RenderSVGTextPath.cpp: 5614 (WebCore::RenderSVGTextPath::layoutPath): 5615 * svg/SVGAElement.cpp: 5616 (WebCore::SVGAElement::defaultEventHandler): 5617 * svg/SVGAltGlyphElement.cpp: 5618 (WebCore::SVGAltGlyphElement::glyphElement): 5619 * svg/SVGFEImageElement.cpp: 5620 (WebCore::SVGFEImageElement::requestImageResource): 5621 (WebCore::SVGFEImageElement::build): 5622 * svg/SVGLinearGradientElement.cpp: 5623 (WebCore::SVGLinearGradientElement::collectGradientAttributes): 5624 * svg/SVGMPathElement.cpp: 5625 (WebCore::SVGMPathElement::pathElement): 5626 * svg/SVGPatternElement.cpp: 5627 (WebCore::SVGPatternElement::collectPatternAttributes): 5628 * svg/SVGRadialGradientElement.cpp: 5629 (WebCore::SVGRadialGradientElement::collectGradientAttributes): 5630 * svg/SVGSVGElement.cpp: 5631 (WebCore::SVGSVGElement::getElementById): 5632 * svg/SVGTRefElement.cpp: 5633 (WebCore::SVGTRefElement::updateReferencedText): 5634 * svg/SVGTextPathElement.cpp: 5635 (WebCore::SVGTextPathElement::insertedIntoDocument): 5636 * svg/SVGUseElement.cpp: 5637 (WebCore::SVGUseElement::buildPendingResource): 5638 (WebCore::SVGUseElement::hasCycleUseReferencing): 5639 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 5640 * svg/SVGViewSpec.cpp: 5641 (WebCore::SVGViewSpec::viewTarget): 5642 * svg/animation/SVGSMILElement.cpp: 5643 (WebCore::SVGSMILElement::eventBaseFor): 5644 (WebCore::SVGSMILElement::connectConditions): 5645 (WebCore::SVGSMILElement::targetElement): 5646 * xml/XPathFunctions.cpp: 5647 (WebCore::XPath::FunId::evaluate): 5648 5649 2011-05-03 Sam Weinig <sam (a] webkit.org> 5650 5651 Fix chromium build. 5652 5653 * css/StyleMedia.cpp: 5654 5655 2011-05-03 Sam Weinig <sam (a] webkit.org> 5656 5657 Reviewed by Anders Carlsson. 5658 5659 Prune #includes from FrameView.h (Part 1) 5660 https://bugs.webkit.org/show_bug.cgi?id=59957 5661 5662 * page/FrameView.h: 5663 Prune #includes. 5664 5665 * accessibility/chromium/AXObjectCacheChromium.cpp: 5666 * page/win/FrameCGWin.cpp: 5667 * platform/Scrollbar.cpp: 5668 Add not necessary #includes. 5669 5670 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 5671 Add now necessary forward declaration. 5672 5673 2011-05-03 Andrey Kosyakov <caseq (a] chromium.org> 5674 5675 Reviewed by Dimitri Glazkov. 5676 5677 [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE 5678 https://bugs.webkit.org/show_bug.cgi?id=60026 5679 5680 Return a wrapper for Node in toV8(Node*) when called with a node of type 5681 SHADOW_ROOT_NODE instead of entering infinite recursion. 5682 5683 * bindings/v8/custom/V8NodeCustom.cpp: 5684 (WebCore::toV8Slow): 5685 5686 2011-05-02 Adam Roben <aroben (a] apple.com> 5687 5688 Take advantage of implicit conversion from nullptr_t to PassOwnPtr 5689 5690 Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr 5691 doesn't work, but should 5692 5693 Reviewed by Adam Barth. 5694 5695 * bindings/js/ScheduledAction.cpp: 5696 * css/CSSStyleSelector.cpp: 5697 * css/MediaList.cpp: 5698 * css/MediaQueryMatcher.cpp: 5699 * css/SVGCSSStyleSelector.cpp: 5700 * dom/MessagePort.cpp: 5701 * html/InputType.cpp: 5702 * html/canvas/WebGLRenderingContext.cpp: 5703 * inspector/InspectorStyleSheet.cpp: 5704 * page/ContextMenuController.cpp: 5705 * page/Page.cpp: 5706 * platform/PlatformGestureRecognizer.cpp: 5707 * platform/PurgeableBuffer.h: 5708 * platform/graphics/ImageBuffer.h: 5709 * platform/leveldb/LevelDBDatabase.cpp: 5710 * platform/mac/PurgeableBufferMac.cpp: 5711 * platform/text/RegularExpression.cpp: 5712 * rendering/RenderTheme.cpp: 5713 * rendering/RenderThemeMac.mm: 5714 * rendering/style/RenderStyle.h: 5715 * rendering/style/SVGRenderStyleDefs.cpp: 5716 * rendering/style/ShadowData.cpp: 5717 * rendering/style/StyleRareInheritedData.cpp: 5718 * rendering/style/StyleRareNonInheritedData.cpp: 5719 * rendering/svg/RenderSVGResourcePattern.cpp: 5720 5721 2011-05-03 Pavel Feldman <pfeldman (a] google.com> 5722 5723 Not reviewed: fix inspector status bar image glyph reference in network panel. 5724 5725 * inspector/front-end/networkPanel.css: 5726 (.network-larger-resources-status-bar-item .glyph): 5727 5728 2011-05-03 Pavel Feldman <pfeldman (a] google.com> 5729 5730 Reviewed by Yury Semikhatsky. 5731 5732 Web Inspector: rename BrowserDebugger agent to DOMDebugger. 5733 https://bugs.webkit.org/show_bug.cgi?id=60019 5734 5735 * inspector/CodeGeneratorInspector.pm: 5736 * inspector/Inspector.json: 5737 * inspector/InspectorController.cpp: 5738 (WebCore::InspectorController::connectFrontend): 5739 * inspector/front-end/BreakpointsSidebarPane.js: 5740 (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): 5741 (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): 5742 (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): 5743 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint): 5744 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint): 5745 * inspector/generate-inspector-idl: 5746 5747 2011-05-03 Yury Semikhatsky <yurys (a] chromium.org> 5748 5749 Reviewed by Pavel Feldman. 5750 5751 Web Inspector: remove special logic for type of document.__proto__ 5752 https://bugs.webkit.org/show_bug.cgi?id=60014 5753 5754 Test: inspector/console/console-log-document-proto.html 5755 5756 * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined 5757 5758 2011-05-03 Pavel Feldman <pfeldman (a] google.com> 5759 5760 Not reviewed: fixed typo in inspector style. 5761 5762 * inspector/front-end/inspector.css: 5763 (.status-bar-item > .glyph): 5764 5765 2011-05-03 Pavel Feldman <pfeldman (a] chromium.org> 5766 5767 Reviewed by Yury Semikhatsky. 5768 5769 Web Inspector: revision history storage is too slow. 5770 https://bugs.webkit.org/show_bug.cgi?id=59939 5771 5772 It turns out that iterating localStorage keys is very 5773 expensive (results in slow inspector start), refactor revision 5774 history in order not to rely upon that operation. 5775 5776 * inspector/front-end/Resource.js: 5777 (WebInspector.Resource): 5778 (WebInspector.Resource._resourceRevisionRegistry): 5779 (WebInspector.Resource.restoreRevisions.persist): 5780 (WebInspector.Resource.restoreRevisions): 5781 (WebInspector.Resource.persistRevision): 5782 (WebInspector.Resource.prototype._persistRevision): 5783 * inspector/front-end/ResourceTreeModel.js: 5784 (WebInspector.ResourceTreeModel.prototype._processCachedResources): 5785 (WebInspector.ResourceTreeModel.prototype._frameNavigated): 5786 5787 2011-05-03 Pavel Feldman <pfeldman (a] chromium.org> 5788 5789 Reviewed by Yury Semikhatsky. 5790 5791 Web Inspector: combine toolbar icon images. 5792 https://bugs.webkit.org/show_bug.cgi?id=59931 5793 5794 * WebCore.gypi: 5795 * inspector/front-end/Images/auditsIcon.png: Removed. 5796 * inspector/front-end/Images/consoleIcon.png: Removed. 5797 * inspector/front-end/Images/elementsIcon.png: Removed. 5798 * inspector/front-end/Images/networkIcon.png: Removed. 5799 * inspector/front-end/Images/profilesIcon.png: Removed. 5800 * inspector/front-end/Images/resourcesIcon.png: Removed. 5801 * inspector/front-end/Images/scriptsIcon.png: Removed. 5802 * inspector/front-end/Images/timelineIcon.png: Removed. 5803 * inspector/front-end/Images/toolbarIcons.png: Added. 5804 * inspector/front-end/Images/toolbarIconsSmall.png: Added. 5805 * inspector/front-end/WebKit.qrc: 5806 * inspector/front-end/inspector.css: 5807 (.toolbar-icon): 5808 (#toolbar-dropdown .toolbar-icon): 5809 (.toolbar-item:active .toolbar-icon): 5810 (#toolbar-dropdown .toolbar-item:active .toolbar-icon): 5811 (.toolbar-item.elements .toolbar-icon): 5812 (.toolbar-item.resources .toolbar-icon): 5813 (#toolbar-dropdown .toolbar-item.resources .toolbar-icon): 5814 (.toolbar-item.network .toolbar-icon): 5815 (#toolbar-dropdown .toolbar-item.network .toolbar-icon): 5816 (.toolbar-item.scripts .toolbar-icon): 5817 (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon): 5818 (.toolbar-item.timeline .toolbar-icon): 5819 (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon): 5820 (.toolbar-item.profiles .toolbar-icon): 5821 (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon): 5822 (.toolbar-item.audits .toolbar-icon): 5823 (#toolbar-dropdown .toolbar-item.audits .toolbar-icon): 5824 (.toolbar-item.console .toolbar-icon): 5825 (#toolbar-dropdown .toolbar-item.console .toolbar-icon): 5826 (.status-bar-item > .glyph): 5827 5828 2011-05-03 Pavel Feldman <pfeldman (a] chromium.org> 5829 5830 Reviewed by Yury Semikhatsky. 5831 5832 Web Inspector: combine status bar button glyphs. 5833 https://bugs.webkit.org/show_bug.cgi?id=59885 5834 5835 * WebCore.gypi: 5836 * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed. 5837 * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed. 5838 * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed. 5839 * inspector/front-end/Images/consoleButtonGlyph.png: Removed. 5840 * inspector/front-end/Images/dockButtonGlyph.png: Removed. 5841 * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed. 5842 * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed. 5843 * inspector/front-end/Images/excludeButtonGlyph.png: Removed. 5844 * inspector/front-end/Images/focusButtonGlyph.png: Removed. 5845 * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed. 5846 * inspector/front-end/Images/gearButtonGlyph.png: Removed. 5847 * inspector/front-end/Images/helpButtonGlyph.png: Removed. 5848 * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed. 5849 * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed. 5850 * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed. 5851 * inspector/front-end/Images/percentButtonGlyph.png: Removed. 5852 * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed. 5853 * inspector/front-end/Images/recordButtonGlyph.png: Removed. 5854 * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed. 5855 * inspector/front-end/Images/reloadButtonGlyph.png: Removed. 5856 * inspector/front-end/Images/statusBarButtonGlyphs.png: Added. 5857 * inspector/front-end/Images/undockButtonGlyph.png: Removed. 5858 * inspector/front-end/WebKit.qrc: 5859 * inspector/front-end/inspector.css: 5860 (.status-bar-item > .glyph): 5861 (#dock-status-bar-item .glyph): 5862 (body.detached #dock-status-bar-item .glyph): 5863 (#console-status-bar-item .glyph): 5864 (.clear-status-bar-item .glyph): 5865 (button.enable-toggle-status-bar-item .glyph): 5866 (button.enable-toggle-status-bar-item.toggled-on .glyph): 5867 (.scripts-pause-on-exceptions-status-bar-item .glyph): 5868 (.scripts-toggle-pretty-print-status-bar-item .glyph): 5869 (.toggle-breakpoints .glyph): 5870 (.toggle-breakpoints.toggled-on .glyph): 5871 (.resources-larger-resources-status-bar-item .glyph): 5872 (.timeline-filter-status-bar-item .glyph): 5873 (.garbage-collect-status-bar-item .glyph): 5874 (.record-profile-status-bar-item .glyph): 5875 (.record-profile-status-bar-item.toggled-on .glyph): 5876 (.heap-snapshot-status-bar-item .glyph): 5877 (.node-search-status-bar-item .glyph): 5878 (.percent-time-status-bar-item .glyph): 5879 (.focus-profile-node-status-bar-item .glyph): 5880 (.exclude-profile-node-status-bar-item .glyph): 5881 (.reset-profile-status-bar-item .glyph): 5882 (.delete-storage-status-bar-item .glyph): 5883 (.refresh-storage-status-bar-item .glyph): 5884 * inspector/front-end/inspector.js: 5885 5886 2011-05-02 Simon Fraser <simon.fraser (a] apple.com> 5887 5888 Reviewed by Dan Bernstein. 5889 5890 Possible crash when removing elements with reflections 5891 https://bugs.webkit.org/show_bug.cgi?id=60009 5892 5893 RenderLayer's destructor deleted its z-order list Vector pointers 5894 before removing the reflection layer. However, the reflection cleanup 5895 code could call back into the RenderLayer to dirty z-order lists, 5896 so move reflection cleanup to before z-order vector deletion. 5897 5898 The test crashes when run manually a few times with MallocScribble enabled, 5899 but I was not able to create a test that crashed reliably. 5900 5901 Test: fast/reflections/remove-reflection-crash.html 5902 5903 * rendering/RenderLayer.cpp: 5904 (WebCore::RenderLayer::~RenderLayer): 5905 5906 2011-05-02 Ian Henderson <ianh (a] apple.com> 5907 5908 Reviewed by Dan Bernstein. 5909 5910 CSS !important not respected by JavaScript 5911 https://bugs.webkit.org/show_bug.cgi?id=60007 5912 5913 The addParsedProperty and addParsedProperties methods were subtly 5914 different. The former did not check for !important before setting the 5915 given property. 5916 5917 Change addParsedProperties to call addParsedProperty and move the 5918 relevant code. The one other caller of this method, in 5919 editing/markup.cpp, probably wanted this behavior anyway. 5920 5921 Test: fast/css/important-js-override.html 5922 5923 * css/CSSMutableStyleDeclaration.cpp: 5924 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 5925 (WebCore::CSSMutableStyleDeclaration::addParsedProperty): 5926 5927 2011-05-02 Ben Wells <benwells (a] chromium.org> 5928 5929 Reviewed by Simon Fraser. 5930 5931 Cleanup variable usage in RenderObject.cpp paintOutline() 5932 https://bugs.webkit.org/show_bug.cgi?id=59911 5933 5934 No new tests for this, there should be no change in behaviour. 5935 5936 * rendering/RenderObject.cpp: 5937 (WebCore::RenderObject::paintOutline): 5938 5939 2011-05-02 Ryosuke Niwa <rniwa (a] webkit.org> 5940 5941 Reviewed by James Robinson. 5942 5943 REGRESSION(r84672): showTree doesn't work for input/textarea elements 5944 https://bugs.webkit.org/show_bug.cgi?id=60001 5945 5946 When shadow is null, try retrieving the inner element of a render text control. 5947 5948 * dom/Node.cpp: 5949 (WebCore::traverseTreeAndMark): 5950 5951 2011-05-02 Joseph Pecoraro <joepeck (a] webkit.org> 5952 5953 Reviewed by David Kilzer. 5954 5955 Respect fixed text-indent on ::-webkit-input-placeholder 5956 https://bugs.webkit.org/show_bug.cgi?id=59825 5957 5958 Test: fast/forms/input-placeholder-text-indent.html 5959 5960 * rendering/RenderTextControl.cpp: 5961 (WebCore::RenderTextControl::paintPlaceholder): indent by 5962 a fixed text-indent size specified on the placeholder style. 5963 5964 2011-05-02 Eric Uhrhane <ericu (a] chromium.org> 5965 5966 Reviewed by Eric Seidel. 5967 5968 Some FileWriter progress events should be queued 5969 https://bugs.webkit.org/show_bug.cgi?id=50846 5970 5971 * fileapi/FileWriter.cpp: 5972 * fileapi/FileWriter.h: 5973 Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events. 5974 5975 2011-05-02 Jia Pu <jpu (a] apple.com> 5976 5977 Reviewed by Alexey Proskuryakov. 5978 5979 [Mac] Need to truncate the string sent to "Look Up " menu item, if it's too long. 5980 https://bugs.webkit.org/show_bug.cgi?id=59836 5981 <rdar://problem/9275983> 5982 5983 * platform/DefaultLocalizationStrategy.cpp: 5984 (WebCore::truncatedStringForLookupMenuItem): 5985 (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary): 5986 5987 2011-05-02 Brady Eidson <beidson (a] apple.com> 5988 5989 Reviewed by Anders Carlsson. 5990 5991 <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973 5992 In Aperture, a WebView might be dealloc'ed before it finishes loading. 5993 5994 * WebCore.exp.in: 5995 * platform/RuntimeApplicationChecks.cpp: 5996 (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check. 5997 * platform/RuntimeApplicationChecks.h: 5998 5999 2011-05-02 Simon Fraser <simon.fraser (a] apple.com> 6000 6001 Reviewed by Dan Bernstein. 6002 6003 Avoid wasted cycles updating paths when popping the context stack 6004 https://bugs.webkit.org/show_bug.cgi?id=59967 6005 6006 CanvasRenderingContext2D has to map the current path through 6007 transforms whenever the context stack is popped, which creates 6008 a lot of platform path objects. Avoid extra work here when the 6009 path is empty, or when the transform is identity. 6010 6011 * platform/graphics/cg/PathCG.cpp: 6012 (WebCore::Path::transform): 6013 6014 2011-05-02 Enrica Casucci <enrica (a] apple.com> 6015 6016 Reviewed by Dan Bernstein. 6017 6018 Text does not split on white space when typing to the edge of window. 6019 https://bugs.webkit.org/show_bug.cgi?id=59968 6020 <rdar://problem/9112683> 6021 6022 Test: editing/inserting/typing-at-end-of-line.html 6023 6024 This is a regression introduced when we converted the line box tree to 6025 floating point in r78846. In findNextLineBreak, there was still one place where 6026 the character width was treated as int and truncated and we were inconsistent 6027 in the way we treated a character that did not fit entirely in the line. 6028 6029 * rendering/RenderBlockLineLayout.cpp: 6030 (WebCore::RenderBlock::findNextLineBreak): 6031 6032 2011-04-19 Adrienne Walker <enne (a] google.com> 6033 6034 Reviewed by James Robinson. 6035 6036 [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor 6037 https://bugs.webkit.org/show_bug.cgi?id=58907 6038 6039 Additionally, move the context save/restore logic to a place where it 6040 will reset the translation added in LayerTilerChromium. 6041 6042 Test: compositing/repaint/same-size-invalidation.html 6043 6044 * platform/graphics/chromium/ContentLayerChromium.cpp: 6045 (WebCore::ContentLayerPainter::paint): 6046 * platform/graphics/chromium/PlatformCanvas.cpp: 6047 (WebCore::PlatformCanvas::resize): 6048 (WebCore::PlatformCanvas::Painter::Painter): 6049 (WebCore::PlatformCanvas::Painter::~Painter): 6050 * platform/graphics/chromium/PlatformCanvas.h: 6051 6052 2011-05-02 Csaba Osztrogonc <ossy (a] webkit.org> 6053 6054 Enable strict OwnPtr for Qt 6055 https://bugs.webkit.org/show_bug.cgi?id=59667 6056 6057 Unreviewed buildfix after r85343. 6058 6059 * platform/graphics/qt/GraphicsContext3DQt.cpp: 6060 (WebCore::GraphicsContext3D::GraphicsContext3D): 6061 6062 2011-05-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 6063 6064 Unreviewed, rolling out r85483. 6065 http://trac.webkit.org/changeset/85483 6066 https://bugs.webkit.org/show_bug.cgi?id=59958 6067 6068 Causes media test failures. (Requested by eric_carlson on 6069 #webkit). 6070 6071 * html/HTMLMediaElement.cpp: 6072 (WebCore::HTMLMediaElement::HTMLMediaElement): 6073 (WebCore::HTMLMediaElement::prepareForLoad): 6074 (WebCore::HTMLMediaElement::seek): 6075 (WebCore::HTMLMediaElement::updatePlayState): 6076 * html/HTMLMediaElement.h: 6077 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 6078 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): 6079 (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): 6080 (WebCore::MediaPlayerPrivateAVFoundation::load): 6081 (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): 6082 (WebCore::MediaPlayerPrivateAVFoundation::paint): 6083 (WebCore::MediaPlayerPrivateAVFoundation::duration): 6084 (WebCore::MediaPlayerPrivateAVFoundation::seeking): 6085 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): 6086 (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame): 6087 (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): 6088 (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): 6089 (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): 6090 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): 6091 (WebCore::MediaPlayerPrivateAVFoundation::repaint): 6092 (WebCore::MediaPlayerPrivateAVFoundation::setPreload): 6093 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 6094 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 6095 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 6096 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): 6097 (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay): 6098 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): 6099 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): 6100 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): 6101 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): 6102 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): 6103 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): 6104 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): 6105 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): 6106 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): 6107 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): 6108 6109 2011-05-02 Adam Barth <abarth (a] webkit.org> 6110 6111 Reviewed by David Levin. 6112 6113 PLATFORM(MAC) should (almost!) build with strict PassOwnPtr 6114 https://bugs.webkit.org/show_bug.cgi?id=59924 6115 6116 * css/CSSGrammar.y: 6117 * platform/graphics/mac/SimpleFontDataMac.mm: 6118 - Memory management for the font cache is somewhat... complext. 6119 This will require some careful thought to sort out. 6120 6121 2011-05-02 Levi Weintraub <leviw (a] chromium.org> 6122 6123 Reviewed by Eric Seidel. 6124 6125 showLineTree/showLineTreeForThis would make working with the line box tree easier 6126 https://bugs.webkit.org/show_bug.cgi?id=59662 6127 6128 Adding a showLineTree/showLineTreeForThis method to help visualize and debug 6129 the line tree. Also adding a missing showRenderTreeForThis method to RenderObject. 6130 6131 No new tests since this is a debugging feature only and not compiled in release. 6132 6133 * rendering/InlineBox.cpp: 6134 (WebCore::InlineBox::showLineTreeForThis): 6135 (WebCore::InlineBox::showLineTreeAndMark): 6136 (WebCore::InlineBox::showBox): 6137 (showLineTree): 6138 * rendering/InlineBox.h: 6139 * rendering/InlineFlowBox.cpp: 6140 (WebCore::InlineFlowBox::showLineTreeAndMark): 6141 * rendering/InlineFlowBox.h: 6142 * rendering/InlineTextBox.cpp: 6143 (WebCore::InlineTextBox::showBox): 6144 * rendering/InlineTextBox.h: 6145 * rendering/RenderBlock.cpp: 6146 (WebCore::RenderBlock::showLineTreeAndMark): 6147 * rendering/RenderBlock.h: 6148 * rendering/RenderObject.cpp: 6149 (WebCore::RenderObject::showRenderTreeForThis): 6150 (WebCore::RenderObject::showLineTreeForThis): 6151 (showTree): 6152 (showLineTree): 6153 * rendering/RenderObject.h: 6154 6155 2011-05-02 Dimitri Glazkov <dglazkov (a] chromium.org> 6156 6157 Reviewed by Eric Carlson. 6158 6159 REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesnt play/pause 6160 https://bugs.webkit.org/show_bug.cgi?id=59917 6161 6162 Since default event handlers are not retargeted, we should always attempt ancestor 6163 traversal to find out whether the event. 6164 6165 * html/MediaDocument.cpp: 6166 (WebCore::ancestorVideoElement): Added ancestor-traversing helper. 6167 (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement. 6168 6169 2011-05-02 Sam Weinig <sam (a] webkit.org> 6170 6171 Attempt to fix the Leopard build. 6172 6173 * platform/graphics/FontPlatformData.h: 6174 * platform/graphics/mac/ComplexTextController.h: 6175 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 6176 * platform/mac/WebCoreSystemInterface.h: 6177 6178 2011-05-02 Tony Chang <tony (a] chromium.org> 6179 6180 Reviewed by Kent Tamura. 6181 6182 convert manual-tests/bugzilla-6821.html to a layout test 6183 https://bugs.webkit.org/show_bug.cgi?id=59404 6184 6185 Test: fast/css/hover-update.html 6186 6187 * manual-tests/bugzilla-6821.html: Removed. 6188 6189 2011-05-02 Sam Weinig <sam (a] webkit.org> 6190 6191 Reviewed by Anders Carlsson. 6192 6193 Prune ApplicationServices.h out of the headers 6194 https://bugs.webkit.org/show_bug.cgi?id=59952 6195 6196 More forward declares are better. 6197 6198 * html/canvas/CanvasRenderingContext2D.cpp: 6199 * html/canvas/CanvasRenderingContext2D.h: 6200 * platform/graphics/GlyphBuffer.h: 6201 * platform/graphics/cg/ImageBufferCG.cpp: 6202 * platform/graphics/cg/PDFDocumentImage.cpp: 6203 * platform/graphics/cg/PDFDocumentImage.h: 6204 * platform/graphics/mac/ComplexTextController.h: 6205 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 6206 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 6207 * platform/mac/ScrollAnimatorMac.h: 6208 * platform/mac/ScrollAnimatorMac.mm: 6209 * platform/mac/ScrollbarThemeMac.h: 6210 * platform/mac/ScrollbarThemeMac.mm: 6211 * platform/mac/WebCoreNSStringExtras.h: 6212 * platform/mac/WebCoreSystemInterface.h: 6213 6214 2011-05-02 Dan Bernstein <mitz (a] apple.com> 6215 6216 Reviewed by Simon Fraser. 6217 6218 <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables 6219 https://bugs.webkit.org/show_bug.cgi?id=58006 6220 6221 * rendering/RenderBox.cpp: 6222 (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for 6223 <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height 6224 table cell as the immediate containing block, but any case where all containing block ancestors 6225 up to and including a table cell are auto-or-percent height. 6226 6227 2011-05-02 Daniel Bates <dbates (a] webkit.org> 6228 6229 Reviewed by Sam Weinig. 6230 6231 Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails 6232 https://bugs.webkit.org/show_bug.cgi?id=59379 6233 6234 Move manual test onblur-remove.html to LayoutTests/fast/events. 6235 6236 Test: fast/events/onblur-remove.html 6237 6238 * manual-tests/onblur-remove.html: Removed. 6239 6240 2011-05-02 Sailesh Agrawal <sail (a] chromium.org> 6241 6242 Reviewed by Dimitri Glazkov. 6243 6244 Chromium Mac: Add scrollbar overlay drawing functions 6245 https://bugs.webkit.org/show_bug.cgi?id=59741 6246 6247 These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac. 6248 6249 No new tests, since this code is only enabled on future versions of Mac OS X. 6250 6251 * WebCore.gypi: 6252 * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added. 6253 * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added. 6254 (LookUpNSScrollerImpClass): 6255 (LookUpNSScrollerImpPairClass): 6256 (ScrollbarControlSizeToNSControlSize): 6257 (wkScrollbarPainterUsesOverlayScrollers): 6258 (wkScrollbarPainterIsHorizontal): 6259 (wkScrollbarPainterKnobAlpha): 6260 (wkScrollbarPainterSetOverlayState): 6261 (wkScrollbarPainterPaint): 6262 (wkScrollbarMinimumThumbLength): 6263 (wkScrollbarPainterSetDelegate): 6264 (wkScrollbarPainterTrackAlpha): 6265 (wkMakeScrollbarPainter): 6266 (wkScrollbarThickness): 6267 (wkScrollbarMinimumTotalLengthNeededForThumb): 6268 (wkVerticalScrollbarPainterForController): 6269 (wkHorizontalScrollbarPainterForController): 6270 (wkMakeScrollbarReplacementPainter): 6271 (wkSetPainterForPainterController): 6272 (wkSetScrollbarPainterControllerStyle): 6273 (wkScrollbarPainterKnobRect): 6274 (wkSetScrollbarPainterKnobAlpha): 6275 (wkSetScrollbarPainterTrackAlpha): 6276 (wkSetScrollbarPainterKnobStyle): 6277 (wkMakeScrollbarPainterController): 6278 (wkContentAreaScrolled): 6279 (wkContentAreaWillPaint): 6280 (wkMouseEnteredContentArea): 6281 (wkMouseExitedContentArea): 6282 (wkMouseMovedInContentArea): 6283 (wkWillStartLiveResize): 6284 (wkContentAreaResized): 6285 (wkWillEndLiveResize): 6286 (wkContentAreaDidShow): 6287 (wkContentAreaDidHide): 6288 (wkDidBeginScrollGesture): 6289 (wkDidEndScrollGesture): 6290 (wkScrollbarPainterForceFlashScrollers): 6291 (IsScrollbarOverlayAPIAvailable): 6292 6293 2011-05-02 Luke Macpherson <macpherson (a] chromium.org> 6294 6295 Reviewed by Dimitri Glazkov. 6296 6297 Implement Length based CSS properties in CSSStyleApplyProperty 6298 https://bugs.webkit.org/show_bug.cgi?id=59314 6299 6300 No new tests as no functionality changed. 6301 6302 * css/CSSStyleApplyProperty.cpp: 6303 (WebCore::ApplyPropertyLength::ApplyPropertyLength): 6304 Added this class to handle all length types. 6305 Property specific behavior is handled through set of boolean parameters. 6306 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 6307 Added calls to set up entries for the newly added length properties. 6308 * css/CSSStyleSelector.cpp: 6309 (WebCore::CSSStyleSelector::applyProperty): 6310 Remove property implementations mow implemented in CSSStyleApplyProperty. 6311 * css/CSSStyleSelector.h: 6312 (WebCore::CSSStyleSelector::rootElementStyle): 6313 Expose m_rootElementStyle via getter. 6314 6315 2011-05-02 Eric Carlson <eric.carlson (a] apple.com> 6316 6317 Reviewed by Eric Seidel. 6318 6319 HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA 6320 https://bugs.webkit.org/show_bug.cgi?id=59828 6321 6322 No new tests required, no functional change because seeking to time zero before playback 6323 begins has no effect. 6324 6325 * html/HTMLMediaElement.cpp: 6326 (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches 6327 HAVE_METADATA. 6328 6329 2011-05-02 Sam Weinig <sam (a] webkit.org> 6330 6331 Reviewed by Gavin Barraclough. 6332 6333 Fix extra whitespace in license in FocusDirection.h. 6334 6335 * page/FocusDirection.h: 6336 6337 2011-05-02 Sam Weinig <sam (a] webkit.org> 6338 6339 Reviewed by Adam Barth. 6340 6341 Prune some #includes from DOMWindow.h 6342 https://bugs.webkit.org/show_bug.cgi?id=59907 6343 6344 * page/DOMWindow.cpp: 6345 (WebCore::DOMWindow::setSecurityOrigin): 6346 * page/DOMWindow.h: 6347 Remove #includes of SecurityOrigin and MessagePort by forward declaring 6348 and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget 6349 #include that was getting added by MessagePort.h. 6350 6351 * bindings/js/JSCustomVoidCallback.cpp: 6352 * bindings/js/JSCustomXPathNSResolver.cpp: 6353 * bindings/js/JSDOMWindowCustom.h: 6354 * bindings/js/JSHistoryCustom.cpp: 6355 * bindings/js/ScriptController.h: 6356 * html/HTMLAnchorElement.cpp: 6357 * html/HTMLMediaElement.cpp: 6358 * html/parser/XSSFilter.cpp: 6359 * inspector/InspectorDOMStorageResource.cpp: 6360 * loader/MainResourceLoader.cpp: 6361 * page/DragController.cpp: 6362 * page/EventSource.cpp: 6363 * page/Location.cpp: 6364 * websockets/WebSocket.cpp: 6365 * xml/XSLTProcessorLibxslt.cpp: 6366 Add now missing SecurityOrigin.h #includes. 6367 6368 2011-05-02 Eric Carlson <eric.carlson (a] apple.com> 6369 6370 Reviewed by Brady Eidson. 6371 6372 The preload attribute of the video tag is not completely implemented 6373 https://bugs.webkit.org/show_bug.cgi?id=43673 6374 <rdar://problem/7508322> 6375 6376 Tested manually with manual-tests/media-elements/video-preload.html. 6377 6378 * html/HTMLMediaElement.cpp: 6379 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay. 6380 (WebCore::HTMLMediaElement::prepareForLoad): Ditto. 6381 (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play. 6382 (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata' 6383 because we need to have media data loaded to seek. 6384 (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay. 6385 * html/HTMLMediaElement.h: 6386 6387 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 6388 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Remove 6389 m_videoFrameHasDrawn and m_delayingLoad as they are no longer used. 6390 (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed. 6391 (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn. 6392 Move all preload logic to setPreload, call it from here. 6393 (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to 6394 setPreload, call it. 6395 (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is 6396 unlikely to be correct and isn't worth caching. 6397 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus 6398 to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is 6399 'metadata'. Set networkState to 'idle' when the playback buffer is full because that is 6400 a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA' 6401 when the first frame is available. 6402 (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache 6403 width, height, hasVideo, etc. 6404 (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done 6405 in derived classes. 6406 (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create 6407 AVAsset and AVPlayerItem here. 6408 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 6409 6410 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 6411 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 6412 (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize 6413 m_videoFrameHasDrawn. 6414 (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from 6415 videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or 6416 if we have painted a frame to the context. 6417 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset 6418 if necessary. 6419 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto. 6420 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic. 6421 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem. 6422 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging. 6423 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when 6424 the buffer is full. 6425 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the 6426 AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration 6427 when we only have metadata. 6428 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change. 6429 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn. 6430 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset 6431 when when we haven't allocated the AVPlayerItem yet so that we can report attributes 6432 when we only have metadata. 6433 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before 6434 we have allocated the AVPlayerItem. 6435 6436 2011-05-02 Philippe Normand <pnormand (a] igalia.com> 6437 6438 Reviewed by Martin Robinson. 6439 6440 [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24 6441 https://bugs.webkit.org/show_bug.cgi?id=59932 6442 6443 Use gdk_window_get_width() and gdk_window_get_height() if 6444 available, instead of the deprecated gdk_drawable_get_size(). 6445 6446 No new tests, build fix only. 6447 6448 * platform/gtk/WidgetRenderingContext.cpp: 6449 (WebCore::WidgetRenderingContext::WidgetRenderingContext): 6450 6451 2011-05-02 Eric Carlson <eric.carlson (a] apple.com> 6452 6453 Reviewed by Brady Eidson. 6454 6455 The preload attribute of the video tag is not completely implemented 6456 https://bugs.webkit.org/show_bug.cgi?id=43673 6457 <rdar://problem/7508322> 6458 6459 Test manually with manual-tests/media-elements/video-preload.html. 6460 6461 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 6462 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 6463 (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead" 6464 attribute when preload is not "auto". 6465 (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it. 6466 (WebCore::MediaPlayerPrivateQTKit::load): Correct comment. 6467 (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto'). 6468 (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have 6469 a QTMovie. 6470 6471 2011-05-02 Eric Carlson <eric.carlson (a] apple.com> 6472 6473 Reviewed by Brady Eidson. 6474 6475 The preload attribute of the video tag is not completely implemented 6476 https://bugs.webkit.org/show_bug.cgi?id=43673 6477 <rdar://problem/7508322> 6478 6479 Manual test manual-tests/media-elements/video-preload.html added. 6480 6481 * manual-tests/media-elements/video-preload.html: Added. New manual test for media element 6482 'preload' attribute because it is not possible to detect if a media engine supports 6483 "preload=metadata" in a way that lets us have per-platform layout test results. 6484 6485 2011-05-01 Abhishek Arya <inferno (a] chromium.org> 6486 6487 Reviewed by Eric Carlson. 6488 6489 Regression(r74787): Media document mouse click and double-click 6490 events should be checked on target node only and not its descendants. 6491 https://bugs.webkit.org/show_bug.cgi?id=59886 6492 6493 * html/MediaDocument.cpp: 6494 (WebCore::MediaDocument::defaultEventHandler): 6495 6496 2011-05-01 Adam Barth <abarth (a] webkit.org> 6497 6498 Reviewed by Eric Seidel. 6499 6500 Polish CSP host and port matching 6501 https://bugs.webkit.org/show_bug.cgi?id=59899 6502 6503 Finish last two details of host and port matching. I don't think the 6504 default port handling is testable with our current testing 6505 infrastructure. 6506 6507 Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html 6508 http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html 6509 6510 * page/ContentSecurityPolicy.cpp: 6511 (WebCore::CSPSource::hostMatches): 6512 (WebCore::CSPSource::portMatches): 6513 6514 2011-05-01 Adam Barth <abarth (a] webkit.org> 6515 6516 Reviewed by Eric Seidel. 6517 6518 CSP default-src is missing 6519 https://bugs.webkit.org/show_bug.cgi?id=58641 6520 6521 Add support for default-src. The default-src provides a default policy 6522 for every directive that sends in "-src". If the more-specific 6523 directive is present, it takes precedence. I also took this 6524 opportunity to refactor the internals of ContentSecurityPolicy a bit to 6525 reduce duplicate code. 6526 6527 Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html 6528 http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html 6529 http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html 6530 6531 * page/ContentSecurityPolicy.cpp: 6532 (WebCore::ContentSecurityPolicy::didReceiveHeader): 6533 (WebCore::ContentSecurityPolicy::checkEval): 6534 (WebCore::ContentSecurityPolicy::operativeDirective): 6535 (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation): 6536 (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation): 6537 (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation): 6538 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 6539 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 6540 (WebCore::ContentSecurityPolicy::allowInlineScript): 6541 (WebCore::ContentSecurityPolicy::allowInlineStyle): 6542 (WebCore::ContentSecurityPolicy::allowEval): 6543 (WebCore::ContentSecurityPolicy::allowScriptFromSource): 6544 (WebCore::ContentSecurityPolicy::allowObjectFromSource): 6545 (WebCore::ContentSecurityPolicy::allowChildFrameFromSource): 6546 (WebCore::ContentSecurityPolicy::allowImageFromSource): 6547 (WebCore::ContentSecurityPolicy::allowStyleFromSource): 6548 (WebCore::ContentSecurityPolicy::allowFontFromSource): 6549 (WebCore::ContentSecurityPolicy::allowMediaFromSource): 6550 (WebCore::ContentSecurityPolicy::addDirective): 6551 * page/ContentSecurityPolicy.h: 6552 6553 2011-05-01 Sam Weinig <sam (a] webkit.org> 6554 6555 Reviewed by Anders Carlsson. 6556 6557 Prune some unnecessary #includes 6558 https://bugs.webkit.org/show_bug.cgi?id=59895 6559 6560 Start getting rid of unnecessary #includes and forward declares. 6561 6562 * bindings/js/JSDOMBinding.h: 6563 * bindings/js/JSDOMWindowBase.h: 6564 * bindings/js/JSDOMWindowShell.h: 6565 * bindings/js/ScheduledAction.cpp: 6566 * bindings/js/ScriptController.cpp: 6567 * bindings/js/ScriptController.h: 6568 * bindings/js/ScriptDebugServer.cpp: 6569 * editing/Editor.h: 6570 * inspector/InspectorClient.cpp: 6571 * loader/FrameLoader.h: 6572 * loader/NavigationScheduler.h: 6573 * page/Console.cpp: 6574 * xml/XMLTreeViewer.cpp: 6575 * xml/XMLTreeViewer.h: 6576 6577 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6578 6579 [WIN] Unreviewed buildfix after r85434. 6580 6581 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 6582 (WebCore::MediaPlayerPrivate::createLayerForMovie): 6583 6584 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6585 6586 [WIN] Unreviewed buildfix after r85434. 6587 6588 * platform/graphics/win/QTMovieVisualContext.cpp: 6589 (QTMovieVisualContext::QTMovieVisualContext): Added missing header. 6590 6591 2011-05-01 Justin Schuh <jschuh (a] chromium.org> 6592 6593 Reviewed by Adam Barth. 6594 6595 History::stateObjectAdded should check origin via SecurityOrigin::canRequest 6596 https://bugs.webkit.org/show_bug.cgi?id=59840 6597 6598 Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html 6599 http/tests/navigation/replacestate-base-illegal.html 6600 http/tests/navigation/replacestate-base-legal.html 6601 6602 * page/History.cpp: 6603 (WebCore::History::stateObjectAdded): 6604 6605 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6606 6607 [WIN] Unreviewed buildfix after r85434. 6608 6609 * platform/graphics/win/QTMovieVisualContext.cpp: 6610 (QTMovieVisualContext::QTMovieVisualContext): 6611 6612 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6613 6614 Reviewed by Adam Barth. 6615 6616 [WINCE] Fix OwnPtr strict issues 6617 https://bugs.webkit.org/show_bug.cgi?id=59898 6618 6619 * page/wince/FrameWinCE.cpp: 6620 (WebCore::imageFromSelection): 6621 * platform/graphics/wince/FontPlatformData.cpp: 6622 (WebCore::FixedSizeFontData::create): 6623 (WebCore::FontPlatformPrivateData::FontPlatformData::hfont): 6624 (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle): 6625 (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle): 6626 * platform/graphics/wince/GraphicsContextWinCE.cpp: 6627 (WebCore::GraphicsContext::strokeArc): 6628 (WebCore::GraphicsContext::fillRect): 6629 (WebCore::GraphicsContext::clip): 6630 (WebCore::GraphicsContext::fillRoundedRect): 6631 (WebCore::GraphicsContext::drawRoundCorner): 6632 (WebCore::GraphicsContext::drawText): 6633 * platform/graphics/wince/ImageBufferWinCE.cpp: 6634 (WebCore::ImageBuffer::ImageBuffer): 6635 * platform/graphics/wince/ImageWinCE.cpp: 6636 (WebCore::BitmapImage::getHBITMAPOfSize): 6637 * platform/graphics/wince/SharedBitmap.cpp: 6638 (WebCore::SharedBitmap::SharedBitmap): 6639 6640 2011-05-01 Ryosuke Niwa <rniwa (a] webkit.org> 6641 6642 Reviewed by Eric Seidel. 6643 6644 Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent 6645 https://bugs.webkit.org/show_bug.cgi?id=59837 6646 6647 Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*) 6648 6649 * WebCore.exp.in: 6650 * page/EventHandler.h: 6651 * page/mac/EventHandlerMac.mm: 6652 6653 2011-05-01 Ryosuke Niwa <rniwa (a] webkit.org> 6654 6655 Reviewed by Eric Seidel. 6656 6657 Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm 6658 https://bugs.webkit.org/show_bug.cgi?id=59835 6659 6660 Moved currentKeyboardEvent. 6661 6662 * WebCore.exp.in: 6663 * page/EventHandler.h: 6664 * page/mac/EventHandlerMac.mm: 6665 6666 2011-05-01 ojab <ojab (a] ojab.ru> 6667 6668 Reviewed by Eric Seidel. 6669 6670 Fix build with --disable-video --enable-fullscreen-api 6671 https://bugs.webkit.org/show_bug.cgi?id=59698 6672 6673 * rendering/RenderTheme.h: 6674 (WebCore::RenderTheme::extraFullScreenStyleSheet): 6675 6676 2011-05-01 Jeff Timanus <twiz (a] chromium.org> 6677 6678 Reviewed by Eric Seidel. 6679 6680 Add solid-color checking to BitmapImage::checkForSolidColour in the skia port. 6681 https://bugs.webkit.org/show_bug.cgi?id=59041 6682 6683 Test:css2.1/t140201-c533-bgimage-00-a.html 6684 6685 * platform/graphics/Image.cpp: 6686 (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path. 6687 * platform/graphics/skia/ImageSkia.cpp: 6688 (WebCore::BitmapImage::checkForSolidColor): 6689 6690 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6691 6692 Reviewed by Adam Barth. 6693 6694 Fix OwnPtr strict issues in windows build 6695 https://bugs.webkit.org/show_bug.cgi?id=59878 6696 6697 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 6698 (WebCore::getDirtyRects): 6699 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 6700 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): 6701 * platform/graphics/win/WKCAImageQueue.cpp: 6702 (WebCore::WKCAImageQueue::WKCAImageQueue): 6703 * platform/win/CursorWin.cpp: 6704 (WebCore::createSharedCursor): 6705 * platform/win/PasteboardWin.cpp: 6706 (WebCore::Pasteboard::writeImage): 6707 6708 2011-05-01 Patrick Gansterer <paroga (a] webkit.org> 6709 6710 Reviewed by Eric Seidel. 6711 6712 Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap 6713 https://bugs.webkit.org/show_bug.cgi?id=59876 6714 6715 Also pass the size "as reference" instead of "as value". 6716 6717 * platform/graphics/GraphicsContext.h: 6718 * platform/graphics/win/FontCGWin.cpp: 6719 (WebCore::drawGDIGlyphs): 6720 * platform/graphics/win/GraphicsContextWin.cpp: 6721 (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): 6722 (WebCore::GraphicsContext::createWindowsBitmap): 6723 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 6724 (WebCore::MediaPlayerPrivate::paint): 6725 6726 2011-05-01 Emil A Eklund <eae (a] chromium.org> 6727 6728 Reviewed by Eric Seidel. 6729 6730 getComputedStyle() returns unitless values for some properties that require units 6731 https://bugs.webkit.org/show_bug.cgi?id=55111 6732 6733 Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective 6734 6735 Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html 6736 6737 * css/CSSComputedStyleDeclaration.cpp: 6738 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 6739 6740 2011-05-01 Young Han Lee <joybro (a] company100.net> 6741 6742 Reviewed by Eric Seidel. 6743 6744 Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2 6745 https://bugs.webkit.org/show_bug.cgi?id=59608 6746 6747 TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h 6748 6749 No new functionality, no new tests. 6750 6751 * platform/graphics/opengl/TextureMapperGL.cpp: 6752 (WebCore::TextureMapperGL::TextureMapperGL): 6753 6754 2011-05-01 Yael Aharon <yael.aharon (a] nokia.com> 6755 6756 Reviewed by Eric Seidel. 6757 6758 CSS3 nth-child(n) selector fails 6759 https://bugs.webkit.org/show_bug.cgi?id=56943 6760 6761 Regression from r75158. 6762 "n" is a valid parameter to nth() and should be allowed. 6763 6764 Test: fast/css/nth-child-n.html 6765 6766 * css/CSSParser.cpp: 6767 (WebCore::isValidNthToken): 6768 6769 2011-05-01 Pavel Feldman <pfeldman (a] chromium.org> 6770 6771 Not reviewed: address stack frame scriptName -> url rename in timeline panel. 6772 6773 * inspector/front-end/TimelinePanel.js: 6774 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 6775 (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace): 6776 6777 2011-05-01 Chris Fleizach <cfleizach (a] apple.com> 6778 6779 Reviewed by Maciej Stachowiak. 6780 6781 Crash in AccessibilityRenderObject while viewing PDFs in iframes 6782 https://bugs.webkit.org/show_bug.cgi?id=59629 6783 6784 Could not reproduce this crash, but it's quite clear how it could happen. 6785 6786 * accessibility/AccessibilityRenderObject.cpp: 6787 (WebCore::AccessibilityRenderObject::accessibilityHitTest): 6788 6789 2011-05-01 Nikolas Zimmermann <nzimmermann (a] rim.com> 6790 6791 Reviewed by Dirk Schulze. 6792 6793 LEAK: SVGElement leaks when detaching it in a pending resource state 6794 https://bugs.webkit.org/show_bug.cgi?id=59072 6795 6796 Make the pending resources set non-refcounted again. We made it refcounted a while ago 6797 to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions. 6798 Fix the underlying problem, by removing all pending resources referencing to a particular 6799 SVGElement, upon its destruction or upon removing it from the document. 6800 6801 Example: <rect fill="url(#foo)" id="rect"> 6802 When we try to render the rect, the foo paint server can't be found and thus "foo" will be 6803 added to the pending resource set, with "rect" as client. When "foo" appears, it would remove 6804 itself from the pending resource set, and a ref count to the "rect" would be released. 6805 If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping 6806 it and the associated document alive. 6807 6808 Tests: svg/custom/pending-resource-leak-2.svg 6809 svg/custom/pending-resource-leak-3.svg 6810 svg/custom/pending-resource-leak.svg 6811 6812 These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots. 6813 I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now. 6814 6815 * rendering/svg/RenderSVGResourceContainer.cpp: 6816 (WebCore::RenderSVGResourceContainer::registerResource): 6817 * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: 6818 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): 6819 * rendering/svg/SVGResources.cpp: 6820 (WebCore::registerPendingResource): 6821 * svg/SVGDocumentExtensions.cpp: 6822 (WebCore::SVGDocumentExtensions::addPendingResource): 6823 (WebCore::SVGDocumentExtensions::hasPendingResources): 6824 (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): 6825 (WebCore::SVGDocumentExtensions::removePendingResource): 6826 * svg/SVGDocumentExtensions.h: 6827 * svg/SVGElement.cpp: 6828 * svg/SVGElement.h: 6829 * svg/SVGElementRareData.h: 6830 (WebCore::SVGElementRareData::SVGElementRareData): 6831 (WebCore::SVGElementRareData::hasPendingResources): 6832 (WebCore::SVGElementRareData::setHasPendingResources): 6833 * svg/SVGStyledElement.cpp: 6834 (WebCore::SVGStyledElement::~SVGStyledElement): 6835 (WebCore::SVGStyledElement::insertedIntoDocument): 6836 (WebCore::SVGStyledElement::removedFromDocument): 6837 (WebCore::SVGStyledElement::hasPendingResources): 6838 (WebCore::SVGStyledElement::setHasPendingResources): 6839 * svg/SVGStyledElement.h: 6840 (WebCore::SVGStyledElement::needsPendingResourceHandling): 6841 (WebCore::SVGStyledElement::buildPendingResource): 6842 * svg/SVGUseElement.cpp: 6843 (WebCore::SVGUseElement::SVGUseElement): 6844 (WebCore::SVGUseElement::insertedIntoDocument): 6845 (WebCore::SVGUseElement::svgAttributeChanged): 6846 (WebCore::SVGUseElement::buildPendingResource): 6847 * svg/SVGUseElement.h: 6848 6849 2011-05-01 Rafael Brandao <rafael.lobo (a] openbossa.org> 6850 6851 Reviewed by Csaba Osztrogonc. 6852 6853 [Qt] build-webkit warning Inspector.idl is missing 6854 https://bugs.webkit.org/show_bug.cgi?id=59047 6855 6856 Added variable_out to pipe output from one compiler to another, 6857 and then forced the output to be added to the sources. 6858 6859 * CodeGenerators.pri: 6860 6861 2011-05-01 Dan Bernstein <mitz (a] apple.com> 6862 6863 Reviewed by Anders Carlsson. 6864 6865 <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight 6866 https://bugs.webkit.org/show_bug.cgi?id=56658 6867 6868 Test: fast/text/selection-rect-rounding.html 6869 6870 * platform/graphics/FontFastPath.cpp: 6871 (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates. 6872 * platform/graphics/mac/FontComplexTextMac.cpp: 6873 (WebCore::Font::selectionRectForComplexText): Ditto. 6874 * rendering/InlineTextBox.cpp: 6875 (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect. 6876 (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(), 6877 since it affects rounding. 6878 6879 2011-04-30 Justin Schuh <jschuh (a] chromium.org> 6880 6881 Reviewed by Dirk Schulze. 6882 6883 Make RenderSVGResourceFilter take ownership of filter data when painting 6884 https://bugs.webkit.org/show_bug.cgi?id=51524 6885 6886 Test: svg/custom/filter-on-svgimage.svg 6887 6888 * rendering/svg/RenderSVGResourceFilter.cpp: 6889 (WebCore::RenderSVGResourceFilter::removeClientFromCache): 6890 (WebCore::RenderSVGResourceFilter::postApplyResource): 6891 * rendering/svg/RenderSVGResourceFilter.h: 6892 (WebCore::FilterData::FilterData): 6893 6894 2011-04-30 Martin Robinson <mrobinson (a] igalia.com> 6895 6896 Reviewed by Adam Barth. 6897 6898 Enable strict mode for OwnPtr and PassOwnPtr 6899 https://bugs.webkit.org/show_bug.cgi?id=59428 6900 6901 Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService 6902 factory methods return a PassOwnPtr. 6903 6904 No new tests. This should not change functionality. 6905 6906 * platform/GeolocationService.cpp: 6907 (WebCore::createGeolocationServiceNull): 6908 (WebCore::GeolocationService::create): 6909 * platform/GeolocationService.h: 6910 * platform/android/GeolocationServiceAndroid.cpp: 6911 (WebCore::GeolocationServiceAndroid::create): 6912 * platform/android/GeolocationServiceAndroid.h: 6913 * platform/efl/GeolocationServiceEfl.cpp: 6914 (WebCore::GeolocationServiceEfl::create): 6915 * platform/efl/GeolocationServiceEfl.h: 6916 * platform/graphics/cairo/CairoUtilities.cpp: 6917 (WebCore::appendPathToCairoContext): 6918 * platform/graphics/cairo/GraphicsContextCairo.cpp: 6919 (WebCore::drawPathShadow): 6920 (WebCore::GraphicsContext::clip): 6921 * platform/graphics/cairo/ImageBufferCairo.cpp: 6922 (WebCore::ImageBuffer::ImageBuffer): 6923 * platform/graphics/cairo/OwnPtrCairo.h: 6924 * platform/graphics/cairo/PathCairo.cpp: 6925 (WebCore::Path::Path): 6926 (WebCore::Path::operator=): 6927 (WebCore::Path::apply): 6928 * platform/gtk/GeolocationServiceGtk.cpp: 6929 (WebCore::GeolocationServiceGtk::create): 6930 * platform/gtk/GeolocationServiceGtk.h: 6931 * platform/mock/GeolocationServiceMock.cpp: 6932 (WebCore::GeolocationServiceMock::create): 6933 * platform/mock/GeolocationServiceMock.h: 6934 6935 2011-04-30 Pavel Feldman <pfeldman (a] chromium.org> 6936 6937 Not reviewed: inspector toolbar titles were 2px off. 6938 6939 * inspector/front-end/inspector.css: 6940 (#toolbar-dropdown .toolbar-label): 6941 6942 2011-04-30 Mihai Parparita <mihaip (a] chromium.org> 6943 6944 Reviewed by Eric Seidel. 6945 6946 V8Proxy.h shouldn't include SecurityOrigin.h 6947 https://bugs.webkit.org/show_bug.cgi?id=59859 6948 6949 Remove SecurityOrigin.h #include from V8Proxy.h. Touching 6950 SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building 6951 chromium's DumpRenderTree). 6952 6953 * bindings/v8/NPV8Object.cpp: 6954 * bindings/v8/V8Proxy.cpp: 6955 * bindings/v8/V8Proxy.h: 6956 * css/CSSStyleSelector.cpp: 6957 * dom/XMLDocumentParserLibxml2.cpp: 6958 * html/HTMLLinkElement.cpp: 6959 * loader/SubframeLoader.cpp: 6960 * page/History.cpp: 6961 * storage/IDBFactory.cpp: 6962 * storage/StorageAreaImpl.cpp: 6963 6964 2011-04-29 Adam Barth <abarth (a] webkit.org> 6965 6966 Reviewed by Eric Seidel. 6967 6968 CSP script-src should block eval 6969 https://bugs.webkit.org/show_bug.cgi?id=59850 6970 6971 Rather than have JavaScriptCore call back into WebCore to learn whether 6972 eval is enabled, we push that bit of the policy into JavaScriptCore. 6973 6974 Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html 6975 http/tests/security/contentSecurityPolicy/eval-blocked.html 6976 6977 * bindings/js/ScriptController.cpp: 6978 (WebCore::ScriptController::disableEval): 6979 * bindings/js/ScriptController.h: 6980 * page/ContentSecurityPolicy.cpp: 6981 (WebCore::ContentSecurityPolicy::didReceiveHeader): 6982 (WebCore::ContentSecurityPolicy::internalAllowEval): 6983 (WebCore::ContentSecurityPolicy::allowEval): 6984 * page/ContentSecurityPolicy.h: 6985 6986 2011-04-29 Joseph Pecoraro <joepeck (a] webkit.org> 6987 6988 GTK build fix. Missed moving DateComponents and 6989 adding LocalizedDate files for their build file. 6990 6991 * GNUmakefile.list.am: 6992 6993 2011-04-29 Adam Barth <abarth (a] webkit.org> 6994 6995 Reviewed by Eric Seidel. 6996 6997 style-src should block @style 6998 https://bugs.webkit.org/show_bug.cgi?id=59293 6999 7000 This patch blocks @style when style-src doesn't have the 7001 'unsafe-inline' token. This patch blocks the parsing of the attribute 7002 itself. That feels vaguely like too low a level to interpose the 7003 policy, but there didn't seem to be anywhere else natural to enforce 7004 the policy. 7005 7006 Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html 7007 http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html 7008 http/tests/security/contentSecurityPolicy/inline-style-on-html.html 7009 7010 * dom/StyledElement.cpp: 7011 (WebCore::StyledElement::parseMappedAttribute): 7012 7013 2011-04-29 Joseph Pecoraro <joepeck (a] webkit.org> 7014 7015 Reviewed by Kent Tamura. 7016 7017 Allow Localized Date Strings for Date Input Fields 7018 https://bugs.webkit.org/show_bug.cgi?id=59752 7019 7020 Test: fast/forms/date-input-visible-strings.html 7021 7022 * CMakeLists.txt: 7023 * WebCore.gypi: 7024 * WebCore.pro: 7025 * WebCore.vcproj/WebCore.vcproj: 7026 * WebCore.xcodeproj/project.pbxproj: update build files for 7027 moving DateComponents from WebCore/html to WebCore/platform 7028 and adding the LocalizedDate files. 7029 7030 * html/BaseDateAndTimeInputType.cpp: 7031 (WebCore::BaseDateAndTimeInputType::serialize): 7032 (WebCore::BaseDateAndTimeInputType::serializeWithComponents): 7033 (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds): 7034 InputType::serialize for a double value with date types is 7035 different for the month type because it assumes the incoming 7036 value is months instead of msecs (matching valueAsNumber in 7037 HTML5). So provide a more general serialization function, 7038 serializeWithComponents, that will always serialize a string 7039 correctly for the current type but taking in a DateComponents 7040 object. The default serialize, and new serializeWithMilliseconds, 7041 can fall back to this and allows an override point for 7042 the month type. 7043 7044 * html/MonthInputType.cpp: 7045 (WebCore::MonthInputType::serializeWithMilliseconds): the month 7046 type is a case where the default serialize does not take msec, 7047 so provide an implementation for month which handles msec input. 7048 7049 * html/BaseDateAndTimeInputType.cpp: 7050 (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch 7051 to serializeWithMilliseconds as the incoming date value is msec. 7052 * html/MonthInputType.cpp: 7053 (WebCore::MonthInputType::setValueAsDate): removed. 7054 7055 * html/BaseDateAndTimeInputType.cpp: 7056 (WebCore::BaseDateAndTimeInputType::visibleValue): allow 7057 localized formatting of a date value. 7058 (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue): 7059 allow parsing for a formatted date value. 7060 7061 * html/BaseDateAndTimeInputType.h: 7062 * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp. 7063 Expose the Type enum so it can be used outside of the DateComponents class. 7064 * platform/text/LocalizedDate.h: Added. 7065 * platform/text/LocalizedDateNone.cpp: Added. 7066 (WebCore::formatLocalizedDate): Default implementation falls back to 7067 existing HTML5 date input value formatting. 7068 7069 * html/BaseDateAndTimeInputType.h: 7070 * html/DateInputType.cpp: 7071 (WebCore::DateInputType::dateType): 7072 * html/DateInputType.h: 7073 * html/DateTimeInputType.cpp: 7074 (WebCore::DateTimeInputType::dateType): 7075 * html/DateTimeInputType.h: 7076 * html/DateTimeLocalInputType.cpp: 7077 (WebCore::DateTimeLocalInputType::dateType): 7078 * html/DateTimeLocalInputType.h: 7079 * html/MonthInputType.cpp: 7080 (WebCore::MonthInputType::dateType): 7081 * html/MonthInputType.h: 7082 * html/TimeInputType.cpp: 7083 (WebCore::TimeInputType::dateType): 7084 * html/TimeInputType.h: 7085 * html/WeekInputType.cpp: 7086 (WebCore::WeekInputType::dateType): 7087 * html/WeekInputType.h: Accessors for the desired date 7088 type of a date input type. This allows the base class 7089 to write a generic algorithm. 7090 7091 2011-04-29 Adam Barth <abarth (a] webkit.org> 7092 7093 Reviewed by Eric Seidel. 7094 7095 style-src should block inline style from <style> 7096 https://bugs.webkit.org/show_bug.cgi?id=59292 7097 7098 The spec has been updated to allow blocking of inline styles with 7099 style-src. This will help folks defend against tricky CSS3 injections. 7100 7101 This patch covers the <style> case. The next patch will cover the 7102 @style case. 7103 7104 Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html 7105 http/tests/security/contentSecurityPolicy/inline-style-blocked.html 7106 7107 * dom/StyleElement.cpp: 7108 (WebCore::StyleElement::createSheet): 7109 * page/ContentSecurityPolicy.cpp: 7110 (WebCore::ContentSecurityPolicy::allowInlineStyle): 7111 * page/ContentSecurityPolicy.h: 7112 7113 2011-04-29 Chris Evans <cevans (a] chromium.org> 7114 7115 Reviewed by Adam Barth. 7116 7117 Add WebCore::Setting to block displaying and/or running insecure content on secure pages 7118 https://bugs.webkit.org/show_bug.cgi?id=58378 7119 7120 Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests. 7121 7122 * loader/FrameLoader.cpp: 7123 (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking. 7124 (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking. 7125 * loader/FrameLoader.h: 7126 * loader/MainResourceLoader.cpp: 7127 (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain. 7128 * loader/SubframeLoader.cpp: 7129 (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads. 7130 (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads. 7131 * loader/cache/CachedResourceLoader.cpp: 7132 (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions. 7133 * page/Settings.cpp: 7134 (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default. 7135 * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof). 7136 (WebCore::Settings::setAllowDisplayOfInsecureContent): 7137 (WebCore::Settings::allowDisplayOfInsecureContent): 7138 (WebCore::Settings::setAllowRunningOfInsecureContent): 7139 (WebCore::Settings::allowRunningOfInsecureContent): 7140 7141 2011-04-29 Ryosuke Niwa <rniwa (a] webkit.org> 7142 7143 Reviewed by Eric Seidel. 7144 7145 Extract a function to obtain VisiblePosition from RenderText::positionForPoint 7146 https://bugs.webkit.org/show_bug.cgi?id=59811 7147 7148 Extracted lineDirectionPointFitsInBox from positionForPoint. 7149 7150 * rendering/RenderText.cpp: 7151 (WebCore::lineDirectionPointFitsInBox): 7152 (WebCore::RenderText::positionForPoint): 7153 7154 2011-04-29 Geoffrey Garen <ggaren (a] apple.com> 7155 7156 Reviewed by Alexey Proskuryakov. 7157 7158 REGRESSION: r83938 abandons GC memory 7159 https://bugs.webkit.org/show_bug.cgi?id=59604 7160 7161 This bug was caused by script and image elements waiting indefinitely 7162 for their loads to finish. 7163 7164 * bindings/js/JSNodeCustom.cpp: 7165 (WebCore::isReachableFromDOM): Don't test for the load event firing, 7166 since the load event doesn't fire in cases of canceled or errored loads. 7167 Instead, test hasPendingActivity(). 7168 7169 Don't do this test at all for script elements because script elements 7170 can't load while outside the document. (fast/dom/script-element-gc.html 7171 verifies that this is correct.) 7172 7173 * html/HTMLImageElement.cpp: 7174 (WebCore::HTMLImageElement::hasPendingActivity): 7175 * html/HTMLImageElement.h: 7176 * loader/ImageLoader.cpp: 7177 (WebCore::ImageEventSender::hasPendingEvents): 7178 (WebCore::ImageLoader::hasPendingLoadEvent): 7179 * loader/ImageLoader.h: Added API for finding out if an image element 7180 has pending activity. 7181 7182 * loader/cache/CachedResource.cpp: 7183 (WebCore::CachedResource::setRequest): All loads are supposed to end in 7184 data(allDataReceived = true) or error(), but in the edge case of a 7185 canceled load, all we get is a call to setRequest(0). Be sure to 7186 record that we're no longer loading in that case, otherwise our element 7187 will leak forever, waiting for its load to complete. 7188 7189 2011-04-29 Emil Eklund <eae (a] chromium.org> 7190 7191 Reviewed by Tony Chang. 7192 7193 Setting outerHTML should merge text nodes 7194 https://bugs.webkit.org/show_bug.cgi?id=52686 7195 7196 When setting outerHTML adjacent text nodes should be merged. This matches 7197 the behavior of outerText and the IE implementation of outerHTML. 7198 7199 Test: fast/dom/set-outer-html.html 7200 7201 * html/HTMLElement.cpp: 7202 (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML. 7203 (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element. 7204 7205 2011-04-29 Emil A Eklund <eae (a] chromium.org> 7206 7207 Reviewed by Dimitri Glazkov. 7208 7209 Onchange on text fields has an incoherent behavior 7210 https://bugs.webkit.org/show_bug.cgi?id=57330 7211 7212 * html/HTMLFormControlElement.cpp: 7213 (WebCore::HTMLTextFormControlElement::insertedIntoDocument): 7214 Initialize m_textAsOfLastFormControlChangeEvent to empty string rather 7215 than null for empty fields. 7216 7217 2011-04-29 Csaba Osztrogonc <ossy (a] webkit.org> 7218 7219 [Qt] Unreviewed buildfix after r85343. 7220 7221 Enable strict OwnPtr for Qt 7222 https://bugs.webkit.org/show_bug.cgi?id=59667 7223 7224 * plugins/mac/PluginViewMac.mm: 7225 (WebCore::PluginView::platformStart): 7226 7227 2011-04-29 Jon Lee <jonlee (a] apple.com> 7228 7229 Reviewed by mitzpettel. 7230 7231 REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721) 7232 <rdar://problem/9327332> 7233 https://bugs.webkit.org/show_bug.cgi?id=59721 7234 7235 Removing shouldClearSelectionWhenLosingWebPageFocus(). Reverting changelist 83814. 7236 7237 * WebCore.exp.in: 7238 * editing/EditingBehavior.h: 7239 7240 2011-04-29 Abhishek Arya <inferno (a] chromium.org> 7241 7242 Reviewed by Dave Hyatt. 7243 7244 Allow only first table caption and destroy the remaining ones. 7245 https://bugs.webkit.org/show_bug.cgi?id=58249 7246 7247 Previously, we were only laying out the first table caption. 7248 However Table::layout didn't mark the other ones as not needing 7249 layout. So after table layout completes, table is marked as not 7250 needing layout with its other table caption still needing layout. 7251 This causes incorrect layout root calculations and set it to a 7252 node which is already getting deleted. 7253 7254 Tests: fast/table/dynamic-caption-add-before-child.xhtml 7255 fast/table/dynamic-caption-add-remove-before-child.xhtml 7256 fast/table/multiple-captions-crash.xhtml 7257 fast/table/multiple-captions-crash2.xhtml 7258 fast/table/multiple-captions-display.xhtml 7259 7260 * rendering/RenderTable.cpp: 7261 (WebCore::RenderTable::addChild): when new caption or a before 7262 child caption is added, we need to explicitly trigger section 7263 recalc or otherwise layout won't catch it. 7264 (WebCore::RenderTable::removeChild): when child to be removed is 7265 m_caption, make sure to trigger style recalc on the table. 7266 (WebCore::RenderTable::recalcCaption): code to destroy captions 7267 other than the first one. 7268 (WebCore::RenderTable::recalcSections): call recalcCaption 7269 helper. Store the next sibling early since child can get destroyed 7270 in recalcCaption. 7271 * rendering/RenderTable.h: 7272 7273 2011-04-29 David Kilzer <ddkilzer (a] apple.com> 7274 7275 Remove WML 7276 https://bugs.webkit.org/show_bug.cgi?id=59678 7277 7278 * DerivedSources.make: Removed $(WebCore)/wml path in VPATH. 7279 7280 2011-04-29 James Robinson <jamesr (a] chromium.org> 7281 7282 Unreviewed, rolling out r85330. 7283 http://trac.webkit.org/changeset/85330 7284 https://bugs.webkit.org/show_bug.cgi?id=41311 7285 7286 Caused unexpected border rendering change on 500 tests on chromium linux. 7287 7288 * platform/graphics/skia/GraphicsContextSkia.cpp: 7289 (WebCore::GraphicsContext::drawConvexPolygon): 7290 (WebCore::GraphicsContext::clipConvexPolygon): 7291 7292 2011-04-29 Csaba Osztrogonc <ossy (a] webkit.org> 7293 7294 [Qt] Unreviewed buildfix after r85343. 7295 7296 Enable strict OwnPtr for Qt 7297 https://bugs.webkit.org/show_bug.cgi?id=59667 7298 7299 * plugins/win/PluginViewWin.cpp: 7300 (WebCore::PluginView::wndProc): 7301 (WebCore::PluginView::snapshot): 7302 7303 2011-04-29 Csaba Osztrogonc <ossy (a] webkit.org> 7304 7305 Reviewed by Adam Barth. 7306 7307 Enable strict OwnPtr for Qt 7308 https://bugs.webkit.org/show_bug.cgi?id=59667 7309 7310 * platform/graphics/qt/ImageBufferQt.cpp: 7311 (WebCore::ImageBufferData::ImageBufferData): 7312 (WebCore::ImageBuffer::ImageBuffer): 7313 * platform/graphics/qt/ImageDecoderQt.cpp: 7314 (WebCore::ImageDecoderQt::setData): 7315 * platform/graphics/qt/ImageDecoderQt.h: 7316 * platform/network/qt/QNetworkReplyHandler.cpp: 7317 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 7318 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 7319 7320 2011-04-29 Dean Jackson <dino (a] apple.com> 7321 7322 Reviewed by Simon Fraser. 7323 7324 Add ENABLE macro for WebKitAnimation 7325 https://bugs.webkit.org/show_bug.cgi?id=59729 7326 7327 Add new feature to toggle WebKit Animation API. 7328 7329 * Configurations/FeatureDefines.xcconfig: 7330 * GNUmakefile.am: 7331 * dom/Element.idl: 7332 * features.pri: 7333 * page/DOMWindow.idl: 7334 7335 2011-04-29 Dean Jackson <dino (a] apple.com> 7336 7337 Reviewed by Simon Fraser. 7338 7339 https://bugs.webkit.org/show_bug.cgi?id=59149 7340 (Regression) Existing animations are not replaced when filling. 7341 7342 Hardware animations that fill forwards were not being correctly 7343 replaced when the animation was removed. The actual animation 7344 logic was working correctly, but it wasn't deleting the 7345 CoreAnimation animation from the PlatformLayer. The fix was 7346 to explicitly call endAnimation when disconnecting the animation 7347 from its RenderObject. 7348 7349 Test: animations/3d/replace-filling-transform.html 7350 7351 * page/animation/AnimationBase.h: 7352 (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared 7353 7354 2011-04-29 Abhishek Arya <inferno (a] chromium.org> 7355 7356 Reviewed by Nikolas Zimmermann. 7357 7358 When svg inline text is getting destroyed, make sure to mark 7359 its svg text ancestor as needing a positioning values update. 7360 This helps to recalculate layout attributes and makes sure 7361 that svg inline text is not used again. 7362 https://bugs.webkit.org/show_bug.cgi?id=59161 7363 7364 Test: svg/text/inline-text-destroy-attributes-crash.xhtml 7365 7366 * rendering/svg/RenderSVGInlineText.cpp: 7367 (WebCore::RenderSVGInlineText::destroy): 7368 * rendering/svg/RenderSVGInlineText.h: 7369 7370 2011-04-29 Kevin Ollivier <kevino (a] theolliviers.com> 7371 7372 [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include. 7373 7374 * platform/graphics/wx/GraphicsContextWx.cpp: 7375 7376 2011-04-29 Mike Reed <reed (a] google.com> 7377 7378 Reviewed by Ojan Vafai. 7379 7380 Skia: Need to implement GraphicsContext::clipConvexPolygon() 7381 https://bugs.webkit.org/show_bug.cgi?id=41311 7382 7383 This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING 7384 as that shows other issues/question unrelated to clipping. 7385 https://bugs.webkit.org/show_bug.cgi?id=41311 7386 7387 No new tests. covered by existing layout tests 7388 7389 * platform/graphics/skia/GraphicsContextSkia.cpp: 7390 (WebCore::setPathFromConvexPoints): 7391 (WebCore::GraphicsContext::drawConvexPolygon): 7392 (WebCore::GraphicsContext::clipConvexPolygon): 7393 7394 2011-04-29 Mike Lawther <mikelawther (a] chromium.org> 7395 7396 Reviewed by Ojan Vafai. 7397 7398 Fix IR->SR typo in enum value (and resulting style fails) 7399 https://bugs.webkit.org/show_bug.cgi?id=59779 7400 7401 No functionality change, so no new tests 7402 7403 * css/CSSPrimitiveValueMappings.h: 7404 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 7405 (WebCore::CSSPrimitiveValue::operator EShapeRendering): 7406 7407 2011-04-29 Pavel Feldman <pfeldman (a] google.com> 7408 7409 Reviewed by Yury Semikhatsky. 7410 7411 Web Inspector: CSS editing breaks when entering "color: rgb(1" 7412 https://bugs.webkit.org/show_bug.cgi?id=59789 7413 7414 Tests: inspector/styles/styles-add-invalid-property.html 7415 inspector/styles/styles-cancel-editing.html 7416 inspector/styles/styles-commit-editing.html 7417 7418 * inspector/front-end/CSSStyleModel.js: 7419 (WebInspector.CSSProperty.prototype.setText.callback): 7420 (WebInspector.CSSProperty.prototype.setText): 7421 * inspector/front-end/StylesSidebarPane.js: 7422 (WebInspector.StylePropertyTreeElement.prototype.selectElement): 7423 (WebInspector.StylePropertyTreeElement.prototype): 7424 (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText): 7425 * inspector/front-end/inspector.js: 7426 (WebInspector.startEditing.defaultFinishHandler): 7427 (WebInspector.startEditing.keyDownEventListener): 7428 (WebInspector.startEditing): 7429 7430 2011-04-29 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 7431 7432 Reviewed by Simon Hausmann. 7433 7434 ENABLE(QT_BEARER) -> USE(QT_BEARER) 7435 7436 * WebCore.pri: 7437 * WebCore.pro: 7438 * features.pri: 7439 * platform/network/NetworkStateNotifier.h: 7440 * platform/network/qt/NetworkStateNotifierQt.cpp: 7441 7442 2011-04-29 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 7443 7444 Reviewed by Simon Hausmann. 7445 7446 ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO) 7447 7448 * WebCore.pri: 7449 * features.pri: 7450 7451 2011-04-29 Pavel Podivilov <podivilov (a] chromium.org> 7452 7453 Reviewed by Pavel Feldman. 7454 7455 Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation. 7456 https://bugs.webkit.org/show_bug.cgi?id=59476 7457 7458 * inspector/front-end/DebuggerPresentationModel.js: 7459 (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles): 7460 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger): 7461 (WebInspector.PresentationBreakpoint.prototype.serialize): 7462 * inspector/front-end/ScriptsPanel.js: 7463 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare): 7464 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): 7465 (WebInspector.ScriptsPanel.prototype.reset): 7466 7467 2011-04-28 Pavel Podivilov <podivilov (a] chromium.org> 7468 7469 Reviewed by Yury Semikhatsky. 7470 7471 Web Inspector: include script end line:column in scriptParsed parameters. 7472 https://bugs.webkit.org/show_bug.cgi?id=59717 7473 7474 * bindings/js/ScriptDebugServer.cpp: 7475 (WebCore::ScriptDebugServer::dispatchDidParseSource): 7476 * bindings/v8/DebuggerScript.js: 7477 (): 7478 * bindings/v8/ScriptDebugServer.cpp: 7479 (WebCore::ScriptDebugServer::dispatchDidParseSource): 7480 * inspector/Inspector.json: 7481 * inspector/InspectorDebuggerAgent.cpp: 7482 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 7483 (WebCore::InspectorDebuggerAgent::didParseSource): 7484 * inspector/InspectorDebuggerAgent.h: 7485 (WebCore::InspectorDebuggerAgent::Script::Script): 7486 * inspector/ScriptDebugListener.h: 7487 * inspector/front-end/DebuggerModel.js: 7488 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 7489 (WebInspector.DebuggerModel.prototype._failedToParseScriptSource): 7490 (WebInspector.DebuggerDispatcher.prototype.scriptParsed): 7491 * inspector/front-end/Script.js: 7492 (WebInspector.Script): 7493 7494 2011-04-28 Yury Semikhatsky <yurys (a] chromium.org> 7495 7496 Reviewed by Pavel Feldman. 7497 7498 Web Inspector: [protocol] Evaluate should expose thrown exception value 7499 https://bugs.webkit.org/show_bug.cgi?id=59000 7500 7501 Each evaluation command may have either thrown or returned result. This is indicated 7502 by wasThrown property in the protocol. 7503 7504 * inspector/InjectedScript.cpp: 7505 (WebCore::InjectedScript::evaluate): 7506 (WebCore::InjectedScript::evaluateOn): 7507 (WebCore::InjectedScript::evaluateOnCallFrame): 7508 (WebCore::InjectedScript::getProperties): 7509 (WebCore::InjectedScript::makeEvalCall): 7510 * inspector/InjectedScript.h: 7511 * inspector/InjectedScriptSource.js: 7512 * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to 7513 the evaluation results. 7514 * inspector/InspectorDebuggerAgent.cpp: 7515 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 7516 * inspector/InspectorDebuggerAgent.h: 7517 * inspector/InspectorRuntimeAgent.cpp: 7518 (WebCore::InspectorRuntimeAgent::evaluate): 7519 (WebCore::InspectorRuntimeAgent::evaluateOn): 7520 (WebCore::InspectorRuntimeAgent::getProperties): 7521 * inspector/InspectorRuntimeAgent.h: 7522 * inspector/front-end/ConsoleView.js: 7523 (WebInspector.ConsoleView.prototype.completions.evaluated): 7524 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 7525 (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult): 7526 (WebInspector.ConsoleView.prototype._enterKeyPressed): 7527 (WebInspector.ConsoleCommandResult): 7528 * inspector/front-end/DebuggerPresentationModel.js: 7529 (WebInspector.PresenationCallFrame.prototype.evaluate): 7530 * inspector/front-end/ElementsTreeOutline.js: 7531 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): 7532 * inspector/front-end/ExtensionPanel.js: 7533 (WebInspector.ExtensionSidebarPane.prototype._onEvaluate): 7534 * inspector/front-end/ExtensionServer.js: 7535 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 7536 * inspector/front-end/ObjectPropertiesSection.js: 7537 (WebInspector.ObjectPropertyTreeElement.prototype.update): 7538 * inspector/front-end/PropertiesSidebarPane.js: 7539 (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady): 7540 * inspector/front-end/SourceFrame.js: 7541 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 7542 (WebInspector.SourceFrame.prototype._showPopup): 7543 7544 2011-04-29 Sheriff Bot <webkit.review.bot (a] gmail.com> 7545 7546 Unreviewed, rolling out r85315. 7547 http://trac.webkit.org/changeset/85315 7548 https://bugs.webkit.org/show_bug.cgi?id=59792 7549 7550 Broke script-formatter.html test (Requested by podivilov on 7551 #webkit). 7552 7553 * inspector/front-end/DebuggerPresentationModel.js: 7554 (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles): 7555 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint): 7556 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger): 7557 (WebInspector.PresentationBreakpoint.prototype.serialize): 7558 * inspector/front-end/ScriptsPanel.js: 7559 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare): 7560 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): 7561 (WebInspector.ScriptsPanel.prototype.reset): 7562 7563 2011-04-29 Vsevolod Vlasov <vsevik (a] chromium.org> 7564 7565 Reviewed by Pavel Feldman. 7566 7567 Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel 7568 https://bugs.webkit.org/show_bug.cgi?id=58794 7569 7570 Added ping requests to network panel. 7571 7572 Test: http/tests/inspector/network/ping.html 7573 7574 * English.lproj/localizedStrings.js: 7575 * inspector/InspectorInstrumentation.cpp: 7576 (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl): 7577 * inspector/InspectorInstrumentation.h: 7578 (WebCore::InspectorInstrumentation::continueAfterPingLoader): 7579 * inspector/front-end/NetworkPanel.js: 7580 (WebInspector.NetworkDataGridNode.prototype.refreshResource): 7581 (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): 7582 (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell): 7583 * inspector/front-end/Resource.js: 7584 (WebInspector.Resource.prototype.get formParameters): 7585 (WebInspector.Resource.prototype.requestContentType): 7586 (WebInspector.Resource.prototype.isPingRequest): 7587 * loader/PingLoader.cpp: 7588 (WebCore::PingLoader::PingLoader): 7589 * loader/PingLoader.h: 7590 7591 2011-04-28 Pavel Podivilov <podivilov (a] chromium.org> 7592 7593 Reviewed by Pavel Feldman. 7594 7595 Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation. 7596 https://bugs.webkit.org/show_bug.cgi?id=59476 7597 7598 * inspector/front-end/DebuggerPresentationModel.js: 7599 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 7600 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger): 7601 (WebInspector.PresentationBreakpoint.prototype.serialize): 7602 * inspector/front-end/ScriptsPanel.js: 7603 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare): 7604 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): 7605 (WebInspector.ScriptsPanel.prototype.reset): 7606 7607 2011-04-29 Pavel Feldman <pfeldman (a] google.com> 7608 7609 Reviewed by Yury Semikhatsky. 7610 7611 Web Inspector: add "open link in new tab" action into the network and resources panels. 7612 https://bugs.webkit.org/show_bug.cgi?id=59788 7613 7614 This change also distinguishes context menu items case between platforms. 7615 7616 * English.lproj/localizedStrings.js: 7617 * inspector/front-end/ConsoleView.js: 7618 (WebInspector.ConsoleView.prototype._handleContextMenuEvent): 7619 * inspector/front-end/DOMBreakpointsSidebarPane.js: 7620 (WebInspector.DOMBreakpointsSidebarPane): 7621 * inspector/front-end/ElementsPanel.js: 7622 (WebInspector.ElementsPanel.prototype._contextMenuEventFired): 7623 (WebInspector.ElementsPanel.prototype.populateHrefContextMenu): 7624 * inspector/front-end/ElementsTreeOutline.js: 7625 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): 7626 (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu): 7627 * inspector/front-end/NetworkPanel.js: 7628 (WebInspector.NetworkPanel.prototype._contextMenu): 7629 * inspector/front-end/ResourcesPanel.js: 7630 (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent): 7631 (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction): 7632 (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent): 7633 * inspector/front-end/Settings.js: 7634 * inspector/front-end/SourceFrame.js: 7635 (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu): 7636 * inspector/front-end/TextViewer.js: 7637 (WebInspector.TextViewer.prototype._contextMenu): 7638 * inspector/front-end/inspector.js: 7639 (WebInspector.openLinkExternallyLabel): 7640 (WebInspector.openResource): 7641 (WebInspector.useLowerCaseMenuTitles): 7642 7643 2011-04-28 Simon Fraser <simon.fraser (a] apple.com> 7644 7645 Reviewed by Dan Bernstein. 7646 7647 Mask placement on composited layer is incorrect sometimes 7648 https://bugs.webkit.org/show_bug.cgi?id=59775 7649 7650 The mask layer always has the same size as its owning GraphicsLayer, 7651 so it needs to share the same offsetFromRenderer as well. This fixes 7652 the offset at which the mask layer contents are painted in cases where 7653 that offset is non-zero, for example when outline style bloats all of 7654 the layer sizes. 7655 7656 Test: compositing/masks/layer-mask-placement.html 7657 7658 * rendering/RenderLayerBacking.cpp: 7659 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 7660 7661 2011-04-28 Dan Bernstein <mitz (a] apple.com> 7662 7663 Rubber-stamped by Mark Rowe. 7664 7665 Reverted r81319. 7666 7667 Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu 7668 7669 * page/NavigatorBase.cpp: 7670 7671 2011-04-28 Simon Fraser <simon.fraser (a] apple.com> 7672 7673 Reviewed by Dirk Schulze. 7674 7675 1px box-shadow looks ugly 7676 https://bugs.webkit.org/show_bug.cgi?id=58100 7677 and 7678 ShadowBlur incorrectly handles zero-sized blur radius in one axis 7679 https://bugs.webkit.org/show_bug.cgi?id=59710 7680 7681 blurLayerImage() has issues at the edges if the blur radius 7682 is one, so in that case bump the buffer size out by a pixel. 7683 This results in a correct, symmetrical blur. 7684 7685 Also fix an issue noticed during testing where a zero 7686 height or width radius would still blur on that axis, 7687 because we clamp the kernel size to a minimum of two. 7688 7689 Test: fast/box-shadow/single-pixel-shadow.html 7690 7691 * platform/graphics/ShadowBlur.h: 7692 * platform/graphics/ShadowBlur.cpp: 7693 (WebCore::ShadowBlur::blurLayerImage): 7694 Skip horizontal or vertial passes if the radius on that axis is zero. 7695 Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())" 7696 clause to the end of the loop, since it only needs to execute once 7697 after the first pass. 7698 (WebCore::ShadowBlur::blurredEdgeSize): 7699 New method to compute the width of the blurred edge (radius + extra 7700 pixel when necessary). 7701 (WebCore::ShadowBlur::calculateLayerBoundingRect): 7702 (WebCore::ShadowBlur::templateSize): 7703 (WebCore::ShadowBlur::drawRectShadow): 7704 (WebCore::ShadowBlur::drawInsetShadow): 7705 (WebCore::ShadowBlur::drawInsetShadowWithTiling): 7706 (WebCore::ShadowBlur::drawRectShadowWithTiling): 7707 (WebCore::ShadowBlur::drawLayerPieces): 7708 Use the result of blurredEdgeSize() rather than recomputing. 7709 7710 2011-04-28 Yael Aharon <yael.aharon (a] nokia.com> 7711 7712 Reviewed by Beth Dakin. 7713 7714 CSS sibling selector (~) does not work with :target pseudo class 7715 https://bugs.webkit.org/show_bug.cgi?id=26539 7716 7717 Allow style recalculation of forward siblings of elements with 7718 forward positional rules. 7719 7720 Tests: fast/css/pseudo-target-indirect-sibling-001.html 7721 fast/css/pseudo-target-indirect-sibling-002.html 7722 7723 * dom/Element.cpp: 7724 (WebCore::Element::recalcStyle): 7725 7726 2011-04-28 Nat Duca <nduca (a] chromium.org> 7727 7728 Reviewed by Kenneth Russell. 7729 7730 [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium 7731 https://bugs.webkit.org/show_bug.cgi?id=59626 7732 7733 * platform/graphics/chromium/Extensions3DChromium.h: 7734 (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM): 7735 7736 2011-04-28 Steve Lacey <sjl (a] chromium.org> 7737 7738 Reviewed by Eric Carlson. 7739 7740 Change chromium media controls to use absolute positioning until bug 59644 is fixed. 7741 https://bugs.webkit.org/show_bug.cgi?id=59732 7742 7743 * css/mediaControlsChromium.css: 7744 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 7745 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 7746 7747 2011-04-28 Luke Macpherson <macpherson (a] chromium.org> 7748 7749 Reviewed by Eric Seidel. 7750 7751 Implement CSS border width and related properties in CSSStyleApplyProperty. 7752 https://bugs.webkit.org/show_bug.cgi?id=59414 7753 7754 No new tests as no functionality added. 7755 7756 * css/CSSStyleApplyProperty.cpp: 7757 Separated ApplyPropertyDefault into parent and child so that other classes could inherit 7758 the applyInheritValue and applyInitialValue methods only. 7759 This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue(). 7760 7761 Added ApplyPropertyWidth class for handling width based CSS properties. 7762 * css/CSSStyleSelector.cpp: 7763 Removed no-longer-required code for handling width based CSS properties. 7764 * css/CSSStyleSelector.h: 7765 Added a getter for m_rootElementStyle. 7766 7767 2011-04-28 Kent Tamura <tkent (a] chromium.org> 7768 7769 Run sort-Xcode-project-file. 7770 7771 * WebCore.xcodeproj/project.pbxproj: 7772 7773 2011-04-28 Martin Robinson <mrobinson (a] igalia.com> 7774 7775 Reviewed by Dirk Schulze. 7776 7777 [Cairo] Text underline is not shadowed when text-shadow is enabled 7778 https://bugs.webkit.org/show_bug.cgi?id=48074 7779 7780 Use ContextShadow to enable shadows for text underlines. Also remove quite a bit 7781 of duplicate code in GraphicsContext used for stroking lines. This code looks like it was 7782 originally copied from the CG GraphicsContext. 7783 7784 * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we 7785 can call it from a static helper function. 7786 * platform/graphics/cairo/GraphicsContextCairo.cpp: 7787 (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper. 7788 (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to 7789 call it multiple times when shadowing text underlines. 7790 (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext. 7791 (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset. 7792 (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext. 7793 7794 2011-04-28 Sam Weinig <sam (a] webkit.org> 7795 7796 Rubber-stamped by Mark Rowe. 7797 7798 Cleanup WebCore.xcodeproj a bit. 7799 7800 * WebCore.xcodeproj/project.pbxproj: 7801 Added CompilerVersion.xcconfig and moved some JS bindings files into the 7802 correct sub groups. 7803 7804 2011-04-28 David Levin <levin (a] chromium.org> 7805 7806 Reviewed by Adam Barth. 7807 7808 Remove IMAGE_RESIZER related code. 7809 https://bugs.webkit.org/show_bug.cgi?id=59735 7810 7811 * CMakeLists.txt: 7812 * Configurations/FeatureDefines.xcconfig: 7813 * GNUmakefile.am: 7814 * GNUmakefile.list.am: 7815 * WebCore.gypi: 7816 * WebCore.pro: 7817 * WebCore.vcproj/WebCore.vcproj: 7818 * WebCore.xcodeproj/project.pbxproj: 7819 * features.pri: 7820 * html/AsyncImageResizer.cpp: Removed. 7821 * html/AsyncImageResizer.h: Removed. 7822 * html/ImageResizerThread.cpp: Removed. 7823 * html/ImageResizerThread.h: Removed. 7824 7825 2011-04-28 Ilya Tikhonovsky <loislo (a] chromium.org> 7826 7827 Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630. 7828 7829 * inspector/front-end/Settings.js: 7830 (WebInspector.Settings): 7831 7832 2011-04-28 Beth Dakin <bdakin (a] apple.com> 7833 7834 Rubber-stamped by Sam Weinig. 7835 7836 Rolling out revision 85258! I want to fix that bug a different way. 7837 * platform/mac/ScrollbarThemeMac.mm: 7838 (WebCore::ScrollbarThemeMac::paint): 7839 7840 2011-04-28 Chang Shu <cshu (a] webkit.org> 7841 7842 Reviewed by Eric Seidel. 7843 7844 isContentEditable is not working properly with document.designMode 7845 https://bugs.webkit.org/show_bug.cgi?id=53031 7846 7847 The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable) 7848 indicates that the element.isContentEditable relies on document.designMode if its 7849 and its ancestors' contenteditable attributes are set to inherit. 7850 7851 1. Sync document render style after document.designMode is changed. 7852 2. Removed the code that does unnecessary and incorrect handling for contenteditable 7853 attribute with "inherit" value. 7854 3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion. 7855 7856 Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html 7857 fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html 7858 fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html 7859 fast/dom/HTMLElement/iscontenteditable-designmodeon.html 7860 7861 * css/CSSStyleSelector.cpp: 7862 (WebCore::CSSStyleSelector::styleForDocument): 7863 * dom/Document.cpp: 7864 (WebCore::Document::setDesignMode): 7865 * dom/Node.cpp: 7866 (WebCore::Node::rendererIsEditable): 7867 * editing/ApplyStyleCommand.cpp: 7868 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): 7869 * html/HTMLElement.cpp: 7870 (WebCore::HTMLElement::setContentEditable): 7871 7872 2011-04-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 7873 7874 Unreviewed, rolling out r85101. 7875 http://trac.webkit.org/changeset/85101 7876 https://bugs.webkit.org/show_bug.cgi?id=59757 7877 7878 it'd be better to rollout the patch and do another one with 7879 another property name. Current one will bring us to a problem 7880 at first run after upgrade because it's type was changed from 7881 int to string. (Requested by loislo on #webkit). 7882 7883 * inspector/front-end/ScriptsPanel.js: 7884 (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled): 7885 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback): 7886 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 7887 7888 2011-04-28 Mike Reed <reed (a] google.com> 7889 7890 Reviewed by Eric Seidel. 7891 7892 fix shadw behavior for both CSS and Canvas -- skia only 7893 https://bugs.webkit.org/show_bug.cgi?id=59700 7894 7895 Test: 7896 canvas/philip/tests/2d.shadow.alpha.3.html 7897 canvas/philip/tests/2d.shadow.alpha.4.html 7898 canvas/philip/tests/2d.shadow.alpha.5.html 7899 fast/canvas/canvas-fillPath-alpha-shadow.html 7900 fast/canvas/canvas-strokePath-alpha-shadow.html 7901 fast/canvas/canvas-strokeRect-alpha-shadow.html 7902 fast/css/text-input-with-webkit-border-radius.html 7903 fast/repaint/shadow-multiple-horizontal.html 7904 fast/repaint/shadow-multiple-strict-horizontal.html 7905 fast/repaint/shadow-multiple-strict-vertical.html 7906 fast/repaint/shadow-multiple-vertical.html 7907 fast/canvas/canvas-getImageData.html 7908 7909 * platform/graphics/chromium/FontChromiumWin.cpp: 7910 (WebCore::Font::drawGlyphs): 7911 * platform/graphics/skia/GraphicsContextSkia.cpp: 7912 (WebCore::GraphicsContext::setPlatformShadow): 7913 7914 2011-04-28 David Kilzer <ddkilzer (a] apple.com> 7915 7916 <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper 7917 7918 Reviewed by Chris Fleizach. 7919 7920 Previously, AXObjectCache::attachWrapper over-retained each 7921 AccessibilityObjectWrapper it created, which is why 7922 AXObjectCache::detachWrapper() contained an extra -release. 7923 7924 * accessibility/mac/AXObjectCacheMac.mm: 7925 (WebCore::AXObjectCache::detachWrapper): Removed extra -release. 7926 (WebCore::AXObjectCache::attachWrapper): Because setWrapper() 7927 assigns to a RetainPtr<> instance variable, it doesn't need a +1 7928 retained object passed in. Fix the leak by using a RetainPtr<> 7929 for the AccessibilityObjectWrapper. 7930 7931 2011-04-28 Nat Duca <nduca (a] chromium.org> 7932 7933 Reviewed by Darin Fisher. 7934 7935 [chromium] Compute compositor fps value and history using the frameBegin timestamp 7936 https://bugs.webkit.org/show_bug.cgi?id=59668 7937 7938 This change switches the compositor FPS meter to use the timestamp 7939 of the beginning of the frame rather than the time we call 7940 swapBuffers. When scheduling is correctly tied to vsync, we can 7941 have highly variable times when we finish vsync and still have 7942 stable frame rates. 7943 7944 * platform/graphics/chromium/LayerRendererChromium.cpp: 7945 (WebCore::LayerRendererChromium::updateAndDrawLayers): 7946 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 7947 (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): 7948 (WebCore::CCHeadsUpDisplay::drawFPSCounter): 7949 (WebCore::CCHeadsUpDisplay::onFrameBegin): 7950 (WebCore::CCHeadsUpDisplay::onPresent): 7951 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: 7952 7953 2011-04-28 Beth Dakin <bdakin (a] apple.com> 7954 7955 Reviewed by Darin Adler. 7956 7957 https://bugs.webkit.org/show_bug.cgi?id=59759 7958 Overflow:scroll regions with overlay scrollbars show full thumb instead of just a 7959 track when there is nothing to scroll to 7960 <rdar://problem/9282066> 7961 7962 Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is 7963 nothing to scroll to. Just dividing them to get a knob proportion yields 1, which 7964 is not right. Set the proportion to 0 in this case instead. 7965 * platform/mac/ScrollbarThemeMac.mm: 7966 (WebCore::ScrollbarThemeMac::paint): 7967 7968 2011-04-28 Dan Bernstein <mitz (a] apple.com> 7969 7970 Reviewed by Simon Fraser. 7971 7972 <rdar://problem/9291132> Add support for -epub-prefixed properties 7973 7974 Test: fast/css/epub-properties.html 7975 7976 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 7977 (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones. 7978 * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine, 7979 -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation, 7980 text-transform, text-transform, word-break, and -webkit-writing-mode. 7981 7982 2011-04-28 Adam Barth <abarth (a] webkit.org> 7983 7984 Reviewed by Eric Seidel. 7985 7986 Remove WML 7987 https://bugs.webkit.org/show_bug.cgi?id=59678 7988 7989 This patch removes WML from WebCore. After removing WML, there's a 7990 bunch of twisted code that could be untwisted, but this patch contains 7991 only the purely mechanical part of removing the feature. 7992 7993 There's been a lot of discussion on webkit-dev about whether we should 7994 remove WML. In addition to those threads, we've had an informal poll 7995 of the reviewers as well as an in-person discussion at the WebKit 7996 contributor's meeting. Removing any feature is likely to make some 7997 folks unhappy, but, on balance, removing WML appears to be the right 7998 thing for the project to do at this time. 7999 8000 * CMakeLists.txt: 8001 * CodeGenerators.pri: 8002 * Configurations/FeatureDefines.xcconfig: 8003 * DerivedSources.cpp: 8004 * DerivedSources.make: 8005 * GNUmakefile.am: 8006 * GNUmakefile.list.am: 8007 * WebCore.gyp/WebCore.gyp: 8008 * WebCore.gypi: 8009 * WebCore.pro: 8010 * WebCore.vcproj/WebCore.vcproj: 8011 * WebCore.xcodeproj/project.pbxproj: 8012 * css/CSSStyleSelector.cpp: 8013 (WebCore::linkAttribute): 8014 (WebCore::CSSStyleSelector::styleForElement): 8015 (WebCore::CSSStyleSelector::adjustRenderStyle): 8016 * css/wml.css: Removed. 8017 * dom/DOMImplementation.cpp: 8018 (WebCore::DOMImplementation::createDocument): 8019 * dom/Document.cpp: 8020 (WebCore::Document::Document): 8021 (WebCore::Document::createElement): 8022 * dom/Document.h: 8023 (WebCore::Document::isMediaDocument): 8024 * dom/Document.idl: 8025 * dom/InputElement.h: 8026 * dom/Node.cpp: 8027 (WebCore::Node::toInputElement): 8028 * dom/Node.h: 8029 * dom/OptionElement.cpp: 8030 (WebCore::toOptionElement): 8031 (WebCore::isOptionElement): 8032 * dom/OptionElement.h: 8033 * dom/OptionGroupElement.cpp: 8034 (WebCore::toOptionGroupElement): 8035 (WebCore::isOptionGroupElement): 8036 * dom/SelectElement.cpp: 8037 (WebCore::toSelectElement): 8038 * dom/SelectElement.h: 8039 * dom/Text.cpp: 8040 (WebCore::Text::attach): 8041 * dom/XMLDocumentParser.cpp: 8042 (WebCore::XMLDocumentParser::insertErrorMessageBlock): 8043 * dom/XMLDocumentParser.h: 8044 * dom/XMLDocumentParserLibxml2.cpp: 8045 (WebCore::XMLDocumentParser::internalSubset): 8046 (WebCore::getEntityHandler): 8047 * dom/XMLDocumentParserQt.cpp: 8048 (WebCore::XMLDocumentParser::parse): 8049 (WebCore::XMLDocumentParser::parseDtd): 8050 * editing/htmlediting.cpp: 8051 (WebCore::canHaveChildrenForEditing): 8052 * features.pri: 8053 * history/BackForwardList.h: 8054 * history/BackForwardListImpl.cpp: 8055 * history/BackForwardListImpl.h: 8056 * history/PageCache.cpp: 8057 (WebCore::PageCache::canCachePageContainingThisFrame): 8058 * html/HTMLAnchorElement.h: 8059 * inspector/ConsoleMessage.cpp: 8060 (WebCore::messageSourceValue): 8061 * inspector/front-end/ConsoleView.js: 8062 (WebInspector.ConsoleMessage.prototype.toString): 8063 * loader/FrameLoader.cpp: 8064 (WebCore::isBackForwardLoadType): 8065 (WebCore::FrameLoader::transitionToCommitted): 8066 (WebCore::FrameLoader::shouldReload): 8067 (WebCore::FrameLoader::loadDifferentDocumentItem): 8068 (WebCore::FrameLoader::loadItem): 8069 * loader/FrameLoaderTypes.h: 8070 * loader/HistoryController.cpp: 8071 (WebCore::HistoryController::restoreDocumentState): 8072 * manual-tests/wml: Removed. 8073 * manual-tests/wml/StartTests.wml: Removed. 8074 * manual-tests/wml/a-br-element.wml: Removed. 8075 * manual-tests/wml/a-element.wml: Removed. 8076 * manual-tests/wml/a-img-element.wml: Removed. 8077 * manual-tests/wml/access-target.wml: Removed. 8078 * manual-tests/wml/anchor-br-element.wml: Removed. 8079 * manual-tests/wml/anchor-element.wml: Removed. 8080 * manual-tests/wml/anchor-img-element.wml: Removed. 8081 * manual-tests/wml/card-newcontext-attr.wml: Removed. 8082 * manual-tests/wml/card-onenterbackward.wml: Removed. 8083 * manual-tests/wml/card-onenterforward.wml: Removed. 8084 * manual-tests/wml/card-ontimer.wml: Removed. 8085 * manual-tests/wml/deck-access-control.wml: Removed. 8086 * manual-tests/wml/input-format.wml: Removed. 8087 * manual-tests/wml/onevent-go.wml: Removed. 8088 * manual-tests/wml/onevent-noop.wml: Removed. 8089 * manual-tests/wml/onevent-prev.wml: Removed. 8090 * manual-tests/wml/onevent-refresh.wml: Removed. 8091 * manual-tests/wml/onevent-shadow.wml: Removed. 8092 * manual-tests/wml/resources: Removed. 8093 * manual-tests/wml/resources/smiley.png: Removed. 8094 * manual-tests/wml/select-element.wml: Removed. 8095 * manual-tests/wml/select-onpick-event-crash.wml: Removed. 8096 * manual-tests/wml/select-onpick-event.wml: Removed. 8097 * manual-tests/wml/setvar-element.wml: Removed. 8098 * manual-tests/wml/targetdeck.wml: Removed. 8099 * manual-tests/wml/task-go-in-anchor.wml: Removed. 8100 * manual-tests/wml/task-prev-in-anchor.wml: Removed. 8101 * manual-tests/wml/task-refresh-in-anchor.wml: Removed. 8102 * manual-tests/wml/template-go.wml: Removed. 8103 * manual-tests/wml/template-ontimer.wml: Removed. 8104 * manual-tests/wml/timer.wml: Removed. 8105 * manual-tests/wml/variable-substitution.wml: Removed. 8106 * page/Console.cpp: 8107 (WebCore::printMessageSourceAndLevelPrefix): 8108 * page/Console.h: 8109 * page/Frame.cpp: 8110 (WebCore::Frame::Frame): 8111 * page/Page.cpp: 8112 * page/Page.h: 8113 * platform/MIMETypeRegistry.cpp: 8114 (WebCore::initializeSupportedNonImageMimeTypes): 8115 * platform/network/FormDataBuilder.h: 8116 * platform/network/mac/ResourceHandleMac.mm: 8117 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 8118 * platform/wince/MIMETypeRegistryWinCE.cpp: 8119 (WebCore::initMIMETypeEntensionMap): 8120 * rendering/HitTestResult.cpp: 8121 (WebCore::HitTestResult::altDisplayString): 8122 (WebCore::HitTestResult::absoluteImageURL): 8123 (WebCore::HitTestResult::absoluteLinkURL): 8124 (WebCore::HitTestResult::isLiveLink): 8125 * rendering/RenderBox.cpp: 8126 * rendering/RenderButton.cpp: 8127 (WebCore::RenderButton::updateFromElement): 8128 * rendering/RenderFieldset.cpp: 8129 (WebCore::RenderFieldset::findLegend): 8130 * rendering/RenderImage.cpp: 8131 (WebCore::RenderImage::updateAltText): 8132 * rendering/RenderObject.cpp: 8133 (WebCore::RenderObject::isLegend): 8134 (WebCore::RenderObject::offsetParent): 8135 * wml: Removed. 8136 * wml/WMLAElement.cpp: Removed. 8137 * wml/WMLAElement.h: Removed. 8138 * wml/WMLAccessElement.cpp: Removed. 8139 * wml/WMLAccessElement.h: Removed. 8140 * wml/WMLAnchorElement.cpp: Removed. 8141 * wml/WMLAnchorElement.h: Removed. 8142 * wml/WMLAttributeNames.in: Removed. 8143 * wml/WMLBRElement.cpp: Removed. 8144 * wml/WMLBRElement.h: Removed. 8145 * wml/WMLCardElement.cpp: Removed. 8146 * wml/WMLCardElement.h: Removed. 8147 * wml/WMLDoElement.cpp: Removed. 8148 * wml/WMLDoElement.h: Removed. 8149 * wml/WMLDocument.cpp: Removed. 8150 * wml/WMLDocument.h: Removed. 8151 * wml/WMLElement.cpp: Removed. 8152 * wml/WMLElement.h: Removed. 8153 * wml/WMLErrorHandling.cpp: Removed. 8154 * wml/WMLErrorHandling.h: Removed. 8155 * wml/WMLEventHandlingElement.cpp: Removed. 8156 * wml/WMLEventHandlingElement.h: Removed. 8157 * wml/WMLFieldSetElement.cpp: Removed. 8158 * wml/WMLFieldSetElement.h: Removed. 8159 * wml/WMLFormControlElement.cpp: Removed. 8160 * wml/WMLFormControlElement.h: Removed. 8161 * wml/WMLGoElement.cpp: Removed. 8162 * wml/WMLGoElement.h: Removed. 8163 * wml/WMLImageElement.cpp: Removed. 8164 * wml/WMLImageElement.h: Removed. 8165 * wml/WMLImageLoader.cpp: Removed. 8166 * wml/WMLImageLoader.h: Removed. 8167 * wml/WMLInputElement.cpp: Removed. 8168 * wml/WMLInputElement.h: Removed. 8169 * wml/WMLInsertedLegendElement.cpp: Removed. 8170 * wml/WMLInsertedLegendElement.h: Removed. 8171 * wml/WMLIntrinsicEvent.cpp: Removed. 8172 * wml/WMLIntrinsicEvent.h: Removed. 8173 * wml/WMLIntrinsicEventHandler.cpp: Removed. 8174 * wml/WMLIntrinsicEventHandler.h: Removed. 8175 * wml/WMLMetaElement.cpp: Removed. 8176 * wml/WMLMetaElement.h: Removed. 8177 * wml/WMLNoopElement.cpp: Removed. 8178 * wml/WMLNoopElement.h: Removed. 8179 * wml/WMLOnEventElement.cpp: Removed. 8180 * wml/WMLOnEventElement.h: Removed. 8181 * wml/WMLOptGroupElement.cpp: Removed. 8182 * wml/WMLOptGroupElement.h: Removed. 8183 * wml/WMLOptionElement.cpp: Removed. 8184 * wml/WMLOptionElement.h: Removed. 8185 * wml/WMLPElement.cpp: Removed. 8186 * wml/WMLPElement.h: Removed. 8187 * wml/WMLPageState.cpp: Removed. 8188 * wml/WMLPageState.h: Removed. 8189 * wml/WMLPostfieldElement.cpp: Removed. 8190 * wml/WMLPostfieldElement.h: Removed. 8191 * wml/WMLPrevElement.cpp: Removed. 8192 * wml/WMLPrevElement.h: Removed. 8193 * wml/WMLRefreshElement.cpp: Removed. 8194 * wml/WMLRefreshElement.h: Removed. 8195 * wml/WMLSelectElement.cpp: Removed. 8196 * wml/WMLSelectElement.h: Removed. 8197 * wml/WMLSetvarElement.cpp: Removed. 8198 * wml/WMLSetvarElement.h: Removed. 8199 * wml/WMLTableElement.cpp: Removed. 8200 * wml/WMLTableElement.h: Removed. 8201 * wml/WMLTagNames.in: Removed. 8202 * wml/WMLTaskElement.cpp: Removed. 8203 * wml/WMLTaskElement.h: Removed. 8204 * wml/WMLTemplateElement.cpp: Removed. 8205 * wml/WMLTemplateElement.h: Removed. 8206 * wml/WMLTimerElement.cpp: Removed. 8207 * wml/WMLTimerElement.h: Removed. 8208 * wml/WMLVariables.cpp: Removed. 8209 * wml/WMLVariables.h: Removed. 8210 8211 2011-04-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 8212 8213 Unreviewed, rolling out r85233 and r85235. 8214 http://trac.webkit.org/changeset/85233 8215 http://trac.webkit.org/changeset/85235 8216 https://bugs.webkit.org/show_bug.cgi?id=59754 8217 8218 Causes issues with jsc. (Requested by dave_levin on #webkit). 8219 8220 * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed. 8221 * loader/icon/IconDatabase.cpp: 8222 (WebCore::IconDatabase::defaultIcon): 8223 (WebCore::IconDatabase::setIconDataForIconURL): 8224 (WebCore::IconDatabase::getOrCreateIconRecord): 8225 (WebCore::IconDatabase::readFromDatabase): 8226 8227 2011-04-28 Jay Civelli <jcivelli (a] chromium.org> 8228 8229 Reviewed by Adam Barth. 8230 8231 Introducing a new class that allows serialization of a page back 8232 to HTML/XML with all its sub-frames and also retrieves the page's 8233 resources. 8234 Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp 8235 https://bugs.webkit.org/show_bug.cgi?id=58947 8236 8237 * Android.mk: 8238 * CMakeLists.txt: 8239 * GNUmakefile.list.am: 8240 * WebCore.gypi: 8241 * WebCore.pro: 8242 * WebCore.vcproj/WebCore.vcproj: 8243 * dom/Document.cpp: 8244 (WebCore::Document::suggestedMIMEType): 8245 * dom/Document.h: 8246 * editing/MarkupAccumulator.cpp: 8247 (WebCore::MarkupAccumulator::appendCustomAttributes): 8248 (WebCore::MarkupAccumulator::appendElement): 8249 * editing/MarkupAccumulator.h: 8250 * html/parser/HTMLMetaCharsetParser.cpp: 8251 (WebCore::HTMLMetaCharsetParser::processMeta): 8252 (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes): 8253 * html/parser/HTMLMetaCharsetParser.h: 8254 * page/PageSerializer.cpp: Added. 8255 * page/PageSerializer.h: Added. 8256 8257 2011-04-28 Mark Pilgrim <pilgrim (a] chromium.org> 8258 8259 Reviewed by Tony Chang. 8260 8261 IndexedDB createIndex should fail if name arg is null 8262 https://bugs.webkit.org/show_bug.cgi?id=58365 8263 8264 Test: storage/indexeddb/mozilla/create-index-null-name.html 8265 8266 * storage/IDBObjectStore.idl: 8267 * storage/IDBObjectStoreBackendImpl.cpp: 8268 (WebCore::IDBObjectStoreBackendImpl::createIndex): 8269 8270 2011-04-28 Mark Pilgrim <pilgrim (a] chromium.org> 8271 8272 Reviewed by Tony Chang. 8273 8274 IndexedDB put() should fail if second (key) parameter is null 8275 https://bugs.webkit.org/show_bug.cgi?id=58613 8276 8277 If key arg is not specified, prpKey ends up as a null pointer in ::put(). 8278 However, if the key arg is specified but is null, prpKey ends up as a 8279 valid IDBKey which has a null key type. As it happens, we need to be able 8280 to detect the difference between these cases (the key arg is optional but 8281 if specified must not be null). 8282 8283 Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html 8284 8285 * storage/IDBObjectStoreBackendImpl.cpp: 8286 (WebCore::IDBObjectStoreBackendImpl::put): 8287 8288 2011-04-07 David Levin <levin (a] chromium.org> 8289 8290 Reviewed by Darin Adler. 8291 8292 Add asserts to RefCounted to make sure ref/deref happens on the right thread. 8293 https://bugs.webkit.org/show_bug.cgi?id=31639 8294 8295 No new functionality exposed so no new tests. (The change is basically adding 8296 more testing.) 8297 8298 * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added. 8299 * loader/icon/IconDatabase.cpp: 8300 (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable. 8301 (WebCore::IconDatabase::getOrCreateIconRecord): Ditto. 8302 (WebCore::IconDatabase::setIconDataForIconURL): Ditto. 8303 (WebCore::IconDatabase::readFromDatabase): Ditto. 8304 8305 2011-04-28 Kenneth Russell <kbr (a] google.com> 8306 8307 Unreviewed build fix for Web Audio with strict OwnPtr. 8308 8309 * platform/audio/HRTFDatabaseLoader.cpp: 8310 (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader): 8311 8312 2011-04-28 Dominic Cooney <dominicc (a] chromium.org> 8313 8314 Reviewed by Geoffrey Garen. 8315 8316 Walk shadow hosts as well as parent nodes when finding opaque roots. 8317 https://bugs.webkit.org/show_bug.cgi?id=59571 8318 8319 Test: fast/dom/shadow/gc-shadow.html 8320 8321 * bindings/js/JSDOMBinding.h: 8322 (WebCore::root): 8323 8324 2011-04-28 Martin Robinson <mrobinson (a] igalia.com> 8325 8326 Reviewed by Xan Lopez. 8327 8328 [GTK] Click counting logic should be shared between WebKit1 and WebKit2 8329 https://bugs.webkit.org/show_bug.cgi?id=59715 8330 8331 Added a GtkClickCounter class which is just the logic from WebKit1 pushed down 8332 into WebCore so that WebKit1 and WebKit2 can share the code. 8333 8334 No new tests. This is covered by fast/events/click-count.html. 8335 8336 * GNUmakefile.list.am: Added new files. 8337 * platform/gtk/GtkClickCounter.cpp: Added. 8338 (WebCore::GtkClickCounter::GtkClickCounter): Added. 8339 (WebCore::GtkClickCounter::reset): Added. 8340 (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added. 8341 (WebCore::getEventTime): Added. 8342 (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added. 8343 * platform/gtk/GtkClickCounter.h: Added. 8344 8345 2011-04-28 Dan Bernstein <mitz (a] apple.com> 8346 8347 Build fix. 8348 8349 * css/CSSParser.cpp: 8350 (WebCore::cssPropertyID): 8351 8352 2011-04-28 Dan Bernstein <mitz (a] apple.com> 8353 8354 Reviewed by Simon Fraser. 8355 8356 Allow specifying CSS property aliases in CSSPropertyNames.in files 8357 https://bugs.webkit.org/show_bug.cgi?id=59712 8358 8359 * css/CSSParser.cpp: 8360 (WebCore::cssPropertyID): Removed code to handle some aliases 8361 * css/CSSPropertyNames.in: Added aliases no longer handled in code. 8362 * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as 8363 defining an alias, and add an appropriate entry to the gperf file. 8364 8365 2011-04-28 Arno Renevier <arno (a] renevier.net> 8366 8367 Reviewed by Gustavo Noronha Silva. 8368 8369 [Soup] does not load css stylesheets without content-type 8370 https://bugs.webkit.org/show_bug.cgi?id=59697 8371 8372 When sniffing content type, do not replace http Content-Type header in 8373 soup message anymore, but keep sniffed content type in a separate 8374 variable. 8375 8376 * platform/network/soup/ResourceHandleSoup.cpp: 8377 (WebCore::contentSniffedCallback): 8378 * platform/network/soup/ResourceResponse.h: 8379 (WebCore::ResourceResponse::sniffedContentType): 8380 (WebCore::ResourceResponse::setSniffedContentType): 8381 * platform/network/soup/ResourceResponseSoup.cpp: 8382 (WebCore::ResourceResponse::updateFromSoupMessage): 8383 8384 2011-04-28 Yael Aharon <yael.aharon (a] nokia.com> 8385 8386 Reviewed by Andreas Kling. 8387 8388 Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER 8389 https://bugs.webkit.org/show_bug.cgi?id=59704 8390 8391 No new tests, just code cleanup. 8392 8393 * WebCore.pri: 8394 8395 2011-04-28 Pavel Podivilov <podivilov (a] chromium.org> 8396 8397 Reviewed by Pavel Feldman. 8398 8399 Web Inspector: remove "Pretty print" source frame context menu item. 8400 https://bugs.webkit.org/show_bug.cgi?id=59709 8401 8402 * inspector/front-end/DebuggerPresentationModel.js: 8403 (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles): 8404 * inspector/front-end/ScriptsPanel.js: 8405 (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles): 8406 * inspector/front-end/SourceFrame.js: 8407 (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu): 8408 8409 2011-04-28 Satish Sampath <satish (a] chromium.org> 8410 8411 Reviewed by Tony Gentilcore. 8412 8413 Speech input button layout issues with padding and border. 8414 https://bugs.webkit.org/show_bug.cgi?id=59613 8415 8416 * rendering/RenderTextControlSingleLine.cpp: 8417 (WebCore::RenderTextControlSingleLine::layout): 8418 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 8419 (WebCore::RenderTextControlSingleLine::forwardEvent): 8420 8421 2011-04-28 Carlos Garcia Campos <cgarcia (a] igalia.com> 8422 8423 Reviewed by Martin Robinson. 8424 8425 [GTK] Check whether to use native scrollbars at run time 8426 https://bugs.webkit.org/show_bug.cgi?id=59694 8427 8428 It's currently decided at build time depending on whether webkit2 8429 build is enabled or not. That makes imposible to build both 8430 webkit1 and webkit2 using the same libWebCore. 8431 8432 * GNUmakefile.am: 8433 * platform/ScrollView.cpp: 8434 (WebCore::ScrollView::wheelEvent): 8435 * platform/gtk/ScrollViewGtk.cpp: 8436 (WebCore::ScrollView::createScrollbar): 8437 8438 2011-04-28 Pavel Feldman <pfeldman (a] google.com> 8439 8440 Reviewed by Yury Semikhatsky. 8441 8442 Web Inspector: add status bar button for pretty print. 8443 https://bugs.webkit.org/show_bug.cgi?id=59467 8444 8445 * WebCore.gypi: 8446 * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added. 8447 * inspector/front-end/ScriptsPanel.js: 8448 (WebInspector.ScriptsPanel): 8449 (WebInspector.ScriptsPanel.prototype.get statusBarItems): 8450 (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles): 8451 * inspector/front-end/WebKit.qrc: 8452 * inspector/front-end/inspector.css: 8453 (.scripts-toggle-pretty-print-status-bar-item .glyph): 8454 (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph): 8455 8456 2011-04-28 Pavel Feldman <pfeldman (a] google.com> 8457 8458 Reviewed by Yury Semikhatsky. 8459 8460 Web Inspector: add ResourceTreeModel tests. 8461 https://bugs.webkit.org/show_bug.cgi?id=59616 8462 8463 Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html 8464 http/tests/inspector/resource-tree/resource-tree-frame-navigate.html 8465 http/tests/inspector/resource-tree/resource-tree-reload.html 8466 8467 * inspector/front-end/ResourceTreeModel.js: 8468 (WebInspector.ResourceTreeModel.prototype.frontendReused): 8469 (WebInspector.ResourceTreeModel.prototype._addFrame): 8470 (WebInspector.ResourceTreeModel.prototype._frameNavigated): 8471 (WebInspector.ResourceTreeModel.prototype._frameDetached): 8472 (WebInspector.ResourceTreeModel.prototype._onResourceUpdated): 8473 (WebInspector.ResourceTreeModel.prototype.forAllResources): 8474 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): 8475 (WebInspector.ResourceTreeModel.prototype._callForFrameResources): 8476 (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): 8477 * inspector/front-end/ResourcesPanel.js: 8478 (WebInspector.ResourcesPanel.prototype._populateResourceTree): 8479 (WebInspector.ResourcesPanel.prototype._frameAdded): 8480 (WebInspector.ResourcesPanel.prototype._frameDetached): 8481 (WebInspector.ResourcesPanel.prototype._frameNavigated): 8482 (WebInspector.FrameTreeElement): 8483 (WebInspector.FrameTreeElement.prototype.frameNavigated): 8484 8485 2011-04-28 Mikhail Naganov <mnaganov (a] chromium.org> 8486 8487 Reviewed by Yury Semikhatsky. 8488 8489 WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots. 8490 https://bugs.webkit.org/show_bug.cgi?id=59592 8491 8492 * inspector/front-end/DetailedHeapshotGridNodes.js: 8493 (WebInspector.HeapSnapshotGridNode.prototype._populate): 8494 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): 8495 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize): 8496 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 8497 * inspector/front-end/DetailedHeapshotView.js: 8498 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand): 8499 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute): 8500 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound): 8501 (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute): 8502 (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid): 8503 (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete): 8504 (WebInspector.DetailedHeapshotView.prototype.changeView): 8505 * inspector/front-end/HeapSnapshot.js: 8506 (WebInspector.HeapSnapshotPathFinder.prototype.findNext): 8507 (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter): 8508 (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath): 8509 (WebInspector.HeapSnapshotPathFinder.prototype._pathToString): 8510 (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute): 8511 * inspector/front-end/heapProfiler.css: 8512 (div.retaining-paths-view td.path-column div:hover): 8513 8514 2011-04-28 Mikhail Naganov <mnaganov (a] chromium.org> 8515 8516 Reviewed by Yury Semikhatsky. 8517 8518 Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing. 8519 https://bugs.webkit.org/show_bug.cgi?id=59454 8520 8521 Test: inspector/profiler/heap-snapshot-loader.html 8522 8523 * inspector/front-end/HeapSnapshot.js: 8524 (WebInspector.HeapSnapshotLoader): 8525 (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets): 8526 (WebInspector.HeapSnapshotLoader.prototype.finishLoading): 8527 (WebInspector.HeapSnapshotLoader.prototype._parseNodes): 8528 (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray): 8529 (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): 8530 * inspector/front-end/HeapSnapshotProxy.js: 8531 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage): 8532 8533 2011-04-28 ojab <ojab (a] ojab.ru> 8534 8535 Reviewed by David Levin. 8536 8537 Fix build with libpng-1.5.1 8538 https://bugs.webkit.org/show_bug.cgi?id=59607 8539 8540 * platform/image-decoders/png/PNGImageDecoder.cpp: 8541 (WebCore::readColorProfile): 8542 8543 2011-04-28 Zoltan Herczeg <zherczeg (a] inf.u-szeged.hu> 8544 8545 Reviewed by Nikolas Zimmermann. 8546 8547 Optimizing gaussian blur filter to ARM-neon SIMD instruction set 8548 https://bugs.webkit.org/show_bug.cgi?id=59447 8549 8550 This patch contains two sub-routines, one for speeding up 8551 alpha channel only gaussian blur (by 2.5 times) and one 8552 for speeding up all channel blur (by 4 times). 8553 8554 The common code is also redesigned to better fit for platform 8555 specific code. This means large chunks of code was moved to 8556 different files, and all platform specific files are added to 8557 all build systems. 8558 8559 * CMakeLists.txt: 8560 * GNUmakefile.am: 8561 * GNUmakefile.list.am: 8562 * WebCore.gypi: 8563 * WebCore.pro: 8564 * WebCore.vcproj/WebCore.vcproj: 8565 * WebCore.vcproj/WebCoreCommon.vsprops: 8566 * WebCore.xcodeproj/project.pbxproj: 8567 * platform/graphics/filters/FEGaussianBlur.cpp: 8568 (WebCore::FEGaussianBlur::platformApplyGeneric): 8569 (WebCore::FEGaussianBlur::apply): 8570 * platform/graphics/filters/FEGaussianBlur.h: 8571 (WebCore::FEGaussianBlur::kernelPosition): 8572 (WebCore::FEGaussianBlur::platformApply): 8573 * platform/graphics/filters/FELighting.cpp: 8574 (WebCore::FELighting::platformApplyGeneric): 8575 (WebCore::FELighting::drawLighting): 8576 * platform/graphics/filters/FELighting.h: 8577 (WebCore::FELighting::platformApply): 8578 * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added. 8579 (WebCore::WTF_ALIGNED): 8580 (WebCore::feGaussianBlurConstantsForNeon): 8581 * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added. 8582 (WebCore::FEGaussianBlur::platformApplyNeon): 8583 * platform/graphics/filters/arm/FELightingNEON.cpp: 8584 (WebCore::WTF_ALIGNED): 8585 (WebCore::FELighting::getPowerCoefficients): 8586 * platform/graphics/filters/arm/FELightingNEON.h: 8587 (WebCore::FELighting::platformApplyNeon): 8588 8589 2011-04-28 Alexander Pavlov <apavlov (a] chromium.org> 8590 8591 Reviewed by Yury Semikhatsky. 8592 8593 Web Inspector: provide a hotkey for script pause 8594 https://bugs.webkit.org/show_bug.cgi?id=59593 8595 8596 In fact, F8 works as a hotkey, but this fact was not reflected 8597 in the shortcut help popup. 8598 8599 * English.lproj/localizedStrings.js: 8600 * inspector/front-end/ScriptsPanel.js: 8601 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 8602 8603 2011-04-28 Adam Barth <abarth (a] webkit.org> 8604 8605 Reviewed by Eric Seidel. 8606 8607 PluginStream should play nice with strict OwnPtr 8608 https://bugs.webkit.org/show_bug.cgi?id=59675 8609 8610 These failures appear when enabling strict OwnPtr on Qt. 8611 8612 * plugins/PluginStream.cpp: 8613 (WebCore::PluginStream::PluginStream): 8614 (WebCore::PluginStream::didReceiveData): 8615 8616 2011-04-26 Alexander Pavlov <apavlov (a] chromium.org> 8617 8618 Reviewed by Pavel Feldman. 8619 8620 Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text 8621 https://bugs.webkit.org/show_bug.cgi?id=59326 8622 8623 Concrete CachedResource successors for stylesheets and scripts 8624 can decode their content better than the generic approach we use. 8625 8626 * inspector/InspectorPageAgent.cpp: 8627 (WebCore::decodeSharedBuffer): 8628 (WebCore::prepareCachedResourceBuffer): 8629 (WebCore::cachedResourceDecoded): 8630 (WebCore::InspectorPageAgent::resourceContent): 8631 (WebCore::InspectorPageAgent::resourceData): 8632 * inspector/InspectorStyleSheet.cpp: 8633 (WebCore::InspectorStyleSheet::originalStyleSheetText): 8634 8635 2011-04-28 Jon Lee <jonlee (a] apple.com> 8636 8637 Reviewed by Simon Fraser. 8638 8639 REGRESSION: white overlay scrollbars on apple.com/startpage 8640 https://bugs.webkit.org/show_bug.cgi?id=59540 8641 <rdar://problem/9338653> 8642 8643 Now we look at the document background in addition to the <body> element, 8644 and blend those colors in with the base background of the frame view to 8645 arrive at our aggregate color. This provides a better result to determine 8646 overlay scrollbar style. 8647 8648 * page/Frame.cpp: 8649 (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them. 8650 * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation 8651 8652 2011-04-27 Adam Barth <abarth (a] webkit.org> 8653 8654 Reviewed by Maciej Stachowiak. 8655 8656 Fix OwnPtr issues in IndexedDB 8657 https://bugs.webkit.org/show_bug.cgi?id=59656 8658 8659 This patch is an attempt to fix the clang build. Clang can't seem to 8660 cope with OwnPtrs to classes declared in an anonymous namespace because 8661 OwnPtr's copy constructor isn't defined (but would need to be defined 8662 in this translation unit). 8663 8664 * platform/leveldb/LevelDBDatabase.cpp: 8665 8666 2011-04-27 Ryuan Choi <ryuan.choi (a] samsung.com> 8667 8668 Reviewed by Antonio Gomes. 8669 8670 [EFL] Change cursor to LAZY_NATIVE_CURSOR 8671 https://bugs.webkit.org/show_bug.cgi?id=59411 8672 8673 Enable LAZY_NATIVE_CURSOR on EFL build. 8674 8675 No test added because functionality is unchanged. 8676 8677 * CMakeListsEfl.txt: Add Cursor.cpp 8678 * platform/Cursor.h: 8679 (WebCore::Cursor::Cursor): 8680 * platform/efl/CursorEfl.cpp: 8681 (WebCore::Cursor::Cursor): 8682 (WebCore::Cursor::~Cursor): 8683 (WebCore::getCursorString): 8684 (WebCore::Cursor::ensurePlatformCursor): 8685 * platform/efl/WidgetEfl.cpp: 8686 (WebCore::Widget::setCursor): 8687 8688 2011-04-27 Adam Barth <abarth (a] webkit.org> 8689 8690 Build fix from the future. Another trival strict OwnPtr fixes. This 8691 is the last futuristic build fix I can detect with my time traveling 8692 abilities. 8693 8694 * platform/graphics/chromium/TransparencyWin.cpp: 8695 (WebCore::TransparencyWin::initializeNewContext): 8696 8697 2011-04-27 Dmitry Lomov <dslomov (a] google.com> 8698 8699 Reviewed by David Levin. 8700 8701 CrossThreadCopier should not have a default specialization for raw pointers 8702 https://bugs.webkit.org/show_bug.cgi?id=59234 8703 Removed the ablity to pass raw pointers cross-thread 8704 Added and applied annotations for doing that 8705 8706 * fileapi/FileReader.cpp: 8707 (WebCore::FileReader::readInternal): 8708 (WebCore::FileReader::abort): 8709 * fileapi/FileStreamProxy.cpp: 8710 (WebCore::FileStreamProxy::startOnFileThread): 8711 (WebCore::FileStreamProxy::stopOnFileThread): 8712 (WebCore::FileStreamProxy::getSize): 8713 (WebCore::FileStreamProxy::getSizeOnFileThread): 8714 (WebCore::FileStreamProxy::openForRead): 8715 (WebCore::FileStreamProxy::openForReadOnFileThread): 8716 (WebCore::FileStreamProxy::openForWrite): 8717 (WebCore::FileStreamProxy::openForWriteOnFileThread): 8718 (WebCore::FileStreamProxy::close): 8719 (WebCore::FileStreamProxy::read): 8720 (WebCore::FileStreamProxy::readOnFileThread): 8721 (WebCore::FileStreamProxy::write): 8722 (WebCore::FileStreamProxy::writeOnFileThread): 8723 (WebCore::FileStreamProxy::truncate): 8724 (WebCore::FileStreamProxy::truncateOnFileThread): 8725 * loader/WorkerThreadableLoader.cpp: 8726 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 8727 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): 8728 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): 8729 * page/GeolocationPositionCache.cpp: 8730 (WebCore::GeolocationPositionCache::triggerReadFromDatabase): 8731 (WebCore::GeolocationPositionCache::triggerWriteToDatabase): 8732 * platform/CrossThreadCopier.h: 8733 (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper): 8734 (WebCore::AllowCrossThreadAccessWrapper::value): 8735 (WebCore::AllowCrossThreadAccess): 8736 (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper): 8737 (WebCore::AllowExtendedLifetimeWrapper::value): 8738 (WebCore::AllowExtendedLifetime): 8739 * platform/graphics/chromium/cc/CCCompletionEvent.h: 8740 * storage/IDBObjectStoreBackendImpl.cpp: 8741 (WebCore::IDBObjectStoreBackendImpl::get): 8742 (WebCore::IDBObjectStoreBackendImpl::put): 8743 (WebCore::IDBObjectStoreBackendImpl::deleteFunction): 8744 (WebCore::IDBObjectStoreBackendImpl::clear): 8745 (WebCore::IDBObjectStoreBackendImpl::createIndex): 8746 (WebCore::IDBObjectStoreBackendImpl::deleteIndex): 8747 (WebCore::IDBObjectStoreBackendImpl::openCursor): 8748 * storage/SQLCallbackWrapper.h: 8749 (WebCore::SQLCallbackWrapper::clear): 8750 * websockets/WorkerThreadableWebSocketChannel.cpp: 8751 (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel): 8752 (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge): 8753 (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect): 8754 (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): 8755 (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount): 8756 (WebCore::WorkerThreadableWebSocketChannel::Bridge::close): 8757 (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect): 8758 (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend): 8759 (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume): 8760 * workers/WorkerMessagingProxy.cpp: 8761 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): 8762 8763 2011-04-27 Adam Barth <abarth (a] webkit.org> 8764 8765 Two build fixes from the future. (Trivial strict OwnPtr fixes.) 8766 8767 * page/Frame.cpp: 8768 (WebCore::Frame::setTiledBackingStoreEnabled): 8769 * platform/audio/ReverbConvolver.cpp: 8770 (WebCore::ReverbConvolver::ReverbConvolver): 8771 8772 2011-04-27 Adam Barth <abarth (a] webkit.org> 8773 8774 Reviewed by David Levin. 8775 8776 Fix five strict PassOwnPtr violations in WebCore 8777 https://bugs.webkit.org/show_bug.cgi?id=59640 8778 8779 * css/MediaList.cpp: 8780 (WebCore::MediaList::deleteMedium): 8781 (WebCore::MediaList::setMediaText): 8782 (WebCore::MediaList::appendMedium): 8783 * css/MediaQuery.h: 8784 * dom/MessagePort.cpp: 8785 (WebCore::MessagePort::disentanglePorts): 8786 (WebCore::MessagePort::entanglePorts): 8787 * inspector/InspectorStyleSheet.cpp: 8788 (ParsedStyleSheet::setText): 8789 * rendering/RenderTheme.cpp: 8790 (WebCore::RenderTheme::adjustStyle): 8791 (WebCore::RenderTheme::adjustMeterStyle): 8792 * rendering/RenderThemeMac.mm: 8793 (WebCore::RenderThemeMac::adjustMenuListStyle): 8794 (WebCore::RenderThemeMac::adjustSliderTrackStyle): 8795 (WebCore::RenderThemeMac::adjustSliderThumbStyle): 8796 (WebCore::RenderThemeMac::adjustSearchFieldStyle): 8797 (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle): 8798 (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle): 8799 (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle): 8800 (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle): 8801 8802 2011-04-27 Chris Fleizach <cfleizach (a] apple.com> 8803 8804 Reviewed by Beth Dakin. 8805 8806 <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks 8807 https://bugs.webkit.org/show_bug.cgi?id=59648 8808 8809 Test: accessibility/aria-fallback-roles.html 8810 8811 * accessibility/AccessibilityObject.cpp: 8812 (WebCore::AccessibilityObject::ariaRoleToWebCoreRole): 8813 8814 2011-04-27 Beth Dakin <bdakin (a] apple.com> 8815 8816 Reviewed by Dan Bernstein. 8817 8818 https://bugs.webkit.org/show_bug.cgi?id=59671 8819 Race condition with scrollbar animations and closing a page can cause a crash in 8820 WebCore::FrameView::setVisibleScrollerThumbRect + 15 8821 -and corresponding- 8822 <rdar://problem/9329253> 8823 8824 It is definitely possible for Page to be null here. So we should null-check it! 8825 And we should not ASSERT. 8826 * page/FrameView.cpp: 8827 (WebCore::FrameView::didCompleteRubberBand): 8828 (WebCore::FrameView::scrollbarStyleChanged): 8829 (WebCore::FrameView::setVisibleScrollerThumbRect): 8830 8831 2011-04-27 Ryosuke Niwa <rniwa (a] webkit.org> 8832 8833 WinCE build fix after r85143. 8834 8835 * platform/graphics/wince/FontWinCE.cpp: 8836 (WebCore::TextRunComponent::TextRunComponent): 8837 8838 2011-04-27 Mark Pilgrim <pilgrim (a] chromium.org> 8839 8840 Reviewed by Tony Chang. 8841 8842 IndexedDB object store delete should fail if key is null 8843 https://bugs.webkit.org/show_bug.cgi?id=58614 8844 8845 Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html 8846 8847 * storage/IDBObjectStoreBackendImpl.cpp: 8848 (WebCore::IDBObjectStoreBackendImpl::deleteFunction): 8849 8850 2011-04-27 Eric Seidel <eric (a] webkit.org> 8851 8852 Reviewed by Ryosuke Niwa. 8853 8854 Should have an easy way to construct starting BidiStatus for a paragraph root 8855 https://bugs.webkit.org/show_bug.cgi?id=59226 8856 8857 Two places try to construct BidiStatuses for a paragraph root using copy/paste code. 8858 I've made this a constructor for BidiStatus instead. 8859 8860 As part of this effort I added a direction() accessor for TextRun and got 8861 rid of the old m_rtl bool. This is part of the generic effort in the 8862 Bidi code to replace old bool usage with the superior TextDirection enum 8863 (this generally makes the code cleaner). 8864 8865 As part of this replacement effort I found several places which were 8866 assuming LTR (by passing rtl=false) when they probably want to use 8867 the current text direction. I suspect that LTR vs. RTL may affect 8868 string width in the case of ligatures. It's unclear. 8869 8870 This is almost entirely a mechanical change. 8871 8872 * html/canvas/CanvasRenderingContext2D.cpp: 8873 (WebCore::CanvasRenderingContext2D::drawTextInternal): 8874 * platform/graphics/GraphicsContext.cpp: 8875 (WebCore::GraphicsContext::drawBidiText): 8876 * platform/graphics/TextRun.h: 8877 (WebCore::TextRun::TextRun): 8878 (WebCore::TextRun::direction): 8879 (WebCore::TextRun::rtl): 8880 (WebCore::TextRun::ltr): 8881 (WebCore::TextRun::setDirection): 8882 * platform/text/BidiResolver.h: 8883 (WebCore::BidiStatus::BidiStatus): 8884 * rendering/EllipsisBox.cpp: 8885 (WebCore::EllipsisBox::paint): 8886 (WebCore::EllipsisBox::selectionRect): 8887 (WebCore::EllipsisBox::paintSelection): 8888 * rendering/InlineTextBox.cpp: 8889 (WebCore::InlineTextBox::selectionRect): 8890 (WebCore::InlineTextBox::paint): 8891 (WebCore::InlineTextBox::paintSelection): 8892 (WebCore::InlineTextBox::paintCompositionBackground): 8893 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 8894 (WebCore::InlineTextBox::paintTextMatchMarker): 8895 (WebCore::InlineTextBox::computeRectForReplacementMarker): 8896 (WebCore::InlineTextBox::offsetForPosition): 8897 (WebCore::InlineTextBox::positionForOffset): 8898 * rendering/RenderBlockLineLayout.cpp: 8899 (WebCore::RenderBlock::determineStartPosition): 8900 * rendering/RenderFileUploadControl.cpp: 8901 (WebCore::RenderFileUploadControl::paintObject): 8902 (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): 8903 * rendering/RenderListBox.cpp: 8904 (WebCore::RenderListBox::updateFromElement): 8905 (WebCore::RenderListBox::paintItemForeground): 8906 * rendering/RenderTextControl.cpp: 8907 (WebCore::RenderTextControl::getAvgCharWidth): 8908 (WebCore::RenderTextControl::paintPlaceholder): 8909 * rendering/svg/SVGInlineTextBox.cpp: 8910 (WebCore::SVGInlineTextBox::constructTextRun): 8911 * rendering/svg/SVGTextMetrics.cpp: 8912 (WebCore::constructTextRun): 8913 8914 2011-04-27 Robert Hogan <robert (a] webkit.org> 8915 8916 Reviewed by Adam Barth. 8917 8918 Allow shadowing of history object 8919 https://bugs.webkit.org/show_bug.cgi?id=55965 8920 8921 Tests: http/tests/history/cross-origin-replace-history-object-child.html 8922 http/tests/history/cross-origin-replace-history-object.html 8923 8924 * page/DOMWindow.idl: 8925 8926 2011-04-27 James Robinson <jamesr (a] chromium.org> 8927 8928 Reviewed by Kenneth Russell. 8929 8930 [chromium] Ensure compositing layers are up to date before entering doComposite 8931 https://bugs.webkit.org/show_bug.cgi?id=59159 8932 8933 Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during 8934 GraphicsLayerClient::paintContents() implementations). 8935 8936 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 8937 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 8938 * platform/graphics/chromium/LayerChromium.cpp: 8939 (WebCore::LayerChromium::LayerChromium): 8940 (WebCore::LayerChromium::~LayerChromium): 8941 * platform/graphics/chromium/LayerRendererChromium.cpp: 8942 (WebCore::LayerRendererChromium::updateLayers): 8943 * platform/graphics/chromium/LayerRendererChromium.h: 8944 Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents 8945 8946 2011-04-27 James Robinson <jamesr (a] chromium.org> 8947 8948 Reviewed by Adam Barth. 8949 8950 Fix OwnPtr strict issues in chromium linux build 8951 https://bugs.webkit.org/show_bug.cgi?id=59664 8952 8953 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 8954 (WebCore::ComplexTextController::getNormalizedTextRun): 8955 * platform/graphics/skia/ImageBufferSkia.cpp: 8956 (WebCore::ImageBuffer::ImageBuffer): 8957 * platform/graphics/skia/PlatformContextSkia.cpp: 8958 (WebCore::PlatformContextSkia::PlatformContextSkia): 8959 8960 2011-04-27 Chris Rogers <crogers (a] google.com> 8961 8962 Reviewed by Kenneth Russell. 8963 8964 Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting() 8965 https://bugs.webkit.org/show_bug.cgi?id=59641 8966 8967 No new tests since audio API is not yet implemented. 8968 8969 * platform/audio/AudioBus.cpp: 8970 (WebCore::AudioBus::createBySampleRateConverting): 8971 (WebCore::AudioBus::createByMixingToMono): 8972 8973 2011-04-27 Geoffrey Garen <ggaren (a] apple.com> 8974 8975 Motivated by Alexey Proskuryakov. 8976 8977 * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more 8978 informative, since it confused Alexey and me. 8979 8980 2011-04-27 Geoffrey Garen <ggaren (a] apple.com> 8981 8982 Reviewed by Sam Weinig. 8983 8984 Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld 8985 https://bugs.webkit.org/show_bug.cgi?id=59646 8986 8987 Made the cssValueRoots map per-world, instead of a global. When we deallocate 8988 a world, we need to clear all entries in the map for that world, since 8989 the finalizers that would otherwise clear those entries don't run. The 8990 simplest way to do this is just to make the world own the map. 8991 8992 * bindings/js/DOMWrapperWorld.h: 8993 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 8994 (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): 8995 * bindings/js/JSCSSValueCustom.cpp: 8996 (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots): 8997 (WebCore::JSCSSValueOwner::finalize): 8998 * bindings/js/JSDOMBinding.h: 8999 9000 2011-04-27 Adam Barth <abarth (a] webkit.org> 9001 9002 Reviewed by David Levin. 9003 9004 Fix OwnPtr issues in IndexedDB 9005 https://bugs.webkit.org/show_bug.cgi?id=59656 9006 9007 I didn't do an exhaustive review of this code, but I fixed the problems 9008 caught by turning on strict OwnPtr and all their antecedents. This 9009 patch is entirely tighter bookkeeping. There shouldn't be any actual 9010 behavior change. 9011 9012 * platform/leveldb/LevelDBDatabase.cpp: 9013 (WebCore::LevelDBDatabase::LevelDBDatabase): 9014 (WebCore::LevelDBDatabase::open): 9015 (WebCore::LevelDBDatabase::createIterator): 9016 * platform/leveldb/LevelDBDatabase.h: 9017 * platform/leveldb/LevelDBIterator.cpp: 9018 (WebCore::LevelDBIterator::LevelDBIterator): 9019 * platform/leveldb/LevelDBIterator.h: 9020 * storage/IDBLevelDBBackingStore.cpp: 9021 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore): 9022 (WebCore::IDBLevelDBBackingStore::open): 9023 (WebCore::getNewDatabaseId): 9024 (WebCore::IDBLevelDBBackingStore::getObjectStores): 9025 (WebCore::getNewObjectStoreId): 9026 (WebCore::deleteRange): 9027 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): 9028 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): 9029 (WebCore::IDBLevelDBBackingStore::getIndexes): 9030 (WebCore::getNewIndexId): 9031 (WebCore::findGreatestKeyLessThan): 9032 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): 9033 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): 9034 (WebCore::findLastIndexKeyEqualTo): 9035 * storage/IDBLevelDBBackingStore.h: 9036 9037 2011-04-19 MORITA Hajime <morrita (a] google.com> 9038 9039 Reviewed by Tony Chang. 9040 9041 [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class. 9042 https://bugs.webkit.org/show_bug.cgi?id=58113 9043 9044 * Introduced RenderedDocumentMarker, a subclass of DocumentMarker. 9045 * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker 9046 * Now MarkerMapVectorPair is no longer used. 9047 9048 No new tests, No behavior change. 9049 9050 * GNUmakefile.list.am: 9051 * WebCore.gypi: 9052 * WebCore.pro: 9053 * WebCore.vcproj/WebCore.vcproj: 9054 * WebCore.xcodeproj/project.pbxproj: 9055 * dom/DocumentMarker.h: 9056 * dom/DocumentMarkerController.cpp: 9057 (WebCore::DocumentMarkerController::addMarker): 9058 (WebCore::DocumentMarkerController::copyMarkers): 9059 (WebCore::DocumentMarkerController::removeMarkers): 9060 (WebCore::DocumentMarkerController::markerContainingPoint): 9061 (WebCore::DocumentMarkerController::markersForNode): 9062 (WebCore::DocumentMarkerController::renderedRectsForMarkers): 9063 (WebCore::DocumentMarkerController::removeMarkersFromList): 9064 (WebCore::DocumentMarkerController::repaintMarkers): 9065 (WebCore::DocumentMarkerController::setRenderedRectForMarker): 9066 (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect): 9067 (WebCore::DocumentMarkerController::shiftMarkers): 9068 (WebCore::DocumentMarkerController::setMarkersActive): 9069 (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange): 9070 (WebCore::DocumentMarkerController::showMarkers): 9071 * dom/DocumentMarkerController.h: 9072 * dom/RenderedDocumentMarker.h: Added. 9073 (WebCore::RenderedDocumentMarker::RenderedDocumentMarker): 9074 (WebCore::RenderedDocumentMarker::isRendered): 9075 (WebCore::RenderedDocumentMarker::contains): 9076 (WebCore::RenderedDocumentMarker::setRenderedRect): 9077 (WebCore::RenderedDocumentMarker::renderedRect): 9078 (WebCore::RenderedDocumentMarker::invalidate): 9079 (WebCore::RenderedDocumentMarker::invalidMarkerRect): 9080 9081 2011-04-27 James Robinson <jamesr (a] chromium.org> 9082 9083 Unreviewed, rolling out r85112. 9084 http://trac.webkit.org/changeset/85112 9085 https://bugs.webkit.org/show_bug.cgi?id=59159 9086 9087 Broke mac compile 9088 9089 * page/FrameView.cpp: 9090 (WebCore::FrameView::updateCompositingLayers): 9091 * page/FrameView.h: 9092 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 9093 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 9094 * platform/graphics/chromium/LayerChromium.cpp: 9095 (WebCore::LayerChromium::LayerChromium): 9096 (WebCore::LayerChromium::~LayerChromium): 9097 * platform/graphics/chromium/LayerRendererChromium.cpp: 9098 (WebCore::LayerRendererChromium::updateLayers): 9099 * platform/graphics/chromium/LayerRendererChromium.h: 9100 9101 2011-04-27 Mark Rowe <mrowe (a] apple.com> 9102 9103 Build fix. 9104 9105 * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2. 9106 9107 2011-04-27 Pratik Solanki <psolanki (a] apple.com> 9108 9109 Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK). 9110 9111 * platform/network/ResourceHandleClient.h: 9112 9113 2011-04-27 James Robinson <jamesr (a] chromium.org> 9114 9115 Reviewed by Kenneth Russell. 9116 9117 [chromium] Ensure compositing layers are up to date before entering doComposite 9118 https://bugs.webkit.org/show_bug.cgi?id=59159 9119 9120 Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during 9121 GraphicsLayerClient::paintContents() implementations). 9122 9123 * page/FrameView.cpp: 9124 (WebCore::FrameView::updateCompositingLayers): 9125 Add an optional CompositingUpdateType parameter. 9126 * page/FrameView.h: 9127 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 9128 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 9129 * platform/graphics/chromium/LayerChromium.cpp: 9130 (WebCore::LayerChromium::LayerChromium): 9131 (WebCore::LayerChromium::~LayerChromium): 9132 * platform/graphics/chromium/LayerRendererChromium.cpp: 9133 (WebCore::LayerRendererChromium::updateLayers): 9134 * platform/graphics/chromium/LayerRendererChromium.h: 9135 Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents 9136 * rendering/RenderLayer.cpp: 9137 (WebCore::RenderLayer::dirtyZOrderLists): 9138 (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded): 9139 * rendering/RenderLayerCompositor.cpp: 9140 (WebCore::RenderLayerCompositor::updateCompositingLayers): 9141 * rendering/RenderLayerCompositor.h: 9142 Fix a typo in CompositingUpdateType Pait->Paint 9143 9144 2011-04-27 Pratik Solanki <psolanki (a] apple.com> 9145 9146 Reviewed by Antti Koivisto. 9147 9148 Part of WebCore should use CFNetwork-based loader on Mac 9149 https://bugs.webkit.org/show_bug.cgi?id=51836 9150 9151 Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around 9152 willCacheResponse/shouldCacheResponse. 9153 9154 * loader/EmptyClients.h: 9155 * loader/FrameLoaderClient.h: 9156 * loader/ResourceLoader.h: 9157 * loader/cf/ResourceLoaderCFNet.cpp: 9158 * loader/mac/ResourceLoaderMac.mm: 9159 (WebCore::ResourceLoader::willCacheResponse): 9160 * platform/network/ResourceHandleClient.h: 9161 (WebCore::ResourceHandleClient::willCacheResponse): 9162 (WebCore::ResourceHandleClient::shouldCacheResponse): 9163 * platform/network/cf/ResourceHandleCFNet.cpp: 9164 (WebCore::willCacheResponse): 9165 9166 2011-04-27 Ilya Tikhonovsky <loislo (a] chromium.org> 9167 9168 Reviewed by Brian Weinstein. 9169 9170 Web Inspector: Stop on Exception state does not persist. 9171 9172 A wrong property name was used when we persist PauseOnExceptionState property to Local Storage. 9173 https://bugs.webkit.org/show_bug.cgi?id=59630 9174 9175 * inspector/front-end/ScriptsPanel.js: 9176 (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled): 9177 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback): 9178 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 9179 9180 2011-04-27 Adrienne Walker <enne (a] google.com> 9181 9182 [chromium] Unreviewed, rollout r85075 (scissor rect changes) 9183 https://bugs.webkit.org/show_bug.cgi?id=59020 9184 9185 * platform/graphics/chromium/LayerRendererChromium.cpp: 9186 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 9187 9188 2011-04-27 Darin Adler <darin (a] apple.com> 9189 9190 Reviewed by David Levin. 9191 9192 Fix strict OwnPtr issues seen in about 30 more files 9193 https://bugs.webkit.org/show_bug.cgi?id=59615 9194 9195 * bindings/js/JSCallbackData.h: 9196 (WebCore::DeleteCallbackDataTask::create): Use adoptPtr. 9197 * bindings/js/JSMessageEventCustom.cpp: 9198 (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr. 9199 * css/CSSParser.cpp: 9200 (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr, 9201 adoptPtr, and release. 9202 * dom/MessageEvent.cpp: 9203 (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr, 9204 and release. 9205 * dom/MessagePortChannel.cpp: 9206 (WebCore::MessagePortChannel::EventData::create): Use adoptPtr. 9207 * dom/ScriptExecutionContext.cpp: 9208 (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr. 9209 * dom/XMLDocumentParserLibxml2.cpp: 9210 (WebCore::XMLDocumentParser::doEnd): Use adoptPtr. 9211 * dom/default/PlatformMessagePortChannel.cpp: 9212 (WebCore::MessagePortChannel::create): Use adoptPtr. 9213 * html/HTMLFormControlElement.cpp: 9214 (WebCore::HTMLFormControlElement::detach): Use nullptr. 9215 * inspector/InspectorAgent.cpp: 9216 (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr. 9217 * inspector/InspectorConsoleAgent.cpp: 9218 (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr. 9219 (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr. 9220 (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr. 9221 * inspector/InspectorController.cpp: 9222 (WebCore::InspectorController::connectFrontend): Use adoptPtr. 9223 * inspector/InspectorDOMAgent.cpp: 9224 (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr. 9225 * inspector/InspectorResourceAgent.cpp: 9226 (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr. 9227 * page/FrameActionScheduler.cpp: 9228 (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr. 9229 * platform/graphics/ShadowBlur.cpp: 9230 (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr. 9231 * platform/graphics/ca/GraphicsLayerCA.cpp: 9232 (WebCore::GraphicsLayer::create): Use adoptPtr. 9233 (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr. 9234 (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr. 9235 * rendering/RenderBlock.cpp: 9236 (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr. 9237 (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr. 9238 (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr. 9239 (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr. 9240 * rendering/RenderLayerBacking.cpp: 9241 (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr. 9242 (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr. 9243 (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr. 9244 (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr. 9245 * rendering/RenderLayerCompositor.cpp: 9246 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr. 9247 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr. 9248 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr. 9249 * rendering/style/StyleRareNonInheritedData.cpp: 9250 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed 9251 explicit initializations of OwnPtr members to 0. Use adoptPtr. 9252 * workers/SharedWorkerContext.cpp: 9253 (WebCore::createConnectEvent): Use adoptPtr. 9254 * workers/Worker.cpp: 9255 (WebCore::Worker::notifyFinished): Use nullptr. 9256 9257 2011-04-27 Enrica Casucci <enrica (a] apple.com> 9258 9259 Reviewed by Darin Adler. 9260 9261 REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected. 9262 https://bugs.webkit.org/show_bug.cgi?id=59251 9263 <rdar://problem/9327044> 9264 9265 When we are looking for wrapping elements that are presentational, we should 9266 include elements that have a non transparent background color only if they 9267 are not blocks. 9268 9269 Test: editing/pasteboard/do-not-copy-body-color.html 9270 9271 * editing/markup.cpp: 9272 (WebCore::isElementPresentational): 9273 9274 2011-04-20 Dimitri Glazkov <dglazkov (a] chromium.org> 9275 9276 Reviewed by Antti Koivisto. 9277 9278 Teach sub-selector chains about shadow descendants 9279 https://bugs.webkit.org/show_bug.cgi?id=58342 9280 9281 The primary change is to the logic of parsing specifiers: 9282 1) The shadow descendant selectors (those specifiers that are unknown 9283 pseudo element selectors) are always kept at the top of the chain. 9284 2) The sub-selectors after shadow descendant selectors are stashed right 9285 behind the sub-selector, but not at the end of the chain. 9286 3) Other sub-selectors are appended at the end of the chain. 9287 9288 * css/CSSGrammar.y: Changed specifier_list collection to use new 9289 CSSParser::updateSpecifier helper. 9290 * css/CSSParser.cpp: 9291 (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to 9292 look for the last ShadowDescendant relation in the chain of selectors, 9293 because the next selector after it is the one that should get the 9294 element name. 9295 (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from 9296 CSSGrammar.y. The new logic adjusts the selector chain to allow 9297 shadow descendant selectors have sub-selectors (and have multiple shadow 9298 descendants in the chain). 9299 * css/CSSParser.h: Added decl. 9300 * css/CSSParserValues.cpp: 9301 (WebCore::CSSParserSelector::insertTagHistory): Added. 9302 (WebCore::CSSParserSelector::appendTagHistory): Aded. 9303 * css/CSSParserValues.h: Added decls. 9304 * css/CSSStyleSelector.cpp: 9305 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added 9306 shadow descendant selector match check, since now there could be many 9307 of them in the selector chain. 9308 9309 2011-04-20 Adrienne Walker <enne (a] google.com> 9310 9311 Reviewed by Kenneth Russell. 9312 9313 [chromium] Fix incorrect scissor rect for layers that render into a rendersurface 9314 https://bugs.webkit.org/show_bug.cgi?id=59020 9315 9316 mapRect is the incorrect transform here. The parent scissor rect 9317 needs to be projected into layer space instead. 9318 9319 Test: compositing/flat-with-transformed-child.html 9320 9321 * platform/graphics/chromium/LayerRendererChromium.cpp: 9322 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 9323 9324 2011-04-27 Pratik Solanki <psolanki (a] apple.com> 9325 9326 Reviewed by Antti Koivisto. 9327 9328 Part of WebCore should use CFNetwork-based loader on Mac 9329 https://bugs.webkit.org/show_bug.cgi?id=51836 9330 9331 * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework. 9332 * platform/mac/SoftLinking.h: 9333 * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac. 9334 9335 2011-04-27 Nikolas Zimmermann <nzimmermann (a] rim.com> 9336 9337 Reviewed by Antti Koivisto. 9338 9339 Cleanup CSSStyleApplyProperty.cpp 9340 https://bugs.webkit.org/show_bug.cgi?id=59623 9341 9342 As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes. 9343 Use typedefs instead of repating the function pointer declarations in a few places. 9344 9345 * css/CSSStyleApplyProperty.cpp: 9346 (WebCore::ApplyPropertyDefault::ApplyPropertyDefault): 9347 (WebCore::ApplyPropertyColor::ApplyPropertyColor): 9348 (WebCore::ApplyPropertyColor::applyInheritValue): 9349 (WebCore::ApplyPropertyColor::applyInitialValue): 9350 (WebCore::ApplyPropertyColor::applyValue): 9351 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 9352 9353 2011-04-27 Dan Bernstein <mitz (a] apple.com> 9354 9355 Reviewed by Anders Carlsson. 9356 9357 <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly 9358 https://bugs.webkit.org/show_bug.cgi?id=59622 9359 9360 Test: fast/borders/border-image-trumps-radius.html 9361 9362 * rendering/RenderBox.cpp: 9363 (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border 9364 image, then border radius is ignored, so no bleed avoidance is needed. 9365 * rendering/RenderObject.cpp: 9366 (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from... 9367 (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here. 9368 * rendering/RenderObject.h: 9369 9370 2011-02-03 Martin Robinson <mrobinson (a] igalia.com> 9371 9372 Reviewed by Xan Lopez. 9373 9374 [GTK] editing/pasteboard/copy-standalone-image.html fails 9375 https://bugs.webkit.org/show_bug.cgi?id=53645 9376 9377 When writing an image to the clipboard, also write the URL and title 9378 into the markup and URL portion. This change also abstracts a helper 9379 imageToMarkup into markup.{cpp/h} from several different locations 9380 throughout the platform layer. 9381 9382 * editing/markup.h: Added new function definition. 9383 * editing/markup.cpp: 9384 (WebCore::imageToMarkup): Add this function which turns an image URL 9385 and element into some markup representing that image, while preserving 9386 non-src attributes. 9387 * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper 9388 to markup.cpp. 9389 * platform/gtk/PasteboardGtk.cpp: 9390 (WebCore::getURLForImageNode): Add this helper which gets the appropriate 9391 image URL for a variety of image tag types. 9392 (WebCore::Pasteboard::writeImage): Write the image URL and title to the 9393 markup and URL portions of the clipboard. This will ensure that images 9394 paste properly back into WebKit. 9395 * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the 9396 one from markup.h 9397 9398 2011-04-27 Steve Block <steveblock (a] google.com> 9399 9400 Reviewed by David Levin. 9401 9402 Remove Android build system 9403 https://bugs.webkit.org/show_bug.cgi?id=48111 9404 9405 This is to avoid the maintenance burden until the Android port is 9406 fully upstreamed. 9407 9408 No new tests, build change only. 9409 9410 * Android.derived.jscbindings.mk: Removed. 9411 * Android.derived.mk: Removed. 9412 * Android.derived.v8bindings.mk: Removed. 9413 * Android.jscbindings.mk: Removed. 9414 * Android.mk: Removed. 9415 * Android.v8bindings.mk: Removed. 9416 9417 2011-04-27 Darin Adler <darin (a] apple.com> 9418 9419 Reviewed by Sam Weinig. 9420 9421 Somehow about:blank gets into the icon database 9422 https://bugs.webkit.org/show_bug.cgi?id=58067 9423 rdar://problem/6751446 9424 9425 Implemented the policy Brady suggested, where only http and https URLs can 9426 be associated with and icon, guarding both on the way in to the database, 9427 and on the way out. 9428 9429 * loader/icon/IconDatabase.cpp: 9430 (WebCore::pageCanHaveIcon): Added. 9431 (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon 9432 instead of just checking for an empty URL. 9433 (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto. 9434 (WebCore::IconDatabase::retainIconForPageURL): Ditto. 9435 (WebCore::IconDatabase::releaseIconForPageURL): Ditto. 9436 (WebCore::IconDatabase::setIconURLForPageURL): Ditto. 9437 (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto. 9438 (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into 9439 two separate assertions and added a third. 9440 (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon. 9441 9442 * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file. 9443 (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name, 9444 overloaded it to work on both UChar and char, and added an assertion to it. 9445 Also moved this to the top of the file and made the UChar version usable 9446 in the shared code used even by Google. 9447 (WebCore::KURL::invalidate): Updated for name change. 9448 (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of 9449 toASCIILower since it's faster. 9450 (WebCore::KURL::parse): Updated for name changes. 9451 (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower 9452 since it's faster. 9453 (WebCore::protocolIsInHTTPFamily): Added. 9454 9455 * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily 9456 to protocolIsInHTTPFamily and added a version that works on a string. 9457 Kept the old name as an inline function so we don't have to rename 9458 all the cal sites now. 9459 9460 * platform/KURLGoogle.cpp: Renamed as above. 9461 (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename. 9462 (WebCore::KURLGooglePrivate::setUtf8): Ditto. 9463 (WebCore::KURLGooglePrivate::setAscii): Ditto. 9464 (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto. 9465 (WebCore::KURLGooglePrivate::copyTo): Ditto. 9466 (WebCore::KURL::KURL): Ditto. 9467 (WebCore::KURL::protocolIsInHTTPFamily): Ditto. 9468 (WebCore::KURL::invalidate): Ditto. 9469 * platform/KURLGooglePrivate.h: Ditto. 9470 9471 * WebCore.exp.in: Updated for above changes. 9472 9473 2011-04-27 Yury Semikhatsky <yurys (a] chromium.org> 9474 9475 Reviewed by Pavel Feldman. 9476 9477 Web Inspector: browser crash on evaluation of 'throw undefined' 9478 https://bugs.webkit.org/show_bug.cgi?id=59611 9479 9480 Test: inspector/console/console-eval-throw-undefined.html 9481 9482 * inspector/InjectedScriptSource.js: use try/catch to protect from 9483 exception during conversion of another exception to string. 9484 9485 2011-04-27 Pavel Feldman <pfeldman (a] google.com> 9486 9487 Reviewed by Yury Semikhatsky. 9488 9489 Web Inspector: clicking bookmarklet multiplies resources panel entries. 9490 https://bugs.webkit.org/show_bug.cgi?id=59590 9491 9492 * inspector/front-end/ResourceTreeModel.js: 9493 (WebInspector.ResourceTreeModel): 9494 (WebInspector.ResourceTreeModel.prototype._processCachedResources): 9495 (WebInspector.ResourceTreeModel.prototype._frameNavigated): 9496 * inspector/front-end/ResourcesPanel.js: 9497 (WebInspector.ResourcesPanel.prototype._populateResourceTree): 9498 (WebInspector.FrameTreeElement): 9499 (WebInspector.FrameTreeElement.prototype.appendResource): 9500 * inspector/front-end/inspector.js: 9501 (WebInspector.frontendReused): 9502 9503 2011-04-27 Pavel Feldman <pfeldman (a] google.com> 9504 9505 Reviewed by Yury Semikhatsky. 9506 9507 Web Inspector: opening bookmarklet disconnects DOM agent. 9508 https://bugs.webkit.org/show_bug.cgi?id=59588 9509 9510 * inspector/InspectorDOMAgent.cpp: 9511 (WebCore::InspectorDOMAgent::setDocument): 9512 9513 2011-04-27 Hans Wennborg <hans (a] chromium.org> 9514 9515 Reviewed by Tony Gentilcore. 9516 9517 IndexedDB: Fix compiler warnings about uninitialized variables 9518 https://bugs.webkit.org/show_bug.cgi?id=59599 9519 9520 Build fix. No new tests. 9521 9522 * storage/IDBLevelDBBackingStore.cpp: 9523 (WebCore::getNewObjectStoreId): 9524 (WebCore::getNewIndexId): 9525 9526 2011-04-26 Hans Wennborg <hans (a] chromium.org> 9527 9528 Reviewed by Tony Gentilcore. 9529 9530 IndexedDB: Move LevelDB key coding routines to separate file 9531 https://bugs.webkit.org/show_bug.cgi?id=59452 9532 9533 Move all routines concerned with encoding, decoding and comparison of 9534 LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file: 9535 IDBLevelDBCoding.cpp. 9536 9537 This makes IDBLevelDBBackingStore.cpp easier to work with, and will 9538 allow for unit testing of the coding routines. 9539 9540 No new functionality, no new tests. 9541 9542 * WebCore.gypi: 9543 * storage/IDBLevelDBBackingStore.cpp: 9544 (WebCore::getInt): 9545 (WebCore::putInt): 9546 (WebCore::getString): 9547 (WebCore::putString): 9548 (WebCore::compareKeys): 9549 (WebCore::compareIndexKeys): 9550 (WebCore::Comparator::compare): 9551 (WebCore::setUpMetadata): 9552 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData): 9553 (WebCore::getNewDatabaseId): 9554 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData): 9555 (WebCore::IDBLevelDBBackingStore::getObjectStores): 9556 (WebCore::getNewObjectStoreId): 9557 (WebCore::IDBLevelDBBackingStore::createObjectStore): 9558 (WebCore::IDBLevelDBBackingStore::deleteObjectStore): 9559 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord): 9560 (WebCore::getNewVersionNumber): 9561 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord): 9562 (WebCore::IDBLevelDBBackingStore::clearObjectStore): 9563 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord): 9564 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): 9565 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore): 9566 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): 9567 (WebCore::IDBLevelDBBackingStore::getIndexes): 9568 (WebCore::getNewIndexId): 9569 (WebCore::IDBLevelDBBackingStore::createIndex): 9570 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord): 9571 (WebCore::versionExists): 9572 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): 9573 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): 9574 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): 9575 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): 9576 (WebCore::IDBLevelDBBackingStore::openIndexCursor): 9577 * storage/IDBLevelDBCoding.cpp: Added. 9578 (WebCore::IDBLevelDBCoding::encodeByte): 9579 (WebCore::IDBLevelDBCoding::maxIDBKey): 9580 (WebCore::IDBLevelDBCoding::minIDBKey): 9581 (WebCore::IDBLevelDBCoding::encodeInt): 9582 (WebCore::IDBLevelDBCoding::decodeInt): 9583 (WebCore::IDBLevelDBCoding::encodeVarInt): 9584 (WebCore::IDBLevelDBCoding::decodeVarInt): 9585 (WebCore::IDBLevelDBCoding::encodeString): 9586 (WebCore::IDBLevelDBCoding::decodeString): 9587 (WebCore::IDBLevelDBCoding::encodeStringWithLength): 9588 (WebCore::IDBLevelDBCoding::decodeStringWithLength): 9589 (WebCore::IDBLevelDBCoding::encodeDouble): 9590 (WebCore::IDBLevelDBCoding::decodeDouble): 9591 (WebCore::IDBLevelDBCoding::encodeIDBKey): 9592 (WebCore::IDBLevelDBCoding::decodeIDBKey): 9593 (WebCore::IDBLevelDBCoding::extractEncodedIDBKey): 9594 (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys): 9595 (WebCore::IDBLevelDBCoding::compare): 9596 (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix): 9597 (WebCore::IDBLevelDBCoding::KeyPrefix::decode): 9598 (WebCore::IDBLevelDBCoding::KeyPrefix::encode): 9599 (WebCore::IDBLevelDBCoding::KeyPrefix::compare): 9600 (WebCore::IDBLevelDBCoding::KeyPrefix::type): 9601 (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode): 9602 (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode): 9603 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey): 9604 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode): 9605 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode): 9606 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId): 9607 (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare): 9608 (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode): 9609 (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode): 9610 (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare): 9611 (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode): 9612 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey): 9613 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode): 9614 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode): 9615 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId): 9616 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType): 9617 (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare): 9618 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey): 9619 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode): 9620 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode): 9621 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare): 9622 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId): 9623 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey): 9624 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode): 9625 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode): 9626 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId): 9627 (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare): 9628 (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey): 9629 (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode): 9630 (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode): 9631 (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare): 9632 (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId): 9633 (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId): 9634 (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode): 9635 (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode): 9636 (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare): 9637 (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey): 9638 (WebCore::IDBLevelDBCoding::IndexNamesKey::decode): 9639 (WebCore::IDBLevelDBCoding::IndexNamesKey::encode): 9640 (WebCore::IDBLevelDBCoding::IndexNamesKey::compare): 9641 (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode): 9642 (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode): 9643 (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare): 9644 (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey): 9645 (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode): 9646 (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode): 9647 (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare): 9648 (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey): 9649 (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey): 9650 (WebCore::IDBLevelDBCoding::IndexDataKey::decode): 9651 (WebCore::IDBLevelDBCoding::IndexDataKey::encode): 9652 (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey): 9653 (WebCore::IDBLevelDBCoding::IndexDataKey::compare): 9654 (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId): 9655 (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId): 9656 (WebCore::IDBLevelDBCoding::IndexDataKey::indexId): 9657 (WebCore::IDBLevelDBCoding::IndexDataKey::userKey): 9658 * storage/IDBLevelDBCoding.h: Added. 9659 (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin): 9660 (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName): 9661 (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType): 9662 (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName): 9663 (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName): 9664 9665 2011-04-27 Yury Semikhatsky <yurys (a] chromium.org> 9666 9667 Reviewed by Pavel Feldman. 9668 9669 Web Inspector: expose exception details when script is paused on exception 9670 https://bugs.webkit.org/show_bug.cgi?id=59591 9671 9672 When script is paused on an exception, the exception value is added as <exception> 9673 property in the local scope and the breakpoint details message says 9674 "Paused on excepion: '<exception to strin value>'." 9675 9676 * English.lproj/localizedStrings.js: 9677 * inspector/front-end/ScopeChainSidebarPane.js: 9678 (WebInspector.ScopeChainSidebarPane.prototype.update): 9679 * inspector/front-end/ScriptsPanel.js: 9680 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): 9681 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 9682 9683 2011-04-26 Yury Semikhatsky <yurys (a] chromium.org> 9684 9685 Reviewed by Pavel Feldman. 9686 9687 Web Inspector: [protocol] Paused event should expose exception value that caused it 9688 https://bugs.webkit.org/show_bug.cgi?id=58996 9689 9690 Debug.pause event now contains an optional reference to the exception 9691 object in case script execution is paused on a JavaScript exception. 9692 9693 Also JavaScript call frames are passed directly into the injected script when 9694 we need to wrap them for passing to the front-end. This change breaks cyclic 9695 dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer 9696 9697 * bindings/js/JSInjectedScriptHostCustom.cpp: 9698 * bindings/js/ScriptDebugServer.cpp: 9699 (WebCore::ScriptDebugServer::dispatchDidPause): 9700 * bindings/js/ScriptDebugServer.h: 9701 * bindings/v8/ScriptDebugServer.cpp: 9702 (WebCore::ScriptDebugServer::breakProgram): 9703 (WebCore::ScriptDebugServer::editScriptSource): 9704 (WebCore::ScriptDebugServer::breakProgramCallback): 9705 (WebCore::ScriptDebugServer::handleV8DebugEvent): 9706 * bindings/v8/ScriptDebugServer.h: 9707 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 9708 * inspector/InjectedScript.cpp: 9709 (WebCore::InjectedScript::evaluateOnCallFrame): 9710 (WebCore::InjectedScript::wrapCallFrames): 9711 * inspector/InjectedScript.h: 9712 * inspector/InjectedScriptHost.cpp: 9713 * inspector/InjectedScriptHost.h: 9714 (WebCore::InjectedScriptHost::init): 9715 * inspector/InjectedScriptHost.idl: 9716 * inspector/InjectedScriptSource.js: 9717 (.): 9718 * inspector/Inspector.json: 9719 * inspector/InspectorAgent.cpp: 9720 (WebCore::InspectorAgent::InspectorAgent): 9721 * inspector/InspectorDebuggerAgent.cpp: 9722 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 9723 (WebCore::InspectorDebuggerAgent::currentCallFrames): 9724 (WebCore::InspectorDebuggerAgent::wrapCallFrames): 9725 (WebCore::InspectorDebuggerAgent::didPause): 9726 (WebCore::InspectorDebuggerAgent::didContinue): 9727 (WebCore::InspectorDebuggerAgent::clear): 9728 * inspector/InspectorDebuggerAgent.h: 9729 * inspector/ScriptDebugListener.h: 9730 * inspector/WorkerInspectorController.cpp: 9731 (WebCore::WorkerInspectorController::WorkerInspectorController): 9732 9733 2011-04-27 Pavel Feldman <pfeldman (a] google.com> 9734 9735 Reviewed by Yury Semikhatsky. 9736 9737 Web Inspector: implement incremental CSS editing in the structure view. 9738 https://bugs.webkit.org/show_bug.cgi?id=59455 9739 9740 * inspector/front-end/StylesSidebarPane.js: 9741 (WebInspector.StylePropertyTreeElement.prototype): 9742 9743 2011-04-27 Mihai Parparita <mihaip (a] chromium.org> 9744 9745 Reviewed by Eric Seidel. 9746 9747 Frame.h shouldn't include Document.h 9748 https://bugs.webkit.org/show_bug.cgi?id=59560 9749 9750 Frame can use a forward-declared Document if we move 9751 Frame::displayStringModifiedByEncoding's implementation out of the 9752 header. 9753 Size #includes Size * #includes 9754 Before: page/Frame.h: 0.746 653 487.138 9755 dom/Document.h: 0.220 1306 287.320 9756 9757 After: page/Frame.h: 0.646 653 421.838 9758 dom/Document.h: 0.220 1189 261.580 9759 9760 * WebCore.exp.in: 9761 * bindings/ScriptControllerBase.cpp: 9762 * bindings/generic/BindingSecurityBase.cpp: 9763 * bindings/v8/V8Proxy.cpp: 9764 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 9765 * dom/CharacterData.cpp: 9766 * dom/UserTypingGestureIndicator.cpp: 9767 * editing/chromium/SelectionControllerChromium.cpp: 9768 * inspector/InspectorDOMStorageResource.cpp: 9769 * inspector/InspectorInstrumentation.h: 9770 * loader/PingLoader.cpp: 9771 * loader/SubresourceLoader.cpp: 9772 * loader/appcache/DOMApplicationCache.cpp: 9773 * loader/cache/CachedResourceRequest.cpp: 9774 * page/Frame.cpp: 9775 (WebCore::Frame::displayStringModifiedByEncoding): 9776 * page/Frame.h: 9777 * page/Geolocation.cpp: 9778 * page/Location.cpp: 9779 * page/Navigator.cpp: 9780 * page/PageGroupLoadDeferrer.cpp: 9781 * page/PerformanceTiming.cpp: 9782 * xml/XSLTProcessorLibxslt.cpp: 9783 9784 2011-04-27 James Robinson <jamesr (a] chromium.org> 9785 9786 Reviewed by Eric Seidel. 9787 9788 Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr 9789 https://bugs.webkit.org/show_bug.cgi?id=59377 9790 9791 This cleans up some strict OwnPtr<> violations around text and box shadow data. ShadowData's linked list data 9792 structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData. 9793 9794 * css/CSSStyleSelector.cpp: 9795 (WebCore::CSSStyleSelector::applyProperty): 9796 * page/animation/AnimationBase.cpp: 9797 (WebCore::blendFunc): 9798 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow): 9799 (WebCore::PropertyWrapperShadow::blend): 9800 * rendering/style/RenderStyle.cpp: 9801 (WebCore::RenderStyle::setTextShadow): 9802 (WebCore::RenderStyle::setBoxShadow): 9803 * rendering/style/RenderStyle.h: 9804 (WebCore::InheritedFlags::textShadow): 9805 * rendering/style/ShadowData.cpp: 9806 (WebCore::ShadowData::ShadowData): 9807 * rendering/style/ShadowData.h: 9808 (WebCore::ShadowData::ShadowData): 9809 (WebCore::ShadowData::next): 9810 (WebCore::ShadowData::setNext): 9811 * rendering/style/StyleRareInheritedData.cpp: 9812 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 9813 (WebCore::StyleRareInheritedData::~StyleRareInheritedData): 9814 * rendering/style/StyleRareInheritedData.h: 9815 * rendering/style/StyleRareNonInheritedData.cpp: 9816 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 9817 9818 2011-04-26 David Levin <levin (a] chromium.org> 9819 9820 Reviewed by Eric Seidel. 9821 9822 Fix some strict PassOwnPtr issues in WebCore. 9823 https://bugs.webkit.org/show_bug.cgi?id=59563 9824 9825 * css/SVGCSSStyleSelector.cpp: 9826 (WebCore::CSSStyleSelector::applySVGProperty): 9827 * html/canvas/WebGLRenderingContext.cpp: 9828 (WebCore::WebGLRenderingContext::create): 9829 (WebCore::WebGLRenderingContext::~WebGLRenderingContext): 9830 * platform/text/TextCodecLatin1.cpp: 9831 (WebCore::newStreamingTextDecoderWindowsLatin1): 9832 * platform/text/TextCodecUTF16.cpp: 9833 (WebCore::newStreamingTextDecoderUTF16LE): 9834 (WebCore::newStreamingTextDecoderUTF16BE): 9835 * platform/text/TextCodecUserDefined.cpp: 9836 (WebCore::newStreamingTextDecoderUserDefined): 9837 * platform/text/mac/TextCodecMac.cpp: 9838 (WebCore::newTextCodecMac): 9839 * workers/Worker.cpp: 9840 (WebCore::Worker::notifyFinished): 9841 9842 2011-04-26 Justin Novosad <junov (a] chromium.org> 9843 9844 Reviewed by Kenneth Russell. 9845 9846 [Chromium] Expose skia gpu canvas rendering as a runtime flag 9847 https://bugs.webkit.org/show_bug.cgi?id=58683 9848 Replace the SKIA_GPU compile flag by the pre-existing 9849 acceleratedDrawingEnabled flag. Most code changes are trivial: 9850 compile-time conditionals on SKIA_GPU were either replaced with 9851 a run-time check, or a compile time check on USE(SKIA) 9852 9853 No new tests. Covered by existing tests. 9854 9855 * html/canvas/CanvasRenderingContext2D.cpp: 9856 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): 9857 * page/Page.cpp: 9858 (WebCore::Page::sharedGraphicsContext3D): 9859 Added check for the acceleratedDrawing flag. 9860 * platform/graphics/chromium/DrawingBufferChromium.cpp: 9861 (WebCore::DrawingBuffer::DrawingBuffer): 9862 (WebCore::DrawingBuffer::publishToPlatformLayer): 9863 * platform/graphics/gpu/DrawingBuffer.h: 9864 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 9865 (WebCore::SharedGraphicsContext3D::create): 9866 On Skia builds, this methos now receives a bool arg to turn on 9867 GPU-accelerated skia rendering 9868 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 9869 (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): 9870 (WebCore::SharedGraphicsContext3D::grContext): 9871 * platform/graphics/gpu/SharedGraphicsContext3D.h: 9872 * platform/graphics/skia/ImageSkia.cpp: 9873 (WebCore::computeResamplingMode): 9874 (WebCore::paintSkBitmap): 9875 (WebCore::Image::drawPattern): 9876 * platform/graphics/skia/PlatformContextSkia.cpp: 9877 (WebCore::PlatformContextSkia::PlatformContextSkia): 9878 (WebCore::PlatformContextSkia::~PlatformContextSkia): 9879 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 9880 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 9881 (WebCore::PlatformContextSkia::prepareForSoftwareDraw): 9882 (WebCore::PlatformContextSkia::prepareForHardwareDraw): 9883 (WebCore::PlatformContextSkia::syncSoftwareCanvas): 9884 (WebCore::PlatformContextSkia::markDirtyRect): 9885 * platform/graphics/skia/PlatformContextSkia.h: 9886 (WebCore::PlatformContextSkia::accelerationMode): 9887 (WebCore::PlatformContextSkia::useGPU): 9888 (WebCore::PlatformContextSkia::useSkiaGPU): 9889 9890 2011-04-26 Pavel Feldman <pfeldman (a] chromium.org> 9891 9892 Not reviewed: restore inspector test disabled in r84913. 9893 9894 Test: http/tests/inspector-enabled/dom-storage-open.html 9895 9896 * inspector/InspectorDOMStorageAgent.cpp: 9897 (WebCore::InspectorDOMStorageAgent::clearFrontend): 9898 9899 2011-04-26 Kenichi Ishibashi <bashi (a] chromium.org> 9900 9901 Reviewed by Tony Chang. 9902 9903 [Chromium] Vertical positions are off for some Arabic glyphs on Linux 9904 https://bugs.webkit.org/show_bug.cgi?id=59182 9905 9906 Use vertical offsets of the shaping results. 9907 9908 Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html 9909 9910 * platform/graphics/chromium/ComplexTextControllerLinux.cpp: 9911 (WebCore::ComplexTextController::ComplexTextController): 9912 Added initialization of m_startingY. 9913 (WebCore::ComplexTextController::nextScriptRun): 9914 Followed the change in handling positions. 9915 (WebCore::ComplexTextController::deleteGlyphArrays): Ditto. 9916 (WebCore::ComplexTextController::createGlyphArrays): Ditto. 9917 (WebCore::ComplexTextController::resetGlyphArrays): Ditto. 9918 (WebCore::ComplexTextController::setGlyphPositions): 9919 Changed to use vertical offsets as same as horizontal offsets. 9920 * platform/graphics/chromium/ComplexTextControllerLinux.h: 9921 Removed m_xPositions and Added m_positions and m_startingY. 9922 (WebCore::ComplexTextController::positions): Added. 9923 * platform/graphics/chromium/FontLinux.cpp: 9924 Followed the change in ComplexTextController. 9925 (WebCore::Font::drawComplexText): Ditto. 9926 (WebCore::Font::floatWidthForComplexText): Ditto. 9927 (WebCore::glyphIndexForXPositionInScriptRun): Ditto. 9928 (WebCore::Font::offsetForPositionForComplexText): Ditto. 9929 (WebCore::Font::selectionRectForComplexText): Ditto. 9930 9931 2011-04-26 Levi Weintraub <leviw (a] chromium.org> 9932 9933 Reviewed by Eric Seidel. 9934 9935 Root element should establish a new block formatting context 9936 https://bugs.webkit.org/show_bug.cgi?id=54573 9937 9938 Always expanding the root renderer to include overhanging floats. 9939 9940 Test: fast/block/float/float-overhangs-root.html 9941 9942 * rendering/RenderBlock.cpp: 9943 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): 9944 9945 2011-04-26 Dawit Alemayehu <adawit (a] kde.org> 9946 9947 Reviewed by Andreas Kling. 9948 9949 [Qt] Improper rendering of <button> tag when it contains a <br> 9950 https://bugs.webkit.org/show_bug.cgi?id=50521 9951 9952 Test: platform/qt/fast/forms/button-line-break.html 9953 9954 * platform/qt/RenderThemeQt.cpp: 9955 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 9956 (WebCore::RenderThemeQt::setButtonPadding): 9957 9958 2011-04-26 James Robinson <jamesr (a] chromium.org> 9959 9960 Reviewed by Kenneth Russell. 9961 9962 [chromium] Only reset tiles if the LayerRendererChromium is actually changing 9963 https://bugs.webkit.org/show_bug.cgi?id=59572 9964 9965 http://trac.webkit.org/changeset/84981/ caused us to reset the tiles 9966 when LayerRendererChromium was set. We set this pointer every frame 9967 and should only reset the tiles if the new LayerRendererChromium is 9968 different from the old one (indicating a context loss), not just reset 9969 on every frame. 9970 9971 * platform/graphics/chromium/LayerTilerChromium.cpp: 9972 (WebCore::LayerTilerChromium::setLayerRenderer): 9973 * platform/graphics/chromium/LayerTilerChromium.h: 9974 9975 2011-04-26 Dinesh K Garg <dineshg (a] codeaurora.org> 9976 9977 Reviewed by Eric Seidel. 9978 9979 beginElement broken by setAttribute 9980 https://bugs.webkit.org/show_bug.cgi?id=26019 9981 9982 Test: svg/animations/animate-beginElementAt.svg 9983 9984 * svg/SVGAnimationElement.cpp: 9985 (WebCore::SVGAnimationElement::attributeChanged): 9986 Reset the animation state here as the rest of the code reads it and would still 9987 think we are animating when we are not. 9988 9989 * svg/animation/SVGSMILElement.h: 9990 (WebCore::SVGSMILElement::setInactive): Helper function to reset the state. 9991 9992 2011-04-26 Sheriff Bot <webkit.review.bot (a] gmail.com> 9993 9994 Unreviewed, rolling out r84989. 9995 http://trac.webkit.org/changeset/84989 9996 https://bugs.webkit.org/show_bug.cgi?id=59566 9997 9998 REGRESSION (r84989): Lots of vertical text tests failing on 9999 windows (Requested by weinig on #webkit). 10000 10001 * platform/graphics/FontPlatformData.h: 10002 * platform/graphics/win/FontCacheWin.cpp: 10003 (WebCore::FontCache::getFontDataForCharacters): 10004 (WebCore::FontCache::createFontPlatformData): 10005 * platform/graphics/win/FontCustomPlatformData.cpp: 10006 (WebCore::FontCustomPlatformData::fontPlatformData): 10007 * platform/graphics/win/FontPlatformDataCGWin.cpp: 10008 (WebCore::FontPlatformData::FontPlatformData): 10009 * platform/graphics/win/FontPlatformDataWin.cpp: 10010 (WebCore::FontPlatformData::FontPlatformData): 10011 10012 2011-04-26 Sam Weinig <sam (a] webkit.org> 10013 10014 Reviewed by Eric Seidel. 10015 10016 Try again: 10017 Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects 10018 https://bugs.webkit.org/show_bug.cgi?id=59310 10019 10020 * bindings/js/JSDOMBinding.h: 10021 (WebCore::DOMConstructorObject::DOMConstructorObject): 10022 * bindings/js/JSDOMWrapper.h: 10023 (WebCore::JSDOMWrapper::globalObject): 10024 (WebCore::JSDOMWrapper::scriptExecutionContext): 10025 (WebCore::JSDOMWrapper::createStructure): 10026 (WebCore::JSDOMWrapper::JSDOMWrapper): 10027 * bindings/scripts/CodeGeneratorJS.pm: 10028 10029 2011-04-26 Sam Weinig <sam (a] webkit.org> 10030 10031 Reviewed by David Hyatt. 10032 10033 Remove Datagrid from the tree 10034 https://bugs.webkit.org/show_bug.cgi?id=59543 10035 10036 * Android.derived.jscbindings.mk: 10037 * Android.derived.v8bindings.mk: 10038 * Android.jscbindings.mk: 10039 * Android.v8bindings.mk: 10040 * CMakeLists.txt: 10041 * CodeGenerators.pri: 10042 * Configurations/FeatureDefines.xcconfig: 10043 * DerivedSources.cpp: 10044 * DerivedSources.make: 10045 * GNUmakefile.am: 10046 * GNUmakefile.list.am: 10047 * UseJSC.cmake: 10048 * WebCore.gypi: 10049 * WebCore.pro: 10050 * WebCore.vcproj/WebCore.vcproj: 10051 * WebCore.xcodeproj/project.pbxproj: 10052 * bindings/js/JSBindingsAllInOne.cpp: 10053 * bindings/js/JSDataGridColumnListCustom.cpp: Removed. 10054 * bindings/js/JSDataGridDataSource.cpp: Removed. 10055 * bindings/js/JSDataGridDataSource.h: Removed. 10056 * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed. 10057 * bindings/v8/V8DataGridDataSource.cpp: Removed. 10058 * bindings/v8/V8DataGridDataSource.h: Removed. 10059 * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed. 10060 * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed. 10061 * css/CSSStyleSelector.cpp: 10062 * css/CSSStyleSelector.h: 10063 * css/html.css: 10064 (input, textarea, keygen, select, button, isindex): 10065 (select:disabled, keygen:disabled, optgroup:disabled, option:disabled): 10066 * editing/htmlediting.cpp: 10067 (WebCore::canHaveChildrenForEditing): 10068 * features.pri: 10069 * html/DOMDataGridDataSource.cpp: Removed. 10070 * html/DOMDataGridDataSource.h: Removed. 10071 * html/DataGridColumn.cpp: Removed. 10072 * html/DataGridColumn.h: Removed. 10073 * html/DataGridColumn.idl: Removed. 10074 * html/DataGridColumnList.cpp: Removed. 10075 * html/DataGridColumnList.h: Removed. 10076 * html/DataGridColumnList.idl: Removed. 10077 * html/DataGridDataSource.h: Removed. 10078 * html/HTMLDataGridCellElement.cpp: Removed. 10079 * html/HTMLDataGridCellElement.h: Removed. 10080 * html/HTMLDataGridCellElement.idl: Removed. 10081 * html/HTMLDataGridColElement.cpp: Removed. 10082 * html/HTMLDataGridColElement.h: Removed. 10083 * html/HTMLDataGridColElement.idl: Removed. 10084 * html/HTMLDataGridElement.cpp: Removed. 10085 * html/HTMLDataGridElement.h: Removed. 10086 * html/HTMLDataGridElement.idl: Removed. 10087 * html/HTMLDataGridRowElement.cpp: Removed. 10088 * html/HTMLDataGridRowElement.h: Removed. 10089 * html/HTMLDataGridRowElement.idl: Removed. 10090 * html/HTMLElement.cpp: 10091 (WebCore::HTMLElement::ieForbidsInsertHTML): 10092 * html/HTMLElementsAllInOne.cpp: 10093 * html/HTMLTagNames.in: 10094 * page/DOMWindow.idl: 10095 * rendering/RenderBox.cpp: 10096 (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): 10097 * rendering/RenderDataGrid.cpp: Removed. 10098 * rendering/RenderDataGrid.h: Removed. 10099 * rendering/RenderingAllInOne.cpp: 10100 10101 2011-04-26 Chun-Lung Huang <alvincl.huang (a] gmail.com> 10102 10103 Reviewed by Adele Peterson. 10104 10105 On WebKit (Windows), glyphs in vertical text tests are rotated 90 10106 degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=48459 10107 10108 This platform dependent patch makes WebKit (Windows) show the 10109 vertical writing text correctly. Job was done by adding a prefix '@' 10110 in front of the font family name (Windows Only). No new tests added. 10111 Some layout tests images: 10112 http://www.flickr.com/photos/burorly/sets/72157625585506341/ 10113 10114 * platform/graphics/FontPlatformData.h: 10115 * platform/graphics/win/FontCacheWin.cpp: 10116 (WebCore::FontCache::getFontDataForCharacters): 10117 (WebCore::FontCache::createFontPlatformData): 10118 * platform/graphics/win/FontCustomPlatformData.cpp: 10119 (WebCore::FontCustomPlatformData::fontPlatformData): 10120 * platform/graphics/win/FontPlatformDataCGWin.cpp: 10121 (WebCore::FontPlatformData::FontPlatformData): 10122 * platform/graphics/win/FontPlatformDataWin.cpp: 10123 (WebCore::FontPlatformData::FontPlatformData): 10124 10125 2011-04-26 Jer Noble <jer.noble (a] apple.com> 10126 10127 Reviewed by Brady Eidson. 10128 10129 HTML5 video fullscreen transition causes an audio stutter 10130 https://bugs.webkit.org/show_bug.cgi?id=59544 10131 10132 AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer 10133 from its AVPlayer. Since you shouldn't necessarily have to destroy the 10134 layer to render it invisible, instead just set the layer as hidden. 10135 10136 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 10137 (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible(). 10138 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 10139 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 10140 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 10141 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added. 10142 10143 2011-04-26 Christian Dywan <christian (a] lanedo.com> 10144 10145 Reviewed by Eric Seidel. 10146 10147 Extra separator after Select All in context menu 10148 https://bugs.webkit.org/show_bug.cgi?id=54092 10149 10150 * page/ContextMenuController.cpp: Move separator to non-GTK+ 10151 port guards since it is for the spelling options menu 10152 which the GTK+ port doesn't use. 10153 10154 2011-04-26 James Robinson <jamesr (a] chromium.org> 10155 10156 Reviewed by Kenneth Russell. 10157 10158 [chromium] Clear out LayerTilerChromium's tiles on lost context 10159 https://bugs.webkit.org/show_bug.cgi?id=59233 10160 10161 Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset. In this case the tiles are 10162 no longer valid since they exist in the previous LayerRendererChromium. 10163 10164 Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests. 10165 10166 * platform/graphics/chromium/LayerTilerChromium.h: 10167 (WebCore::LayerTilerChromium::setLayerRenderer): 10168 10169 2011-04-26 Martin Robinson <mrobinson (a] igalia.com> 10170 10171 Reviewed by Dirk Schulze. 10172 10173 [GTK] Flash in divs with overflow: auto is not positioned and clipped properly 10174 https://bugs.webkit.org/show_bug.cgi?id=57644 10175 10176 Manual test: plugins/windowed-in-iframe-2.html 10177 10178 * manual-tests/plugins/windowed-in-iframe-2.html: Added. 10179 * platform/gtk/WidgetGtk.cpp: 10180 (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged. 10181 * plugins/PluginView.h: Added helper method to set the allocation and clip. 10182 * plugins/gtk/PluginViewGtk.cpp: 10183 (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting 10184 the allocation immediately. Bring this method into sync with the implementation in 10185 the Qt port. 10186 (WebCore::PluginView::updateWidgetAllocationAndClip): Added. 10187 (WebCore::PluginView::plugAddedCallback): Call the new helper method. 10188 10189 2011-04-26 Martin Robinson <mrobinson (a] igalia.com> 10190 10191 Reviewed by Eric Seidel. 10192 10193 [GTK] fast/block/float/overhanging-tall-block.html crashes in the bots 10194 https://bugs.webkit.org/show_bug.cgi?id=58818 10195 10196 Prevent allocating scratch buffers larger than the target GdkDrawable 10197 when creating a WidgetRenderingContext. This prevents incredibly large 10198 widgets from crashing the X Server. This change also allowed greatly 10199 simplifying the way that the painting offset is calculated. 10200 10201 * platform/gtk/WidgetRenderingContext.cpp: 10202 (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap 10203 larger than the target GdkDrawable. 10204 (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the 10205 blit by looking at the location of the target rect itself, rather than delaying the 10206 calculation up to this point. 10207 (WebCore::WidgetRenderingContext::calculateClipRect): Added. 10208 (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper. 10209 (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto. 10210 (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto. 10211 (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto. 10212 (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto. 10213 (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto. 10214 (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto. 10215 (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto. 10216 (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto. 10217 * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add 10218 a member to store the IntSize mapping from the coordinates of the target to the coordinates 10219 of the scratch buffer. 10220 10221 2011-04-26 Patrick Gansterer <paroga (a] webkit.org> 10222 10223 Reviewed by Adam Barth. 10224 10225 Respect charset in handleDataURL 10226 https://bugs.webkit.org/show_bug.cgi?id=47746 10227 10228 Original patch by Kwang Yul Seo <skyul (a] company100.net> 10229 10230 We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode() 10231 returns an empty string because encoding name is not specified. 10232 10233 Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty. 10234 10235 This change fixes over 130 layout tests when running GTK port with cURL network backend. 10236 10237 * platform/network/DataURL.cpp: 10238 (WebCore::handleDataURL): 10239 10240 2011-04-26 Anders Carlsson <andersca (a] apple.com> 10241 10242 Fix clang++ build. 10243 10244 You can never have too many casts! 10245 10246 * accessibility/mac/AccessibilityObjectWrapper.mm: 10247 (-[AccessibilityObjectWrapper position]): 10248 * editing/mac/SelectionControllerMac.mm: 10249 (WebCore::accessibilityConvertScreenRect): 10250 10251 2011-04-26 Chris Rogers <crogers (a] google.com> 10252 10253 Reviewed by Kenneth Russell. 10254 10255 Fix web audio build on mac port 10256 https://bugs.webkit.org/show_bug.cgi?id=59355 10257 10258 No new tests since audio API is not yet implemented. 10259 10260 * WebCore.xcodeproj/project.pbxproj: 10261 * bindings/js/JSAudioContextCustom.cpp: 10262 (WebCore::JSAudioContext::visitChildren): 10263 * bindings/js/JSJavaScriptAudioNodeCustom.cpp: 10264 (WebCore::JSJavaScriptAudioNode::visitChildren): 10265 * webaudio/AudioContext.idl: 10266 10267 2011-04-26 Chris Rogers <crogers (a] google.com> 10268 10269 Reviewed by Kenneth Russell. 10270 10271 Add FFTFrame implementation for FFmpeg 10272 https://bugs.webkit.org/show_bug.cgi?id=59408 10273 10274 No new tests since audio API is not yet implemented. 10275 10276 * WebCore.gyp/WebCore.gyp: 10277 * WebCore.gypi: 10278 * platform/audio/FFTFrame.h: 10279 * platform/audio/FFTFrameStub.cpp: 10280 * platform/audio/ffmpeg: Added. 10281 * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added. 10282 (WebCore::FFTFrame::FFTFrame): 10283 (WebCore::FFTFrame::initialize): 10284 (WebCore::FFTFrame::cleanup): 10285 (WebCore::FFTFrame::~FFTFrame): 10286 (WebCore::FFTFrame::multiply): 10287 (WebCore::FFTFrame::doFFT): 10288 (WebCore::FFTFrame::doInverseFFT): 10289 (WebCore::FFTFrame::realData): 10290 (WebCore::FFTFrame::imagData): 10291 (WebCore::FFTFrame::getUpToDateComplexData): 10292 (WebCore::FFTFrame::contextForSize): 10293 * platform/audio/mac/FFTFrameMac.cpp: 10294 * webaudio/ConvolverNode.cpp: 10295 10296 2011-04-26 Jeff Miller <jeffm (a] apple.com> 10297 10298 Add a newline at the end of SVGFEDropShadowElement.idl. 10299 10300 * svg/SVGFEDropShadowElement.idl: 10301 10302 2011-04-26 Mihai Parparita <mihaip (a] chromium.org> 10303 10304 Reviewed by Eric Seidel. 10305 10306 InlineBox.h shouldn't include RenderBR.h 10307 https://bugs.webkit.org/show_bug.cgi?id=59480 10308 10309 Per bug 59348 RenderBR.h is a "top header" by include * size, because 10310 InlineBox.h includes it. There's no reason why it has to. 10311 10312 * rendering/InlineBox.h: 10313 * rendering/InlineTextBox.cpp: 10314 * rendering/RenderBlock.h: 10315 10316 2011-04-26 Sam Weinig <sam (a] webkit.org> 10317 10318 Nope, roll out r84950 and r84952. Working on a laptop is clearly not something 10319 I should do. 10320 10321 * bindings/js/JSDOMBinding.h: 10322 (WebCore::JSDOMWrapperWithGlobalPointer::globalObject): 10323 (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext): 10324 (WebCore::JSDOMWrapperWithGlobalPointer::createStructure): 10325 (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer): 10326 (WebCore::DOMConstructorObject::DOMConstructorObject): 10327 * bindings/js/JSDOMWrapper.h: 10328 (WebCore::JSDOMWrapper::JSDOMWrapper): 10329 * bindings/scripts/CodeGeneratorJS.pm: 10330 10331 2011-04-26 Sam Weinig <sam (a] webkit.org> 10332 10333 Fix build. 10334 10335 * bindings/js/JSDOMWrapper.h: 10336 (WebCore::JSDOMWrapper::globalObject): 10337 10338 2011-04-26 Sam Weinig <sam (a] webkit.org> 10339 10340 Roll r84945 back in with infinite recursion removed. 10341 10342 * bindings/js/JSDOMBinding.h: 10343 (WebCore::DOMConstructorObject::DOMConstructorObject): 10344 * bindings/js/JSDOMWrapper.h: 10345 (WebCore::JSDOMWrapper::globalObject): 10346 (WebCore::JSDOMWrapper::scriptExecutionContext): 10347 (WebCore::JSDOMWrapper::createStructure): 10348 (WebCore::JSDOMWrapper::JSDOMWrapper): 10349 * bindings/scripts/CodeGeneratorJS.pm: 10350 10351 2011-04-26 Sam Weinig <sam (a] webkit.org> 10352 10353 Rollout previous patch. It broke stuff. 10354 10355 * bindings/js/JSDOMBinding.h: 10356 (WebCore::JSDOMWrapperWithGlobalPointer::globalObject): 10357 (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext): 10358 (WebCore::JSDOMWrapperWithGlobalPointer::createStructure): 10359 (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer): 10360 (WebCore::DOMConstructorObject::DOMConstructorObject): 10361 * bindings/js/JSDOMWrapper.h: 10362 (WebCore::JSDOMWrapper::JSDOMWrapper): 10363 * bindings/scripts/CodeGeneratorJS.pm: 10364 10365 2011-04-26 Sam Weinig <sam (a] webkit.org> 10366 10367 Reviewed by Maciej Stachowiak. 10368 10369 Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects 10370 https://bugs.webkit.org/show_bug.cgi?id=59310 10371 10372 * bindings/js/JSDOMBinding.h: 10373 (WebCore::DOMConstructorObject::DOMConstructorObject): 10374 * bindings/js/JSDOMWrapper.h: 10375 (WebCore::JSDOMWrapper::globalObject): 10376 (WebCore::JSDOMWrapper::scriptExecutionContext): 10377 (WebCore::JSDOMWrapper::createStructure): 10378 (WebCore::JSDOMWrapper::JSDOMWrapper): 10379 Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper. 10380 10381 * bindings/scripts/CodeGeneratorJS.pm: 10382 Make JSDOMWrapper the base class. 10383 10384 2011-04-26 Dan Bernstein <mitz (a] apple.com> 10385 10386 Reviewed by Mark Rowe. 10387 10388 Choose the compiler based on the Xcode version for Snow Leopard debug builds. 10389 10390 * Configurations/Base.xcconfig: 10391 * Configurations/CompilerVersion.xcconfig: Added. 10392 10393 2011-04-26 Adrienne Walker <enne (a] google.com> 10394 10395 Reviewed by Geoffrey Garen. 10396 10397 Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer 10398 https://bugs.webkit.org/show_bug.cgi?id=59469 10399 10400 * platform/chromium/TraceEvent.h: 10401 (WebCore::internal::ScopeTracer::ScopeTracer): 10402 10403 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 10404 10405 Reviewed by Oliver Hunt. 10406 10407 Nixed special finalizer handling for WebCore strings 10408 https://bugs.webkit.org/show_bug.cgi?id=59425 10409 10410 Not needed anymore, since weak handles have finalizers. 10411 10412 * WebCore.exp.in: Exports! 10413 10414 * bindings/js/DOMWrapperWorld.cpp: 10415 (WebCore::JSStringOwner::finalize): 10416 (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer, 10417 so we don't need special treatment anymore. 10418 10419 * bindings/js/DOMWrapperWorld.h: 10420 (WebCore::JSStringOwner::JSStringOwner): 10421 (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T> 10422 instead of a WeakGCMap, so we can specify a custom finalizer. 10423 10424 * bindings/js/JSDOMBinding.cpp: 10425 (WebCore::jsStringSlowCase): 10426 * bindings/js/JSDOMBinding.h: 10427 (WebCore::jsString): Updated for string map change. 10428 10429 2011-04-26 David Kilzer <ddkilzer (a] apple.com> 10430 10431 <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining 10432 10433 Reviewed by Antti Koivisto. 10434 10435 To enable HTTP pipelining post-SnowLeopard, use this command: 10436 10437 defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES 10438 10439 * platform/network/cf/ResourceRequestCFNet.cpp: 10440 (WebCore::readBooleanPreference): Re-added. Originally added in 10441 r76756 and removed in r84120. 10442 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable 10443 HTTP pipelining if use default is set to true. Added macro 10444 guards to match those in ResourceRequestMac.mm. 10445 10446 2011-04-26 Antti Koivisto <antti (a] apple.com> 10447 10448 Reviewed by Adele Peterson. 10449 10450 Don't strip fragments from file: urls in memory cache 10451 https://bugs.webkit.org/show_bug.cgi?id=59463 10452 <rdar://problem/9231130> 10453 10454 Some clients expect file: resources to be unique based on fragment identifier. 10455 Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only 10456 10457 Test: fast/loader/file-protocol-fragment.html 10458 10459 * loader/cache/MemoryCache.cpp: 10460 (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded): 10461 10462 2011-04-26 David Levin <levin (a] chromium.org> 10463 10464 Reviewed by Darin Adler. 10465 10466 Fix more strict OwnPtr in WebCore (round N). 10467 https://bugs.webkit.org/show_bug.cgi?id=59464 10468 10469 * dom/Document.cpp: 10470 (WebCore::Document::Document): 10471 (WebCore::Document::attach): 10472 * fileapi/FileReader.cpp: 10473 (WebCore::FileReader::terminate): 10474 * loader/DocumentThreadableLoader.cpp: 10475 (WebCore::DocumentThreadableLoader::preflightFailure): 10476 * workers/DefaultSharedWorkerRepository.cpp: 10477 (WebCore::SharedWorkerConnectTask::create): 10478 (WebCore::SharedWorkerScriptLoader::load): 10479 10480 2011-04-26 Ruben <chromium (a] hybridsource.org> 10481 10482 Reviewed by Tony Chang. 10483 10484 Change linux ifdefs for Chromium to Unix instead, allowing 10485 new Unix ports to be enabled by default 10486 https://bugs.webkit.org/show_bug.cgi?id=59297 10487 10488 No new tests, just changing preprocessor defines. 10489 10490 * bindings/js/JSInspectorFrontendHostCustom.cpp: 10491 * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: 10492 * dom/SelectElement.cpp: 10493 * loader/cache/CachedFont.cpp: 10494 * page/EventHandler.cpp: 10495 * page/chromium/EventHandlerChromium.cpp: 10496 * platform/Scrollbar.cpp: 10497 * platform/chromium/PlatformBridge.h: 10498 * platform/graphics/chromium/FontPlatformData.h: 10499 * platform/graphics/skia/FontCustomPlatformData.cpp: 10500 * platform/graphics/skia/FontCustomPlatformData.h: 10501 10502 2011-04-26 Ryosuke Niwa <rniwa (a] webkit.org> 10503 10504 Reviewed by Dan Bernstein. 10505 10506 [RTL] Arabic/AB - after typing a date, cursors doesn't go back 10507 https://bugs.webkit.org/show_bug.cgi?id=49111 10508 10509 Even when the offset corresponds to a position visually left of the box 10510 and there aren't any inline boxes on the left, the previous/next position 10511 may still correspond to some position in the same line. 10512 10513 The bug was caused by our ignoring such cases. Fixed the bug by comparing 10514 previous/next position's inline box to the current box. If they match, 10515 then we stay on the same position because moving to the left visually at 10516 the left edge should not result in a position on the same line. 10517 10518 Also fixed a bug that WebKit uses offsets that are not extrema when moved to 10519 the left edge or to the right edge, and a bug that WebKit could not move to 10520 the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C). 10521 10522 Test cases are added to editing/selection/move-left-right.html 10523 10524 * editing/VisiblePosition.cpp: 10525 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 10526 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 10527 10528 2011-04-26 Gabor Loki <loki (a] webkit.org> 10529 10530 Reviewed by Csaba Osztrogonc. 10531 10532 Speeding up SVG filters with multicore (SMP) support 10533 https://bugs.webkit.org/show_bug.cgi?id=43903 10534 10535 Some SVG filters execute a huge number of pixel manipulations, which 10536 cannot be sped up by graphics accelerators, since their algorithm is 10537 too complex. Using the power of Symmetric Multi Processing (SMP) we 10538 can split up a task to smaller (data independent) tasks, which can be 10539 executed independently. 10540 10541 The ParallelJobs framework provides a simple way for distributed 10542 programming. The framework is based on WebKit's threading infrastructure, 10543 Open Multi-Processing's (OpenMP) API, and libdispatch API. 10544 10545 * ForwardingHeaders/wtf/ParallelJobs.h: Added. 10546 * platform/graphics/filters/FETurbulence.cpp: 10547 (WebCore::FETurbulence::PaintingData::PaintingData): 10548 (WebCore::FETurbulence::noise2D): 10549 (WebCore::FETurbulence::calculateTurbulenceValueForPoint): 10550 (WebCore::FETurbulence::fillRegion): 10551 (WebCore::FETurbulence::fillRegionWorker): 10552 (WebCore::FETurbulence::apply): 10553 * platform/graphics/filters/FETurbulence.h: 10554 10555 2011-04-26 Pavel Feldman <pfeldman (a] google.com> 10556 10557 Reviewed by Yury Semikhatsky. 10558 10559 Web Inspector: close button is off in docked mode on a mac. 10560 https://bugs.webkit.org/show_bug.cgi?id=59453 10561 10562 * inspector/front-end/inspector.css: 10563 (.toolbar-item.close-left): 10564 10565 2011-04-26 Pavel Feldman <pfeldman (a] google.com> 10566 10567 Reviewed by Yury Semikhatsky. 10568 10569 Web Inspector: New Style is not working (UI glitch) 10570 https://bugs.webkit.org/show_bug.cgi?id=59451 10571 10572 * inspector/InspectorDOMStorageAgent.cpp: 10573 (WebCore::InspectorDOMStorageAgent::setFrontend): 10574 * inspector/front-end/AuditRules.js: 10575 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): 10576 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived): 10577 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived): 10578 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived): 10579 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived): 10580 * inspector/front-end/CSSStyleModel.js: 10581 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 10582 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): 10583 (WebInspector.CSSStyleModel.prototype.addRule): 10584 (WebInspector.CSSStyleModel.prototype.addRule.callback): 10585 (WebInspector.CSSStyleModel.prototype._documentElementId): 10586 * inspector/front-end/DOMAgent.js: 10587 (WebInspector.DOMNode.prototype._addAttribute): 10588 (WebInspector.DOMNode.prototype.documentElement): 10589 * inspector/front-end/ResourceTreeModel.js: 10590 (WebInspector.PageDispatcher.prototype.frameDetached): 10591 * inspector/front-end/StylesSidebarPane.js: 10592 (WebInspector.StylesSidebarPane.prototype._createNewRule): 10593 10594 2011-04-26 Pavel Feldman <pfeldman (a] google.com> 10595 10596 Reviewed by Yury Semikhatsky. 10597 10598 Web Inspector: introduce DOMStorage::enable and disable. 10599 https://bugs.webkit.org/show_bug.cgi?id=59445 10600 10601 * inspector/Inspector.json: 10602 * inspector/InspectorAgent.cpp: 10603 (WebCore::InspectorAgent::InspectorAgent): 10604 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 10605 * inspector/InspectorDOMStorageAgent.cpp: 10606 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 10607 (WebCore::InspectorDOMStorageAgent::restore): 10608 (WebCore::InspectorDOMStorageAgent::enable): 10609 (WebCore::InspectorDOMStorageAgent::disable): 10610 * inspector/InspectorDOMStorageAgent.h: 10611 (WebCore::InspectorDOMStorageAgent::create): 10612 * inspector/front-end/DOMStorage.js: 10613 (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage): 10614 * inspector/front-end/ResourcesPanel.js: 10615 (WebInspector.ResourcesPanel.prototype._reset): 10616 * inspector/front-end/inspector.js: 10617 10618 2011-04-26 Pavel Feldman <pfeldman (a] google.com> 10619 10620 Reviewed by Yury Semikhatsky. 10621 10622 Web Inspector: extract Page agent dispatcher into the ResourceTreeModel. 10623 https://bugs.webkit.org/show_bug.cgi?id=59440 10624 10625 * inspector/Inspector.json: 10626 * inspector/InspectorAgent.cpp: 10627 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 10628 * inspector/InspectorPageAgent.cpp: 10629 (WebCore::InspectorPageAgent::setFrontend): 10630 (WebCore::InspectorPageAgent::frameNavigated): 10631 * inspector/InspectorPageAgent.h: 10632 * inspector/front-end/AuditsPanel.js: 10633 (WebInspector.AuditsPanel): 10634 (WebInspector.AuditsPanel.prototype._onLoadEventFired): 10635 (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired): 10636 * inspector/front-end/CSSStyleModel.js: 10637 (WebInspector.CSSStyleModelResourceBinding): 10638 (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged): 10639 * inspector/front-end/DOMBreakpointsSidebarPane.js: 10640 (WebInspector.DOMBreakpointsSidebarPane): 10641 (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged): 10642 * inspector/front-end/DOMStorage.js: 10643 (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage): 10644 * inspector/front-end/ExtensionServer.js: 10645 (WebInspector.ExtensionServer.prototype._inspectedURLChanged): 10646 (WebInspector.ExtensionServer.prototype.initExtensions): 10647 * inspector/front-end/NetworkPanel.js: 10648 (WebInspector.NetworkPanel): 10649 (WebInspector.NetworkPanel.prototype._onLoadEventFired): 10650 (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired): 10651 (WebInspector.NetworkPanel.prototype._frameNavigated): 10652 * inspector/front-end/ResourceTreeModel.js: 10653 (WebInspector.ResourceTreeModel): 10654 (WebInspector.ResourceTreeModel.prototype._processCachedResources): 10655 (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged): 10656 (WebInspector.ResourceTreeModel.prototype._frameNavigated): 10657 (WebInspector.ResourceTreeModel.prototype._frameDetached): 10658 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): 10659 (WebInspector.PageDispatcher): 10660 (WebInspector.PageDispatcher.prototype.domContentEventFired): 10661 (WebInspector.PageDispatcher.prototype.loadEventFired): 10662 (WebInspector.PageDispatcher.prototype.frameNavigated): 10663 (WebInspector.PageDispatcher.prototype.frameDetached): 10664 * inspector/front-end/ResourcesPanel.js: 10665 (WebInspector.ResourcesPanel): 10666 (WebInspector.ResourcesPanel.prototype._onLoadEventFired): 10667 (WebInspector.ResourcesPanel.prototype._frameNavigated): 10668 * inspector/front-end/inspector.js: 10669 10670 2011-04-26 Csaba Osztrogonc <ossy (a] webkit.org> 10671 10672 Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892, 10673 because it broke transitions/multiple-text-shadow-transition.html 10674 10675 Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr 10676 https://bugs.webkit.org/show_bug.cgi?id=59377 10677 10678 * css/CSSStyleSelector.cpp: 10679 (WebCore::CSSStyleSelector::applyProperty): 10680 * page/animation/AnimationBase.cpp: 10681 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow): 10682 (WebCore::PropertyWrapperShadow::blend): 10683 * rendering/style/RenderStyle.cpp: 10684 (WebCore::RenderStyle::setTextShadow): 10685 (WebCore::RenderStyle::setBoxShadow): 10686 * rendering/style/RenderStyle.h: 10687 (WebCore::InheritedFlags::textShadow): 10688 * rendering/style/StyleRareInheritedData.cpp: 10689 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 10690 (WebCore::StyleRareInheritedData::~StyleRareInheritedData): 10691 * rendering/style/StyleRareInheritedData.h: 10692 * rendering/style/StyleRareNonInheritedData.cpp: 10693 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 10694 10695 2011-04-26 Mihai Parparita <mihaip (a] chromium.org> 10696 10697 Reviewed by Adam Barth. 10698 10699 Turn off make built-in implicit rules for derived sources makefile 10700 https://bugs.webkit.org/show_bug.cgi?id=59418 10701 10702 We don't use any of make's built-in implicit rules, turning them off 10703 speeds up parsing of the makefile. 10704 10705 * WebCore.xcodeproj/project.pbxproj: 10706 * gyp/generate-derived-sources.sh: 10707 10708 2011-04-26 Leo Yang <leo.yang (a] torchmobile.com.cn> 10709 10710 Reviewed by Nikolas Zimmermann. 10711 10712 ASSERT failure in SVGUseElement 10713 https://bugs.webkit.org/show_bug.cgi?id=59313 10714 10715 In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource) 10716 was wrong because the document may not be well-formed. 10717 10718 This patch asserts the element is not pending on resource or the 10719 document is not well-formed. 10720 10721 Test: svg/custom/use-crash-in-non-wellformed-document.svg 10722 10723 * svg/SVGUseElement.cpp: 10724 (WebCore::isWellFormedDocument): 10725 (WebCore::SVGUseElement::insertedIntoDocument): 10726 10727 2011-04-26 Mikhail Naganov <mnaganov (a] chromium.org> 10728 10729 Reviewed by Pavel Feldman. 10730 10731 Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids. 10732 https://bugs.webkit.org/show_bug.cgi?id=59438 10733 10734 * inspector/front-end/DetailedHeapshotView.js: 10735 (WebInspector.DetailedHeapshotView.prototype._changeView): 10736 10737 2011-04-26 David Levin <levin (a] chromium.org> 10738 10739 Reviewed by Adam Barth. 10740 10741 Fix a few OwnPtr strict errors in WebCore headers. 10742 https://bugs.webkit.org/show_bug.cgi?id=59431 10743 10744 * bindings/js/ScheduledAction.cpp: 10745 (WebCore::ScheduledAction::create): 10746 * css/MediaQueryMatcher.cpp: 10747 (WebCore::MediaQueryMatcher::prepareEvaluator): 10748 * dom/NodeRareData.h: 10749 (WebCore::NodeListsNodeData::create): 10750 * dom/ScriptRunner.h: 10751 (WebCore::ScriptRunner::create): 10752 * inspector/WorkerInspectorController.cpp: 10753 (WebCore::WorkerInspectorController::connectFrontend): 10754 * loader/icon/IconDatabase.h: 10755 (WebCore::IconDatabase::create): 10756 * platform/graphics/SimpleFontData.cpp: 10757 (WebCore::SimpleFontData::verticalRightOrientationFontData): 10758 (WebCore::SimpleFontData::uprightOrientationFontData): 10759 (WebCore::SimpleFontData::brokenIdeographFontData): 10760 * rendering/style/StyleRareInheritedData.cpp: 10761 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 10762 * rendering/svg/SVGResources.h: 10763 (WebCore::SVGResources::ClipperFilterMaskerData::create): 10764 (WebCore::SVGResources::MarkerData::create): 10765 (WebCore::SVGResources::FillStrokeData::create): 10766 * storage/StorageSyncManager.cpp: 10767 (WebCore::StorageSyncManager::close): 10768 * workers/WorkerContext.cpp: 10769 (WebCore::CloseWorkerContextTask::create): 10770 * workers/WorkerMessagingProxy.cpp: 10771 (WebCore::MessageWorkerContextTask::create): 10772 (WebCore::MessageWorkerTask::create): 10773 (WebCore::WorkerExceptionTask::create): 10774 (WebCore::WorkerContextDestroyedTask::create): 10775 (WebCore::WorkerTerminateTask::create): 10776 (WebCore::WorkerThreadActivityReportTask::create): 10777 * workers/WorkerRunLoop.cpp: 10778 (WebCore::WorkerRunLoop::Task::create): 10779 * workers/WorkerThread.cpp: 10780 (WebCore::WorkerThreadStartupData::create): 10781 (WebCore::WorkerThreadShutdownFinishTask::create): 10782 (WebCore::WorkerThreadShutdownStartTask::create): 10783 10784 2011-04-26 Adam Klein <adamk (a] chromium.org> 10785 10786 Reviewed by Adam Barth. 10787 10788 Fix last strict OwnPtr violation under svg/... 10789 https://bugs.webkit.org/show_bug.cgi?id=59429 10790 10791 * svg/SVGDocumentExtensions.cpp: 10792 (WebCore::SVGDocumentExtensions::removePendingResource): 10793 10794 2011-04-26 Adam Barth <abarth (a] webkit.org> 10795 10796 Reviewed by David Levin. 10797 10798 Fix more strict OwnPtr violations in WebCore 10799 https://bugs.webkit.org/show_bug.cgi?id=59433 10800 10801 These manifest in the Chromium build. 10802 10803 * bindings/v8/ScriptController.cpp: 10804 (WebCore::ScriptController::ScriptController): 10805 * bindings/v8/ScriptDebugServer.cpp: 10806 (WebCore::ScriptDebugServer::editScriptSource): 10807 * bindings/v8/V8DOMMap.cpp: 10808 (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): 10809 * bindings/v8/V8Proxy.cpp: 10810 (WebCore::V8Proxy::precompileScript): 10811 * bindings/v8/WorkerScriptController.cpp: 10812 (WebCore::WorkerScriptController::WorkerScriptController): 10813 * page/Page.cpp: 10814 (WebCore::Page::Page): 10815 (WebCore::Page::speechInput): 10816 * platform/PlatformGestureRecognizer.cpp: 10817 (WebCore::PlatformGestureRecognizer::create): 10818 * platform/PlatformGestureRecognizer.h: 10819 * platform/graphics/chromium/DrawingBufferChromium.cpp: 10820 (WebCore::DrawingBuffer::DrawingBuffer): 10821 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 10822 (WebCore::CCLayerImpl::CCLayerImpl): 10823 * platform/graphics/gpu/Texture.cpp: 10824 (WebCore::Texture::create): 10825 * platform/image-decoders/bmp/BMPImageDecoder.cpp: 10826 (WebCore::BMPImageDecoder::decodeHelper): 10827 * platform/image-decoders/gif/GIFImageDecoder.cpp: 10828 (WebCore::GIFImageDecoder::decode): 10829 * platform/image-decoders/ico/ICOImageDecoder.cpp: 10830 (WebCore::ICOImageDecoder::decodeAtIndex): 10831 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 10832 (WebCore::JPEGImageDecoder::decode): 10833 * platform/image-decoders/png/PNGImageDecoder.cpp: 10834 (WebCore::PNGImageDecoder::decode): 10835 * storage/chromium/DatabaseTrackerChromium.cpp: 10836 (WebCore::DatabaseTracker::addOpenDatabase): 10837 10838 2011-04-25 David Levin <levin (a] chromium.org> 10839 10840 Reviewed by Adam Barth. 10841 10842 Fix OwnPtr strict errors in CrossThreadTask.h 10843 https://bugs.webkit.org/show_bug.cgi?id=59427 10844 10845 * dom/CrossThreadTask.h: 10846 (WebCore::CrossThreadTask1::create): 10847 (WebCore::CrossThreadTask2::create): 10848 (WebCore::CrossThreadTask3::create): 10849 (WebCore::CrossThreadTask4::create): 10850 (WebCore::CrossThreadTask5::create): 10851 (WebCore::CrossThreadTask6::create): 10852 (WebCore::CrossThreadTask7::create): 10853 (WebCore::CrossThreadTask8::create): 10854 10855 2011-04-25 Mark Rowe <mrowe (a] apple.com> 10856 10857 Reviewed by Dan Bernstein. 10858 10859 <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>' 10860 10861 * css/CSSStyleApplyProperty.cpp: 10862 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice. 10863 * css/CSSStyleApplyProperty.h: 10864 (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak. 10865 10866 2011-04-25 Levi Weintraub <leviw (a] chromium.org> 10867 10868 Reviewed by Ryosuke Niwa. 10869 10870 REGRESSION: a character appears after tab span when typing immediately before the tab span 10871 https://bugs.webkit.org/show_bug.cgi?id=58132 10872 10873 Correcting the order of operations we use to avoid inserting into invalid positions in 10874 ReplaceSelectionCommand to avoid inserting into tab-spans. 10875 10876 Test: editing/pasteboard/paste-before-tab-span.html 10877 10878 * editing/ReplaceSelectionCommand.cpp: 10879 (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after 10880 positionAvoidingPrecedingNodes, since that function could once again put our position 10881 inside a tab span. 10882 10883 2011-04-25 David Levin <levin (a] chromium.org> 10884 10885 Reviewed by Adam Barth. 10886 10887 Fix OwnPtr strict error in ImageBuffer.h 10888 https://bugs.webkit.org/show_bug.cgi?id=59422 10889 10890 * platform/graphics/ImageBuffer.h: 10891 (WebCore::ImageBuffer::create): 10892 10893 2011-04-25 Adam Barth <abarth (a] webkit.org> 10894 10895 Reviewed by David Levin. 10896 10897 Fix strict OwnPtr violations and whitelist known-tricky files 10898 https://bugs.webkit.org/show_bug.cgi?id=59421 10899 10900 With this patch, WebCore builds cleanly with strict OwnPtrs. 10901 10902 * dom/MessagePort.cpp: 10903 (WebCore::MessagePort::MessagePort): 10904 * dom/XMLDocumentParserLibxml2.cpp: 10905 * page/ContextMenuController.cpp: 10906 (WebCore::ContextMenuController::ContextMenuController): 10907 (WebCore::ContextMenuController::clearContextMenu): 10908 * page/PluginHalter.cpp: 10909 * platform/graphics/MediaPlayer.cpp: 10910 * platform/network/ResourceRequestBase.cpp: 10911 (WebCore::ResourceRequestBase::adopt): 10912 (WebCore::ResourceRequestBase::copyData): 10913 * svg/SVGDocumentExtensions.cpp: 10914 10915 2011-04-25 David Levin <levin (a] chromium.org> 10916 10917 Reviewed by Adam Barth. 10918 10919 Fix OwnPtr strict errors in DatasetDOMStringMap.h. 10920 https://bugs.webkit.org/show_bug.cgi?id=59419 10921 10922 * dom/DatasetDOMStringMap.h: 10923 (WebCore::DatasetDOMStringMap::create): 10924 10925 2011-04-25 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 10926 10927 Reviewed by Eric Seidel. 10928 10929 KeyboardEvent.cpp should work with strict OwnPtrs. 10930 https://bugs.webkit.org/show_bug.cgi?id=59403 10931 10932 * dom/KeyboardEvent.cpp: 10933 (WebCore::KeyboardEvent::KeyboardEvent): 10934 10935 2011-04-25 James Robinson <jamesr (a] chromium.org> 10936 10937 Reviewed by Eric Seidel. 10938 10939 Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr 10940 https://bugs.webkit.org/show_bug.cgi?id=59377 10941 10942 * css/CSSStyleSelector.cpp: 10943 (WebCore::CSSStyleSelector::applyProperty): 10944 * page/animation/AnimationBase.cpp: 10945 (WebCore::PropertyWrapperShadow::PropertyWrapperShadow): 10946 (WebCore::PropertyWrapperShadow::blend): 10947 * rendering/style/RenderStyle.cpp: 10948 (WebCore::RenderStyle::setTextShadow): 10949 (WebCore::RenderStyle::setBoxShadow): 10950 * rendering/style/RenderStyle.h: 10951 (WebCore::InheritedFlags::textShadow): 10952 * rendering/style/StyleRareInheritedData.cpp: 10953 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 10954 (WebCore::StyleRareInheritedData::~StyleRareInheritedData): 10955 * rendering/style/StyleRareInheritedData.h: 10956 * rendering/style/StyleRareNonInheritedData.cpp: 10957 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 10958 10959 2011-04-25 Sheriff Bot <webkit.review.bot (a] gmail.com> 10960 10961 Unreviewed, rolling out r84864. 10962 http://trac.webkit.org/changeset/84864 10963 https://bugs.webkit.org/show_bug.cgi?id=59413 10964 10965 Expect result of use-crash-in-non-wellformed-document.svg is 10966 platform dependent (Requested by leoyang on #webkit). 10967 10968 * svg/SVGUseElement.cpp: 10969 (WebCore::SVGUseElement::insertedIntoDocument): 10970 10971 2011-04-25 Leo Yang <leo.yang (a] torchmobile.com.cn> 10972 10973 Reviewed by Nikolas Zimmermann. 10974 10975 ASSERT failure in SVGUseElement 10976 https://bugs.webkit.org/show_bug.cgi?id=59313 10977 10978 In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource) 10979 was wrong because the document may not be well-formed. 10980 10981 This patch asserts the element is not pending on resource or the 10982 document is not well-formed. 10983 10984 Test: svg/custom/use-crash-in-non-wellformed-document.svg 10985 10986 * svg/SVGUseElement.cpp: 10987 (WebCore::isWellFormedDocument): 10988 (WebCore::SVGUseElement::insertedIntoDocument): 10989 10990 2011-04-25 Igor Oliveira <igor.oliveira (a] openbossa.org> 10991 10992 Reviewed by Tony Chang. 10993 10994 Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class 10995 https://bugs.webkit.org/show_bug.cgi?id=59028 10996 10997 The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms. 10998 Moving the code for base class we can reduce the efforts to support DataTransferItems 10999 element in different platforms. 11000 11001 * Android.mk: 11002 * CMakeLists.txt: 11003 * GNUmakefile.list.am: 11004 * WebCore.gypi: 11005 * WebCore.pro: 11006 * WebCore.vcproj/WebCore.vcproj: 11007 * WebCore.xcodeproj/project.pbxproj: 11008 * dom/DataTransferItem.cpp: 11009 (WebCore::DataTransferItem::DataTransferItem): 11010 (WebCore::DataTransferItem::owner): 11011 (WebCore::DataTransferItem::kind): 11012 (WebCore::DataTransferItem::type): 11013 * dom/DataTransferItem.h: 11014 * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp. 11015 (WebCore::DataTransferItems::DataTransferItems): 11016 (WebCore::DataTransferItems::length): 11017 (WebCore::DataTransferItems::item): 11018 (WebCore::DataTransferItems::deleteItem): 11019 (WebCore::DataTransferItems::clear): 11020 (WebCore::DataTransferItems::add): 11021 * dom/DataTransferItems.h: 11022 * platform/chromium/DataTransferItemChromium.cpp: 11023 (WebCore::DataTransferItem::create): 11024 (WebCore::DataTransferItemChromium::DataTransferItemChromium): 11025 (WebCore::DataTransferItemChromium::getAsString): 11026 (WebCore::DataTransferItemChromium::getAsFile): 11027 * platform/chromium/DataTransferItemChromium.h: 11028 * platform/chromium/DataTransferItemsChromium.cpp: 11029 (WebCore::DataTransferItemsChromium::DataTransferItemsChromium): 11030 * platform/chromium/DataTransferItemsChromium.h: 11031 11032 2011-04-25 Chris Marrin <cmarrin (a] apple.com> 11033 11034 Reviewed by Simon Fraser. 11035 11036 REGRESSION(75137): directly composited images are double-drawn sometimes 11037 https://bugs.webkit.org/show_bug.cgi?id=58632 11038 11039 Depending on the order of operations (layout, creating compositing 11040 layers and creating simple image layers) a layer can have both image 11041 content and have m_drawsContent=true. In this case 2 copies of the image 11042 are drawn in the layer. If the image has alpha, it looks wrong. 11043 11044 I added an updateDrawsContent() call after setting the image contents 11045 to make sure it's correct. 11046 11047 I couldn't create a test case that shows the problem because layerTreeAsText() 11048 doesn't emit enough info to show this level of detail. I've opened 11049 https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that. 11050 11051 * rendering/RenderLayerBacking.cpp: 11052 (WebCore::RenderLayerBacking::updateImageContents): 11053 11054 2011-04-25 Kenneth Russell <kbr (a] google.com> 11055 11056 Reviewed by David Levin. 11057 11058 Fix OwnPtr strict errors in InlineFlowBox.cpp 11059 https://bugs.webkit.org/show_bug.cgi?id=59392 11060 11061 * rendering/InlineFlowBox.cpp: 11062 (WebCore::InlineFlowBox::setLayoutOverflow): 11063 (WebCore::InlineFlowBox::setVisualOverflow): 11064 11065 2011-04-25 Kenneth Russell <kbr (a] google.com> 11066 11067 Reviewed by David Levin. 11068 11069 Fix OwnPtr strict errors in TransformState.cpp 11070 https://bugs.webkit.org/show_bug.cgi?id=59380 11071 11072 * rendering/TransformState.cpp: 11073 (WebCore::TransformState::applyTransform): 11074 11075 2011-04-25 Adam Barth <abarth (a] webkit.org> 11076 11077 Reviewed by James Robinson. 11078 11079 DOMWindow.cpp should work with strict OwnPtrs 11080 https://bugs.webkit.org/show_bug.cgi?id=59356 11081 11082 * page/DOMWindow.cpp: 11083 (WebCore::PostMessageTimer::fired): 11084 (WebCore::DOMWindow::postMessageTimerFired): 11085 * page/DOMWindow.h: 11086 11087 2011-04-25 Adam Klein <adamk (a] chromium.org> 11088 11089 Reviewed by James Robinson. 11090 11091 Fix OwnPtr strict errors in some SVG classes. 11092 https://bugs.webkit.org/show_bug.cgi?id=59395 11093 11094 * rendering/style/SVGRenderStyleDefs.cpp: 11095 (WebCore::StyleShadowSVGData::StyleShadowSVGData): 11096 * svg/SVGSVGElement.cpp: 11097 (WebCore::SVGSVGElement::SVGSVGElement): 11098 * svg/SVGStyledTransformableElement.cpp: 11099 (WebCore::SVGStyledTransformableElement::supplementalTransform): 11100 * svg/SVGTextElement.cpp: 11101 (WebCore::SVGTextElement::supplementalTransform): 11102 * svg/graphics/SVGImage.cpp: 11103 (WebCore::SVGImage::dataChanged): 11104 11105 2011-04-25 Adam Barth <abarth (a] webkit.org> 11106 11107 Re-land changes to ValidationMessage. 11108 11109 * html/ValidationMessage.cpp: 11110 (WebCore::ValidationMessage::setMessage): 11111 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): 11112 (WebCore::ValidationMessage::requestToHideMessage): 11113 11114 2011-04-25 Ojan Vafai <ojan (a] chromium.org> 11115 11116 Reviewed by James Robinson. 11117 11118 fix OwnPtr strict error in FrameView.cpp 11119 https://bugs.webkit.org/show_bug.cgi?id=59402 11120 11121 * page/FrameView.cpp: 11122 (WebCore::FrameView::FrameView): 11123 (WebCore::FrameView::addWidgetToUpdate): 11124 11125 2011-04-25 Adam Klein <adamk (a] chromium.org> 11126 11127 Unreviewed, rolling out r84844. 11128 http://trac.webkit.org/changeset/84844 11129 https://bugs.webkit.org/show_bug.cgi?id=59395 11130 11131 Checked in too much. 11132 11133 * rendering/style/SVGRenderStyleDefs.cpp: 11134 (WebCore::StyleShadowSVGData::StyleShadowSVGData): 11135 * svg/SVGDocumentExtensions.cpp: 11136 (WebCore::SVGDocumentExtensions::removePendingResource): 11137 * svg/SVGSVGElement.cpp: 11138 (WebCore::SVGSVGElement::SVGSVGElement): 11139 * svg/SVGStyledTransformableElement.cpp: 11140 (WebCore::SVGStyledTransformableElement::supplementalTransform): 11141 * svg/SVGTextElement.cpp: 11142 (WebCore::SVGTextElement::supplementalTransform): 11143 * svg/graphics/SVGImage.cpp: 11144 (WebCore::SVGImage::dataChanged): 11145 11146 2011-04-25 Adrienne Walker <enne (a] google.com> 11147 11148 Reviewed by David Levin. 11149 11150 Make ActiveDOMCallback play nice with OwnPtr strict mode 11151 https://bugs.webkit.org/show_bug.cgi?id=59398 11152 11153 * bindings/generic/ActiveDOMCallback.cpp: 11154 (WebCore::ActiveDOMCallback::ActiveDOMCallback): 11155 11156 2011-04-25 Adam Klein <adamk (a] chromium.org> 11157 11158 Reviewed by James Robinson. 11159 11160 Fix OwnPtr strict errors in some SVG classes. 11161 https://bugs.webkit.org/show_bug.cgi?id=59395 11162 11163 * rendering/style/SVGRenderStyleDefs.cpp: 11164 (WebCore::StyleShadowSVGData::StyleShadowSVGData): 11165 * svg/SVGSVGElement.cpp: 11166 (WebCore::SVGSVGElement::SVGSVGElement): 11167 * svg/SVGStyledTransformableElement.cpp: 11168 (WebCore::SVGStyledTransformableElement::supplementalTransform): 11169 * svg/SVGTextElement.cpp: 11170 (WebCore::SVGTextElement::supplementalTransform): 11171 * svg/graphics/SVGImage.cpp: 11172 (WebCore::SVGImage::dataChanged): 11173 11174 2011-04-25 James Robinson <jamesr (a] chromium.org> 11175 11176 Unreviewed, rolling out r84835. 11177 http://trac.webkit.org/changeset/84835 11178 https://bugs.webkit.org/show_bug.cgi?id=59394 11179 11180 Breaks compile because Deque<OwnPtr> doesn't work 11181 11182 * dom/XMLDocumentParserLibxml2.cpp: 11183 (WebCore::PendingCallbacks::~PendingCallbacks): 11184 (WebCore::PendingCallbacks::appendStartElementNSCallback): 11185 (WebCore::PendingCallbacks::appendEndElementNSCallback): 11186 (WebCore::PendingCallbacks::appendCharactersCallback): 11187 (WebCore::PendingCallbacks::appendProcessingInstructionCallback): 11188 (WebCore::PendingCallbacks::appendCDATABlockCallback): 11189 (WebCore::PendingCallbacks::appendCommentCallback): 11190 (WebCore::PendingCallbacks::appendInternalSubsetCallback): 11191 (WebCore::PendingCallbacks::appendErrorCallback): 11192 (WebCore::XMLDocumentParser::XMLDocumentParser): 11193 * html/ValidationMessage.cpp: 11194 (WebCore::ValidationMessage::setMessage): 11195 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): 11196 (WebCore::ValidationMessage::requestToHideMessage): 11197 11198 2011-04-25 James Robinson <jamesr (a] chromium.org> 11199 11200 Reviewed by Sam Weinig. 11201 11202 Fix OwnPtr strict mode violation in ImageBufferCG 11203 https://bugs.webkit.org/show_bug.cgi?id=59396 11204 11205 * platform/graphics/cg/ImageBufferCG.cpp: 11206 (WebCore::ImageBuffer::ImageBuffer): 11207 11208 2011-04-25 Huang Dongsung <luxtella (a] company100.net> 11209 11210 Reviewed by Dirk Schulze. 11211 11212 [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware(). 11213 https://bugs.webkit.org/show_bug.cgi?id=59308 11214 11215 An unused local variable is created and even allocates heap memory. 11216 11217 * platform/graphics/skia/PlatformContextSkia.cpp: 11218 (WebCore::PlatformContextSkia::readbackHardwareToSoftware): 11219 11220 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11221 11222 Qt build fix: Updated files not used by other ports for rename. 11223 11224 * bindings/js/JSTouchCustom.cpp: 11225 (WebCore::toJSNewlyCreated): 11226 * bindings/js/JSTouchListCustom.cpp: 11227 (WebCore::toJSNewlyCreated): 11228 11229 2011-04-25 Adrienne Walker <enne (a] google.com> 11230 11231 Reviewed by David Levin. 11232 11233 WebCore/css/CSS* files should play nice with strict OwnPtrs 11234 https://bugs.webkit.org/show_bug.cgi?id=59382 11235 11236 * css/CSSFontFaceSource.cpp: 11237 (WebCore::CSSFontFaceSource::getFontData): 11238 * css/CSSParser.cpp: 11239 (WebCore::CSSParser::addProperty): 11240 (WebCore::CSSParser::parseValue): 11241 11242 2011-04-25 Adam Barth <abarth (a] webkit.org> 11243 11244 Reviewed by James Robinson. 11245 11246 ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs 11247 https://bugs.webkit.org/show_bug.cgi?id=59394 11248 11249 * dom/XMLDocumentParserLibxml2.cpp: 11250 (WebCore::PendingCallbacks::PendingCallbacks): 11251 (WebCore::PendingCallbacks::appendStartElementNSCallback): 11252 (WebCore::PendingCallbacks::appendEndElementNSCallback): 11253 (WebCore::PendingCallbacks::appendCharactersCallback): 11254 (WebCore::PendingCallbacks::appendProcessingInstructionCallback): 11255 (WebCore::PendingCallbacks::appendCDATABlockCallback): 11256 (WebCore::PendingCallbacks::appendCommentCallback): 11257 (WebCore::PendingCallbacks::appendInternalSubsetCallback): 11258 (WebCore::PendingCallbacks::appendErrorCallback): 11259 (WebCore::XMLDocumentParser::XMLDocumentParser): 11260 * html/ValidationMessage.cpp: 11261 (WebCore::ValidationMessage::setMessage): 11262 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): 11263 (WebCore::ValidationMessage::requestToHideMessage): 11264 11265 2011-04-25 James Robinson <jamesr (a] chromium.org> 11266 11267 Reviewed by Adam Barth. 11268 11269 Fix OwnPtr strictness issues in WebCore/inspector/ 11270 https://bugs.webkit.org/show_bug.cgi?id=59387 11271 11272 * inspector/InspectorAgent.cpp: 11273 (WebCore::InspectorAgent::InspectorAgent): 11274 * inspector/InspectorController.cpp: 11275 (WebCore::InspectorController::InspectorController): 11276 * inspector/InspectorStyleSheet.cpp: 11277 (WebCore::InspectorStyleSheet::ensureSourceData): 11278 11279 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11280 11281 Reviewed by Beth Dakin. 11282 11283 Removed XPathNamespace because it was unused 11284 https://bugs.webkit.org/show_bug.cgi?id=59381 11285 11286 This allows us to make Node::ownerDocument() non-virtual, though it has 11287 the unhappy side-effect of rebuilding the world. 11288 11289 * CMakeLists.txt: 11290 * GNUmakefile.list.am: 11291 * WebCore.gypi: 11292 * WebCore.pro: 11293 * WebCore.vcproj/WebCore.vcproj: 11294 * WebCore.xcodeproj/project.pbxproj: Bye bye dead code. 11295 11296 * dom/Node.h: Hello fast code! 11297 11298 * xml/XPathNamespace.cpp: Removed. 11299 * xml/XPathNamespace.h: Removed. 11300 11301 2011-04-25 Adam Barth <abarth (a] webkit.org> 11302 11303 Reviewed by Darin Adler. 11304 11305 HistoryItemMac should play nice with OwnPtrs 11306 https://bugs.webkit.org/show_bug.cgi?id=59388 11307 11308 * history/mac/HistoryItemMac.mm: 11309 (WebCore::HistoryItem::setTransientProperty): 11310 11311 2011-04-25 David Levin <levin (a] chromium.org> 11312 11313 Reviewed by Kenneth Russell. 11314 11315 Fix strict OwnPtrs in ContextMenuController.cpp 11316 https://bugs.webkit.org/show_bug.cgi?id=59375 11317 11318 * page/ContextMenuController.cpp: 11319 (WebCore::ContextMenuController::createContextMenu): 11320 (WebCore::separatorItem): 11321 11322 2011-04-25 Adam Barth <abarth (a] webkit.org> 11323 11324 Reviewed by Darin Adler. 11325 11326 CheckedRadioButton should play nice with strict OwnPtr 11327 https://bugs.webkit.org/show_bug.cgi?id=59386 11328 11329 * dom/CheckedRadioButtons.cpp: 11330 (WebCore::CheckedRadioButtons::addButton): 11331 11332 2011-04-25 Adam Barth <abarth (a] webkit.org> 11333 11334 Reviewed by David Levin. 11335 11336 Resource*.cpp should play nice with strict OwnPtrs 11337 https://bugs.webkit.org/show_bug.cgi?id=59383 11338 11339 * bridge/runtime_method.cpp: 11340 (JSC::RuntimeMethod::RuntimeMethod): 11341 * platform/network/ResourceHandle.cpp: 11342 (WebCore::ResourceHandle::ResourceHandle): 11343 * platform/network/ResourceResponseBase.cpp: 11344 (WebCore::ResourceResponseBase::adopt): 11345 (WebCore::ResourceResponseBase::copyData): 11346 11347 2011-04-25 Adam Barth <abarth (a] webkit.org> 11348 11349 Reviewed by David Levin. 11350 11351 Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs 11352 https://bugs.webkit.org/show_bug.cgi?id=59374 11353 11354 * bridge/objc/objc_runtime.mm: 11355 (JSC::Bindings::callObjCFallbackObject): 11356 * page/Page.cpp: 11357 (WebCore::Page::Page): 11358 (WebCore::Page::initGroup): 11359 * page/PageGroup.cpp: 11360 (WebCore::PageGroup::addUserScriptToWorld): 11361 (WebCore::PageGroup::addUserStyleSheetToWorld): 11362 * page/mac/PageMac.cpp: 11363 (WebCore::Page::addSchedulePair): 11364 11365 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11366 11367 Build fix: This time for sure! 11368 11369 * dom/make_names.pl: 11370 11371 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11372 11373 Build fix: Let's edit the script instead of the autogenrated file. That 11374 way, our change will stand the test of time. 11375 11376 * dom/make_names.pl: 11377 11378 2011-04-25 Adam Barth <abarth (a] webkit.org> 11379 11380 Reviewed by David Levin. 11381 11382 Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap 11383 https://bugs.webkit.org/show_bug.cgi?id=59368 11384 11385 * html/HTMLMediaElement.cpp: 11386 (WebCore::HTMLMediaElement::HTMLMediaElement): 11387 * platform/network/HTTPHeaderMap.cpp: 11388 (WebCore::HTTPHeaderMap::copyData): 11389 11390 2011-04-25 James Robinson <jamesr (a] chromium.org> 11391 11392 Reviewed by Adam Barth. 11393 11394 Fix strict OwnPtr violations in Render*.cpp 11395 https://bugs.webkit.org/show_bug.cgi?id=59361 11396 11397 * rendering/RenderBlock.cpp: 11398 (WebCore::RenderBlock::RenderBlock): 11399 (WebCore::RenderBlock::finishDelayUpdateScrollInfo): 11400 * rendering/RenderBox.cpp: 11401 (WebCore::RenderBox::addLayoutOverflow): 11402 (WebCore::RenderBox::addVisualOverflow): 11403 * rendering/RenderButton.cpp: 11404 (WebCore::RenderButton::styleDidChange): 11405 * rendering/RenderLayer.cpp: 11406 (WebCore::RenderLayer::updateTransform): 11407 (WebCore::RenderLayer::paintChildLayerIntoColumns): 11408 (WebCore::RenderLayer::hitTestChildLayerColumns): 11409 (WebCore::RenderLayer::ensureBacking): 11410 * rendering/RenderTable.cpp: 11411 (WebCore::RenderTable::styleDidChange): 11412 * rendering/RenderView.cpp: 11413 (WebCore::RenderView::compositor): 11414 * rendering/style/RenderStyle.cpp: 11415 (WebCore::RenderStyle::addCachedPseudoStyle): 11416 (WebCore::RenderStyle::accessCounterDirectives): 11417 (WebCore::RenderStyle::accessAnimations): 11418 (WebCore::RenderStyle::accessTransitions): 11419 * rendering/svg/RenderSVGResourceFilter.cpp: 11420 (WebCore::RenderSVGResourceFilter::applyResource): 11421 * rendering/svg/SVGResources.cpp: 11422 (WebCore::SVGResources::SVGResources): 11423 11424 2011-04-25 Adam Barth <abarth (a] webkit.org> 11425 11426 Attempt to fix the compile. 11427 11428 * platform/graphics/MediaPlayer.cpp: 11429 (WebCore::MediaPlayer::loadWithNextMediaEngine): 11430 11431 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11432 11433 Rubber-stamped by Beth Dakin. 11434 11435 Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into 11436 CREATE_DOM_WRAPPER because there's no meaningful difference between 11437 them anymore. 11438 11439 * bindings/js/JSCDATASectionCustom.cpp: 11440 (WebCore::toJSNewlyCreated): 11441 * bindings/js/JSCSSRuleCustom.cpp: 11442 (WebCore::toJS): 11443 * bindings/js/JSCSSValueCustom.cpp: 11444 (WebCore::toJS): 11445 * bindings/js/JSDOMBinding.h: 11446 * bindings/js/JSDocumentCustom.cpp: 11447 (WebCore::toJS): 11448 * bindings/js/JSElementCustom.cpp: 11449 (WebCore::toJSNewlyCreated): 11450 * bindings/js/JSEventCustom.cpp: 11451 (WebCore::toJS): 11452 * bindings/js/JSHTMLCollectionCustom.cpp: 11453 (WebCore::toJS): 11454 * bindings/js/JSImageDataCustom.cpp: 11455 (WebCore::toJS): 11456 * bindings/js/JSNodeCustom.cpp: 11457 (WebCore::createWrapperInline): 11458 * bindings/js/JSSVGPathSegCustom.cpp: 11459 (WebCore::toJS): 11460 * bindings/js/JSStyleSheetCustom.cpp: 11461 (WebCore::toJS): 11462 * bindings/js/JSTextCustom.cpp: 11463 (WebCore::toJSNewlyCreated): 11464 * bindings/js/JSWebKitCSSMatrixCustom.cpp: 11465 (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix): 11466 * bindings/js/JSWebSocketCustom.cpp: 11467 (WebCore::JSWebSocketConstructor::constructJSWebSocket): 11468 * bindings/js/JSXMLHttpRequestCustom.cpp: 11469 (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest): 11470 * bindings/js/JSXSLTProcessorCustom.cpp: 11471 (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor): 11472 11473 2011-04-25 Adam Barth <abarth (a] webkit.org> 11474 11475 Reviewed by James Robinson. 11476 11477 HTMLDocumentParser should play nice with OwnPtrs 11478 https://bugs.webkit.org/show_bug.cgi?id=59363 11479 11480 * html/parser/HTMLDocumentParser.cpp: 11481 (WebCore::HTMLDocumentParser::pumpTokenizer): 11482 11483 2011-04-25 Adam Barth <abarth (a] webkit.org> 11484 11485 Reviewed by James Robinson. 11486 11487 Frame.cpp should work with strict OwnPtrs 11488 https://bugs.webkit.org/show_bug.cgi?id=59360 11489 11490 * page/Frame.cpp: 11491 (WebCore::createRegExpForLabels): 11492 11493 2011-04-25 Adam Barth <abarth (a] webkit.org> 11494 11495 Reviewed by David Levin. 11496 11497 Fix strict OwnPtr in Element.cpp 11498 https://bugs.webkit.org/show_bug.cgi?id=59357 11499 11500 * dom/NodeRareData.h: 11501 (WebCore::NodeRareData::ensureEventTargetData): 11502 11503 2011-04-25 Adam Barth <abarth (a] webkit.org> 11504 11505 Reviewed by David Levin. 11506 11507 Fix strict OwnPtr issues in Media*.cpp 11508 https://bugs.webkit.org/show_bug.cgi?id=59354 11509 11510 There's still a tricky case in MediaPlayer.cpp, but we'll worry about 11511 that later. 11512 11513 * css/MediaQueryMatcher.cpp: 11514 (WebCore::MediaQueryMatcher::addListener): 11515 * dom/Document.cpp: 11516 * platform/graphics/MediaPlayer.cpp: 11517 (WebCore::createNullMediaPlayer): 11518 11519 2011-04-25 James Robinson <jamesr (a] chromium.org> 11520 11521 Reviewed by David Levin. 11522 11523 Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor 11524 https://bugs.webkit.org/show_bug.cgi?id=59353 11525 11526 * rendering/RenderLayerCompositor.cpp: 11527 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 11528 11529 2011-04-25 Adam Barth <abarth (a] webkit.org> 11530 11531 Reviewed by James Robinson. 11532 11533 Worker*.cpp should work with strict OwnPtrs 11534 https://bugs.webkit.org/show_bug.cgi?id=59346 11535 11536 * inspector/WorkerInspectorController.cpp: 11537 (WebCore::WorkerInspectorController::WorkerInspectorController): 11538 * workers/WorkerContext.cpp: 11539 (WebCore::WorkerContext::WorkerContext): 11540 * workers/WorkerRunLoop.cpp: 11541 (WebCore::WorkerRunLoop::WorkerRunLoop): 11542 * workers/WorkerScriptLoader.cpp: 11543 (WebCore::WorkerScriptLoader::createResourceRequest): 11544 11545 2011-04-25 James Robinson <jamesr (a] chromium.org> 11546 11547 Reviewed by Adam Barth. 11548 11549 Remove bad use of OwnPtr::set() in IconDatabase.cpp 11550 https://bugs.webkit.org/show_bug.cgi?id=59344 11551 11552 Needed for strict OwnPtr compliance. 11553 11554 * loader/icon/IconDatabase.cpp: 11555 (WebCore::readySQLiteStatement): 11556 11557 2011-04-25 Adam Barth <abarth (a] webkit.org> 11558 11559 Reviewed by Maciej Stachowiak. 11560 11561 ImageBuffer.h should work with strict OwnPtrs 11562 https://bugs.webkit.org/show_bug.cgi?id=59341 11563 11564 This patch is to prepare for the strict OwnPtr hack-a-thon. 11565 11566 * platform/graphics/ImageBuffer.h: 11567 (WebCore::ImageBuffer::create): 11568 11569 2011-04-25 Steve Falkenburg <sfalken (a] apple.com> 11570 11571 Reviewed by Brian Weinstein. 11572 11573 WebCore build on Windows should include windows.h in its precompiled header to speed builds 11574 https://bugs.webkit.org/show_bug.cgi?id=59339 11575 11576 windows.h is included by several of the underlying wtf headers, including Atomics.h and 11577 ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation. 11578 11579 On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes 11580 (a 12% speedup). 11581 11582 * WebCorePrefix.h: Include windows.h 11583 11584 2011-04-25 Martin Robinson <mrobinson (a] igalia.com> 11585 11586 Reviewed by Xan Lopez. 11587 11588 [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint() 11589 https://bugs.webkit.org/show_bug.cgi?id=59311 11590 11591 * platform/gtk/MainFrameScrollbarGtk.cpp: 11592 (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar 11593 disconnect any lingering signal handlers. This prevents an adjustment from controlling the 11594 active ScrollView and some zombie ScrollView. 11595 11596 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11597 11598 Another shot at fixing the EFL build. 11599 11600 * UseJSC.cmake: 11601 * bindings/js/JSDOMBinding.cpp: 11602 11603 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11604 11605 Try to fix EFL build. 11606 11607 * UseJSC.cmake: Added a missing file. 11608 11609 2011-04-25 Geoffrey Garen <ggaren (a] apple.com> 11610 11611 Reviewed by Oliver Hunt. 11612 11613 Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts 11614 https://bugs.webkit.org/show_bug.cgi?id=59333 11615 11616 * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing. 11617 11618 * bindings/js/JSDOMBinding.cpp: 11619 * bindings/js/JSDOMBinding.h: 11620 * bindings/js/JSDocumentCustom.cpp: 11621 * bindings/js/JSWorkerContextCustom.cpp: 11622 (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions. 11623 11624 * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject 11625 lifetime management. 11626 11627 * dom/Document.idl: No need for a custom mark function anymore, since 11628 ActiveDOMObjets now manage their own lifetimes. 11629 11630 * dom/MessagePort.cpp: 11631 (WebCore::MessagePort::hasPendingActivity): Correctly report that we 11632 have pending activity when we're remotely entangled, instead of relying 11633 on our clients to know this about us and do the check for us. 11634 11635 * dom/MessagePort.h: FIXME! 11636 11637 * dom/MessagePort.idl: 11638 * fileapi/DOMFileSystem.idl: 11639 * fileapi/FileReader.idl: 11640 * fileapi/FileWriter.idl: 11641 * notifications/Notification.idl: 11642 * notifications/NotificationCenter.idl: 11643 * page/EventSource.idl: 11644 * storage/IDBDatabase.idl: 11645 * storage/IDBRequest.idl: 11646 * storage/IDBTransaction.idl: 11647 * webaudio/AudioContext.idl: 11648 * websockets/WebSocket.idl: 11649 * workers/AbstractWorker.idl: 11650 * workers/SharedWorker.idl: 11651 * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management. 11652 11653 * workers/WorkerContext.cpp: 11654 (WebCore::WorkerContext::hasPendingActivity): No need to make up for 11655 MessagePort::hasPendingActivity being wrong anymore, since it's now right. 11656 11657 * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management. 11658 11659 2011-04-25 Yury Semikhatsky <yurys (a] chromium.org> 11660 11661 Reviewed by Pavel Feldman. 11662 11663 Web Inspector: worker messages should be routed to corresponding worker front-end 11664 https://bugs.webkit.org/show_bug.cgi?id=59323 11665 11666 Added WorkerManager which is responsible for routing messages between 11667 Page inspector front-end and Worker inspector front-ends. 11668 11669 * WebCore.gypi: 11670 * inspector/front-end/WebKit.qrc: 11671 * inspector/front-end/WorkerManager.js: Added. 11672 (WebInspector.WorkerManager): 11673 (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend): 11674 (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded): 11675 (WebInspector.WorkerManager.loaded): 11676 (WebInspector.WorkerFrontendStub): 11677 (WebInspector.WorkerFrontendStub.prototype._receiveMessage): 11678 (WebInspector.WorkerDispatcher): 11679 (WebInspector.WorkerDispatcher.prototype._receiveMessage): 11680 (WebInspector.WorkerDispatcher.prototype.workerCreated): 11681 (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker): 11682 * inspector/front-end/inspector.html: 11683 * inspector/front-end/inspector.js: 11684 (WebInspector.loaded): 11685 11686 2011-04-25 Annie Sullivan <sullivan (a] chromium.org> 11687 11688 Reviewed by Pavel Feldman. 11689 11690 Web Inspector: [Resources panel] Should be easy to copy data. 11691 https://bugs.webkit.org/show_bug.cgi?id=45662 11692 11693 Adds context menu items to copy resource location, resource request headers, and resource response headers. 11694 11695 * inspector/front-end/NetworkPanel.js: 11696 (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu. 11697 (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard. 11698 (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard. 11699 (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard. 11700 * inspector/front-end/Resource.js: 11701 (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders. 11702 (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders. 11703 11704 2011-04-25 Alexander Pavlov <apavlov (a] chromium.org> 11705 11706 Reviewed by Yury Semikhatsky. 11707 11708 Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM 11709 https://bugs.webkit.org/show_bug.cgi?id=59322 11710 11711 Use TextResourceDecoder to determine external stylesheet charsets correctly. 11712 11713 Test: inspector/styles/parse-utf8-bom.html 11714 11715 * inspector/InspectorStyleSheet.cpp: 11716 (WebCore::InspectorStyleSheet::originalStyleSheetText): 11717 11718 2011-04-25 Pavel Feldman <pfeldman (a] google.com> 11719 11720 Not reviewed: Inspector.json cleanup. 11721 11722 * inspector/Inspector.json: 11723 11724 2011-04-25 Yury Semikhatsky <yurys (a] chromium.org> 11725 11726 Reviewed by Pavel Feldman. 11727 11728 Web Inspector: introduce InspectorWorkerAgent 11729 https://bugs.webkit.org/show_bug.cgi?id=59320 11730 11731 InspectorWorkerAgent is responsible for routing inspector messages 11732 between worker context inspector agents and corresponding worker 11733 inspector front-end. 11734 11735 * CMakeLists.txt: 11736 * GNUmakefile.list.am: 11737 * WebCore.gypi: 11738 * WebCore.pro: 11739 * WebCore.vcproj/WebCore.vcproj: 11740 * WebCore.xcodeproj/project.pbxproj: 11741 * inspector/CodeGeneratorInspector.pm: 11742 * inspector/Inspector.json: 11743 * inspector/InspectorAgent.cpp: 11744 (WebCore::InspectorAgent::InspectorAgent): 11745 (WebCore::InspectorAgent::setFrontend): 11746 (WebCore::InspectorAgent::disconnectFrontend): 11747 * inspector/InspectorAgent.h: 11748 (WebCore::InspectorAgent::workerAgent): 11749 * inspector/InspectorController.cpp: 11750 (WebCore::InspectorController::connectFrontend): 11751 (WebCore::InspectorController::disconnectFrontend): 11752 * inspector/InspectorInstrumentation.cpp: 11753 (WebCore::InspectorInstrumentation::didStartWorkerContextImpl): 11754 * inspector/InspectorInstrumentation.h: 11755 (WebCore::InspectorInstrumentation::willStartWorkerContext): 11756 (WebCore::InspectorInstrumentation::didStartWorkerContext): 11757 * inspector/InspectorWorkerAgent.cpp: Added. 11758 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel): 11759 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel): 11760 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id): 11761 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy): 11762 (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend): 11763 (WebCore::InspectorWorkerAgent::create): 11764 (WebCore::InspectorWorkerAgent::InspectorWorkerAgent): 11765 (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent): 11766 (WebCore::InspectorWorkerAgent::setFrontend): 11767 (WebCore::InspectorWorkerAgent::clearFrontend): 11768 (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector): 11769 (WebCore::InspectorWorkerAgent::didStartWorkerContext): 11770 * inspector/InspectorWorkerAgent.h: Added. 11771 * inspector/InstrumentingAgents.h: 11772 (WebCore::InstrumentingAgents::InstrumentingAgents): 11773 (WebCore::InstrumentingAgents::inspectorWorkerAgent): 11774 (WebCore::InstrumentingAgents::setInspectorWorkerAgent): 11775 * inspector/WorkerInspectorController.cpp: 11776 (WebCore::WorkerInspectorController::connectFrontend): 11777 * inspector/generate-inspector-idl: 11778 * workers/Worker.cpp: 11779 (WebCore::Worker::notifyFinished): 11780 * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector 11781 messages sent from the inspected page worker agent to the worker context inspector agents. 11782 (WebCore::WorkerContextInspectorProxy::connectFrontend): 11783 (WebCore::WorkerContextInspectorProxy::disconnectFrontend): 11784 (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector): 11785 (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy): 11786 * workers/WorkerContextProxy.h: 11787 (WebCore::WorkerContextProxy::inspectorProxy): 11788 11789 2011-04-25 Pavel Feldman <pfeldman (a] google.com> 11790 11791 Reviewed by Yury Semikhatsky. 11792 11793 Web Inspector: move Frame and Resource Tree management into the Page agent. 11794 https://bugs.webkit.org/show_bug.cgi?id=59321 11795 11796 Network agent should only handle network-related activities. 11797 Frame structure should be managed by the Page agent instead. 11798 11799 * inspector/Inspector.json: 11800 * inspector/InspectorAgent.cpp: 11801 (WebCore::InspectorAgent::InspectorAgent): 11802 * inspector/InspectorDOMAgent.cpp: 11803 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 11804 (WebCore::InspectorDOMAgent::setFrontend): 11805 (WebCore::InspectorDOMAgent::restore): 11806 (WebCore::InspectorDOMAgent::highlightFrame): 11807 * inspector/InspectorDOMAgent.h: 11808 (WebCore::InspectorDOMAgent::create): 11809 * inspector/InspectorInstrumentation.cpp: 11810 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): 11811 (WebCore::InspectorInstrumentation::loadEventFiredImpl): 11812 (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl): 11813 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 11814 * inspector/InspectorPageAgent.cpp: 11815 (WebCore::InspectorPageAgent::create): 11816 (WebCore::InspectorPageAgent::resourceContent): 11817 (WebCore::InspectorPageAgent::resourceContentBase64): 11818 (WebCore::InspectorPageAgent::resourceData): 11819 (WebCore::InspectorPageAgent::cachedResource): 11820 (WebCore::InspectorPageAgent::resourceTypeString): 11821 (WebCore::InspectorPageAgent::cachedResourceType): 11822 (WebCore::InspectorPageAgent::cachedResourceTypeString): 11823 (WebCore::InspectorPageAgent::InspectorPageAgent): 11824 (WebCore::InspectorPageAgent::setFrontend): 11825 (WebCore::InspectorPageAgent::reload): 11826 (WebCore::InspectorPageAgent::open): 11827 (WebCore::InspectorPageAgent::getCookies): 11828 (WebCore::InspectorPageAgent::deleteCookie): 11829 (WebCore::InspectorPageAgent::getResourceTree): 11830 (WebCore::InspectorPageAgent::getResourceContent): 11831 (WebCore::InspectorPageAgent::restore): 11832 (WebCore::InspectorPageAgent::domContentEventFired): 11833 (WebCore::InspectorPageAgent::loadEventFired): 11834 (WebCore::InspectorPageAgent::frameNavigated): 11835 (WebCore::InspectorPageAgent::frameDetached): 11836 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): 11837 (WebCore::InspectorPageAgent::mainFrame): 11838 (WebCore::pointerAsId): 11839 (WebCore::InspectorPageAgent::frameForId): 11840 (WebCore::InspectorPageAgent::frameId): 11841 (WebCore::InspectorPageAgent::loaderId): 11842 (WebCore::InspectorPageAgent::buildObjectForFrame): 11843 (WebCore::InspectorPageAgent::buildObjectForFrameTree): 11844 * inspector/InspectorPageAgent.h: 11845 * inspector/InspectorResourceAgent.cpp: 11846 (WebCore::buildObjectForCachedResource): 11847 (WebCore::InspectorResourceAgent::willSendRequest): 11848 (WebCore::InspectorResourceAgent::didReceiveResponse): 11849 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): 11850 (WebCore::InspectorResourceAgent::setInitialScriptContent): 11851 (WebCore::InspectorResourceAgent::setInitialXHRContent): 11852 (WebCore::InspectorResourceAgent::InspectorResourceAgent): 11853 * inspector/InspectorResourceAgent.h: 11854 (WebCore::InspectorResourceAgent::create): 11855 * inspector/InspectorStyleSheet.cpp: 11856 (WebCore::InspectorStyleSheet::resourceStyleSheetText): 11857 * inspector/front-end/NetworkManager.js: 11858 (WebInspector.NetworkManager.prototype.requestContent): 11859 * inspector/front-end/NetworkPanel.js: 11860 (WebInspector.NetworkPanel): 11861 (WebInspector.NetworkPanel.prototype.frameNavigated): 11862 * inspector/front-end/ResourceTreeModel.js: 11863 (WebInspector.ResourceTreeModel): 11864 (WebInspector.ResourceTreeModel.prototype.frontendReused): 11865 (WebInspector.ResourceTreeModel.prototype.frameNavigated): 11866 (WebInspector.ResourceTreeModel.prototype.frameDetached): 11867 * inspector/front-end/inspector.js: 11868 (WebInspector.domContentEventFired): 11869 (WebInspector.loadEventFired): 11870 (WebInspector.frameNavigated): 11871 (WebInspector.frameDetached): 11872 11873 2011-04-25 Pavel Feldman <pfeldman (a] google.com> 11874 11875 Reviewed by Yury Semikhatsky. 11876 11877 Web Inspector: few protocol improvements. 11878 https://bugs.webkit.org/show_bug.cgi?id=59319 11879 11880 - Page domain is documented 11881 - setUserAgentOverride is moved to the Network agent 11882 - setSearchingForNode -> setInspectModeEnabled 11883 - highlightDOMNode -> highlightNode 11884 - reloadPage -> reload 11885 - openInNewWindow -> open with optional parameter 11886 11887 * inspector/Inspector.json: 11888 * inspector/InspectorDOMAgent.cpp: 11889 (WebCore::InspectorDOMAgent::setInspectModeEnabled): 11890 (WebCore::InspectorDOMAgent::highlightNode): 11891 * inspector/InspectorDOMAgent.h: 11892 (WebCore::InspectorDOMAgent::hideNodeHighlight): 11893 * inspector/InspectorInstrumentation.cpp: 11894 (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl): 11895 * inspector/InspectorPageAgent.cpp: 11896 (WebCore::InspectorPageAgent::clearFrontend): 11897 (WebCore::InspectorPageAgent::reload): 11898 (WebCore::InspectorPageAgent::open): 11899 * inspector/InspectorPageAgent.h: 11900 * inspector/InspectorResourceAgent.cpp: 11901 (WebCore::InspectorResourceAgent::clearFrontend): 11902 (WebCore::InspectorResourceAgent::applyUserAgentOverride): 11903 (WebCore::InspectorResourceAgent::setUserAgentOverride): 11904 * inspector/InspectorResourceAgent.h: 11905 * inspector/front-end/AuditsPanel.js: 11906 (WebInspector.AuditsPanel.prototype._reloadResources): 11907 * inspector/front-end/ElementsPanel.js: 11908 (WebInspector.ElementsPanel.prototype.setSearchingForNode): 11909 * inspector/front-end/ExtensionServer.js: 11910 (WebInspector.ExtensionServer.prototype._onReload): 11911 * inspector/front-end/NetworkPanel.js: 11912 (WebInspector.NetworkDataGridNode.prototype._openInNewTab): 11913 * inspector/front-end/ResourcesPanel.js: 11914 (WebInspector.FrameResourceTreeElement.prototype.ondblclick): 11915 * inspector/front-end/inspector.js: 11916 (WebInspector.highlightDOMNode): 11917 (WebInspector.openResource): 11918 (WebInspector.documentKeyDown): 11919 11920 2011-04-25 Jon Lee <jonlee (a] apple.com> 11921 11922 Reviewed by Maciej Stachowiak. 11923 11924 Overlay scroller hard to see on pages with dark background (59183) 11925 https://bugs.webkit.org/show_bug.cgi?id=59183 11926 <rdar://problem/8975367> 11927 11928 Switch the scrollbar's overlay style depending on its frame's background color. 11929 This refactors the getDocumentBackgroundColor method needed for gestures. The style 11930 is determined and set on every paint() call to the Mac scrollbar theme. 11931 11932 * WebCore.exp.in: adding method to allow changing style 11933 * page/Frame.cpp: 11934 (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView 11935 * page/Frame.h: 11936 * page/FrameView.cpp: 11937 (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color 11938 * page/FrameView.h: 11939 * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles 11940 * platform/ScrollableArea.h: 11941 (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style 11942 * platform/mac/ScrollbarThemeMac.mm: 11943 (WebCore::ScrollbarThemeMac::paint): 11944 * platform/mac/WebCoreSystemInterface.h: 11945 * platform/mac/WebCoreSystemInterface.mm: 11946 11947 2011-04-25 Dan Bernstein <mitz (a] apple.com> 11948 11949 Reviewed by Maciej Stachowiak. 11950 11951 <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation) 11952 https://bugs.webkit.org/show_bug.cgi?id=59315 11953 11954 * platform/Scrollbar.cpp: 11955 (WebCore::Scrollbar::Scrollbar): Initialize new member variables. 11956 (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document 11957 is scrolled a distance equal to the change in the mouse position. 11958 (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag 11959 the document rather than the thumb, and pass the result to moveThumb. 11960 (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument. 11961 * platform/Scrollbar.h: 11962 * platform/ScrollbarTheme.h: 11963 (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation 11964 returns false. 11965 * platform/mac/ScrollbarThemeMac.h: 11966 * platform/mac/ScrollbarThemeMac.mm: 11967 (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the 11968 Option key is down. 11969 11970 2011-04-24 Geoffrey Garen <ggaren (a] apple.com> 11971 11972 Reviewed by Sam Weinig. 11973 11974 Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration 11975 https://bugs.webkit.org/show_bug.cgi?id=59307 11976 11977 * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit. 11978 11979 * bindings/js/JSCSSRuleCustom.cpp: 11980 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 11981 * bindings/js/JSCanvasRenderingContextCustom.cpp: 11982 * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead 11983 of hand-coding them. 11984 11985 * bindings/js/JSDOMBinding.h: 11986 (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because 11987 they're reasonably generic. 11988 11989 * bindings/js/JSDOMImplementationCustom.cpp: 11990 * bindings/js/JSDOMStringMapCustom.cpp: 11991 * bindings/js/JSDOMTokenListCustom.cpp: 11992 * bindings/js/JSHTMLCollectionCustom.cpp: 11993 * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of 11994 hand-coding them. 11995 11996 * bindings/js/JSMessageChannelCustom.cpp: 11997 (WebCore::JSMessageChannel::visitChildren): 11998 * bindings/js/JSMessagePortCustom.cpp: 11999 (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of 12000 markDOMObjectWrapper. This is one of the few cases where a DOM object is 12001 considered a stand-alone root. It's not as efficient as the shared root 12002 case, but workers and message ports are very rare objects, so it's no 12003 big deal. 12004 12005 * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate! 12006 12007 * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h. 12008 12009 * bindings/js/JSSharedWorkerCustom.cpp: 12010 (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of 12011 markDOMObjectWrapper, as above. Once again, a stand-alone root. 12012 12013 * bindings/js/JSStyleSheetCustom.cpp: 12014 * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate! 12015 12016 * bindings/js/JSWebGLRenderingContextCustom.cpp: 12017 (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots 12018 system for marking WebGL contexts and their associated satellite objects. 12019 12020 * bindings/js/JSWorkerContextCustom.cpp: 12021 (WebCore::JSWorkerContext::visitChildren): 12022 * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of 12023 markDOMObjectWrapper, as above. Once again, stand-alone roots. 12024 12025 (WebCore::JSXMLHttpRequest::visitChildren): 12026 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner 12027 XHR because it is not reachable from us. 12028 12029 * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a 12030 bunch of repetitive cases of isReachableFromOpaqueRoots callbacks. 12031 12032 * css/CSSRule.idl: 12033 * css/CSSStyleDeclaration.idl: 12034 * css/MediaList.idl: 12035 * css/StyleMedia.idl: 12036 * css/StyleSheet.idl: 12037 * css/StyleSheetList.idl: 12038 * dom/DOMImplementation.idl: 12039 * dom/DOMStringMap.idl: 12040 * dom/MessagePort.idl: 12041 * dom/NamedNodeMap.idl: 12042 * fileapi/Blob.idl: 12043 * html/DOMTokenList.idl: Opt in to autogeneration. 12044 12045 * html/HTMLCanvasElement.cpp: 12046 (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr 12047 usage, to reduce human error and make ownership rules more obvious. 12048 12049 * html/HTMLCollection.idl: 12050 * html/canvas/ArrayBuffer.idl: Opt in to autogeneration. 12051 12052 * html/canvas/CanvasRenderingContext.cpp: 12053 * html/canvas/CanvasRenderingContext.h: 12054 (WebCore::CanvasRenderingContext::ref): 12055 (WebCore::CanvasRenderingContext::deref): 12056 * html/canvas/CanvasRenderingContext2D.h: 12057 (WebCore::CanvasRenderingContext2D::create): 12058 (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr 12059 usage, to reduce human error and make ownership rules more obvious. 12060 12061 Inlined some functions to match our standard idiom and to make the code 12062 in the header document itself. 12063 12064 * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration. 12065 12066 * html/canvas/OESStandardDerivatives.cpp: 12067 (WebCore::OESStandardDerivatives::OESStandardDerivatives): 12068 (WebCore::OESStandardDerivatives::create): 12069 * html/canvas/OESStandardDerivatives.h: 12070 * html/canvas/OESStandardDerivatives.idl: 12071 * html/canvas/OESTextureFloat.cpp: 12072 (WebCore::OESTextureFloat::OESTextureFloat): 12073 (WebCore::OESTextureFloat::create): 12074 * html/canvas/OESTextureFloat.h: 12075 * html/canvas/OESTextureFloat.idl: 12076 * html/canvas/OESVertexArrayObject.cpp: 12077 (WebCore::OESVertexArrayObject::OESVertexArrayObject): 12078 (WebCore::OESVertexArrayObject::create): 12079 * html/canvas/OESVertexArrayObject.h: 12080 * html/canvas/OESVertexArrayObject.idl: 12081 * html/canvas/WebGLExtension.cpp: 12082 (WebCore::WebGLExtension::WebGLExtension): 12083 * html/canvas/WebGLExtension.h: 12084 (WebCore::WebGLExtension::ref): 12085 (WebCore::WebGLExtension::deref): 12086 (WebCore::WebGLExtension::context): 12087 * html/canvas/WebGLRenderingContext.cpp: 12088 (WebCore::WebGLRenderingContext::~WebGLRenderingContext): 12089 (WebCore::WebGLRenderingContext::getExtension): 12090 * html/canvas/WebGLRenderingContext.h: 12091 * html/canvas/WebKitLoseContext.cpp: 12092 (WebCore::WebKitLoseContext::WebKitLoseContext): 12093 (WebCore::WebKitLoseContext::create): 12094 (WebCore::WebKitLoseContext::loseContext): 12095 * html/canvas/WebKitLoseContext.h: 12096 * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL 12097 canavs rendering contexts to match the model for 2D canvas rendering 12098 contexts. This makes garbage collection a lot more straightforward, but 12099 it also makes the behavior of these objects more reliable. (Previously, 12100 satellite objects would magically stop working when the last reference 12101 to their owner object was dropped. Now, satellite objects keep their owner 12102 alive through reference counting.) 12103 12104 * loader/appcache/DOMApplicationCache.idl: 12105 * page/BarInfo.idl: 12106 * page/Console.idl: 12107 * page/DOMSelection.idl: 12108 * page/Geolocation.idl: 12109 * page/History.idl: 12110 * page/Location.idl: 12111 * page/Navigator.idl: 12112 * page/Screen.idl: 12113 * page/WorkerNavigator.idl: 12114 * plugins/DOMMimeTypeArray.h: 12115 (WebCore::DOMMimeTypeArray::frame): 12116 * plugins/DOMMimeTypeArray.idl: 12117 * plugins/DOMPluginArray.h: 12118 (WebCore::DOMPluginArray::frame): 12119 * plugins/DOMPluginArray.idl: 12120 * storage/Storage.idl: 12121 * workers/WorkerLocation.idl: Opt in to autogeneration. 12122 12123 * xml/XMLHttpRequest.cpp: 12124 (WebCore::XMLHttpRequest::~XMLHttpRequest): 12125 * xml/XMLHttpRequest.h: 12126 * xml/XMLHttpRequestUpload.cpp: 12127 (WebCore::XMLHttpRequestUpload::scriptExecutionContext): 12128 * xml/XMLHttpRequestUpload.h: 12129 (WebCore::XMLHttpRequestUpload::create): 12130 (WebCore::XMLHttpRequestUpload::ref): 12131 (WebCore::XMLHttpRequestUpload::deref): 12132 (WebCore::XMLHttpRequestUpload::xmlHttpRequest): 12133 (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload): 12134 * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and 12135 its associated upload object to match the model for canvas. This makes 12136 garbage collection a lot more straightforward, but it also makes the 12137 behavior of these objects more reliable. 12138 12139 2011-04-24 Sheriff Bot <webkit.review.bot (a] gmail.com> 12140 12141 Unreviewed, rolling out r84759. 12142 http://trac.webkit.org/changeset/84759 12143 https://bugs.webkit.org/show_bug.cgi?id=59306 12144 12145 Caused gc-shadow.html to start crashing in V8. (Requested by 12146 dglazkov|away on #webkit). 12147 12148 * dom/Node.cpp: 12149 (WebCore::NodeRendererFactory::createRendererAndStyle): 12150 (WebCore::Node::styleForRenderer): 12151 12152 2011-04-24 Maciej Stachowiak <mjs (a] apple.com> 12153 12154 Reviewed by George Staikos. 12155 12156 Handling of URLs like http:/example.com/ is incorrect 12157 https://bugs.webkit.org/show_bug.cgi?id=59300 12158 <rdar://problem/9231956> 12159 12160 URLs like http:/example.com/ or http:example.com/ are now correctly 12161 canonicalized as http://example.com/ 12162 12163 The code still doesn't quite match other browsers - at least some 12164 other browsers seem to base parsing behavior on whether they 12165 recongize a scheme from a fixed list, and ignore whether // is 12166 present in the URL or not. 12167 12168 * platform/KURL.cpp: 12169 (WebCore::isNonFileHierarchicalScheme): New helper function. 12170 (WebCore::KURL::parse): For a particular list of whitelisted schemes, 12171 assume they are hierarchical and need an authority even if there is no // 12172 after the :/ 12173 12174 2011-04-24 Dan Bernstein <mitz (a] apple.com> 12175 12176 LLVM Compiler build fix. 12177 12178 * page/ContentSecurityPolicy.cpp: Removed an unused function. 12179 12180 2011-04-24 Dominic Cooney <dominicc (a] chromium.org> 12181 12182 Reviewed by Dimitri Glazkov. 12183 12184 Crash when adding a text node to a shadow root 12185 https://bugs.webkit.org/show_bug.cgi?id=59304 12186 12187 Text nodes need to consult their host element for style. 12188 12189 Test: fast/dom/shadow/append-child-text.html 12190 12191 * dom/Node.cpp: 12192 (WebCore::NodeRendererFactory::styleForRenderer): 12193 (WebCore::NodeRendererFactory::createRendererAndStyle): 12194 (WebCore::Node::styleForRenderer): forward to NodeRendererFactory 12195 12196 2011-04-24 Adam Barth <abarth (a] webkit.org> 12197 12198 Reviewed by Eric Seidel. 12199 12200 Update Content-Security-Policy syntax to match new version of spec 12201 https://bugs.webkit.org/show_bug.cgi?id=59291 12202 12203 Brandon removed disable-xss-protection in favor of unsafe-inline and 12204 allow-eval in favor of unsafe-eval. This change in syntax also means 12205 the options directive no longer exists. 12206 12207 * page/ContentSecurityPolicy.cpp: 12208 (WebCore::CSPSourceList::allowInline): 12209 (WebCore::CSPSourceList::allowEval): 12210 (WebCore::CSPSourceList::CSPSourceList): 12211 (WebCore::CSPSourceList::parseSource): 12212 (WebCore::CSPSourceList::addSourceUnsafeInline): 12213 (WebCore::CSPSourceList::addSourceUnsafeEval): 12214 (WebCore::CSPDirective::allowInline): 12215 (WebCore::CSPDirective::allowEval): 12216 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 12217 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 12218 (WebCore::ContentSecurityPolicy::allowInlineScript): 12219 (WebCore::ContentSecurityPolicy::allowEval): 12220 (WebCore::ContentSecurityPolicy::addDirective): 12221 * page/ContentSecurityPolicy.h: 12222 12223 2011-04-24 Dan Bernstein <mitz (a] apple.com> 12224 12225 Reviewed by Maciej Stachowiak. 12226 12227 Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com 12228 https://bugs.webkit.org/show_bug.cgi?id=59299 12229 12230 * manual-tests/back-from-document-with-scrollbar.html: Added. 12231 12232 2011-04-24 Rik Cabanier <cabanier (a] adobe.com> 12233 12234 Reviewed by Simon Fraser. 12235 12236 Tables are not rendered correctly 12237 https://bugs.webkit.org/show_bug.cgi?id=59138 12238 12239 Test: fast/table/auto-100-percent-width.html 12240 12241 * rendering/AutoTableLayout.cpp: 12242 (WebCore::AutoTableLayout::computePreferredLogicalWidths): 12243 12244 2011-04-23 Simon Fraser <simon.fraser (a] apple.com> 12245 12246 Fix Windows build, which complains about unreachable code. 12247 12248 * platform/ScrollableArea.cpp: 12249 (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar): 12250 (WebCore::ScrollableArea::hasLayerForVerticalScrollbar): 12251 (WebCore::ScrollableArea::hasLayerForScrollCorner): 12252 12253 2011-04-23 Simon Fraser <simon.fraser (a] apple.com> 12254 12255 Reviewed by Dan Bernstein. 12256 12257 Area under composited scrollbars not repainted in WebKit2 on scrolling 12258 https://bugs.webkit.org/show_bug.cgi?id=59294 12259 <rdar://problem/9299062> 12260 12261 When computing the rect that can be copied on scrolling, we normally 12262 exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars; 12263 the assumption is that other code will repaint these areas. However, when 12264 scrollbars are in their own compositing layers, we can, and should 12265 copy the entire area. 12266 12267 Not testable in DRT because it does not allow tests to use overlay scrollbars. 12268 12269 * platform/ScrollView.h: 12270 * platform/ScrollView.cpp: 12271 (WebCore::ScrollView::rectToCopyOnScroll): 12272 New method, with code moved from scrollContents and fixed to look 12273 for scrollbars in layers. 12274 (WebCore::ScrollView::scrollContents): 12275 Call rectToCopyOnScroll(). 12276 12277 * platform/ScrollableArea.h: 12278 * platform/ScrollableArea.cpp: 12279 (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar): 12280 (WebCore::ScrollableArea::hasLayerForVerticalScrollbar): 12281 (WebCore::ScrollableArea::hasLayerForScrollCorner): 12282 Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef. 12283 12284 2011-04-23 Sheriff Bot <webkit.review.bot (a] gmail.com> 12285 12286 Unreviewed, rolling out r84740. 12287 http://trac.webkit.org/changeset/84740 12288 https://bugs.webkit.org/show_bug.cgi?id=59290 12289 12290 change breaks apple internal builds and is incorrect 12291 (Requested by smfr on #webkit). 12292 12293 * WebCore.exp.in: 12294 * page/FrameView.cpp: 12295 * page/FrameView.h: 12296 * platform/ScrollTypes.h: 12297 * platform/ScrollableArea.h: 12298 * platform/mac/ScrollbarThemeMac.mm: 12299 (WebCore::ScrollbarThemeMac::paint): 12300 * platform/mac/WebCoreSystemInterface.h: 12301 * platform/mac/WebCoreSystemInterface.mm: 12302 12303 2011-04-23 Dan Bernstein <mitz (a] apple.com> 12304 12305 Reviewed by Simon Fraser. 12306 12307 <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words 12308 https://bugs.webkit.org/show_bug.cgi?id=59288 12309 12310 * platform/text/mac/TextBoundaries.mm: 12311 (WebCore::wordStringTokenizer): Added this helper function. 12312 (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord, 12313 whose behavior is not locale-dependent. 12314 12315 2011-04-23 Dominic Cooney <dominicc (a] chromium.org> 12316 12317 Reviewed by Dimitri Glazkov. 12318 12319 [V8] Nodes in shadow DOM should not be GCed while their hosts are alive 12320 https://bugs.webkit.org/show_bug.cgi?id=59284 12321 12322 Test: fast/dom/shadow/gc-shadow.html 12323 12324 * bindings/v8/V8GCController.cpp: 12325 (WebCore::calculateGroupId): group shadow nodes with their hosts 12326 12327 2011-04-23 MORITA Hajime <morrita (a] google.com> 12328 12329 Reviewed by Dimitri Glazkov. 12330 12331 [Refactoring] NodeRenderParentDetector should be NodeRenderFactory 12332 https://bugs.webkit.org/show_bug.cgi?id=59280 12333 12334 - Rename NodeRenderParentDetector to NodeRendererFactory 12335 - move createRendererAndStyle() and createRendererIfNeeded to 12336 NodeRendererFactory 12337 12338 No new test, no behavioral change. 12339 12340 * dom/Node.cpp: 12341 (WebCore::NodeRendererFactory::NodeRendererFactory): 12342 (WebCore::NodeRendererFactory::document): 12343 (WebCore::NodeRendererFactory::nextRenderer): 12344 (WebCore::NodeRendererFactory::findVisualParent): 12345 (WebCore::NodeRendererFactory::shouldCreateRenderer): 12346 (WebCore::NodeRendererFactory::createRendererAndStyle): 12347 (WebCore::NodeRendererFactory::createRendererIfNeeded): 12348 (WebCore::Node::parentNodeForRenderingAndStyle): 12349 (WebCore::Node::createRendererIfNeeded): 12350 * dom/Node.h: 12351 * html/HTMLDetailsElement.cpp: 12352 (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle() 12353 12354 2011-04-23 MORITA Hajime <morrita (a] google.com> 12355 12356 Reviewed by Kent Tamura. 12357 12358 REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899 12359 https://bugs.webkit.org/show_bug.cgi?id=59281 12360 12361 Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results 12362 for vertical writing modes. This fix added a width property for each of them. 12363 12364 Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html 12365 fast/dom/HTMLProgressElement/progress-writing-mode.html 12366 12367 * css/html.css: 12368 (meter::-webkit-meter-bar): 12369 (progress::-webkit-progress-bar): 12370 12371 2011-04-23 Kevin Ollivier <kevino (a] theolliviers.com> 12372 12373 [wx] Unreviewed build fix. Added missing header. 12374 12375 * platform/graphics/filters/FEDropShadow.h: 12376 12377 2011-04-23 Alexey Proskuryakov <ap (a] apple.com> 12378 12379 Reviewed by Maciej Stachowiak. 12380 12381 REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2 12382 https://bugs.webkit.org/show_bug.cgi?id=59241 12383 <rdar://problem/9150861> 12384 12385 Covered by manual-tests/print-after-window-close.html. 12386 12387 Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the 12388 regression. 12389 12390 * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be 12391 doing complicated work while the loader is half-canceled. 12392 12393 * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page, 12394 thus being more practical. 12395 12396 * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer. 12397 It's too scary for me to try now. 12398 12399 * page/DOMWindow.cpp: 12400 (WebCore::DOMWindow::DOMWindow): 12401 (WebCore::DOMWindow::finishedLoading): 12402 * page/DOMWindow.h: 12403 Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>. 12404 12405 2011-04-19 Vitaly Repeshko <vitalyr (a] chromium.org> 12406 12407 Reviewed by Adam Barth. 12408 12409 [V8] Use implicit references for V8 listeners on DOM nodes. 12410 https://bugs.webkit.org/show_bug.cgi?id=58953 12411 12412 Instead of allocating an auxiliary V8 array referencing V8 12413 listener objects associated with a DOM node and using an extra 12414 pointer in every DOM node wrapper, we can register implicit 12415 references between nodes and their listeners during GC. This also 12416 makes V8 bindings more aligned with JSC bindings. 12417 12418 No new tests because this is a refactoring. 12419 12420 * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the 12421 listener cache internal field for DOM nodes. 12422 * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle 12423 to the GC. 12424 (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle): 12425 * bindings/v8/V8GCController.cpp: Started using implicit references. 12426 (WebCore::GrouperVisitor::visitDOMWrapper): 12427 * dom/EventTarget.h: Implemented an iterator over all listeners. 12428 (WebCore::EventListenerIterator): 12429 12430 2011-04-22 Jon Lee <jonlee (a] apple.com> 12431 12432 Reviewed by Beth Dakin. 12433 12434 Overlay scroller hard to see on pages with dark background (59183) 12435 https://bugs.webkit.org/show_bug.cgi?id=59183 12436 <rdar://problem/8975367> 12437 12438 * WebCore.exp.in: adding method to allow changing style 12439 * page/FrameView.cpp: 12440 (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color 12441 * page/FrameView.h: 12442 * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles 12443 * platform/ScrollableArea.cpp: 12444 (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style 12445 * platform/ScrollableArea.h: 12446 * platform/mac/ScrollbarThemeMac.mm: 12447 (WebCore::ScrollbarThemeMac::paint): 12448 * platform/mac/WebCoreSystemInterface.h: 12449 * platform/mac/WebCoreSystemInterface.mm: 12450 12451 2011-04-22 Chris Evans <cevans (a] chromium.org> 12452 12453 Reviewed by Adam Barth. 12454 12455 Upgrade CSS loads from mixed content warning (displayed) to mixed 12456 content error (ran) 12457 https://bugs.webkit.org/show_bug.cgi?id=59056 12458 12459 Test: http/tests/security/mixedContent/insecure-css-in-iframe.html 12460 Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html 12461 12462 * loader/cache/CachedResourceLoader.cpp: 12463 (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content. 12464 12465 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12466 12467 Fixed an upside-down conditional in my last check-in. 12468 12469 * bindings/js/JSDOMApplicationCacheCustom.cpp: 12470 (WebCore::isObservable): 12471 12472 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12473 12474 Rolled back in r84725 and r84728 with appcache crash fixed. 12475 12476 Reviewed by Oliver Hunt. 12477 12478 Removed a use of markDOMObjectWrapper: DOMWindow 12479 https://bugs.webkit.org/show_bug.cgi?id=59260 12480 12481 * bindings/js/JSDOMWindowCustom.cpp: 12482 (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since 12483 we use the opaque roots system now. 12484 12485 * bindings/js/JSNavigatorCustom.cpp: Ditto. 12486 12487 * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects 12488 whose opaque roots are frames. 12489 12490 * css/StyleMedia.h: 12491 (WebCore::StyleMedia::frame): Added an accessor for the sake of GC. 12492 12493 * css/StyleMedia.idl: 12494 * loader/appcache/DOMApplicationCache.idl: 12495 * page/BarInfo.idl: 12496 * page/Console.idl: 12497 * page/DOMSelection.idl: 12498 * page/Geolocation.idl: 12499 * page/History.idl: 12500 * page/Location.idl: 12501 * page/Navigator.idl: 12502 * page/Screen.idl: 12503 * storage/Storage.idl: Updated to use the opaque roots system. 12504 12505 2011-04-22 Nate Chapin <japhet (a] chromium.org> 12506 12507 Reviewed by Adam Barth. 12508 12509 Don't use XMLTreeViewer when script is disabled (it uses Javascript 12510 to build a prettified version of the xml document). 12511 https://bugs.webkit.org/show_bug.cgi?id=59113 12512 12513 * xml/XMLTreeViewer.cpp: 12514 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 12515 12516 2011-04-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 12517 12518 Unreviewed, rolling out r84725 and r84728. 12519 http://trac.webkit.org/changeset/84725 12520 http://trac.webkit.org/changeset/84728 12521 https://bugs.webkit.org/show_bug.cgi?id=59270 12522 12523 It broke http/tests/appcache tests (Requested by Ossy on 12524 #webkit). 12525 12526 * bindings/js/JSDOMWindowCustom.cpp: 12527 (WebCore::JSDOMWindow::visitChildren): 12528 * bindings/js/JSNavigatorCustom.cpp: 12529 (WebCore::JSNavigator::visitChildren): 12530 * bindings/scripts/CodeGeneratorJS.pm: 12531 * css/StyleMedia.h: 12532 * css/StyleMedia.idl: 12533 * loader/appcache/DOMApplicationCache.idl: 12534 * page/BarInfo.idl: 12535 * page/Console.idl: 12536 * page/DOMSelection.idl: 12537 * page/DOMWindow.h: 12538 (WebCore::DOMWindow::optionalScreen): 12539 (WebCore::DOMWindow::optionalSelection): 12540 (WebCore::DOMWindow::optionalHistory): 12541 (WebCore::DOMWindow::optionalCrypto): 12542 (WebCore::DOMWindow::optionalLocationbar): 12543 (WebCore::DOMWindow::optionalMenubar): 12544 (WebCore::DOMWindow::optionalPersonalbar): 12545 (WebCore::DOMWindow::optionalScrollbars): 12546 (WebCore::DOMWindow::optionalStatusbar): 12547 (WebCore::DOMWindow::optionalToolbar): 12548 (WebCore::DOMWindow::optionalConsole): 12549 (WebCore::DOMWindow::optionalNavigator): 12550 (WebCore::DOMWindow::optionalLocation): 12551 (WebCore::DOMWindow::optionalMedia): 12552 (WebCore::DOMWindow::optionalSessionStorage): 12553 (WebCore::DOMWindow::optionalLocalStorage): 12554 (WebCore::DOMWindow::optionalPerformance): 12555 * page/Geolocation.idl: 12556 * page/History.idl: 12557 * page/Location.idl: 12558 * page/Navigator.h: 12559 (WebCore::Navigator::optionalGeolocation): 12560 * page/Navigator.idl: 12561 * page/Screen.idl: 12562 * storage/Storage.idl: 12563 12564 2011-04-22 Dimitri Glazkov <dglazkov (a] chromium.org> 12565 12566 Reviewed by Kent Tamura. 12567 12568 Change SVG-related shadow root checks to use isSVGShadowRoot. 12569 https://bugs.webkit.org/show_bug.cgi?id=59237 12570 12571 Covered by existing tests, no behavior change. 12572 12573 * css/CSSStyleSelector.cpp: 12574 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot. 12575 * svg/SVGUseElement.cpp: 12576 (WebCore::ShadowTreeUpdateBlocker::while): Ditto. 12577 * svg/animation/SVGSMILElement.cpp: 12578 (WebCore::SVGSMILElement::insertedIntoDocument): Ditto. 12579 12580 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12581 12582 Mac build fix. 12583 12584 * page/DOMWindow.h: 12585 (WebCore::DOMWindow::optionalApplicationCache): Restored this function, 12586 which is used after all. 12587 12588 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12589 12590 Mac build fix. 12591 12592 * page/DOMWindow.h: 12593 (WebCore::DOMWindow::optionalApplicationCache): Restored this function, 12594 which is used after all. 12595 12596 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12597 12598 Reviewed by Oliver Hunt. 12599 12600 Removed a use of markDOMObjectWrapper: DOMWindow 12601 https://bugs.webkit.org/show_bug.cgi?id=59260 12602 12603 * bindings/js/JSDOMWindowCustom.cpp: 12604 (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since 12605 we use the opaque roots system now. 12606 12607 * bindings/js/JSNavigatorCustom.cpp: Ditto. 12608 12609 * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects 12610 whose opaque roots are frames. 12611 12612 * css/StyleMedia.h: 12613 (WebCore::StyleMedia::frame): Added an accessor for the sake of GC. 12614 12615 * css/StyleMedia.idl: 12616 * loader/appcache/DOMApplicationCache.idl: 12617 * page/BarInfo.idl: 12618 * page/Console.idl: 12619 * page/DOMSelection.idl: 12620 * page/Geolocation.idl: 12621 * page/History.idl: 12622 * page/Location.idl: 12623 * page/Navigator.idl: 12624 * page/Screen.idl: 12625 * storage/Storage.idl: Updated to use the opaque roots system. 12626 12627 2011-04-22 Xiaomei Ji <xji (a] chromium.org> 12628 12629 Reviewed by Ryosuke Niwa. 12630 12631 move caret by word in visual order returns wrong result when caret itself is at word boundary. 12632 https://bugs.webkit.org/show_bug.cgi?id=58504. 12633 12634 positionBeforeNextWord should take care that the current position is after current word. 12635 positionAfterPreviousWord should take care that the current positin is before current word. 12636 12637 * editing/visible_units.cpp: 12638 (WebCore::positionBeforeNextWord): 12639 (WebCore::positionAfterPreviousWord): 12640 12641 2011-04-19 Jer Noble <jer.noble (a] apple.com> 12642 12643 Reviewed by Daniel Bates. 12644 12645 Full Screen from within an <iframe> does not cause <iframe> to resize. 12646 https://bugs.webkit.org/show_bug.cgi?id=58638 12647 12648 Tests: fullscreen/full-screen-frameset.html 12649 12650 * css/CSSStyleSelector.cpp: 12651 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the 12652 -webkit-full-screen pseudo class to frame elements which contain 12653 full screen elements. 12654 * css/fullscreen.css: 12655 (iframe:-webkit-full-screen): Add iframe-specific styling rules. 12656 * dom/Document.cpp: 12657 (WebCore::Document::setContainsFullScreenElementRecursively): Added. Walk up each 12658 successive document owner element, calling setContainsFullScreenElement() if 12659 owner is a frame element. 12660 (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase 12661 call instead of checking the element's tag name. 12662 (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing 12663 iframes as containing a full screen element. 12664 (WebCore::Document::webkitWillExitFullScreenForElement): Ditto. 12665 * dom/Element.h: 12666 (WebCore::Element::isFrameElementBase): Added. 12667 * html/HTMLFrameElement.h: 12668 (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within 12669 HTMLFrameElements. 12670 * html/HTMLFrameElementBase.cpp: 12671 (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added. 12672 * html/HTMLFrameElementBase.h: 12673 (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added. 12674 (WebCore::HTMLFrameElementBase::isFrameElementBase): Added. 12675 12676 2011-04-22 Michael Saboff <msaboff (a] apple.com> 12677 12678 Reviewed by Maciej Stachowiak. 12679 12680 Creating copy of ContainerNode's when inserting or removing is inefficient 12681 https://bugs.webkit.org/show_bug.cgi?id=58695 12682 12683 Eliminated node copying in willRemove() and insertedIntoDocument(). 12684 12685 No new tests as this is a more efficient implementation of 12686 existing code that is covered by existing tests. 12687 12688 * dom/ContainerNode.cpp: 12689 (WebCore::ContainerNode::willRemove): Changed method to use 12690 RefPtr<> to protect against modification during removal. 12691 (WebCore::ContainerNode::insertedIntoDocument): Changed method to use 12692 RefPtr<> and two other deletion checks to protect against 12693 modification during insertion. 12694 12695 2011-04-22 Geoffrey Garen <ggaren (a] apple.com> 12696 12697 Reviewed by Sam Weinig. 12698 12699 We have an autogenerator, so use it 12700 https://bugs.webkit.org/show_bug.cgi?id=59247 12701 12702 * bindings/js/JSCSSRuleCustom.cpp: 12703 * bindings/js/JSCSSRuleListCustom.cpp: 12704 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 12705 * bindings/js/JSCSSValueCustom.cpp: 12706 * bindings/js/JSCanvasRenderingContextCustom.cpp: 12707 * bindings/js/JSDOMImplementationCustom.cpp: 12708 * bindings/js/JSDOMStringMapCustom.cpp: 12709 * bindings/js/JSHTMLCollectionCustom.cpp: 12710 * bindings/js/JSNamedNodeMapCustom.cpp: 12711 * bindings/js/JSNodeCustom.h: 12712 * bindings/js/JSNodeListCustom.cpp: 12713 * bindings/js/JSStyleSheetCustom.cpp: 12714 * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code. 12715 12716 * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job. 12717 12718 * css/CSSRule.idl: 12719 * css/CSSRuleList.idl: 12720 * css/CSSStyleDeclaration.idl: 12721 * css/CSSValue.idl: 12722 * css/MediaList.idl: 12723 * css/StyleSheet.idl: 12724 * css/StyleSheetList.idl: 12725 * dom/DOMImplementation.idl: 12726 * dom/DOMStringMap.idl: 12727 * dom/NamedNodeMap.idl: 12728 * dom/Node.idl: 12729 * dom/NodeList.idl: 12730 * html/DOMTokenList.idl: 12731 * html/HTMLCollection.idl: 12732 * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into 12733 the autogenerator. 12734 12735 2011-04-22 Beth Dakin <bdakin (a] apple.com> 12736 12737 Reviewed by Maciej Stachowiak. 12738 12739 https://bugs.webkit.org/show_bug.cgi?id=59223 12740 REGRESSION (r82185): iframe not displayed after navigation back to cached page 12741 12742 Manual test added. 12743 * manual-tests/frame-layout-on-back.html: Added. 12744 * manual-tests/resources/empty-document-goes-back.html: Added. 12745 * manual-tests/resources/simple-iframe.html: Added. 12746 12747 2011-04-22 Yael Aharon <yael.aharon (a] nokia.com> 12748 12749 Reviewed by Sam Weinig. 12750 12751 HTMLFormControlElement::labels should allow custom attributes. 12752 https://bugs.webkit.org/show_bug.cgi?id=59128 12753 12754 Cache the labels list when it is created and keep using it for future 12755 labels calls. 12756 12757 Test: fast/forms/labels-custom-property.html 12758 12759 * html/HTMLFormControlElement.cpp: 12760 (WebCore::HTMLFormControlElement::labels): 12761 12762 2011-04-22 Adrienne Walker <enne (a] google.com> 12763 12764 Reviewed by James Robinson. 12765 12766 [chromium] Remove minimum texture size for compositor tiling 12767 https://bugs.webkit.org/show_bug.cgi?id=59236 12768 12769 This was mistakenly committed in r83915 and causes bad filtering 12770 on very small textures. 12771 12772 Tests: compositing/images/content-image-change.html 12773 12774 * platform/graphics/chromium/LayerTilerChromium.cpp: 12775 (WebCore::LayerTilerChromium::setTileSize): 12776 12777 2011-04-22 Beth Dakin <bdakin (a] apple.com> 12778 12779 Reviewed by Maciej Stachowiak. 12780 12781 https://bugs.webkit.org/show_bug.cgi?id=59223 12782 REGRESSION (r82185): iframe not displayed after navigation back to cached page 12783 -and corresponding- 12784 <rdar://problem/9323763> 12785 12786 Cache the scroll position in Document::setInPageCache() instead of 12787 FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size 12788 for the mainFrame(). Still resetScrollbars() for other frames, which matches pre- 12789 r82185 code. 12790 * dom/Document.cpp: 12791 (WebCore::Document::setInPageCache): 12792 * page/FrameView.cpp: 12793 (WebCore::FrameView::resetScrollbarsAndClearContentsSize): 12794 12795 2011-04-22 Joseph Pecoraro <joepeck (a] webkit.org> 12796 12797 Reviewed by Kent Tamura. 12798 12799 Let the RenderTheme decide if an input type should have a spinner 12800 https://bugs.webkit.org/show_bug.cgi?id=59246 12801 12802 Whether an input should have a spinner or not should 12803 be a UI decision made by the RenderTheme. Remove 12804 WebCore's default hasSpinButton values and defer 12805 to the RenderTheme. 12806 12807 No change in functionality, covered by existing tests. 12808 12809 * html/HTMLInputElement.cpp: 12810 (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl 12811 for possible RenderTheme queries. 12812 * html/HTMLInputElement.h: 12813 12814 * rendering/RenderTextControlSingleLine.cpp: 12815 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 12816 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 12817 For both of these ask the render theme if the input should 12818 have a spinner. 12819 12820 * rendering/RenderTheme.cpp: 12821 (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement): 12822 Steppable inputs (number, date, and range) but not range 12823 should have spinners. This does not change existing behavior. 12824 * rendering/RenderTheme.h: 12825 12826 * dom/InputElement.h: 12827 * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton. 12828 * html/BaseDateAndTimeInputType.h: remove hasSpinButton. 12829 * html/InputType.cpp: remove hasSpinButton. 12830 * html/InputType.h: remove hasSpinButton. 12831 * html/NumberInputType.cpp: remove hasSpinButton. 12832 * html/NumberInputType.h: remove hasSpinButton. 12833 12834 2011-04-22 Joseph Pecoraro <joepeck (a] webkit.org> 12835 12836 Reviewed by Kent Tamura. 12837 12838 Don't rely on hasSpinButton to check if an input type can be stepped 12839 https://bugs.webkit.org/show_bug.cgi?id=59224 12840 12841 Add isSteppable to know for certain if an input type can 12842 be stepped or not. Previously we were checking if the input 12843 has a spin control or is the range input type. These are UI 12844 details, but the step functionality does not require there 12845 to be a UI. 12846 12847 No change in behavior, covered by existing tests. 12848 12849 * html/BaseDateAndTimeInputType.cpp: 12850 (WebCore::BaseDateAndTimeInputType::isSteppable): 12851 * html/BaseDateAndTimeInputType.h: 12852 * html/HTMLInputElement.cpp: 12853 (WebCore::HTMLInputElement::isSteppable): 12854 (WebCore::HTMLInputElement::stepUpFromRenderer): remove the 12855 check for a spinner and range control and instead ASSERT 12856 that the type is steppable. 12857 * html/HTMLInputElement.h: 12858 * html/InputType.cpp: 12859 (WebCore::InputType::isSteppable): 12860 * html/InputType.h: 12861 * html/NumberInputType.cpp: 12862 (WebCore::NumberInputType::isSteppable): 12863 * html/NumberInputType.h: 12864 * html/RangeInputType.cpp: 12865 (WebCore::RangeInputType::isSteppable): 12866 * html/RangeInputType.h: 12867 12868 2011-04-22 Adam Barth <abarth (a] webkit.org> 12869 12870 Reviewed by Eric Seidel. 12871 12872 CSP frame-src is missing 12873 https://bugs.webkit.org/show_bug.cgi?id=58643 12874 12875 In this patch, I've audited all the callers to 12876 SecurityOrigin::canDisplay to make sure they all the appropriate 12877 Content-Security-Policy method as well. I'm not sure how to test all 12878 these cases, but making this changes fixed the frame-src test. 12879 12880 * loader/SubframeLoader.cpp: 12881 (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): 12882 (WebCore::SubframeLoader::createJavaAppletWidget): 12883 (WebCore::SubframeLoader::loadSubframe): 12884 (WebCore::SubframeLoader::loadPlugin): 12885 * loader/SubresourceLoader.cpp: 12886 (WebCore::SubresourceLoader::create): 12887 * loader/cache/CachedResourceLoader.cpp: 12888 (WebCore::CachedResourceLoader::canRequest): 12889 (WebCore::CachedResourceLoader::requestResource): 12890 - While I was understanding this code, I fixed the FIXME here. 12891 * loader/cache/CachedResourceLoader.h: 12892 12893 2011-04-22 Adrienne Walker <enne (a] google.com> 12894 12895 Reviewed by Simon Fraser. 12896 12897 Clear shared graphics context when destroying CanvasRenderingContext2D. 12898 https://bugs.webkit.org/show_bug.cgi?id=59212 12899 12900 * html/canvas/CanvasRenderingContext2D.cpp: 12901 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D): 12902 12903 2011-04-22 Levi Weintraub <leviw (a] chromium.org> 12904 12905 Reviewed by Ryosuke Niwa. 12906 12907 End/Home keys do not work in a contentEditable element 12908 https://bugs.webkit.org/show_bug.cgi?id=50564 12909 12910 Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are 12911 inline and share a line with non-editable content. 12912 12913 Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html 12914 12915 * editing/visible_units.cpp: 12916 (WebCore::logicalStartOfLine): 12917 (WebCore::logicalEndOfLine): 12918 12919 2011-04-22 Dimitri Glazkov <dglazkov (a] chromium.org> 12920 12921 Reviewed by Kent Tamura. 12922 12923 Make showTree/showTreeForThis aware of the shadow DOM 12924 https://bugs.webkit.org/show_bug.cgi?id=52965 12925 12926 No new tests, because this code is only compiled in DEBUG. 12927 12928 * dom/Node.cpp: 12929 (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding 12930 recursive sub-traversal of the shadow tree. 12931 (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function. 12932 12933 2011-04-22 Sam Weinig <sam (a] webkit.org> 12934 12935 Reviewed by Gavin Barraclough and Oliver Hunt. 12936 12937 Arrays should participate in global object forwarding fun 12938 https://bugs.webkit.org/show_bug.cgi?id=59215 12939 12940 Change callers of constructArray to use the new variant that takes 12941 a global object. 12942 12943 * bindings/js/JSClipboardCustom.cpp: 12944 (WebCore::JSClipboard::types): 12945 * bindings/js/JSConsoleCustom.cpp: 12946 (WebCore::JSConsole::profiles): 12947 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 12948 (WebCore::JSJavaScriptCallFrame::scopeChain): 12949 * bindings/js/JSMessageEventCustom.cpp: 12950 (WebCore::JSMessageEvent::ports): 12951 * bindings/js/JSScriptProfileNodeCustom.cpp: 12952 (WebCore::JSScriptProfileNode::children): 12953 * bindings/js/JSWebGLRenderingContextCustom.cpp: 12954 (WebCore::toJS): 12955 (WebCore::JSWebGLRenderingContext::getAttachedShaders): 12956 (WebCore::JSWebGLRenderingContext::getSupportedExtensions): 12957 12958 2011-04-22 Csaba Osztrogonc <ossy (a] webkit.org> 12959 12960 [Qt] Unreviewed typo fix after r84522. 12961 12962 * WebCore.pro: 12963 12964 2011-04-22 Daniel Bates <dbates (a] rim.com> 12965 12966 Fix misspelled word in comment; tagets => targets. 12967 12968 * page/EventHandler.cpp: 12969 (WebCore::EventHandler::handleTouchEvent): 12970 12971 2011-04-21 Geoffrey Garen <ggaren (a] apple.com> 12972 12973 Reviewed by Oliver Hunt. 12974 12975 Removed a use of markDOMObjectWrapper: Element and Document 12976 https://bugs.webkit.org/show_bug.cgi?id=59178 12977 12978 * GNUmakefile.list.am: 12979 * UseJSC.cmake: 12980 * WebCore.gypi: 12981 * WebCore.pro: 12982 * WebCore.vcproj/WebCore.vcproj: 12983 * WebCore.xcodeproj/project.pbxproj: 12984 * bindings/js/JSBindingsAllInOne.cpp: Build! 12985 12986 * bindings/js/JSDOMImplementationCustom.cpp: 12987 (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots): 12988 (WebCore::JSDOMImplementationOwner::finalize): 12989 (WebCore::wrapperOwner): 12990 (WebCore::wrapperContext): 12991 (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also, 12992 DOMImplementation does not need to keep its document wrapper alive, since 12993 there's no DOM API for getting a DOMImplementation's document. 12994 12995 * bindings/js/JSDOMStringMapCustom.cpp: 12996 (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots): 12997 (WebCore::JSDOMStringMapOwner::finalize): 12998 (WebCore::wrapperOwner): 12999 (WebCore::wrapperContext): 13000 (WebCore::toJS): Use the opaque roots system for DOMStringMap. 13001 13002 * bindings/js/JSDOMTokenListCustom.cpp: Added. 13003 (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots): 13004 (WebCore::JSDOMTokenListOwner::finalize): 13005 (WebCore::wrapperOwner): 13006 (WebCore::wrapperContext): 13007 (WebCore::toJS): Use the opaque roots system for DOMTokenList. 13008 13009 * bindings/js/JSDocumentCustom.cpp: 13010 (WebCore::JSDocument::visitChildren): 13011 * bindings/js/JSElementCustom.cpp: No more need for explicit marking. 13012 13013 * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision. 13014 13015 * dom/DOMImplementation.cpp: 13016 (WebCore::DOMImplementation::DOMImplementation): 13017 (WebCore::DOMImplementation::createDocument): 13018 (WebCore::DOMImplementation::createHTMLDocument): 13019 * dom/DOMImplementation.h: 13020 (WebCore::DOMImplementation::create): 13021 (WebCore::DOMImplementation::ref): 13022 (WebCore::DOMImplementation::deref): 13023 (WebCore::DOMImplementation::document): Fixed the DOMImplementation 13024 ownership model to match other satellite objects in the DOM. This was 13025 necessary to fix some crashes due to incorrect reference counting. 13026 13027 * dom/DOMImplementation.idl: 13028 * dom/DOMStringMap.idl: 13029 * dom/Document.cpp: 13030 (WebCore::Document::~Document): 13031 * dom/Document.h: 13032 * dom/Element.cpp: 13033 * dom/Element.h: 13034 * dom/Element.idl: 13035 * html/DOMTokenList.idl: Updated to match changes above. 13036 13037 2011-04-22 Simon Fraser <simon.fraser (a] apple.com> 13038 13039 Reviewed by Dan Bernstein. 13040 13041 Rounded corners don't looks smooth when background-image is a gradient 13042 https://bugs.webkit.org/show_bug.cgi?id=59213 13043 13044 Add the "shrink background" behavior to the slow background 13045 drawing code path. 13046 13047 Test: fast/backgrounds/gradient-background-leakage.html 13048 13049 * rendering/RenderBoxModelObject.cpp: 13050 (WebCore::backgroundRectAdjustedForBleedAvoidance): 13051 Utility function that returns a shrunk border rect based 13052 on the context scale. 13053 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 13054 Use backgroundRectAdjustedForBleedAvoidance() in both the fast 13055 and slow paths. 13056 13057 2011-04-22 Xiaomei Ji <xji (a] chromium.org> 13058 13059 Reviewed by David Hyatt. 13060 13061 Local caret rectangle calculation should be relative to its containing block. 13062 https://bugs.webkit.org/show_bug.cgi?id=49508. 13063 13064 InlineBox and caret rectangle are positioned relative to its containing block. 13065 So its left and right edge value should be relative to its containing block as well. 13066 13067 Test: fast/forms/cursor-at-editable-content-boundary.html 13068 13069 * rendering/RenderText.cpp: 13070 (WebCore::RenderText::localCaretRect): 13071 13072 2011-04-22 Levi Weintraub <leviw (a] chromium.org> 13073 13074 Reviewed by Darin Fisher. 13075 13076 REGRESSION: left property broken with position:fixed elements in RTL documents 13077 https://bugs.webkit.org/show_bug.cgi?id=59204 13078 http://code.google.com/p/chromium/issues/detail?id=80216 13079 13080 Test: fast/block/positioning/rtl-fixed-positioning.html 13081 fast/block/positioning/vertical-rl/fixed-positioning.html 13082 13083 Returning the proper scroll offsets for fixed position content in RTL documents. 13084 We regressed to X and Y offsets not updating while scrolling when we clamped to zero, 13085 but RTL documents scroll in negative space. 13086 13087 * page/FrameView.cpp: 13088 (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where 13089 the scroll origin and offsets are negative. 13090 (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing- 13091 mode RTL documents, like above. 13092 * platform/ScrollView.h: 13093 (WebCore::ScrollView::scrollOrigin): Changing this accessor to const. 13094 13095 2011-04-22 Justin Schuh <jschuh (a] chromium.org> 13096 13097 Reviewed by Eric Seidel. 13098 13099 Should assert on invalid type in FEComponentTransfer::apply 13100 https://bugs.webkit.org/show_bug.cgi?id=57959 13101 13102 No functional change. No new tests needed. 13103 13104 * platform/graphics/filters/FEComponentTransfer.cpp: 13105 (WebCore::FEComponentTransfer::apply): 13106 13107 2011-04-22 MORITA Hajime <morrita (a] google.com> 13108 13109 Unreviewed crash fix. 13110 13111 * html/HTMLDetailsElement.cpp: 13112 (WebCore::DetailsSummaryElement::shouldInclude): 13113 13114 2011-04-22 Dan Bernstein <mitz (a] apple.com> 13115 13116 Reviewed by Sam Weinig. 13117 13118 Exclude scrollbars from the dirty rect passed to the document 13119 https://bugs.webkit.org/show_bug.cgi?id=59206 13120 13121 No test added because functionality is unchanged. 13122 13123 * platform/ScrollView.cpp: 13124 (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view 13125 in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect 13126 with it. If the result is empty, avoid calling paintContents(). 13127 13128 2011-04-22 Jer Noble <jer.noble (a] apple.com> 13129 13130 Reviewed by Maciej Stachowiak. 13131 13132 Disable MediaPlayerPrivateAVFoundation when using old full screen mode. 13133 https://bugs.webkit.org/show_bug.cgi?id=59147 13134 13135 Add a new isAVFoundationEnabled setting and check it before adding 13136 MediaPlayerPrivateAVFoundationObjC to the media engine registry. 13137 13138 * WebCore.exp.in: 13139 * page/Settings.cpp: 13140 * page/Settings.h: 13141 (WebCore::Settings::setAVFoundationEnabled): Added. 13142 (WebCore::Settings::isAVFoundationEnabled): Added. 13143 * platform/graphics/MediaPlayer.cpp: 13144 (WebCore::installedMediaEngines): Check the settings added above. 13145 13146 2011-04-22 Sam Weinig <sam (a] webkit.org> 13147 13148 Reviewed by Gavin Barraclough. 13149 13150 Remove remaining uses of deprecated version of toJS 13151 https://bugs.webkit.org/show_bug.cgi?id=59170 13152 13153 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 13154 (WebCore::toJS): 13155 (WebCore::JSCanvasRenderingContext2D::strokeStyle): 13156 (WebCore::JSCanvasRenderingContext2D::fillStyle): 13157 (WebCore::JSCanvasRenderingContext2D::createPattern): 13158 * bindings/js/JSConsoleCustom.cpp: 13159 (WebCore::JSConsole::profiles): 13160 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 13161 (WebCore::JSSQLStatementErrorCallback::handleEvent): 13162 * bindings/js/JSDOMBinding.h: 13163 * bindings/js/JSDOMMimeTypeArrayCustom.cpp: 13164 (WebCore::JSDOMMimeTypeArray::nameGetter): 13165 * bindings/js/JSDOMPluginArrayCustom.cpp: 13166 (WebCore::JSDOMPluginArray::nameGetter): 13167 * bindings/js/JSDOMPluginCustom.cpp: 13168 (WebCore::JSDOMPlugin::nameGetter): 13169 * bindings/js/JSDOMWindowCustom.cpp: 13170 (WebCore::namedItemGetter): 13171 (WebCore::JSDOMWindow::event): 13172 * bindings/js/JSEventTarget.cpp: 13173 (WebCore::toJS): 13174 * bindings/js/JSInjectedScriptHostCustom.cpp: 13175 Propagate stored global object down access chain. 13176 13177 (WebCore::InjectedScriptHost::nodeAsScriptValue): 13178 Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype. 13179 13180 (WebCore::JSInjectedScriptHost::currentCallFrame): 13181 (WebCore::JSInjectedScriptHost::inspectedNode): 13182 * bindings/js/JSNamedNodeMapCustom.cpp: 13183 (WebCore::JSNamedNodeMap::nameGetter): 13184 * bindings/js/JSNodeListCustom.cpp: 13185 (WebCore::callNodeList): 13186 (WebCore::JSNodeList::nameGetter): 13187 * bindings/js/JSScriptProfileNodeCustom.cpp: 13188 (WebCore::JSScriptProfileNode::children): 13189 * bindings/js/JSStyleSheetListCustom.cpp: 13190 (WebCore::JSStyleSheetList::nameGetter): 13191 * bindings/js/JSXSLTProcessorCustom.cpp: 13192 (WebCore::JSXSLTProcessor::transformToFragment): 13193 (WebCore::JSXSLTProcessor::transformToDocument): 13194 * bindings/scripts/CodeGeneratorJS.pm: 13195 Propagate stored global object down access chain. 13196 13197 * css/MediaQueryListListener.cpp: 13198 (WebCore::MediaQueryListListener::queryChanged): 13199 Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype, 13200 we will want refactor this to match other callbacks so we can remove this. 13201 13202 2011-04-22 Naoki Takano <takano.naoki (a] gmail.com> 13203 13204 Reviewed by Eric Seidel. 13205 13206 [Chromium]Mac UI polish to add left/right padding space for autofill popup window. 13207 https://bugs.webkit.org/show_bug.cgi?id=58960 13208 http://code.google.com/p/chromium/issues/detail?id=51077 13209 13210 No new test because Chromium Autofill popup window doesn't have any test framework. 13211 This assumes only AutofillPopupMenuClient gives TexFieldPart appearance. 13212 Only if Autofill popup window has right/left padding. 13213 The code should be removed after Autofill popup window logic is separated from WebKit to Chromium. 13214 13215 * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft(). 13216 * rendering/RenderThemeChromiumMac.mm: 13217 (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified. 13218 (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified. 13219 13220 2011-04-21 Adam Roben <aroben (a] apple.com> 13221 13222 Add code to enumerate all the functions imported by a particular Windows binary 13223 13224 PEImage is where all the logic starts. It represents a single Portable Executable (PE) 13225 binary. The various enumerator classes are used in conjunction with PEImage to enumerate the 13226 modules and functions imported by that image. 13227 13228 I couldn't figure out how to write a test for this. :-( 13229 13230 Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No 13231 context menu appears when right-clicking on windowless Flash plugin 13232 13233 Reviewed by Sam Weinig, and given a good once-over by Jeff Miller. 13234 13235 * WebCore.vcproj/WebCore.vcproj: Added the new files. 13236 13237 * platform/win/PEImage.cpp: Added. 13238 (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers, 13239 then initializes m_ntHeaders using the module. 13240 (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a 13241 non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of 13242 places.) 13243 (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated 13244 with the given entry in the image's DataDirectory. 13245 13246 * platform/win/PEImage.h: Added. 13247 (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor 13248 succeeded, in which case m_ntHeaders will be set. 13249 13250 * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the 13251 functions imported by the image from a single module by walking the Import Name Table (INT) 13252 and Import Address Table (IAT). 13253 (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members. 13254 (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated 13255 arrays. 13256 (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT. 13257 (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the 13258 function's name, if possible, using the INT. 13259 (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address 13260 of the function pointer for the current function. This function pointer is used whenever 13261 code in m_image calls the current function. (A future patch will take advantage of this by 13262 overwriting this function pointer with another, thereby redirecting calls to that function.) 13263 13264 * platform/win/ImportedFunctionsEnumerator.h: Added. 13265 13266 * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by 13267 ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written 13268 that works with either one. 13269 13270 * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the 13271 non-delay-loaded modules imported by the image by walking the image's import array. 13272 (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information 13273 is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory. 13274 (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated. 13275 (WebCore::ImportedModulesEnumerator::next): Steps along the import array. 13276 (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's 13277 name. 13278 (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT 13279 and IAT for this module and wraps them in an ImportedFunctionsEnumerator. 13280 13281 * platform/win/ImportedModulesEnumerator.h: Added. 13282 13283 * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the 13284 delay-loaded modules that are imported by the given PEImage by walking the image's 13285 ImageDelayDescr array. 13286 (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load 13287 information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's 13288 DataDirectory. 13289 (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is 13290 0-terminated. 13291 (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array. 13292 (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's 13293 name out of the descriptor. 13294 (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the 13295 current module out of the descriptor and makes an ImportedFunctionsEnumerator from them. 13296 (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images 13297 stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later 13298 images store RVAs. This function abstracts away the difference. 13299 13300 * platform/win/DelayLoadedModulesEnumerator.h: Added. 13301 13302 2011-04-21 Adam Roben <aroben (a] apple.com> 13303 13304 Add a shared do-nothing window class that anyone can use 13305 13306 Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes 13307 13308 Reviewed by Anders Carlsson. 13309 13310 * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of 13311 platform/win and into platform. Let VS reorder other files. 13312 13313 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 13314 (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared 13315 dummy window class instead of creating our own. 13316 13317 * platform/win/DefWndProcWindowClass.cpp: Added. 13318 (WebCore::registerClass): Register it! 13319 (WebCore::defWndProcWindowClassName): Register it and return it! 13320 13321 * platform/win/DefWndProcWindowClass.h: Added. 13322 13323 2011-04-21 MORITA Hajime <morrita (a] google.com> 13324 13325 Reviewed by Dimitri Glazkov. 13326 13327 Content of <details> should be forwarded through the shadow DOM 13328 https://bugs.webkit.org/show_bug.cgi?id=59055 13329 13330 - Made ShadowContentElement abstract and added shouldInclude() pure virtual method. 13331 - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as 13332 subclasses of ShadowContentElement. 13333 - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that 13334 handles non-summary contents of <details>. Another is SummaryContentElement, that 13335 handles the main summary element. 13336 - Removed most of RenderDetails custom layout mechanism, which is replaced by 13337 ShadowContentElement subclasses. 13338 13339 Tests: fast/html/details-add-child-1.html 13340 fast/html/details-add-child-2.html 13341 fast/html/details-remove-child-1.html 13342 fast/html/details-remove-child-2.html 13343 13344 * dom/ShadowRoot.cpp: 13345 (WebCore::ShadowRoot::contentContainerFor): 13346 (WebCore::ShadowRoot::hostChildrenChanged): 13347 (WebCore::ShadowRoot::hasContentElement): 13348 * dom/ShadowRoot.h: 13349 * html/HTMLDetailsElement.cpp: 13350 (WebCore::DetailsContentElement::DetailsContentElement): 13351 (WebCore::DetailsContentElement::create): 13352 (WebCore::DetailsContentElement::shouldInclude): 13353 (WebCore::DetailsSummaryElement::DetailsSummaryElement): 13354 (WebCore::DetailsSummaryElement::create): 13355 (WebCore::DetailsSummaryElement::shouldInclude): 13356 (WebCore::HTMLDetailsElement::create): 13357 (WebCore::HTMLDetailsElement::HTMLDetailsElement): 13358 (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf): 13359 (WebCore::findSummaryFor): 13360 (WebCore::HTMLDetailsElement::ensureMainSummary): 13361 (WebCore::HTMLDetailsElement::refreshMainSummary): 13362 (WebCore::HTMLDetailsElement::createShadowSubtree): 13363 * html/HTMLDetailsElement.h: 13364 * html/HTMLSummaryElement.cpp: 13365 (WebCore::SummaryContentElement::SummaryContentElement): 13366 (WebCore::SummaryContentElement::shouldInclude): 13367 (WebCore::SummaryContentElement::create): 13368 (WebCore::HTMLSummaryElement::createShadowSubtree): 13369 * html/shadow/ShadowContentElement.h: 13370 * rendering/RenderDetails.cpp: 13371 (WebCore::RenderDetails::RenderDetails): 13372 (WebCore::RenderDetails::addChild): 13373 * rendering/RenderDetails.h: 13374 * rendering/RenderSummary.cpp: 13375 * rendering/RenderSummary.h: 13376 13377 2011-04-21 Simon Fraser <simon.fraser (a] apple.com> 13378 13379 Reviewed by Dan Bernstein. 13380 13381 Extra GraphicsContext::save() in InlineTextBox::paintDecoration() 13382 https://bugs.webkit.org/show_bug.cgi?id=59109 13383 13384 Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration(). 13385 13386 Add an assertion that fires when a GraphicsContext() is destroyed with a non- 13387 empty state stack. Fix canvas to avoid this assertion, since bad content might 13388 trigger it. 13389 13390 Also add an assertion that fires for mismatched begin/endTransparencyLayers. 13391 13392 Test: fast/text/multiple-text-shadow-alpha.html 13393 13394 * html/HTMLCanvasElement.cpp: 13395 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 13396 Make sure that the CanvasRenderingContext goes away before the ImageBuffer, 13397 so that CanvasRenderingContext2D has a chance to unwind the state stack in 13398 the ImageBuffer's GraphicsContext. 13399 13400 * html/canvas/CanvasRenderingContext2D.cpp: 13401 (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D): 13402 Balance unmatched state saves in the canvas context. 13403 13404 * platform/graphics/GraphicsContext.cpp: 13405 (WebCore::GraphicsContext::~GraphicsContext): 13406 Assert that the stack is empty. 13407 13408 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 13409 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 13410 (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate): 13411 (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer): 13412 (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer): 13413 Changes to allow for asserting for unmatched transparency layer begin/ends. 13414 13415 * rendering/InlineTextBox.cpp: 13416 (WebCore::InlineTextBox::paintDecoration): 13417 Remove an unbalanced save(). 13418 13419 2011-04-22 Pavel Feldman <pfeldman (a] google.com> 13420 13421 Reviewed by Yury Semikhatsky. 13422 13423 Web Inspector: add Save As context menu item to the TextViewer. 13424 https://bugs.webkit.org/show_bug.cgi?id=59196 13425 13426 * inspector/front-end/ResourceView.js: 13427 (WebInspector.ResourceSourceFrame.prototype.requestContent): 13428 (WebInspector.ResourceSourceFrame.prototype.suggestedFileName): 13429 (WebInspector.RevisionSourceFrame.prototype.requestContent): 13430 (WebInspector.RevisionSourceFrame.prototype.suggestedFileName): 13431 * inspector/front-end/ScriptsPanel.js: 13432 (WebInspector.ScriptsPanel.prototype._createSourceFrame): 13433 (WebInspector.SourceFrameDelegateForScriptsPanel): 13434 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled): 13435 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName): 13436 * inspector/front-end/SourceFrame.js: 13437 (WebInspector.SourceFrame.prototype._initializeTextViewer): 13438 (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu): 13439 (WebInspector.SourceFrame.prototype.suggestedFileName): 13440 (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled): 13441 (WebInspector.SourceFrameDelegate.prototype.suggestedFileName): 13442 * inspector/front-end/TextViewer.js: 13443 (WebInspector.TextViewer.prototype._contextMenu): 13444 (WebInspector.TextViewerDelegate.prototype.cancelEditing): 13445 (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu): 13446 (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu): 13447 (WebInspector.TextViewerDelegate.prototype.suggestedFileName): 13448 13449 2011-04-22 Mikhail Naganov <mnaganov (a] chromium.org> 13450 13451 Reviewed by Pavel Feldman. 13452 13453 Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers. 13454 https://bugs.webkit.org/show_bug.cgi?id=59094 13455 13456 * WebCore.gypi: 13457 * WebCore.vcproj/WebCore.vcproj: 13458 * gyp/streamline-inspector-source.sh: 13459 * inspector/front-end/DetailedHeapshotGridNodes.js: 13460 (WebInspector.HeapSnapshotGridNode.prototype.dispose): 13461 (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): 13462 (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): 13463 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): 13464 (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose): 13465 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated): 13466 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 13467 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 13468 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): 13469 (MixInSnapshotNodeFunctions): 13470 * inspector/front-end/DetailedHeapshotView.js: 13471 (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose): 13472 (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache): 13473 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): 13474 (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose): 13475 (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths): 13476 (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource): 13477 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext): 13478 (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled): 13479 (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder): 13480 (WebInspector.DetailedHeapshotView.prototype.dispose): 13481 (WebInspector.DetailedHeapshotView.prototype.get profileWrapper): 13482 (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper): 13483 * inspector/front-end/HeapSnapshot.js: 13484 (WebInspector.HeapSnapshotLoader): 13485 (WebInspector.HeapSnapshotLoader.prototype.finishLoading): 13486 (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk): 13487 (WebInspector.HeapSnapshot.prototype.pushBaseIds): 13488 (WebInspector.HeapSnapshot.prototype.createDiff): 13489 (WebInspector.HeapSnapshot.prototype._parseFilter): 13490 (WebInspector.HeapSnapshot.prototype.createEdgesProvider): 13491 (WebInspector.HeapSnapshot.prototype.createNodesProvider): 13492 (WebInspector.HeapSnapshot.prototype.createPathFinder): 13493 (WebInspector.HeapSnapshot.prototype.updateStaticData): 13494 (WebInspector.HeapSnapshotPathFinder): 13495 (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots): 13496 (WebInspector.HeapSnapshotPathFinder.prototype._reset): 13497 * inspector/front-end/HeapSnapshotProxy.js: 13498 (WebInspector.HeapSnapshotRealWorker): 13499 (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived): 13500 (WebInspector.HeapSnapshotRealWorker.prototype.postMessage): 13501 (WebInspector.HeapSnapshotRealWorker.prototype.terminate): 13502 (WebInspector.HeapSnapshotFakeWorker): 13503 (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage): 13504 (WebInspector.HeapSnapshotFakeWorker.prototype.terminate): 13505 (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker): 13506 (WebInspector.HeapSnapshotWorker): 13507 (WebInspector.HeapSnapshotWorker.prototype.createObject): 13508 (WebInspector.HeapSnapshotWorker.prototype.dispose): 13509 (WebInspector.HeapSnapshotWorker.prototype.disposeObject): 13510 (WebInspector.HeapSnapshotWorker.prototype.callGetter): 13511 (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback): 13512 (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod): 13513 (WebInspector.HeapSnapshotWorker.prototype.callMethod): 13514 (WebInspector.HeapSnapshotWorker.prototype._findFunction): 13515 (WebInspector.HeapSnapshotWorker.prototype._messageReceived): 13516 (WebInspector.HeapSnapshotWorker.prototype._postMessage): 13517 (WebInspector.HeapSnapshotProxyObject): 13518 (WebInspector.HeapSnapshotProxyObject.prototype._callWorker): 13519 (WebInspector.HeapSnapshotProxyObject.prototype.dispose): 13520 (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker): 13521 (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod): 13522 (WebInspector.HeapSnapshotProxyObject.prototype.callGetter): 13523 (WebInspector.HeapSnapshotProxyObject.prototype.callMethod): 13524 (WebInspector.HeapSnapshotLoaderProxy): 13525 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks): 13526 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData): 13527 (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading): 13528 (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded): 13529 (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading): 13530 (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk): 13531 (WebInspector.HeapSnapshotProxy): 13532 (WebInspector.HeapSnapshotProxy.prototype.aggregates): 13533 (WebInspector.HeapSnapshotProxy.prototype.createDiff): 13534 (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider): 13535 (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider): 13536 (WebInspector.HeapSnapshotProxy.prototype.createPathFinder): 13537 (WebInspector.HeapSnapshotProxy.prototype.dispose): 13538 (WebInspector.HeapSnapshotProxy.prototype.finishLoading): 13539 (WebInspector.HeapSnapshotProxy.prototype.get loaded): 13540 (WebInspector.HeapSnapshotProxy.prototype.get nodeCount): 13541 (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex): 13542 (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds): 13543 (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex): 13544 (WebInspector.HeapSnapshotProxy.prototype.updateStaticData): 13545 (WebInspector.HeapSnapshotProxy.prototype.startLoading): 13546 (WebInspector.HeapSnapshotProxy.prototype.get totalSize): 13547 (WebInspector.HeapSnapshotProxy.prototype.get uid): 13548 (WebInspector.HeapSnapshotProviderProxy): 13549 (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty): 13550 (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems): 13551 (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind): 13552 (WebInspector.HeapSnapshotPathFinderProxy): 13553 (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext): 13554 (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots): 13555 (WebInspector.HeapSnapshotsDiffProxy): 13556 (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate): 13557 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds): 13558 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes): 13559 * inspector/front-end/HeapSnapshotWorker.js: Added. 13560 (WebInspector.UIString): 13561 (postMessageWrapper): 13562 * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added. 13563 (WebInspector.HeapSnapshotWorkerDispatcher): 13564 (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction): 13565 (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage): 13566 * inspector/front-end/ProfilesPanel.js: 13567 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): 13568 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed): 13569 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 13570 * inspector/front-end/WebKit.qrc: 13571 * inspector/front-end/inspector.html: 13572 13573 2011-04-22 Pavel Podivilov <podivilov (a] chromium.org> 13574 13575 Reviewed by Pavel Feldman. 13576 13577 Web Inspector: fix de-obfuscation of scripts inlined in html. 13578 https://bugs.webkit.org/show_bug.cgi?id=58538 13579 13580 Use html tokenizer to find script boundaries instead of relying on scriptParsed events. 13581 13582 Test: inspector/debugger/script-formatter.html 13583 13584 * WebCore.gypi: 13585 * WebCore.vcproj/WebCore.vcproj: 13586 * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js. 13587 * inspector/front-end/ScriptFormatter.js: 13588 (WebInspector.ScriptFormatter): 13589 (WebInspector.ScriptFormatter.prototype.formatContent): 13590 (WebInspector.ScriptFormatter.prototype._didFormatContent): 13591 * inspector/front-end/ScriptFormatterWorker.js: 13592 (onmessage): 13593 (formatScript): 13594 (HTMLScriptFormatter): 13595 (HTMLScriptFormatter.prototype.format): 13596 (HTMLScriptFormatter.prototype.scriptStarted): 13597 (HTMLScriptFormatter.prototype.scriptEnded): 13598 (HTMLScriptFormatter.prototype.styleSheetStarted): 13599 (HTMLScriptFormatter.prototype.styleSheetEnded): 13600 * inspector/front-end/SourceFile.js: 13601 (WebInspector.FormattedSourceFile.prototype._didRequestContent): 13602 * inspector/front-end/SourceHTMLTokenizer.js: 13603 (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted): 13604 (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded): 13605 (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted): 13606 (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded): 13607 (WebInspector.SourceHTMLTokenizer.prototype.nextToken): 13608 * inspector/front-end/SourceHTMLTokenizer.re2js: 13609 * inspector/front-end/WebKit.qrc: 13610 13611 2011-04-22 Andrey Kosyakov <caseq (a] chromium.org> 13612 13613 Reviewed by Pavel Feldman. 13614 13615 Web Inspector: [Extensions API] misc API cleanup 13616 https://bugs.webkit.org/show_bug.cgi?id=59194 13617 13618 * inspector/front-end/ExtensionAPISchema.json: 13619 * inspector/front-end/ExtensionPanel.js: 13620 (WebInspector.ExtensionSidebarPane.prototype._setObject): 13621 13622 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 13623 13624 Reviewed by Yury Semikhatsky. 13625 13626 Web Inspector: group content scripts in the scripts panel drop down. 13627 https://bugs.webkit.org/show_bug.cgi?id=59108 13628 13629 * English.lproj/localizedStrings.js: 13630 * inspector/front-end/ScriptsPanel.js: 13631 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare): 13632 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): 13633 13634 2011-04-22 Mike West <mkwst (a] google.com> 13635 13636 Reviewed by Pavel Feldman. 13637 13638 Web Inspector: Tiny improvement to UI for adding an XHR breakpoint 13639 https://bugs.webkit.org/show_bug.cgi?id=59100 13640 13641 Improve web inspector UI around adding XHR breakpoints by adding 13642 a textual label to the input-like `span` used to specify which 13643 XHR requests the breakpoint ought to target. 13644 13645 * inspector/front-end/BreakpointsSidebarPane.js: 13646 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing): 13647 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked): 13648 * inspector/front-end/inspector.css: 13649 (#breakpoint-condition-input): 13650 13651 2011-04-22 Pavel Podivilov <podivilov (a] chromium.org> 13652 13653 Reviewed by Pavel Feldman. 13654 13655 Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments. 13656 https://bugs.webkit.org/show_bug.cgi?id=59191 13657 13658 * WebCore.gypi: 13659 * WebCore.vcproj/WebCore.vcproj: 13660 * inspector/front-end/ScriptFormatter.js: 13661 (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): 13662 (WebInspector.ScriptFormatter.prototype.formatContent): 13663 * inspector/front-end/ScriptFormatterWorker.js: 13664 (onmessage): 13665 * inspector/front-end/SourceFile.js: 13666 (WebInspector.SourceFile.prototype._loadResourceContent): 13667 (WebInspector.FormattedSourceFile.prototype._didRequestContent): 13668 (WebInspector.FormattedSourceMapping): 13669 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine): 13670 (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation): 13671 (WebInspector.FormattedSourceMapping.prototype._convertPosition): 13672 * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added. 13673 (FormattedContentBuilder): Helper class for building formatted script content. 13674 (FormattedContentBuilder.prototype.addToken): 13675 (FormattedContentBuilder.prototype.addSpace): 13676 (FormattedContentBuilder.prototype.addNewLine): 13677 (FormattedContentBuilder.prototype.increaseNestingLevel): 13678 (FormattedContentBuilder.prototype.decreaseNestingLevel): 13679 (FormattedContentBuilder.prototype.content): 13680 (FormattedContentBuilder.prototype.mapping): 13681 (Tokenizer): Wrapper class for UglifyJS tokenizer. 13682 (Tokenizer.prototype.content): 13683 (Tokenizer.prototype.next): 13684 (Tokenizer.prototype._convertUglifyToken): 13685 (JavaScriptFormatter): New formatter based on UglifyJS tokenizer. 13686 (JavaScriptFormatter.prototype.format): 13687 * inspector/front-end/UglifyJS/process.js: Removed. 13688 * inspector/front-end/WebKit.qrc: 13689 13690 2011-04-22 Mikhail Naganov <mnaganov (a] chromium.org> 13691 13692 Reviewed by Pavel Feldman. 13693 13694 Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers. 13695 https://bugs.webkit.org/show_bug.cgi?id=59189 13696 13697 * WebCore.gypi: 13698 * WebCore.vcproj/WebCore.vcproj: 13699 * inspector/front-end/BinarySearch.js: Added. 13700 * inspector/front-end/DetailedHeapshotGridNodes.js: 13701 (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted): 13702 (WebInspector.HeapSnapshotGridNode.prototype._populate): 13703 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 13704 (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate): 13705 (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort): 13706 (WebInspector.HeapSnapshotGridNode.prototype.sort): 13707 (WebInspector.HeapSnapshotObjectNode): 13708 (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode): 13709 (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode): 13710 (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData): 13711 (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode): 13712 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated): 13713 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived): 13714 (WebInspector.HeapSnapshotDiffNode.prototype.get data): 13715 * inspector/front-end/DetailedHeapshotView.js: 13716 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort): 13717 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): 13718 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): 13719 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter): 13720 (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave): 13721 (WebInspector.HeapSnapshotContainmentDataGrid): 13722 (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource): 13723 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged): 13724 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): 13725 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): 13726 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): 13727 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): 13728 (WebInspector.HeapSnapshotDominatorsDataGrid): 13729 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource): 13730 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged): 13731 (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting): 13732 (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded): 13733 (WebInspector.DetailedHeapshotView.prototype._changeBase): 13734 (WebInspector.DetailedHeapshotView.prototype._changeView): 13735 (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString): 13736 (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup): 13737 * inspector/front-end/HeapSnapshot.js: 13738 (WebInspector.HeapSnapshot.prototype.dispose): 13739 (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds): 13740 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems): 13741 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind): 13742 (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize): 13743 (WebInspector.HeapSnapshotNodesProvider.prototype._serialize): 13744 (WebInspector.HeapSnapshotsDiff.prototype.calculate): 13745 (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds): 13746 (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes): 13747 * inspector/front-end/HeapSnapshotProxy.js: 13748 (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider): 13749 (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider): 13750 (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds): 13751 (WebInspector.HeapSnapshotProviderProxy): 13752 (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems): 13753 (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind): 13754 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds): 13755 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes): 13756 * inspector/front-end/PleaseWaitMessage.js: 13757 (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor): 13758 (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide): 13759 * inspector/front-end/WebKit.qrc: 13760 * inspector/front-end/inspector.html: 13761 * inspector/front-end/utilities.js: 13762 13763 2011-04-22 Mikhail Naganov <mnaganov (a] chromium.org> 13764 13765 Unreviewed fix after r84484 -- conditional statement was inverted incorrectly. 13766 13767 * inspector/front-end/ProfilesPanel.js: 13768 (WebInspector.ProfilesPanel.prototype.handleShortcut): 13769 13770 2011-04-22 Annie Sullivan <sullivan (a] chromium.org> 13771 13772 Reviewed by Pavel Feldman. 13773 13774 Web Inspector: Timeline is too narrow 13775 https://bugs.webkit.org/show_bug.cgi?id=58399 13776 13777 Changed Network Panel widths so that Timeline is 50%. 13778 Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow. 13779 13780 * inspector/front-end/NetworkPanel.js: 13781 (WebInspector.NetworkPanel.prototype._createTable): Changed column widths. 13782 (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths. 13783 (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values. 13784 (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto 13785 (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto 13786 (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto 13787 * inspector/front-end/utilities.js: 13788 (Element.prototype.setTextAndTitle): Added new method to set the textContent and title of an Element at the same time, so that it can have a tooltip. 13789 13790 2011-04-22 Dan Bernstein <mitz (a] apple.com> 13791 13792 Reviewed by Maciej Stachowiak. 13793 13794 <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media 13795 https://bugs.webkit.org/show_bug.cgi?id=59180 13796 13797 Test: media/audio-controls-do-not-fade-out.html 13798 13799 * html/HTMLMediaElement.cpp: 13800 (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is 13801 a video track. 13802 13803 2011-04-22 Luke Macpherson <macpherson (a] chromium.org> 13804 13805 Reviewed by Eric Seidel. 13806 13807 Add FontItalics and FontSmallCaps enums to be used instead of boolean values. 13808 https://bugs.webkit.org/show_bug.cgi?id=59080 13809 13810 No new tests as no new functionality added. 13811 13812 * css/CSSPrimitiveValueMappings.h: 13813 Add casts to/from FontItalics and FontSmallCaps 13814 * css/CSSStyleSelector.cpp: 13815 Use new casts defined in PrimitiveValueMappings.h 13816 * platform/graphics/Font.h: 13817 Use FontItalics enum. 13818 * platform/graphics/FontDescription.h: 13819 Define and use FontItalics and FontSmallCaps enums. 13820 13821 2011-04-21 Andrey Kosyakov <caseq (a] chromium.org> 13822 13823 Reviewed by Yury Semikhatsky. 13824 13825 Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet 13826 https://bugs.webkit.org/show_bug.cgi?id=59123 13827 13828 * inspector/front-end/ResourceCookiesView.js: 13829 (WebInspector.ResourceCookiesView): 13830 (WebInspector.ResourceCookiesView.prototype.show): 13831 (WebInspector.ResourceCookiesView.prototype.get _gotCookies): 13832 (WebInspector.ResourceCookiesView.prototype._buildCookiesTable): 13833 13834 2011-04-21 Beth Dakin <bdakin (a] apple.com> 13835 13836 Reviewed by Dan Bernstein. 13837 13838 https://bugs.webkit.org/show_bug.cgi?id=57898 13839 REGRESSION (r82185): Scroll position not restored on navigation back to a page in 13840 the page cache 13841 -and corresponding- 13842 <rdar://problem/9226652> 13843 13844 The original fix for this change broke scroll-position restore for pages that are 13845 *not* in the page cache. This patch fixes both cached and non-cached pages by 13846 using the cachedScrollPosition() only for cached pages. 13847 * loader/HistoryController.cpp: 13848 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): 13849 13850 2011-04-21 Luke Macpherson <macpherson (a] chromium.org> 13851 13852 Reviewed by Eric Seidel. 13853 13854 Remove redundant calls to RenderStyle::setDisplay() 13855 https://bugs.webkit.org/show_bug.cgi?id=59060 13856 13857 No new tests / no new functionality added. 13858 13859 * css/CSSStyleSelector.cpp: 13860 (WebCore::CSSStyleSelector::applyProperty): 13861 Remove redundant calls to RenderStyle::setDisplay() 13862 13863 2011-04-21 John Bauman <jbauman (a] chromium.org> 13864 13865 Reviewed by Kenneth Russell. 13866 13867 WebGL context drawing buffer may not be cleared if FBO bound 13868 https://bugs.webkit.org/show_bug.cgi?id=58956 13869 13870 Clear the drawing buffer even if it's not currently bound, by 13871 switching between FBOs around the clear. Also, make sure that we 13872 handle depth and stencil masks properly. 13873 13874 No new tests, because testing this under DRT doesn't work. 13875 13876 * html/canvas/WebGLRenderingContext.cpp: 13877 (WebCore::WebGLRenderingContext::initializeNewContext): 13878 (WebCore::WebGLRenderingContext::clearIfComposited): 13879 (WebCore::WebGLRenderingContext::depthMask): 13880 * html/canvas/WebGLRenderingContext.h: 13881 * 13882 2011-04-21 Chris Fleizach <cfleizach (a] apple.com> 13883 13884 Reviewed by Beth Dakin. 13885 13886 WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables 13887 https://bugs.webkit.org/show_bug.cgi?id=59140 13888 13889 WebKit should not modify the DOM when the screen reader requests certain things be set. There is no 13890 specification that allows this behavior yet, but we are working on something for the future. 13891 13892 * accessibility/AccessibilityRenderObject.cpp: 13893 (WebCore::AccessibilityRenderObject::setARIAGrabbed): 13894 (WebCore::AccessibilityRenderObject::setIsExpanded): 13895 (WebCore::AccessibilityRenderObject::setSelected): 13896 (WebCore::AccessibilityRenderObject::setValue): 13897 13898 2011-04-21 Chris Fleizach <cfleizach (a] apple.com> 13899 13900 Reviewed by Beth Dakin. 13901 13902 AX: order AccessibilityRole alphabetically 13903 https://bugs.webkit.org/show_bug.cgi?id=31524 13904 13905 * accessibility/AccessibilityObject.h: 13906 13907 2011-04-21 Jia Pu <jpu (a] apple.com> 13908 13909 Reviewed by Maciej Stachowiak. 13910 13911 [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared. 13912 https://bugs.webkit.org/show_bug.cgi?id=59155 13913 <rdar://problem/9261698> 13914 13915 Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h, 13916 and fixed a typo in function name. 13917 13918 * editing/Editor.h: 13919 * editing/SpellingCorrectionController.cpp: 13920 (WebCore::SpellingCorrectionController::correctionPanelTimerFired): 13921 (WebCore::SpellingCorrectionController::respondToChangedSelection): 13922 * editing/SpellingCorrectionController.h: 13923 (WebCore::SpellingCorrectionController::shouldStartTimerFor): 13924 13925 2011-04-21 Maciej Stachowiak <mjs (a] apple.com> 13926 13927 Reviewed by Adam Roben. 13928 13929 Add a feature define to allow <details> and <summary> to be disabled 13930 https://bugs.webkit.org/show_bug.cgi?id=59118 13931 <rdar://problem/9257045> 13932 13933 No new tests; no behavior change. 13934 13935 * Configurations/FeatureDefines.xcconfig: 13936 * DerivedSources.make: 13937 * GNUmakefile.am: 13938 * features.pri: 13939 * html/HTMLDetailsElement.cpp: 13940 * html/HTMLSummaryElement.cpp: 13941 * html/HTMLTagNames.in: 13942 * html/shadow/DetailsMarkerControl.cpp: 13943 * rendering/RenderBlock.cpp: 13944 (WebCore::canMergeContiguousAnonymousBlocks): 13945 * rendering/RenderDetails.cpp: 13946 * rendering/RenderDetails.h: 13947 * rendering/RenderDetailsMarker.cpp: 13948 * rendering/RenderDetailsMarker.h: 13949 * rendering/RenderObject.h: 13950 * rendering/RenderSummary.cpp: 13951 * rendering/RenderSummary.h: 13952 * rendering/RenderTreeAsText.cpp: 13953 (WebCore::RenderTreeAsText::writeRenderObject): 13954 13955 2011-04-21 Dimitri Glazkov <dglazkov (a] chromium.org> 13956 13957 Reviewed by Adele Peterson. 13958 13959 REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text 13960 https://bugs.webkit.org/show_bug.cgi?id=59053 13961 13962 Turns out, the relatedTarget of an event could be also an ancestor of an event, 13963 not just its parent. Duh. 13964 13965 * dom/EventDispatcher.cpp: 13966 (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost 13967 explicitly. 13968 13969 2011-04-21 Michael Saboff <msaboff (a] apple.com> 13970 13971 Reviewed by Maciej Stachowiak. 13972 13973 Qualified names used for all TagName access, yet namespace usage is rare 13974 https://bugs.webkit.org/show_bug.cgi?id=58997 13975 13976 The methods getElementsByTagName and getElementsByTagNameNS where 13977 always creating and using QualifiedNames. QualifiedName::init 13978 was consistently in the top 3 routines when running the Dromaeo 13979 DOM-query benchmark. Split out the functionality so that 13980 getElementsByTagName uses just the local name, an implied "*" 13981 namespace and a separate TagNodeListCache keyed by an atomic name 13982 instead of a QualifiedName. Access to elements via 13983 getElementsByTagNameNS that have "*" namespace are forwarded to 13984 getElementsByTagName as well. This provides ~10% speed up in that 13985 Dromaeo test. 13986 13987 No new tests added, existing tests have coverage. The changes are 13988 an optimization of existing functionality. 13989 13990 * dom/Node.cpp: 13991 (WebCore::Node::removeCachedTagNodeList): 13992 (WebCore::Node::getElementsByTagName): 13993 (WebCore::Node::getElementsByTagNameNS): 13994 (WebCore::NodeListsNodeData::invalidateCaches): 13995 (WebCore::NodeListsNodeData::isEmpty): 13996 * dom/Node.h: 13997 * dom/NodeRareData.h: 13998 * dom/TagNodeList.cpp: 13999 (WebCore::TagNodeList::~TagNodeList): 14000 14001 2011-04-21 Geoffrey Garen <ggaren (a] apple.com> 14002 14003 Reviewed by Oliver Hunt. 14004 14005 Removed a use of markDOMObjectWrapper: more style- and node-related stuff 14006 https://bugs.webkit.org/show_bug.cgi?id=59127 14007 14008 * bindings/js/JSCanvasRenderingContextCustom.cpp: 14009 * bindings/js/JSCanvasRenderingContextCustom.cpp: 14010 (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots): 14011 (WebCore::JSCanvasRenderingContextOwner::finalize): 14012 (WebCore::wrapperOwner): 14013 (WebCore::wrapperContext): Use opaque roots for marking canvas rendering 14014 contexts, so JSNode isn't responsible for it. 14015 14016 * bindings/js/JSElementCustom.cpp: 14017 (WebCore::JSElement::markChildren): 14018 * bindings/js/JSHTMLCanvasElementCustom.cpp: 14019 * bindings/js/JSHTMLLinkElementCustom.cpp: 14020 * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code. 14021 14022 * bindings/js/JSNodeCustom.cpp: 14023 (WebCore::isObservable): 14024 (WebCore::isReachableFromDOM): 14025 (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of 14026 CSS object model related special cases, since the CSS object model 14027 now tracks its own lifetime through the opaque roots system. Removed 14028 canvas special case, covered above. 14029 14030 * bindings/js/JSProcessingInstructionCustom.cpp: 14031 * bindings/js/JSWebKitAnimationListCustom.cpp: 14032 * dom/ProcessingInstruction.idl: 14033 * html/HTMLCanvasElement.idl: 14034 * html/HTMLLinkElement.idl: 14035 * html/HTMLStyleElement.idl: 14036 * page/WebKitAnimationList.idl: Removed obsolete marking code. 14037 14038 2011-04-21 Vangelis Kokkevis <vangelis (a] chromium.org> 14039 14040 Reviewed by James Robinson. 14041 14042 [chromium] Only update the contents of layers that are going to 14043 be drawn. Remove individual texture unreserves that happen 14044 after the layer draw calls with a single unreserve for all the 14045 textures in the texture manager. 14046 https://bugs.webkit.org/show_bug.cgi?id=59129 14047 14048 Tests: No new functionality. Covered by existing layout tests. 14049 14050 * platform/graphics/chromium/ContentLayerChromium.cpp: 14051 (WebCore::ContentLayerChromium::draw): 14052 * platform/graphics/chromium/ContentLayerChromium.h: 14053 * platform/graphics/chromium/ImageLayerChromium.cpp: 14054 (WebCore::ImageLayerChromium::paintContentsIfDirty): 14055 (WebCore::ImageLayerChromium::updateCompositorResources): 14056 * platform/graphics/chromium/LayerRendererChromium.cpp: 14057 (WebCore::LayerRendererChromium::drawRootLayer): 14058 (WebCore::LayerRendererChromium::updateAndDrawLayers): 14059 (WebCore::LayerRendererChromium::updateLayers): 14060 (WebCore::LayerRendererChromium::paintLayerContents): 14061 * platform/graphics/chromium/LayerRendererChromium.h: 14062 * platform/graphics/chromium/LayerTexture.cpp: 14063 * platform/graphics/chromium/LayerTexture.h: 14064 * platform/graphics/chromium/LayerTilerChromium.cpp: 14065 * platform/graphics/chromium/LayerTilerChromium.h: 14066 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 14067 (WebCore::RenderSurfaceChromium::drawSurface): 14068 * platform/graphics/chromium/TextureManager.cpp: 14069 (WebCore::TextureManager::unprotectAllTextures): 14070 * platform/graphics/chromium/TextureManager.h: 14071 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 14072 (WebCore::CCHeadsUpDisplay::draw): 14073 * platform/graphics/chromium/cc/CCLayerImpl.h: 14074 (WebCore::CCLayerImpl::owner): 14075 14076 2011-04-21 Ryosuke Niwa <rniwa (a] webkit.org> 14077 14078 Reviewed by Sam Weinig. 14079 14080 Add Frame* to the argument lists of canCopyCut and canPaste 14081 https://bugs.webkit.org/show_bug.cgi?id=59153 14082 14083 canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called. 14084 This allows editor client to grant copy/cut and paste permissions per origin. 14085 14086 * editing/EditorCommand.cpp: 14087 (WebCore::supportedCopyCut): 14088 (WebCore::supportedPaste): 14089 * loader/EmptyClients.h: 14090 (WebCore::EmptyEditorClient::canCopyCut): 14091 (WebCore::EmptyEditorClient::canPaste): 14092 * page/EditorClient.h: 14093 14094 2011-04-21 Oliver Hunt <oliver (a] apple.com> 14095 14096 Whoops, change lost during merge 14097 14098 * bindings/js/JSEventListener.h: 14099 14100 2011-04-21 Geoffrey Garen <ggaren (a] apple.com> 14101 14102 Reviewed by Sam Weinig. 14103 14104 Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to 14105 wrong global object use. 14106 14107 * bindings/js/JSHTMLDocumentCustom.cpp: 14108 (WebCore::JSHTMLDocument::nameGetter): 14109 (WebCore::JSHTMLDocument::all): 14110 * bindings/js/JSHTMLFormElementCustom.cpp: 14111 (WebCore::JSHTMLFormElement::nameGetter): Use the right global object. 14112 14113 2011-04-21 Oliver Hunt <oliver (a] apple.com> 14114 14115 Reviewed by Geoffrey Garen. 14116 14117 Start moving to a general visitor pattern for GC traversal 14118 https://bugs.webkit.org/show_bug.cgi?id=59141 14119 14120 This is just a rename: 14121 markChildren -> visitChildren 14122 markAggregate -> visitAggregate 14123 markStack -> visitor 14124 MarkStack -> typedef'd to SlotVisitor 14125 14126 * bindings/js/JSAttrCustom.cpp: 14127 (WebCore::JSAttr::visitChildren): 14128 * bindings/js/JSAudioConstructor.cpp: 14129 (WebCore::constructAudio): 14130 * bindings/js/JSCSSRuleCustom.cpp: 14131 (WebCore::JSCSSRule::visitChildren): 14132 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 14133 (WebCore::JSCSSStyleDeclaration::visitChildren): 14134 * bindings/js/JSDOMBinding.cpp: 14135 (WebCore::visitActiveObjectsForContext): 14136 (WebCore::markDOMObjectWrapper): 14137 * bindings/js/JSDOMBinding.h: 14138 * bindings/js/JSDOMGlobalObject.cpp: 14139 (WebCore::JSDOMGlobalObject::visitChildren): 14140 * bindings/js/JSDOMGlobalObject.h: 14141 * bindings/js/JSDOMImplementationCustom.cpp: 14142 (WebCore::JSDOMImplementation::visitChildren): 14143 * bindings/js/JSDOMWindowCustom.cpp: 14144 (WebCore::JSDOMWindow::visitChildren): 14145 * bindings/js/JSDOMWindowShell.cpp: 14146 (WebCore::JSDOMWindowShell::visitChildren): 14147 * bindings/js/JSDOMWindowShell.h: 14148 * bindings/js/JSDocumentCustom.cpp: 14149 (WebCore::JSDocument::visitChildren): 14150 * bindings/js/JSElementCustom.cpp: 14151 (WebCore::JSElement::visitChildren): 14152 * bindings/js/JSEventListener.cpp: 14153 (WebCore::JSEventListener::markJSFunction): 14154 * bindings/js/JSEventListener.h: 14155 * bindings/js/JSHTMLCanvasElementCustom.cpp: 14156 (WebCore::JSHTMLCanvasElement::visitChildren): 14157 * bindings/js/JSHTMLLinkElementCustom.cpp: 14158 (WebCore::JSHTMLLinkElement::visitChildren): 14159 * bindings/js/JSHTMLStyleElementCustom.cpp: 14160 (WebCore::JSHTMLStyleElement::visitChildren): 14161 * bindings/js/JSImageConstructor.cpp: 14162 (WebCore::constructImage): 14163 * bindings/js/JSJavaScriptAudioNodeCustom.cpp: 14164 (WebCore::JSJavaScriptAudioNode::visitChildren): 14165 * bindings/js/JSMessageChannelCustom.cpp: 14166 (WebCore::JSMessageChannel::visitChildren): 14167 * bindings/js/JSMessagePortCustom.cpp: 14168 (WebCore::JSMessagePort::visitChildren): 14169 * bindings/js/JSNamedNodeMapCustom.cpp: 14170 (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots): 14171 (WebCore::JSNamedNodeMap::visitChildren): 14172 * bindings/js/JSNavigatorCustom.cpp: 14173 (WebCore::JSNavigator::visitChildren): 14174 * bindings/js/JSNodeCustom.cpp: 14175 (WebCore::isObservable): 14176 (WebCore::isReachableFromDOM): 14177 (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): 14178 (WebCore::JSNode::visitChildren): 14179 * bindings/js/JSNodeCustom.h: 14180 * bindings/js/JSNodeFilterCondition.cpp: 14181 (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): 14182 * bindings/js/JSNodeFilterCondition.h: 14183 * bindings/js/JSNodeFilterCustom.cpp: 14184 (WebCore::JSNodeFilter::visitChildren): 14185 * bindings/js/JSNodeIteratorCustom.cpp: 14186 (WebCore::JSNodeIterator::visitChildren): 14187 * bindings/js/JSNodeListCustom.cpp: 14188 (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots): 14189 * bindings/js/JSProcessingInstructionCustom.cpp: 14190 (WebCore::JSProcessingInstruction::visitChildren): 14191 * bindings/js/JSSVGElementInstanceCustom.cpp: 14192 (WebCore::JSSVGElementInstance::visitChildren): 14193 * bindings/js/JSSharedWorkerCustom.cpp: 14194 (WebCore::JSSharedWorker::visitChildren): 14195 * bindings/js/JSStyleSheetCustom.cpp: 14196 (WebCore::JSStyleSheet::visitChildren): 14197 * bindings/js/JSTreeWalkerCustom.cpp: 14198 (WebCore::JSTreeWalker::visitChildren): 14199 * bindings/js/JSWebGLRenderingContextCustom.cpp: 14200 (WebCore::JSWebGLRenderingContext::visitChildren): 14201 * bindings/js/JSWebKitAnimationListCustom.cpp: 14202 (WebCore::JSWebKitAnimationList::visitChildren): 14203 * bindings/js/JSWorkerContextCustom.cpp: 14204 (WebCore::JSWorkerContext::visitChildren): 14205 * bindings/js/JSXMLHttpRequestCustom.cpp: 14206 (WebCore::JSXMLHttpRequest::visitChildren): 14207 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 14208 (WebCore::JSXMLHttpRequestUpload::visitChildren): 14209 * bindings/scripts/CodeGeneratorJS.pm: 14210 * bridge/qt/qt_instance.cpp: 14211 (JSC::Bindings::QtRuntimeObject::visitChildren): 14212 (JSC::Bindings::QtInstance::markAggregate): 14213 * bridge/qt/qt_instance.h: 14214 * bridge/qt/qt_pixmapruntime.cpp: 14215 * bridge/qt/qt_runtime.cpp: 14216 (JSC::Bindings::QtRuntimeMetaMethod::visitChildren): 14217 * bridge/qt/qt_runtime.h: 14218 * dom/EventListener.h: 14219 (WebCore::EventListener::visitJSFunction): 14220 * dom/EventTarget.h: 14221 (WebCore::EventTarget::visitJSEventListeners): 14222 * dom/Node.h: 14223 * dom/NodeFilterCondition.h: 14224 (WebCore::NodeFilterCondition::visitAggregate): 14225 * page/DOMWindow.h: 14226 * workers/WorkerContext.h: 14227 14228 2011-04-21 Beth Dakin <bdakin (a] apple.com> 14229 14230 Reviewed by Dan Bernstein. 14231 14232 https://bugs.webkit.org/show_bug.cgi?id=59048 14233 Need to track whether overlay scrollbar is currently visible and in lower- 14234 righthand corner 14235 -and corresponding- 14236 <rdar://problem/9211232> 14237 14238 Whenever we start a new ScrollbarPartAnimation, check if the scrollbar is vertical 14239 and showing (alpha of 1), and if so, call setVisibleScrollerThumbRect with the 14240 knob rect, otherwise with an empty rect. ScrollAnimatorMac has a local rect to 14241 track this value so that it can avoid sending messages across the ChromeClient to 14242 the UIProcess if the rect has not changed. 14243 * platform/mac/ScrollAnimatorMac.h: 14244 * platform/mac/ScrollAnimatorMac.mm: 14245 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): 14246 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 14247 (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect): 14248 14249 Plumbing for the chrome client. 14250 * page/ChromeClient.h: 14251 (WebCore::ChromeClient::notifyScrollerThumbIsVisibleInRect): 14252 * page/FrameView.cpp: 14253 (WebCore::FrameView::setVisibleScrollerThumbRect): 14254 * page/FrameView.h: 14255 * platform/ScrollableArea.h: 14256 (WebCore::ScrollableArea::setVisibleScrollerThumbRect): 14257 14258 New WebCoreSystemInterface function to get the knob rect. 14259 * WebCore.exp.in: 14260 * platform/mac/WebCoreSystemInterface.h: 14261 * platform/mac/WebCoreSystemInterface.mm: 14262 14263 2011-04-21 Nat Duca <nduca (a] chromium.org> 14264 14265 Reviewed by James Robinson. 14266 14267 [chromium] Fix artefacts in compositor HUD when resizing 14268 https://bugs.webkit.org/show_bug.cgi?id=58969 14269 14270 HUD was using the tiler program and not setting the texture 14271 transform. The HUD would thus draw with a texture transform based 14272 on the last tile drawn, leading sometimes to distortion. 14273 14274 * platform/graphics/chromium/LayerRendererChromium.cpp: 14275 (WebCore::LayerRendererChromium::initializeSharedObjects): 14276 (WebCore::LayerRendererChromium::cleanupSharedObjects): 14277 * platform/graphics/chromium/LayerRendererChromium.h: 14278 (WebCore::LayerRendererChromium::headsUpDisplayProgram): 14279 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 14280 (WebCore::CCHeadsUpDisplay::draw): 14281 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: 14282 14283 2011-04-21 Mike Reed <reed (a] google.com> 14284 14285 Reviewed by Kenneth Russell. 14286 14287 only return false if we actually in a skia-gpu accelerated canvas for isNativeFontRenderingAllowed 14288 https://bugs.webkit.org/show_bug.cgi?id=59024 14289 14290 No new tests. The bug (and fix) depend on enabling SKIA_GPU. When that is enabled, the bug 14291 shows all text w/o lcd rendering. This is a regression from a recent CL when we switch to 14292 calling skia::SupportsPlatformPaint. This CL fixes that. 14293 There should be no change for the default builds when SKIA_GPU is not enabled. 14294 14295 * platform/graphics/skia/PlatformContextSkia.cpp: 14296 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 14297 14298 2011-04-21 Adrienne Walker <enne (a] google.com> 14299 14300 Reviewed by James Robinson. 14301 14302 [chromium] Don't upload partially drawn tiles in the compositor 14303 https://bugs.webkit.org/show_bug.cgi?id=59112 14304 14305 Use the same set of tiles for painting as is used for updating. 14306 Before, a larger set of tiles were being uploaded, causing some to 14307 only be partially undirtied because they were not fully painted. 14308 As tiles are clear their dirty rect after being unpainted, this caused 14309 artifacts to appear when scrolling. 14310 14311 Unfortunately, no layout test can test this behavior yet because 14312 scrolling invalidations are done differently in test shell. 14313 14314 * platform/graphics/chromium/ImageLayerChromium.cpp: 14315 (WebCore::ImageLayerChromium::updateCompositorResources): 14316 * platform/graphics/chromium/LayerTilerChromium.cpp: 14317 (WebCore::LayerTilerChromium::update): 14318 (WebCore::LayerTilerChromium::uploadCanvas): 14319 (WebCore::LayerTilerChromium::updateFromPixels): 14320 * platform/graphics/chromium/LayerTilerChromium.h: 14321 14322 2011-04-21 Ben Taylor <bentaylor.solx86 (a] gmail.com> 14323 14324 Reviewed by Alexey Proskuryakov. 14325 14326 https://bugs.webkit.org/show_bug.cgi?id=58725 14327 14328 Fix a compile issue on Solaris 10 with Sun Studio 12, 14329 ternary operators (?:) must have the same types 14330 14331 * loader/DocumentLoader.cpp: 14332 (WebCore::DocumentLoader::popArchiveForSubframe): 14333 * loader/archive/ArchiveFactory.cpp: 14334 (WebCore::ArchiveFactory::create): 14335 * loader/icon/IconDatabase.cpp: 14336 (WebCore::IconDatabase::setIconDataForIconURL): 14337 * page/animation/AnimationBase.cpp: 14338 (WebCore::blendFunc): 14339 * rendering/RenderLayer.cpp: 14340 (WebCore::RenderLayer::updateScrollCornerStyle): 14341 (WebCore::RenderLayer::updateResizerStyle): 14342 * rendering/RenderScrollbar.cpp: 14343 (WebCore::RenderScrollbar::updateScrollbarPart): 14344 * rendering/RenderTextFragment.cpp: 14345 (WebCore::RenderTextFragment::RenderTextFragment): 14346 14347 2011-04-21 Mike Reed <reed (a] google.com> 14348 14349 Reviewed by Kenneth Russell. 14350 14351 [chromium, win] Multiple failures of shadow rendering layout tests 14352 https://bugs.webkit.org/show_bug.cgi?id=58772 14353 14354 No new tests. This CL fixes a regression in the following tests 14355 fast/multicol/shadow-breaking.html 14356 fast/repaint/shadow-multiple-horizontal.html 14357 fast/repaint/shadow-multiple-strict-horizontal.html 14358 fast/repaint/shadow-multiple-strict-vertical.html 14359 fast/repaint/shadow-multiple-vertical.html 14360 fast/text/shadow-translucent-fill.html 14361 fast/transforms/shadows.html 14362 svg/css/group-with-shadow.svg 14363 svg/css/shadow-changes.svg 14364 svg/css/text-shadow-multiple.xhtml 14365 transitions/svg-text-shadow-transition.html 14366 svg/css/composite-shadow-text.svg 14367 14368 14369 * platform/graphics/skia/GraphicsContextSkia.cpp: 14370 (WebCore::GraphicsContext::setPlatformShadow): 14371 14372 2011-04-21 Geoffrey Garen <ggaren (a] apple.com> 14373 14374 Try to fix the Qt build. 14375 14376 * UseJSC.cmake: 14377 * WebCore.pro: Use correct file name. 14378 14379 2011-04-21 Dirk Schulze <krit (a] webkit.org> 14380 14381 Unreviewed Qt build fix. 14382 14383 SVG feDropShadow implementation of SVG Filters 1.2 14384 https://bugs.webkit.org/show_bug.cgi?id=52513 14385 14386 * CodeGenerators.pri: 14387 14388 2011-04-21 Adrienne Walker <enne (a] google.com> 14389 14390 Reviewed by James Robinson. 14391 14392 [chromium] Clamp dirty regions on content layers to layer bounds 14393 https://bugs.webkit.org/show_bug.cgi?id=58933 14394 14395 This prevents garbage being rendered when layers are resized and a 14396 previous invalidation (now off-layer) is no longer valid. 14397 14398 * platform/graphics/chromium/ContentLayerChromium.cpp: 14399 (WebCore::ContentLayerChromium::paintContentsIfDirty): 14400 14401 2011-04-21 Roland Steiner <rolandsteiner (a] chromium.org> 14402 14403 Reviewed by Kent Tamura. 14404 14405 Bug 59012 - Shadows should be imported along with their host nodes 14406 https://bugs.webkit.org/show_bug.cgi?id=59012 14407 14408 Copy the shadow tree of an element (even on a shallow copy!). 14409 14410 Test: fast/dom/shadow/import-shadowroot.html 14411 14412 * dom/Element.cpp: 14413 (WebCore::Element::copyNonAttributeProperties): 14414 * dom/Element.h: 14415 14416 2011-04-20 Geoffrey Garen <ggaren (a] apple.com> 14417 14418 Reviewed by Oliver Hunt. 14419 14420 Removed a use of markDOMObjectWrapper: CSS Object Model 14421 https://bugs.webkit.org/show_bug.cgi?id=59057 14422 14423 This is 24 hours of my life I will never get back. Thank you, W3C. 14424 14425 * GNUmakefile.list.am: 14426 * WebCore.gypi: 14427 * WebCore.vcproj/WebCore.vcproj: 14428 * WebCore.xcodeproj/project.pbxproj: Build! 14429 14430 * bindings/js/JSCSSFontFaceRuleCustom.cpp: 14431 * bindings/js/JSCSSImportRuleCustom.cpp: 14432 * bindings/js/JSCSSMediaRuleCustom.cpp: 14433 * bindings/js/JSCSSPageRuleCustom.cpp: 14434 * bindings/js/JSCSSRuleCustom.cpp: 14435 (WebCore::JSCSSRuleOwner::isReachableFromOpaqueRoots): 14436 (WebCore::JSCSSRuleOwner::finalize): 14437 (WebCore::wrapperOwner): 14438 (WebCore::wrapperContext): 14439 (WebCore::JSCSSRule::markChildren): 14440 * bindings/js/JSCSSRuleListCustom.cpp: 14441 (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots): 14442 (WebCore::JSCSSRuleListOwner::finalize): 14443 (WebCore::wrapperOwner): 14444 (WebCore::wrapperContext): 14445 (WebCore::toJS): 14446 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 14447 (WebCore::JSCSSStyleDeclarationOwner::isReachableFromOpaqueRoots): 14448 (WebCore::JSCSSStyleDeclarationOwner::finalize): 14449 (WebCore::wrapperOwner): 14450 (WebCore::wrapperContext): 14451 (WebCore::JSCSSStyleDeclaration::markChildren): Removed custom mark functions, 14452 and replaced with use of the opaque roots system. This has the nice benefit 14453 of allowing us to eagerly recycle far more CSS wrappers and their associated 14454 DOM wrappers. 14455 14456 (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Made this function 14457 custom because it must maintain the sorrowful invariant that primitive 14458 values can be mapped back to objects that are reachable through the DOM. 14459 We maintain this invariant through an external hash table because 14460 making all primitive values bigger would be a too-large memory use 14461 penalty. Luckily, nobody uses this feature, so the cost of the hash table 14462 is no big deal. 14463 14464 (WebCore::toJS): We need a custom toJS so we can specify our own WeakHandleOwner. 14465 14466 * bindings/js/JSCSSStyleRuleCustom.cpp: Removed custom mark, as above. 14467 14468 * bindings/js/JSCSSValueCustom.cpp: 14469 (WebCore::cssValueRoots): 14470 (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots): 14471 (WebCore::JSCSSValueOwner::finalize): 14472 (WebCore::wrapperOwner): 14473 (WebCore::wrapperContext): Use the opaque roots system. Piggy-back on 14474 the external hash table filled by JSCSSStyleDeclaration::getPropertyCSSValue. 14475 14476 * bindings/js/JSDocumentCustom.cpp: 14477 (WebCore::JSDocument::markChildren): No need to mark our stylesheet list, 14478 since all style-related objects can use our opaque root to determine 14479 liveness. 14480 14481 * bindings/js/JSMediaListCustom.cpp: Added. 14482 (WebCore::JSMediaListOwner::isReachableFromOpaqueRoots): 14483 (WebCore::JSMediaListOwner::finalize): 14484 (WebCore::wrapperOwner): 14485 (WebCore::wrapperContext): 14486 (WebCore::toJS): Use the opaque roots system. 14487 14488 * bindings/js/JSNodeCustom.h: 14489 (WebCore::root): Added helpers for computing style-related roots. 14490 14491 * bindings/js/JSStyleSheetCustom.cpp: 14492 (WebCore::JSStyleSheetOwner::isReachableFromOpaqueRoots): 14493 (WebCore::JSStyleSheetOwner::finalize): 14494 (WebCore::wrapperOwner): 14495 (WebCore::wrapperContext): 14496 (WebCore::JSStyleSheet::markChildren): Use the opaque roots system instead 14497 of direct marking. 14498 14499 * bindings/js/JSStyleSheetListCustom.cpp: 14500 (WebCore::JSStyleSheetListOwner::isReachableFromOpaqueRoots): 14501 (WebCore::JSStyleSheetListOwner::finalize): 14502 (WebCore::wrapperOwner): 14503 (WebCore::wrapperContext): 14504 (WebCore::toJS): Ditto. 14505 14506 * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp: 14507 * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp: 14508 * css/CSSFontFaceRule.idl: 14509 * css/CSSImportRule.idl: No more custom mark, since we use the opaque 14510 roots system instead. 14511 14512 * css/CSSMediaRule.cpp: 14513 (WebCore::CSSMediaRule::CSSMediaRule): Fixed a bug where a media rule 14514 would incorrectly have no parent, since this got in the way of correctly 14515 computing the media rule's root. 14516 14517 * css/CSSMediaRule.idl: 14518 * css/CSSPageRule.idl: 14519 * css/CSSRuleList.idl: 14520 * css/CSSStyleDeclaration.idl: 14521 * css/CSSStyleRule.idl: 14522 * css/MediaList.idl: Match behavior changes above. 14523 14524 * css/StyleBase.cpp: 14525 (WebCore::StyleBase::node): Helper function for computing roots of the 14526 style system. This object model is pretty weird and not very well factored, 14527 but I'm pretty sure this covers all the relevant cases. 14528 14529 * css/StyleBase.h: 14530 * css/StyleSheetList.idl: 14531 * css/WebKitCSSKeyframeRule.idl: 14532 * css/WebKitCSSKeyframesRule.idl: Updated to match the behavior changes above. 14533 14534 2011-04-21 Dirk Schulze <krit (a] webkit.org> 14535 14536 Reviewed by Nikolas Zimmermann. 14537 14538 SVG feDropShadow implementation of SVG Filters 1.2 14539 https://bugs.webkit.org/show_bug.cgi?id=52513 14540 14541 This is the implementation of feDropShadow, a shorthand filter and a combination of feGaussianBlur, 14542 feOffset, feFlood and feComposite to create a drop shadow of an input effect. 14543 Creating this new filter effect makes it possible to optimize the often used workflow. ShadowBlur, with its 14544 fast blurring algorithm, is used to blur the shadow and composite operators are responsible for combining the 14545 source with different colored shadows. 14546 Shadow color and opacity can be set with the properties flood-color and flood-opacity. 14547 14548 Tests: svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html 14549 svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html 14550 svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html 14551 svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html 14552 svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html 14553 svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html 14554 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html 14555 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html 14556 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html 14557 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html 14558 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html 14559 svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html 14560 svg/filters/feDropShadow.svg 14561 14562 * Android.mk: 14563 * CMakeLists.txt: 14564 * DerivedSources.cpp: 14565 * DerivedSources.make: 14566 * GNUmakefile.list.am: 14567 * WebCore.exp.in: 14568 * WebCore.gypi: 14569 * WebCore.pro: 14570 * WebCore.vcproj/WebCore.vcproj: 14571 * WebCore.xcodeproj/project.pbxproj: 14572 * bindings/objc/DOM.mm: 14573 (WebCore::createElementClassMap): 14574 * bindings/objc/DOMSVG.h: 14575 * page/DOMWindow.idl: 14576 * platform/graphics/ShadowBlur.cpp: Added missing copyright after r84410. 14577 * platform/graphics/ShadowBlur.h: Made blurLayerImage public. 14578 * platform/graphics/filters/FEDropShadow.cpp: Added. 14579 (WebCore::FEDropShadow::FEDropShadow): 14580 (WebCore::FEDropShadow::create): 14581 (WebCore::FEDropShadow::determineAbsolutePaintRect): 14582 (WebCore::FEDropShadow::apply): 14583 (WebCore::FEDropShadow::dump): 14584 (WebCore::FEDropShadow::externalRepresentation): 14585 * platform/graphics/filters/FEDropShadow.h: Added. 14586 (WebCore::FEDropShadow::stdDeviationX): 14587 (WebCore::FEDropShadow::setStdDeviationX): 14588 (WebCore::FEDropShadow::stdDeviationY): 14589 (WebCore::FEDropShadow::setStdDeviationY): 14590 (WebCore::FEDropShadow::dx): 14591 (WebCore::FEDropShadow::setDx): 14592 (WebCore::FEDropShadow::dy): 14593 (WebCore::FEDropShadow::setDy): 14594 (WebCore::FEDropShadow::shadowColor): 14595 (WebCore::FEDropShadow::setShadowColor): 14596 (WebCore::FEDropShadow::shadowOpacity): 14597 (WebCore::FEDropShadow::setShadowOpacity): 14598 * platform/graphics/filters/FEGaussianBlur.cpp: 14599 (WebCore::FEGaussianBlur::calculateKernelSize): Make kernel calculations accessible for feDropShadow. 14600 * platform/graphics/filters/FEGaussianBlur.h: 14601 * svg/SVGAllInOne.cpp: 14602 * svg/SVGFEDropShadowElement.cpp: Added. 14603 (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement): 14604 (WebCore::SVGFEDropShadowElement::create): 14605 (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier): 14606 (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier): 14607 (WebCore::SVGFEDropShadowElement::setStdDeviation): 14608 (WebCore::SVGFEDropShadowElement::parseMappedAttribute): 14609 (WebCore::SVGFEDropShadowElement::svgAttributeChanged): 14610 (WebCore::SVGFEDropShadowElement::synchronizeProperty): 14611 (WebCore::SVGFEDropShadowElement::build): 14612 * svg/SVGFEDropShadowElement.h: Added. 14613 * svg/SVGFEDropShadowElement.idl: Added. 14614 * svg/svgtags.in: 14615 14616 2011-04-21 Roland Steiner <rolandsteiner (a] chromium.org> 14617 14618 Reviewed by Dimitri Glazkov. 14619 14620 Bug 58704 - Decide on node type for ShadowRoot 14621 https://bugs.webkit.org/show_bug.cgi?id=58704 14622 14623 Add a new node type SHADOW_ROOT_NODE. 14624 Adapt all calling sites of nodeType(). 14625 14626 Test: fast/dom/shadow/nodetype.html 14627 14628 * bindings/js/JSNodeCustom.cpp: 14629 (WebCore::createWrapperInline): 14630 * bindings/objc/DOM.mm: 14631 (kitClass): 14632 * bindings/v8/custom/V8NodeCustom.cpp: 14633 (WebCore::toV8Slow): 14634 * dom/Document.cpp: 14635 (WebCore::Document::importNode): 14636 (WebCore::Document::childTypeAllowed): 14637 (WebCore::Document::canReplaceChild): 14638 * dom/Node.cpp: 14639 (WebCore::Node::dumpStatistics): 14640 (WebCore::Node::isDefaultNamespace): 14641 (WebCore::Node::lookupPrefix): 14642 (WebCore::Node::lookupNamespaceURI): 14643 (WebCore::appendTextContent): 14644 (WebCore::Node::setTextContent): 14645 * dom/Node.h: 14646 * dom/Range.cpp: 14647 (WebCore::lengthOfContentsInNode): 14648 (WebCore::Range::processContentsBetweenOffsets): 14649 (WebCore::Range::insertNode): 14650 (WebCore::Range::checkNodeWOffset): 14651 (WebCore::Range::checkNodeBA): 14652 (WebCore::Range::selectNode): 14653 (WebCore::Range::selectNodeContents): 14654 (WebCore::Range::surroundContents): 14655 * dom/ShadowRoot.cpp: 14656 (WebCore::ShadowRoot::nodeType): 14657 * dom/Traversal.cpp: 14658 (WebCore::Traversal::acceptNode): 14659 * editing/MarkupAccumulator.cpp: 14660 (WebCore::MarkupAccumulator::appendStartMarkup): 14661 * html/parser/HTMLElementStack.cpp: 14662 (WebCore::HTMLNames::isRootNode): 14663 (WebCore::HTMLElementStack::pushRootNode): 14664 * html/parser/HTMLElementStack.h: 14665 (WebCore::isInHTMLNamespace): 14666 * xml/XPathUtil.cpp: 14667 (WebCore::XPath::isValidContextNode): 14668 14669 2011-04-20 Dimitri Glazkov <dglazkov (a] chromium.org> 14670 14671 Reviewed by Kent Tamura. 14672 14673 REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video) 14674 https://bugs.webkit.org/show_bug.cgi?id=52917 14675 14676 In order to determine whether a rule should apply inside of a shadow DOM subtree, 14677 we collect three pieces of information: 14678 14679 1) Are we parsing UA sheets? 14680 2) Does the current tree scope allows applying author sheets? 14681 3) Does the rule explicitly reach into shadow DOM (using pseudo-elements, for example)? 14682 14683 If the answer to all of these is no, we ignore the rule. 14684 14685 Test: fast/css/shadow-dom-scope.html 14686 14687 * css/CSSStyleSelector.cpp: 14688 (WebCore::MatchingUARulesScope::MatchingUARulesScope): Added a scope helper to 14689 track whether we are currently matching UA rules. 14690 (WebCore::CSSStyleSelector::matchRulesForList): Added the check for three 14691 conditions mentioned above. 14692 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added 14693 initializer for the flag, which helps us determine whether the rule 14694 explicitly reaches into shadow DOM. 14695 (WebCore::CSSStyleSelector::matchUARules): Started using the scope helper. 14696 (WebCore::CSSStyleSelector::checkSelector): Added initializing of the 14697 flag. 14698 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added setting 14699 of the flag when we encounter unknown pseudo-elements. 14700 * css/CSSStyleSelector.h: Adjusted decls. 14701 * dom/ShadowRoot.cpp: 14702 (WebCore::ShadowRoot::applyAuthorSheets): Added. 14703 * dom/ShadowRoot.h: Adjusted decls. 14704 * dom/TreeScope.cpp: 14705 (WebCore::TreeScope::applyAuthorSheets): Added. 14706 * dom/TreeScope.h: Adjusted decls. 14707 14708 2011-04-21 Levi Weintraub <leviw (a] chromium.org> 14709 14710 Reviewed by Simon Fraser. 14711 14712 position fixed element does not render properly when dynamically updated via javascript 14713 https://bugs.webkit.org/show_bug.cgi?id=54297 14714 14715 Disabling the LayoutState fast-path for fixed-position content. 14716 14717 Tests: fast/repaint/fixed-contents-changed-after-scroll.html 14718 fast/repaint/transformed-contents-changed-after-scroll.html 14719 14720 * rendering/RenderBox.cpp: 14721 (WebCore::RenderBox::computeRectForRepaint): 14722 14723 2011-04-20 Matthew Delaney <mdelaney (a] apple.com> 14724 14725 Reviewed by Maciej Stachowiak. 14726 14727 arc() should add a circle to the path when start and end angles are far enough apart 14728 https://bugs.webkit.org/show_bug.cgi?id=58934 14729 14730 Test: fast/canvas/canvas_arc_largeangles.html 14731 14732 * html/canvas/CanvasRenderingContext2D.cpp: 14733 (WebCore::CanvasRenderingContext2D::arc): 14734 14735 2011-04-20 MORITA Hajime <morrita (a] google.com> 14736 14737 Reviewed by Dimitri Glazkov. 14738 14739 Content of <summary> should be forwarded through the shadow DOM 14740 https://bugs.webkit.org/show_bug.cgi?id=58914 14741 14742 - Introduced ShadowContentElement which hosts forwarded children of <summary> 14743 - Encapsulated Node::parentNodeForRenderingAndStyle() and shouldCreateRendererFor() 14744 into NodeVisualParentLookupResult class. 14745 - The parent lookup is also aware of node forwarding. If the visual parent node has 14746 a shadow root, the node is possibly forwarded to ShadowContentElement 14747 - ShadowContentElement lookup is implemented inside ShadowRoot. 14748 14749 Tests: fast/html/details-add-summary-child-1.html 14750 fast/html/details-add-summary-child-2.html 14751 fast/html/details-remove-summary-child-1.html 14752 fast/html/details-remove-summary-child-2.html 14753 14754 * GNUmakefile.list.am: 14755 * WebCore.gypi: 14756 * WebCore.vcproj/WebCore.vcproj: 14757 * WebCore.xcodeproj/project.pbxproj: 14758 * dom/Element.cpp: 14759 (WebCore::Element::childrenChanged): 14760 * dom/Node.cpp: 14761 (WebCore::NodeRenderParentDetector::NodeRenderParentDetector): 14762 (WebCore::NodeRenderParentDetector::parentNodeForRenderingAndStyle): 14763 (WebCore::NodeRenderParentDetector::findVisualParent): 14764 (WebCore::NodeRenderParentDetector::shouldCreateRenderer): 14765 (WebCore::Node::parentNodeForRenderingAndStyle): 14766 (WebCore::Node::createRendererAndStyle): 14767 * dom/ShadowRoot.cpp: 14768 (WebCore::ShadowRoot::contentContainerFor): 14769 (WebCore::ShadowRoot::hostChildrenChanged): 14770 (WebCore::ShadowRoot::firstContentElement): 14771 * dom/ShadowRoot.h: 14772 * html/HTMLSummaryElement.cpp: 14773 (WebCore::HTMLSummaryElement::createShadowSubtree): 14774 * html/HTMLSummaryElement.h: 14775 * html/shadow/ShadowContentElement.h: Copied from Source/WebCore/dom/ShadowRoot.h. 14776 (WebCore::ShadowContentElement::ShadowContentElement): 14777 (WebCore::ShadowContentElement::isShadowBoundary): 14778 (WebCore::ShadowContentElement::createRenderer): 14779 (WebCore::ShadowContentElement::create): 14780 14781 2011-04-21 Andrey Kosyakov <caseq (a] chromium.org> 14782 14783 Reviewed by Pavel Feldman. 14784 14785 Web Inspector: fix calls to WebInspector.ObjectPropertiesSection constructor 14786 https://bugs.webkit.org/show_bug.cgi?id=59105 14787 14788 * inspector/front-end/ConsoleView.js: 14789 (WebInspector.ConsoleView.prototype._formatobject): 14790 * inspector/front-end/ExtensionPanel.js: 14791 (WebInspector.ExtensionSidebarPane.prototype._setObject): 14792 * inspector/front-end/ResourceJSONView.js: 14793 (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize): 14794 * inspector/front-end/SourceFrame.js: 14795 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 14796 (WebInspector.SourceFrame.prototype._showPopup): 14797 14798 2011-04-21 Adam Barth <abarth (a] webkit.org> 14799 14800 Remove support for CSP's frame-src. This approach causes too many 14801 extra console messages to be logged. I'm leaving in the test (which 14802 now shows failure). 14803 14804 * html/HTMLFrameElementBase.cpp: 14805 (WebCore::HTMLFrameElementBase::isURLAllowed): 14806 14807 2011-04-21 Eunsol Park <eunsol47.park (a] samsung.com> 14808 14809 Reviewed by Antonio Gomes. 14810 14811 [EFL] Scroll doesn't work on tiled backing store. 14812 https://bugs.webkit.org/show_bug.cgi?id=55021 14813 14814 It was added from Changeset 72242, but it worked wrong in EFL port. 14815 The visible rect should not be returned as content rect for scrolling in EFL tiled backing store, 14816 because it works differently from QT. 14817 14818 * platform/ScrollView.cpp: 14819 (WebCore::ScrollView::visibleContentRect): 14820 14821 2011-04-21 Simon Fraser <simon.fraser (a] apple.com> 14822 14823 Reviewed by Eric Seidel. 14824 14825 Create RIAA class for GraphicsContext::save() and restore() 14826 https://bugs.webkit.org/show_bug.cgi?id=58807 14827 14828 Use GraphicsContextStateSaver in a lot more places. 14829 14830 * html/canvas/CanvasRenderingContext2D.cpp: 14831 (WebCore::CanvasRenderingContext2D::drawImage): 14832 (WebCore::CanvasRenderingContext2D::drawTextInternal): 14833 * platform/ScrollView.cpp: 14834 (WebCore::ScrollView::wheelEvent): 14835 * platform/graphics/GeneratedImage.cpp: 14836 (WebCore::GeneratedImage::draw): 14837 * platform/graphics/GraphicsContext.h: 14838 (WebCore::GraphicsContextStateSaver::save): 14839 (WebCore::GraphicsContextStateSaver::restore): 14840 * platform/graphics/ShadowBlur.cpp: 14841 (WebCore::ShadowBlur::drawShadowBuffer): 14842 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 14843 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): 14844 (WebCore::ShadowBlur::drawInsetShadowWithTiling): 14845 (WebCore::ShadowBlur::drawRectShadowWithTiling): 14846 (WebCore::ShadowBlur::drawLayerPieces): 14847 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 14848 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): 14849 * platform/graphics/cg/ImageCG.cpp: 14850 (WebCore::BitmapImage::draw): 14851 (WebCore::Image::drawPattern): 14852 * platform/graphics/cg/PDFDocumentImage.cpp: 14853 (WebCore::PDFDocumentImage::draw): 14854 * platform/graphics/filters/FEComposite.cpp: 14855 (WebCore::FEComposite::apply): 14856 * platform/graphics/filters/SourceAlpha.cpp: 14857 (WebCore::SourceAlpha::apply): 14858 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 14859 (WebCore::MediaPlayerPrivateQTKit::paint): 14860 * platform/mac/ScrollbarThemeMac.mm: 14861 (WebCore::ScrollbarThemeMac::paint): 14862 * platform/mac/ThemeMac.mm: 14863 (WebCore::paintCheckbox): 14864 (WebCore::paintRadio): 14865 (WebCore::paintStepper): 14866 * rendering/EllipsisBox.cpp: 14867 (WebCore::EllipsisBox::paintSelection): 14868 * rendering/InlineFlowBox.cpp: 14869 (WebCore::InlineFlowBox::paintFillLayer): 14870 (WebCore::InlineFlowBox::paintBoxDecorations): 14871 (WebCore::InlineFlowBox::paintMask): 14872 * rendering/InlineTextBox.cpp: 14873 (WebCore::InlineTextBox::paint): 14874 (WebCore::InlineTextBox::paintSelection): 14875 (WebCore::InlineTextBox::paintCompositionBackground): 14876 (WebCore::InlineTextBox::paintDecoration): 14877 (WebCore::InlineTextBox::paintTextMatchMarker): 14878 * rendering/RenderBlock.cpp: 14879 (WebCore::RenderBlock::paintColumnContents): 14880 (WebCore::RenderBlock::paintSelection): 14881 * rendering/RenderBox.cpp: 14882 (WebCore::RenderBox::paintBoxDecorationsWithSize): 14883 * rendering/RenderBoxModelObject.cpp: 14884 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 14885 (WebCore::RenderBoxModelObject::paintBorder): 14886 * rendering/RenderEmbeddedObject.cpp: 14887 (WebCore::RenderEmbeddedObject::paintReplaced): 14888 * rendering/RenderFieldset.cpp: 14889 (WebCore::RenderFieldset::paintBoxDecorations): 14890 * rendering/RenderFileUploadControl.cpp: 14891 (WebCore::RenderFileUploadControl::paintObject): 14892 * rendering/RenderLayer.cpp: 14893 (WebCore::RenderLayer::paintResizer): 14894 (WebCore::RenderLayer::paintLayer): 14895 (WebCore::RenderLayer::paintChildLayerIntoColumns): 14896 * rendering/RenderListMarker.cpp: 14897 (WebCore::RenderListMarker::paint): 14898 * rendering/RenderMediaControls.cpp: 14899 (WebCore::RenderMediaControls::paintMediaControlsPart): 14900 * rendering/RenderTableCell.cpp: 14901 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 14902 * rendering/RenderTextControl.cpp: 14903 (WebCore::RenderTextControl::paintPlaceholder): 14904 * rendering/RenderThemeMac.mm: 14905 (WebCore::RenderThemeMac::paintMenuList): 14906 (WebCore::RenderThemeMac::paintMeter): 14907 (WebCore::RenderThemeMac::paintProgressBar): 14908 (WebCore::RenderThemeMac::paintMenuListButtonGradients): 14909 (WebCore::RenderThemeMac::paintMenuListButton): 14910 (WebCore::RenderThemeMac::paintSliderTrack): 14911 (WebCore::RenderThemeMac::paintSliderThumb): 14912 (WebCore::RenderThemeMac::paintSearchField): 14913 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 14914 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 14915 (WebCore::RenderThemeMac::paintMediaSliderTrack): 14916 (WebCore::RenderThemeMac::paintMediaCurrentTime): 14917 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 14918 * rendering/mathml/RenderMathMLBlock.cpp: 14919 (WebCore::RenderMathMLBlock::paint): 14920 * rendering/mathml/RenderMathMLFraction.cpp: 14921 (WebCore::RenderMathMLFraction::paint): 14922 * rendering/mathml/RenderMathMLRoot.cpp: 14923 (WebCore::RenderMathMLRoot::paint): 14924 * rendering/mathml/RenderMathMLSquareRoot.cpp: 14925 (WebCore::RenderMathMLSquareRoot::paint): 14926 * rendering/svg/RenderSVGContainer.cpp: 14927 (WebCore::RenderSVGContainer::paint): 14928 * rendering/svg/RenderSVGForeignObject.cpp: 14929 (WebCore::RenderSVGForeignObject::paint): 14930 * rendering/svg/RenderSVGImage.cpp: 14931 (WebCore::RenderSVGImage::paint): 14932 * rendering/svg/RenderSVGPath.cpp: 14933 (WebCore::RenderSVGPath::fillAndStrokePath): 14934 (WebCore::RenderSVGPath::paint): 14935 * rendering/svg/RenderSVGResourceClipper.cpp: 14936 (WebCore::RenderSVGResourceClipper::applyClippingToContext): 14937 * rendering/svg/RenderSVGResourceMarker.cpp: 14938 (WebCore::RenderSVGResourceMarker::draw): 14939 * rendering/svg/RenderSVGText.cpp: 14940 (WebCore::RenderSVGText::paint): 14941 * rendering/svg/SVGInlineFlowBox.cpp: 14942 (WebCore::SVGInlineFlowBox::paint): 14943 * rendering/svg/SVGInlineTextBox.cpp: 14944 (WebCore::SVGInlineTextBox::paintSelectionBackground): 14945 (WebCore::SVGInlineTextBox::paint): 14946 (WebCore::SVGInlineTextBox::paintDecorationWithStyle): 14947 * rendering/svg/SVGRootInlineBox.cpp: 14948 (WebCore::SVGRootInlineBox::paint): 14949 * svg/SVGFont.cpp: 14950 (WebCore::Font::drawTextUsingSVGFont): 14951 * svg/graphics/SVGImage.cpp: 14952 (WebCore::SVGImage::draw): 14953 14954 2011-04-20 Andrey Kosyakov <caseq (a] chromium.org> 14955 14956 Reviewed by Pavel Feldman. 14957 14958 Web Inspector: [Extensions API] console API is not exposed to code evaluated by sidebar.setExpression() 14959 https://bugs.webkit.org/show_bug.cgi?id=59006 14960 14961 * inspector/front-end/ExtensionPanel.js: 14962 (WebInspector.ExtensionSidebarPane.prototype.setExpression): 14963 14964 2011-04-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 14965 14966 Reviewed by Dirk Schulze. 14967 14968 Split SVGGlyphIdentifier class out of SVGGlyphElement.h 14969 https://bugs.webkit.org/show_bug.cgi?id=59101 14970 14971 Move SVGGlyphIdentifier class out of SVGGlyphElement.h, place it in platform/graphics/SVGGlyph.h 14972 and rename the contained struct to SVGGlyph. It will be used in follow-up patches that will integrate SVGGlyph & GlyphPage. 14973 14974 Several utility functions are moved from SVGFont.cpp to SVGGlyph.cpp, as that's the place where they really belong to. 14975 Renamed nameLength to unicodeStringLength in the SVGGlyph struct for clarity. 14976 14977 * Android.mk: Add SVGGlyph.cpp/h to build. 14978 * CMakeLists.txt: Ditto. 14979 * GNUmakefile.list.am: Ditto. 14980 * WebCore.gypi: Ditto. 14981 * WebCore.pro: Ditto. 14982 * WebCore.vcproj/WebCore.vcproj: Ditto. 14983 * WebCore.xcodeproj/project.pbxproj: Ditto. 14984 * platform/graphics/SVGGlyph.cpp: Copied from svg/SVGFont.cpp. Removed everything except the methods listed below, that belong here. 14985 (WebCore::processArabicFormDetection): 14986 (WebCore::charactersWithArabicForm): 14987 (WebCore::isCompatibleArabicForm): 14988 (WebCore::isCompatibleGlyph): 14989 * platform/graphics/SVGGlyph.h: Copied from svg/SVGGlyphElement.h. Renamed SVGGlyphIdentifier to SVGGlyph. 14990 (WebCore::SVGGlyph::SVGGlyph): 14991 (WebCore::SVGGlyph::operator==): 14992 * platform/graphics/SimpleFontData.cpp: Adapt for SVGGlyphIdentifier -> SVGGlyph and nameLength -> unicodeStringLength rename. 14993 (WebCore::SimpleFontData::SimpleFontData): 14994 * svg/SVGFont.cpp: Ditto. Remove helper functions that are now living in SVGGlyph.cpp 14995 (WebCore::SVGTextRunWalker::walk): 14996 (WebCore::floatWidthUsingSVGFontCallback): 14997 (WebCore::drawTextUsingSVGFontCallback): 14998 (WebCore::drawTextMissingGlyphCallback): 14999 (WebCore::Font::drawTextUsingSVGFont): 15000 * svg/SVGFontElement.cpp: Ditto. 15001 (WebCore::SVGFontElement::getGlyphIdentifiersForString): 15002 * svg/SVGFontElement.h: Ditto. 15003 * svg/SVGGlyphElement.cpp: Ditto. 15004 (WebCore::parseArabicForm): 15005 (WebCore::parseOrientation): 15006 (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes): 15007 (WebCore::parseSVGGlyphAttribute): 15008 (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier): 15009 (WebCore::SVGGlyphElement::buildGlyphIdentifier): 15010 * svg/SVGGlyphElement.h: Ditto. 15011 * svg/SVGGlyphMap.h: Ditto. 15012 (WebCore::SVGGlyphMap::add): 15013 (WebCore::SVGGlyphMap::compareGlyphPriority): 15014 (WebCore::SVGGlyphMap::get): 15015 15016 2011-04-21 Eric Carlson <eric.carlson (a] apple.com> 15017 15018 Reviewed by Dan Bernstein. 15019 15020 Live streams won't play with AVFoundation backend 15021 https://bugs.webkit.org/show_bug.cgi?id=58961 15022 rdar://problem/9284748 15023 15024 Tested manually because we don't have any live streams to test in DRT. 15025 15026 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 15027 (WebCore::MediaPlayerPrivateAVFoundation::seek): Do nothing when asked to seek to the 15028 current time. 15029 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): If the readyState is HaveEnoughData, 15030 don't revert when the new state is "ready to play" or "buffer full". 15031 (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Use new convenience function isLiveStream. 15032 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 15033 (WebCore::MediaPlayerPrivateAVFoundation::isLiveStream): New. 15034 15035 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 15036 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't use AVAsset's 15037 tracksWithMediaCharacteristic because it doesn't give us what we need with live 15038 streams. 15039 15040 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15041 15042 Reviewed by Yury Semikhatsky. 15043 15044 Web Inspector: Cookies section in empty on page re-launch. 15045 https://bugs.webkit.org/show_bug.cgi?id=59095 15046 15047 * inspector/front-end/ResourcesPanel.js: 15048 (WebInspector.ResourcesPanel.prototype._reset): 15049 (WebInspector.ResourcesPanel.prototype._frameNavigated): 15050 15051 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15052 15053 Reviewed by Yury Semikhatsky. 15054 15055 Web Inspector: rename De-obfuscate to Pretty print. 15056 https://bugs.webkit.org/show_bug.cgi?id=59093 15057 15058 * English.lproj/localizedStrings.js: 15059 * inspector/front-end/SourceFrame.js: 15060 (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu): 15061 15062 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15063 15064 Reviewed by Yury Semikhatsky. 15065 15066 Web Inspector: following Image URL link in the network panel does nothing. 15067 https://bugs.webkit.org/show_bug.cgi?id=59092 15068 15069 * inspector/front-end/ImageView.js: 15070 (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad): 15071 (WebInspector.ImageView.prototype._createContentIfNeeded): 15072 * inspector/front-end/inspector.js: 15073 (WebInspector.linkifyURLAsNode): 15074 15075 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15076 15077 Reviewed by Yury Semikhatsky. 15078 15079 Web Inspector: implement Go To Line for network panel. 15080 https://bugs.webkit.org/show_bug.cgi?id=59090 15081 15082 * inspector/front-end/GoToLineDialog.js: 15083 (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): 15084 * inspector/front-end/NetworkItemView.js: 15085 (WebInspector.NetworkItemView.prototype._tabSelected): 15086 (WebInspector.NetworkItemView.prototype._installHighlightSupport): 15087 * inspector/front-end/NetworkPanel.js: 15088 (WebInspector.NetworkPanel): 15089 * inspector/front-end/TabbedPane.js: 15090 (WebInspector.TabbedPane.prototype.appendTab): 15091 (WebInspector.TabbedPane.prototype.selectTab): 15092 * inspector/front-end/TextViewer.js: 15093 (WebInspector.TextViewer.prototype.highlightLine): 15094 15095 2011-04-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 15096 15097 Reviewed by Dirk Schulze. 15098 15099 Split GlyphPage from GlyphPageTreeNode.h into its own header 15100 https://bugs.webkit.org/show_bug.cgi?id=59096 15101 15102 * GNUmakefile.list.am: Add GlyphPage.h to build. 15103 * WebCore.gypi: Ditto. 15104 * WebCore.vcproj/WebCore.vcproj: Ditto. 15105 * WebCore.xcodeproj/project.pbxproj: Ditto. 15106 * platform/graphics/GlyphPage.h: Copied from platform/graphics/GlyphPageTreeNode.h. Removed GlyphPageTreeNode class, leaving only GlyphPage. 15107 * platform/graphics/GlyphPageTreeNode.h: Removed GlyphPage class. 15108 15109 2011-04-21 Nikolas Zimmermann <nzimmermann (a] rim.com> 15110 15111 Reviewed by Dirk Schulze. 15112 15113 Centralize typedef unsigned short Glyph in Glyph.h 15114 https://bugs.webkit.org/show_bug.cgi?id=59087 15115 15116 * GNUmakefile.list.am: Add Glyph.h to build. 15117 * WebCore.gypi: Ditto. 15118 * WebCore.vcproj/WebCore.vcproj: Ditto. 15119 * WebCore.xcodeproj/project.pbxproj: Ditto. 15120 * platform/graphics/Glyph.h: Added. 15121 * platform/graphics/GlyphBuffer.h: Include Glyph.h instead of duplicating the Glyph typedef. 15122 * platform/graphics/GlyphMetricsMap.h: Ditto. 15123 * platform/graphics/GlyphPageTreeNode.h: Ditto. 15124 15125 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15126 15127 Reviewed by Yury Semikhatsky. 15128 15129 Web Inspector: toolbar background is blank on Mac Chromium port. 15130 https://bugs.webkit.org/show_bug.cgi?id=59089 15131 15132 * inspector/front-end/inspector.css: 15133 (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): 15134 15135 2011-04-21 Pavel Feldman <pfeldman (a] chromium.org> 15136 15137 Reviewed by Yury Semikhatsky. 15138 15139 Web Inspector: add support for Go To Line in Resources panel. 15140 https://bugs.webkit.org/show_bug.cgi?id=59077 15141 15142 * inspector/front-end/CallStackSidebarPane.js: 15143 (WebInspector.CallStackSidebarPane.prototype.registerShortcuts): 15144 * inspector/front-end/GoToLineDialog.js: 15145 (WebInspector.GoToLineDialog.show): 15146 (WebInspector.GoToLineDialog.createShortcut): 15147 (WebInspector.GoToLineDialog.prototype._onKeyDown): 15148 * inspector/front-end/NetworkPanel.js: 15149 (WebInspector.NetworkPanel.prototype.handleShortcut): 15150 * inspector/front-end/Panel.js: 15151 (WebInspector.Panel): 15152 (WebInspector.Panel.prototype._restoreScrollPositions): 15153 (WebInspector.Panel.prototype.handleShortcut): 15154 (WebInspector.Panel.prototype.registerShortcuts): 15155 (WebInspector.Panel.prototype._showGoToLineDialog): 15156 * inspector/front-end/ProfilesPanel.js: 15157 (WebInspector.ProfilesPanel.prototype.handleShortcut): 15158 * inspector/front-end/ResourcesPanel.js: 15159 (WebInspector.ResourcesPanel): 15160 * inspector/front-end/ScriptsPanel.js: 15161 (WebInspector.ScriptsPanel.prototype._registerShortcuts): 15162 (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult): 15163 * inspector/front-end/inspector.js: 15164 (WebInspector._registerShortcuts): 15165 (WebInspector.documentKeyDown): 15166 15167 2011-04-21 Pavel Feldman <pfeldman (a] google.com> 15168 15169 Reviewed by Yury Semikhatsky. 15170 15171 Web Inspector: persist local resource history between inspector / browser launches. 15172 https://bugs.webkit.org/show_bug.cgi?id=58993 15173 15174 * inspector/front-end/Resource.js: 15175 (WebInspector.Resource.prototype._restoreRevisions): 15176 15177 2011-04-20 Alexander Pavlov <apavlov (a] chromium.org> 15178 15179 Reviewed by Pavel Feldman. 15180 15181 Web Inspector: Metrics pane editing and visual feedback improvements 15182 https://bugs.webkit.org/show_bug.cgi?id=58992 15183 15184 Added visual feedback when hovering over the box model components of the Metrics pane 15185 and handling of the [Page]Up/Down keys when editing the box model values. 15186 15187 * inspector/DOMNodeHighlighter.cpp: 15188 (WebCore::DOMNodeHighlighter::DrawNodeHighlight): 15189 * inspector/DOMNodeHighlighter.h: 15190 * inspector/Inspector.json: 15191 * inspector/InspectorDOMAgent.cpp: 15192 (WebCore::InspectorDOMAgent::mouseDidMoveOverElement): 15193 (WebCore::InspectorDOMAgent::highlight): 15194 (WebCore::InspectorDOMAgent::highlightDOMNode): 15195 (WebCore::InspectorDOMAgent::highlightFrame): 15196 (WebCore::InspectorDOMAgent::drawNodeHighlight): 15197 * inspector/InspectorDOMAgent.h: 15198 * inspector/front-end/CSSStyleModel.js: 15199 (WebInspector.CSSProperty.prototype.setText.callback): 15200 (WebInspector.CSSProperty.prototype.setText): 15201 (WebInspector.CSSProperty.prototype.setValue): 15202 (WebInspector.CSSProperty.prototype.setDisabled.callback): 15203 (WebInspector.CSSProperty.prototype.setDisabled): 15204 * inspector/front-end/ElementsPanel.js: 15205 (WebInspector.ElementsPanel.prototype.startEditingStyle): 15206 (WebInspector.ElementsPanel.prototype.endEditingStyle): 15207 (WebInspector.ElementsPanel.prototype._attributesUpdated): 15208 * inspector/front-end/MetricsSidebarPane.js: 15209 (WebInspector.MetricsSidebarPane): 15210 (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode): 15211 (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.getBoxRectangleElement): 15212 (WebInspector.MetricsSidebarPane.prototype._update.createBoxPartElement): 15213 (WebInspector.MetricsSidebarPane.prototype._update): 15214 (WebInspector.MetricsSidebarPane.prototype.startEditing): 15215 (WebInspector.MetricsSidebarPane.prototype._handleKeyDown): 15216 (WebInspector.MetricsSidebarPane.prototype.editingEnded): 15217 (WebInspector.MetricsSidebarPane.prototype.editingCancelled): 15218 (WebInspector.MetricsSidebarPane.prototype._applyUserInput.callback): 15219 (WebInspector.MetricsSidebarPane.prototype._applyUserInput): 15220 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 15221 * inspector/front-end/StylesSidebarPane.js: 15222 (WebInspector.StylesSidebarPane.alteredFloatNumber): 15223 (WebInspector.StylesSidebarPane.alteredHexNumber): 15224 (WebInspector.StylePropertyTreeElement.prototype): 15225 (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection): 15226 * inspector/front-end/inspector.css: 15227 (.metrics .hovered > .label): 15228 (.metrics .position): 15229 (.metrics .margin): 15230 (.metrics .margin.hovered): 15231 (.metrics .border): 15232 (.metrics .border.hovered): 15233 (.metrics .padding): 15234 (.metrics .padding.hovered): 15235 (.metrics .content): 15236 (.metrics .content.hovered): 15237 * inspector/front-end/inspector.js: 15238 (WebInspector.highlightDOMNode): 15239 15240 2011-04-21 Adam Barth <abarth (a] webkit.org> 15241 15242 Reviewed by Eric Seidel. 15243 15244 CSP report-uri is missing 15245 https://bugs.webkit.org/show_bug.cgi?id=58639 15246 15247 Our implementation of report-uri differs from what's currently in the 15248 spec. I sent the working group an email explaining why. Generally, 15249 we're using normal form encoding instead of JSON and we're sending less 15250 information to a wider set of URLs. Specifically, we send the current 15251 document's URL as well as the directive that was violated. The spec 15252 (currently) tells us to send the raw HTTP headers and the URL that 15253 caused the violation, but both of these pieces of data could contain 15254 information that's sensitive, so we omit them for now. 15255 15256 Test: http/tests/security/contentSecurityPolicy/report-uri.html 15257 15258 * loader/PingLoader.cpp: 15259 (WebCore::PingLoader::reportContentSecurityPolicyViolation): 15260 * loader/PingLoader.h: 15261 * page/ContentSecurityPolicy.cpp: 15262 (WebCore::CSPDirective::CSPDirective): 15263 (WebCore::CSPDirective::text): 15264 (WebCore::ContentSecurityPolicy::reportViolation): 15265 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 15266 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 15267 (WebCore::ContentSecurityPolicy::allowInlineScript): 15268 (WebCore::ContentSecurityPolicy::allowEval): 15269 (WebCore::ContentSecurityPolicy::allowScriptFromSource): 15270 (WebCore::ContentSecurityPolicy::allowObjectFromSource): 15271 (WebCore::ContentSecurityPolicy::allowChildFrameFromSource): 15272 (WebCore::ContentSecurityPolicy::allowImageFromSource): 15273 (WebCore::ContentSecurityPolicy::allowStyleFromSource): 15274 (WebCore::ContentSecurityPolicy::allowFontFromSource): 15275 (WebCore::ContentSecurityPolicy::allowMediaFromSource): 15276 (WebCore::ContentSecurityPolicy::parseReportURI): 15277 (WebCore::ContentSecurityPolicy::addDirective): 15278 * page/ContentSecurityPolicy.h: 15279 15280 2011-04-21 Jon Lee <jonlee (a] apple.com> 15281 15282 Reviewed by Maciej Stachowiak. 15283 15284 remove unneeded function from graphicscontext3d.cpp (59076) 15285 https://bugs.webkit.org/show_bug.cgi?id=59076 15286 <rdar://problem/9315681> 15287 15288 * platform/graphics/GraphicsContext3D.cpp: removing unused function unpackOneRowOfRGBA8ToRGBA8 15289 15290 2011-04-21 Alexey Proskuryakov <ap (a] apple.com> 15291 15292 Reviewed by Dan Bernstein. 15293 15294 REGRESSION: Korean encoding alias KSC5601 does not work 15295 https://bugs.webkit.org/show_bug.cgi?id=59075 15296 <rdar://problem/9303233> 15297 15298 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added a 15299 KSC5601 alias for KSC_5601, which effectively makes it windows-949. 15300 15301 2011-04-20 Dominic Cooney <dominicc (a] chromium.org> 15302 15303 Reviewed by Dimitri Glazkov. 15304 15305 layoutTestController can create and destroy shadow DOM 15306 https://bugs.webkit.org/show_bug.cgi?id=59058 15307 15308 Test: fast/dom/shadow/layout-tests-can-access-shadow.html 15309 15310 * WebCore.exp.in: Mac DRT needs to see Element::ensure/removeShadowRoot 15311 15312 2011-04-20 Pratik Solanki <psolanki (a] apple.com> 15313 15314 Reviewed by Ryosuke Niwa. 15315 15316 Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926 15317 15318 Fix assertions in Chromium builds. 15319 15320 * platform/graphics/Image.cpp: 15321 (WebCore::Image::drawTiled): Skia and Wx do not have proper implementations of 15322 BitmapImage::checkForSolidColor() so we shouldn't assert on those platforms. 15323 15324 2011-04-20 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 15325 15326 Reviewed by Eric Seidel. 15327 15328 [EFL] Add timeline to mediaControlsEfl.css 15329 https://bugs.webkit.org/show_bug.cgi?id=58865 15330 15331 Add timeline to mediaControlsEfl.css in order to show playing time of media 15332 content. 15333 15334 * css/mediaControlsEfl.css: 15335 (audio): 15336 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 15337 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 15338 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): 15339 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): 15340 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 15341 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 15342 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 15343 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 15344 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): 15345 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 15346 15347 2011-04-20 Simon Fraser <simon.fraser (a] apple.com> 15348 15349 Reviewed by Eric Seidel. 15350 15351 Create RIAA class for GraphicsContext::save() and restore() 15352 https://bugs.webkit.org/show_bug.cgi?id=58807 15353 15354 Make a stack-based class that can be used to save and restore 15355 the graphics state. It has conditional behavior to deal with the many cases 15356 where we decide to save/restore based on some runtime condition. 15357 15358 Change RenderBoxModelObject to use it for now; it can be used more widely 15359 once committed. 15360 15361 * platform/graphics/GraphicsContext.h: 15362 (WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver): 15363 (WebCore::GraphicsContextStateSaver::~GraphicsContextStateSaver): 15364 (WebCore::GraphicsContextStateSaver::saveState): 15365 * rendering/RenderBoxModelObject.cpp: 15366 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 15367 (WebCore::RenderBoxModelObject::paintOneBorderSide): 15368 (WebCore::RenderBoxModelObject::paintBorder): 15369 (WebCore::RenderBoxModelObject::drawBoxSideFromPath): 15370 (WebCore::RenderBoxModelObject::paintBoxShadow): 15371 15372 2011-04-20 Adam Barth <abarth (a] webkit.org> 15373 15374 Reviewed by Eric Seidel. 15375 15376 CSP frame-src is missing 15377 https://bugs.webkit.org/show_bug.cgi?id=58643 15378 15379 This is a first cut at an implementation of frame-src. There are a 15380 couple things that will need to be improved: 15381 15382 1) I don't think we're handling in-frame navigation properly. This 15383 patch only covers setting the src attribute of the frame, but I 15384 think the intent of the spec is to cover navigation as well. 15385 15386 2) The console message is printed twice, once when we try to load the 15387 frame and again when we attach the frame to the render tree. 15388 15389 I'll file bugs about these issues (blocking 15390 https://bugs.webkit.org/show_bug.cgi?id=53572) once this patch lands. 15391 15392 Tests: http/tests/security/contentSecurityPolicy/frame-src-allowed.html 15393 http/tests/security/contentSecurityPolicy/frame-src-blocked.html 15394 15395 * html/HTMLFrameElementBase.cpp: 15396 (WebCore::HTMLFrameElementBase::isURLAllowed): 15397 * page/ContentSecurityPolicy.cpp: 15398 (WebCore::ContentSecurityPolicy::allowChildFrameFromSource): 15399 (WebCore::ContentSecurityPolicy::addDirective): 15400 * page/ContentSecurityPolicy.h: 15401 15402 2011-04-20 Jia Pu <jpu (a] apple.com> 15403 15404 Reviewed by Maciej Stachowiak. 15405 15406 [Mac] Correction panel shows up at incorrect location after webpage is scrolled. 15407 https://bugs.webkit.org/show_bug.cgi?id=59052 15408 <rdar://problem/9312513> 15409 15410 Fixed a regression caused by interaction between patch for bug 57353 and patch for bug 55571. 15411 See bug webpage for detail. 15412 15413 * editing/Editor.cpp: 15414 (WebCore::Editor::selectionStartHasMarkerFor): 15415 * editing/SpellingCorrectionController.cpp: 15416 (WebCore::SpellingCorrectionController::windowRectForRange): 15417 15418 2011-04-20 Adam Barth <abarth (a] webkit.org> 15419 15420 Reviewed by Eric Seidel. 15421 15422 CSP policy violations should log to the console 15423 https://bugs.webkit.org/show_bug.cgi?id=58646 15424 15425 We now log policy violations to the JavaScript console to help 15426 developers debug what's going on with their Content-Security-Policy. 15427 15428 Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html 15429 http/tests/security/contentSecurityPolicy/javascript-url-allowed.html 15430 http/tests/security/contentSecurityPolicy/javascript-url-blocked.html 15431 http/tests/security/contentSecurityPolicy/object-src-none-allowed.html 15432 http/tests/security/contentSecurityPolicy/object-src-none-blocked.html 15433 http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html 15434 http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html 15435 http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html 15436 15437 * dom/Document.cpp: 15438 (WebCore::Document::initSecurityContext): 15439 * page/ContentSecurityPolicy.cpp: 15440 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): 15441 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 15442 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 15443 (WebCore::ContentSecurityPolicy::allowInlineScript): 15444 (WebCore::ContentSecurityPolicy::allowEval): 15445 (WebCore::ContentSecurityPolicy::allowScriptFromSource): 15446 (WebCore::ContentSecurityPolicy::allowObjectFromSource): 15447 (WebCore::ContentSecurityPolicy::allowImageFromSource): 15448 (WebCore::ContentSecurityPolicy::allowStyleFromSource): 15449 (WebCore::ContentSecurityPolicy::allowFontFromSource): 15450 (WebCore::ContentSecurityPolicy::allowMediaFromSource): 15451 (WebCore::ContentSecurityPolicy::addDirective): 15452 * page/ContentSecurityPolicy.h: 15453 (WebCore::ContentSecurityPolicy::create): 15454 15455 2011-04-20 Dan Bernstein <mitz (a] apple.com> 15456 15457 Reviewed by Maciej Stachowiak. 15458 15459 <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails 15460 https://bugs.webkit.org/show_bug.cgi?id=59046 15461 15462 Test: fast/transforms/selection-bounds-in-transformed-view.html 15463 15464 * rendering/RenderObject.cpp: 15465 (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and 15466 it has a composited layer that paints straight to the window, then translate from view coordinates 15467 to window coordinates here. 15468 * rendering/RenderView.cpp: 15469 (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root. 15470 (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating 15471 for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting, 15472 such as computing selection bounds, this function was returning the wrong results. 15473 15474 2011-04-20 Dan Bernstein <mitz (a] apple.com> 15475 15476 Reviewed by Eric Carlson. 15477 15478 <rdar://problem/9304956> media/broken-video.html crashes 15479 15480 * platform/graphics/MediaPlayer.cpp: 15481 (WebCore::nextMediaEngine): Fixed an off-by-one error. 15482 15483 2011-04-20 Eric Seidel <eric (a] webkit.org> 15484 15485 Reviewed by Adam Barth. 15486 15487 Split out isIteratorTarget from bidiNext and bidiFirst 15488 https://bugs.webkit.org/show_bug.cgi?id=59033 15489 15490 This is the first (tiny) step of many. When I tried to 15491 make larger changes to this function I broke stuff, so 15492 doing this in tiny pieces so we know it's right. 15493 15494 * rendering/InlineIterator.h: 15495 (WebCore::isIteratorTarget): 15496 (WebCore::bidiNext): 15497 (WebCore::bidiFirstSkippingInlines): 15498 (WebCore::bidiFirstNotSkippingInlines): 15499 15500 2011-04-20 Alexey Marinichev <amarinichev (a] chromium.org> 15501 15502 Reviewed by Kenneth Russell. 15503 15504 Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D. 15505 https://bugs.webkit.org/show_bug.cgi?id=59045 15506 15507 Lose context extension test might not catch this bug, more reliable 15508 way is forcing the crash of the GPU process, which is done by Chromium 15509 browser tests. 15510 15511 * platform/graphics/chromium/WebGLLayerChromium.cpp: 15512 (WebCore::WebGLLayerChromium::updateCompositorResources): 15513 (WebCore::WebGLLayerChromium::setContext): 15514 * platform/graphics/chromium/WebGLLayerChromium.h: 15515 15516 2011-04-20 Jia Pu <jpu (a] apple.com> 15517 15518 Reviewed by Maciej Stachowiak. 15519 15520 [Mac]Regression: extending word that is already marked misspelled doesn't remove misspelling underline. 15521 https://bugs.webkit.org/show_bug.cgi?id=59032 15522 <rdar://problem/9312444> 15523 15524 This fixes a regression introduced in recent refactoring work in Editor. See bug webpage for detail. 15525 15526 manual test: Source/WebCore/manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html 15527 15528 * editing/Editor.cpp: 15529 (WebCore::Editor::insertTextWithoutSendingTextEvent): 15530 * manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html: Added. 15531 15532 2011-04-20 Chris Fleizach <cfleizach (a] apple.com> 15533 15534 Reviewed by Beth Dakin. 15535 15536 CrashTracer: 301 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityRenderObject::visiblePositionForPoint const + 297 15537 https://bugs.webkit.org/show_bug.cgi?id=57405 15538 15539 The offending line in this crash was a null pointer access in 15540 m_renderer->document()->topDocument()->renderer()->view()->frameView(); 15541 It seems likely that one of those calls was invalid. I could not reproduce and there was no 15542 information on reproducible steps, hence the absence of a layout test. 15543 15544 * accessibility/AccessibilityRenderObject.cpp: 15545 (WebCore::AccessibilityRenderObject::topRenderer): 15546 (WebCore::AccessibilityRenderObject::topDocument): 15547 (WebCore::AccessibilityRenderObject::topDocumentFrameView): 15548 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 15549 * accessibility/AccessibilityRenderObject.h: 15550 15551 2011-04-20 Andy Estes <aestes (a] apple.com> 15552 15553 Reviewed by Maciej Stachowiak. 15554 15555 REGRESSION (WK2): Animated GIF stops when navigating forward, back 15556 https://bugs.webkit.org/show_bug.cgi?id=59042 15557 15558 When loading the page from the b/f cache, 15559 document()->view()->isOffscreen() returns true in 15560 RenderObject::willRenderImage(), so BitmapImage::startAnimation() 15561 returns without actually kicking off the animation. 15562 15563 In WebKit1, the ScrollView is a platform widget, so 15564 ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the 15565 ScrollView isn't a platform widget so it asks the WebCore Widget 15566 whether or not it is visible. It always returns false since 15567 setParentVisible(false) was called on the old ScrollView before 15568 navigating to a new page, but setParentVisible(true) is never called 15569 when restoring it from the back/forward cache. This is probably a 15570 long-standing bug. 15571 15572 Fix this by calling setParentVisible(true) when a cached main frame is 15573 being restored. 15574 15575 Test: fast/images/animated-gif-restored-from-bfcache.html 15576 15577 * history/CachedFrame.cpp: 15578 (WebCore::CachedFrameBase::restore): If the cached frame is the main 15579 frame, call setParentVisible(true) on the frame's view. 15580 15581 2011-04-20 Sam Weinig <sam (a] webkit.org> 15582 15583 Reviewed by Anders Carlsson. 15584 15585 WebKit2: Can't scroll page after printing on Yahoo.com and other sites 15586 <rdar://problem/9233291> 15587 https://bugs.webkit.org/show_bug.cgi?id=59049 15588 15589 * page/Frame.cpp: 15590 (WebCore::Frame::setPrinting): Match Mac WebKit1 code when ending printing, 15591 and call forceLayout() instead of forceLayoutForPagination(). 15592 15593 2011-04-20 Kenneth Russell <kbr (a] google.com> 15594 15595 Reviewed by James Robinson. 15596 15597 Reduce size of GraphicsContext3D's compiled code 15598 https://bugs.webkit.org/show_bug.cgi?id=59029 15599 15600 Changed format conversion operations to work line-by-line instead 15601 of pixel-by-pixel, and passed them as function pointers rather 15602 than template parameters. Simplified computation of source 15603 increment, since elements per row is now all that is needed. 15604 15605 These changes reduce the size of GraphicsContext3D.o in release 15606 mode on Linux from 299 KB to 53 KB. 15607 15608 No new tests. Existing layout tests cover these format conversions 15609 well, and caught one typo in the restructuring. Also ran WebGL 15610 conformance suite and other demos. 15611 15612 * platform/graphics/GraphicsContext3D.cpp: 15613 (WebCore::doUnpackingAndPacking): 15614 (WebCore::computeSourceElementsPerRow): 15615 (WebCore::doPacking): 15616 (WebCore::doFloatingPointPacking): 15617 (WebCore::GraphicsContext3D::packPixels): 15618 15619 2011-04-20 Dimitri Glazkov <dglazkov (a] chromium.org> 15620 15621 Reviewed by Kent Tamura. 15622 15623 REGRESSION(r82376): Clicking on a label, associated with a disabled input element changes state of the element. 15624 https://bugs.webkit.org/show_bug.cgi?id=59037 15625 15626 Test: fast/events/simulated-click-disabled.html 15627 15628 * dom/EventDispatcher.cpp: 15629 (WebCore::EventDispatcher::dispatchSimulatedClick): Added check for disabled element. 15630 15631 2011-04-20 Eric Seidel <eric (a] webkit.org> 15632 15633 Reviewed by Ryosuke Niwa. 15634 15635 Split bidiFirst into two functions 15636 https://bugs.webkit.org/show_bug.cgi?id=59025 15637 15638 I don't have a full understanding of the skipInlines case yet 15639 (hence it's not as pretty as the non-skipping case), but 15640 this is clearly a win, as both functions are much simpler 15641 than their combined version. 15642 15643 Both of these functions still have bad names. However the 15644 bidiNext/bidiFirst names date all the way back to revision 1 15645 of the WebKit repository. :) So I don't feel too bad keeping 15646 them for the moment. 15647 15648 * rendering/InlineIterator.h: 15649 (WebCore::bidiNext): 15650 (WebCore::bidiFirstSkippingInlines): 15651 (WebCore::bidiFirstNotSkippingInlines): 15652 * rendering/RenderBlock.cpp: 15653 (WebCore::RenderBlock::simplifiedNormalFlowLayout): 15654 * rendering/RenderBlockLineLayout.cpp: 15655 (WebCore::RenderBlock::layoutInlineChildren): 15656 (WebCore::RenderBlock::determineStartPosition): 15657 15658 2011-04-20 Jia Pu <jpu (a] apple.com> 15659 15660 Reviewed by Adele Peterson. 15661 15662 [Mac] Like autocorrection, other types of substitution need to respect undo. 15663 https://bugs.webkit.org/show_bug.cgi?id=59009 15664 <rdar://problem/8601537> 15665 15666 Similar to autocorrection, we use SpellingCorrectionCommand to carry out other types of text substitution, so that 15667 if user undoes the substitution, it will not be applied again. For CreateLinkCommand, we add marker when it's undone 15668 so that we won't automatically add link again. 15669 15670 * editing/CreateLinkCommand.h: 15671 (WebCore::CreateLinkCommand::isCreateLinkCommand): 15672 * editing/EditCommand.cpp: 15673 (WebCore::EditCommand::isCreateLinkCommand): 15674 * editing/EditCommand.h: 15675 * editing/Editor.cpp: 15676 (WebCore::Editor::unappliedEditing): 15677 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 15678 * editing/SpellingCorrectionController.cpp: 15679 (WebCore::SpellingCorrectionController::respondToAppliedEditing): 15680 (WebCore::SpellingCorrectionController::respondToUnappliedEditing): 15681 * editing/SpellingCorrectionController.h: 15682 (WebCore::SpellingCorrectionController::UNLESS_ENABLED): 15683 15684 2011-04-20 Steve Lacey <sjl (a] chromium.org> 15685 15686 Reviewed by Eric Carlson. 15687 15688 [chromium] Move Chromium media controls into own root element. 15689 https://bugs.webkit.org/show_bug.cgi?id=59018 15690 15691 No new tests as there is no functional change 15692 15693 * WebCore.gypi: 15694 * css/mediaControlsChromium.css: 15695 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): 15696 * html/shadow/MediaControlRootElementChromium.cpp: Added. 15697 Clone of html/shadow/MediaControlRootElement.cpp with all unused code removed. 15698 * html/shadow/MediaControlRootElementChromium.h: Added. 15699 15700 2011-04-20 Charlie Lee <chocobo (a] chromium.org> 15701 15702 Reviewed by Dirk Schulze. 15703 15704 LEFilter change doesn't compile on ARM neon targets 15705 https://bugs.webkit.org/show_bug.cgi?id=58671 15706 15707 Build fix for Chromium ARM/NEON platform. Added platform/graphics/filters/arm directory to build system. 15708 15709 * WebCore.gyp/WebCore.gyp: 15710 15711 2011-04-20 Xiaomei Ji <xji (a] chromium.org> 15712 15713 Reviewed by Ryosuke Niwa. 15714 15715 Continue (3rd) experiment with moving caret by word in visual order. 15716 https://bugs.webkit.org/show_bug.cgi?id=58294 15717 15718 This patch along with r82588 and r83483 implements moving caret by 15719 word in visual order. 15720 15721 The overall algorithm is: 15722 1. First get the InlineBox and offset of the pass-in VisiblePosition. 15723 2. Based on the position (left boundary, middle, right boundary) of the offset and the 15724 direction of the movement, look for visually adjacent word breaks. 15725 2.1 If the offset is the minimum offset of the box, 15726 return the rightmost word boundary in previous boxes if moving left. 15727 return the leftmost word boundary in box and next boxes if moving right. 15728 2.2 Similar for the case when offset is at the maximum offset of the box. 15729 2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 15730 or nextWordPosition based on the directionality of the box. If this word break position 15731 is also inside the same box, return it. Otherwise (the nextWordPosition or 15732 previousWordPosition is not in the same box or is at the box boundary), collect all the 15733 word breaks in the box and search for the one closest to the input "offset" based on 15734 box directionality, block directionality, and movement direction. Continue search in 15735 adjacent boxes if needed. 15736 15737 Notes: 15738 1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 15739 the input position (in the moving direction) is not available in current box, word 15740 boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 15741 word boundaries. Instead, the word boundaries are saved as a pair 15742 (VisiblePosition, offset) to avoid recomputing VisiblePosition. 15743 15744 2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block 15745 and right boundary of a word in RTL block). And word boundaries are collected using 15746 previousWordPosition() and nextWordPosition(). So when box directionality is the same as 15747 block directionality, word boundaries are collected from right to left visually in a LTR 15748 box, and word boundaries are collected from left to right visually in a RTL box. It is 15749 the other way around when box directionality is different from block directionality. 15750 15751 3. To find the right kinds of word boundaries, we must move back and forth between words 15752 in some situations. For example, if we're moving to the right in a LTR box in LTR block, 15753 we cannot simply return nextWordPosition() because it would return the right boundary 15754 of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition(). 15755 15756 4. When collecting word breaks inside a box, it first computes a start position, then 15757 collect the right kind of word breaks until it reaches the end of (or beyond) the box. 15758 In the meanwhile, it might need special handling on the rightmost or leftmost position 15759 based on the directionality of the box and block. These computations do not consider the 15760 box's bidi level. 15761 15762 * editing/visible_units.cpp: 15763 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): 15764 (WebCore::collectWordBreaksInBox): 15765 (WebCore::previousWordBoundaryInBox): 15766 (WebCore::nextWordBoundaryInBox): 15767 (WebCore::visuallyLastWordBoundaryInBox): 15768 (WebCore::leftWordBoundary): 15769 (WebCore::rightWordBoundary): 15770 (WebCore::leftWordPosition): 15771 (WebCore::rightWordPosition): 15772 15773 2011-04-20 Cris Neckar <cdn (a] chromium.org> 15774 15775 Reviewed by Dirk Schulze. 15776 15777 Return early when the paint rect and the source rect do not overlap as no bytes need to be copied. 15778 https://bugs.webkit.org/show_bug.cgi?id=57885 15779 15780 Test: svg/filters/svg-transform-blur-crash.xhtml 15781 15782 * platform/graphics/filters/FilterEffect.cpp: 15783 (WebCore::FilterEffect::copyImageBytes): 15784 15785 2011-04-20 Jian Li <jianli (a] chromium.org> 15786 15787 Reviewed by Kenneth Russell. 15788 15789 Support DataView in workers 15790 https://bugs.webkit.org/show_bug.cgi?id=59014 15791 15792 Test: fast/canvas/webgl/worker-data-view-test.html 15793 15794 * workers/WorkerContext.idl: Expose DataView constructor. 15795 15796 2011-04-20 Chris Marrin <cmarrin (a] apple.com> 15797 15798 Reviewed by Adam Roben. 15799 15800 REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs 15801 https://bugs.webkit.org/show_bug.cgi?id=57868 15802 15803 Running CACFAnimations aren't remembered when layer tree is unparented and 15804 then reparented. Added a new ensureAnimationsSubmitted function to 15805 PlatformCALayer to traverse the tree and resubmit animations, setting the 15806 beginTime to the original start time of the animation. This is called in WK2 15807 when layer tree is newly parented. 15808 15809 I also consolidated currentTimeToMediaTime into PlatformCALayer so it can be shared 15810 between PlatformCALayer and GraphicsLayerCA. 15811 15812 * platform/graphics/ca/GraphicsLayerCA.cpp: 15813 * platform/graphics/ca/PlatformCAAnimation.h: 15814 Remember actual animation start time in CACFAnimation beginTime property 15815 * platform/graphics/ca/PlatformCALayer.h: 15816 New ensureAnimationsSubmitted function which traverses layers and resubmits all animations 15817 * platform/graphics/ca/mac/PlatformCALayerMac.mm: 15818 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 15819 15820 2011-04-20 Eric Carlson <eric.carlson (a] apple.com> 15821 15822 Reviewed by Dan Bernstein. 15823 15824 Adopt QTKit API for listing and deleting file in its media cache. 15825 <rdar://problem/9130029> 15826 https://bugs.webkit.org/show_bug.cgi?id=58795 15827 15828 Not possible to test automatically, verified manually. 15829 15830 * WebCore.exp.in: Export new media download cache functions. 15831 15832 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 15833 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 15834 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register cache management functions. 15835 (WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): New, return cache origins. 15836 (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): New, empty the media cache. 15837 (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): New, delete files in the media 15838 cache for one origin. 15839 15840 * platform/mac/WebCoreSystemInterface.h: Add new WKSI functions. 15841 * platform/mac/WebCoreSystemInterface.mm: Ditto. 15842 15843 2011-04-20 Dirk Schulze <krit (a] webkit.org> 15844 15845 Reviewed by Simon Fraser. 15846 15847 SVG feDropShadow implementation of SVG Filters 1.2 15848 https://bugs.webkit.org/show_bug.cgi?id=52513 15849 15850 Support different radii for horizontal and vertical blurring in ShadowBlur. This is a preperation for feDropShadow. 15851 feDropShadow is a new shorthand filter effect for the up-comming Filter 1.0 specification and will use ShadowBlur. 15852 feGaussianBlur might make use of ShadowBlur as well later (on SourceAlpha input). 15853 Added ShadowBlur to remaining platforms. 15854 15855 The changes can't be tested before the changes in feGaussianBlur or feDropShadow. Current behavior is not affected. 15856 15857 * Android.mk: 15858 * CMakeLists.txt: 15859 * GNUmakefile.list.am: 15860 * WebCore.pro: 15861 * platform/graphics/FloatSize.h: 15862 (WebCore::FloatSize::scale): 15863 * platform/graphics/ShadowBlur.cpp: 15864 (WebCore::ScratchBuffer::ScratchBuffer): 15865 (WebCore::ScratchBuffer::setLastShadowValues): 15866 (WebCore::ScratchBuffer::setLastInsetShadowValues): 15867 (WebCore::ScratchBuffer::matchesLastShadow): 15868 (WebCore::ScratchBuffer::matchesLastInsetShadow): 15869 (WebCore::ScratchBuffer::clearScratchBuffer): 15870 (WebCore::ShadowBlur::ShadowBlur): 15871 (WebCore::calculateLobes): 15872 (WebCore::ShadowBlur::blurLayerImage): 15873 (WebCore::ShadowBlur::adjustBlurRadius): 15874 (WebCore::ShadowBlur::calculateLayerBoundingRect): 15875 (WebCore::computeSliceSizesFromRadii): 15876 (WebCore::ShadowBlur::templateSize): 15877 (WebCore::ShadowBlur::drawInsetShadowWithTiling): 15878 (WebCore::ShadowBlur::drawRectShadowWithTiling): 15879 (WebCore::ShadowBlur::drawLayerPieces): 15880 * platform/graphics/ShadowBlur.h: 15881 * platform/graphics/cg/GraphicsContextCG.cpp: 15882 (WebCore::GraphicsContext::fillRect): 15883 (WebCore::GraphicsContext::fillRoundedRect): 15884 (WebCore::GraphicsContext::fillRectWithRoundedHole): 15885 15886 2011-04-19 Roland Steiner <rolandsteiner (a] chromium.org> 15887 15888 Reviewed by Dimitri Glazkov. 15889 15890 Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree 15891 https://bugs.webkit.org/show_bug.cgi?id=52963 15892 15893 .) Change base class of ShadowRoot from DocumentFragment to TreeScope. 15894 .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.). 15895 .) Merged setTreeScope() with setTreeScopeRecursively() 15896 .) Call setTreeScopeRecursively in DOM manipulation functions where applicable. 15897 .) Adapt JavaScript Node wrappers (temporary code - see https://bugs.webkit.org/show_bug.cgi?id=58704). 15898 15899 No new tests. (refactoring) 15900 15901 * bindings/js/JSNodeCustom.cpp: 15902 (WebCore::createWrapperInline): 15903 * bindings/v8/custom/V8NodeCustom.cpp: 15904 (WebCore::toV8Slow): 15905 * dom/ContainerNode.cpp: 15906 (WebCore::ContainerNode::takeAllChildrenFrom): 15907 (WebCore::ContainerNode::removeBetween): 15908 (WebCore::ContainerNode::removeChildren): 15909 (WebCore::ContainerNode::parserAddChild): 15910 * dom/Document.cpp: 15911 (WebCore::Document::Document): 15912 (WebCore::Document::~Document): 15913 (WebCore::Document::setDocType): 15914 * dom/Element.h: 15915 * dom/Node.cpp: 15916 (WebCore::Node::treeScope): 15917 (WebCore::Node::setTreeScopeRecursively): 15918 * dom/Node.h: 15919 (WebCore::Node::document): 15920 * dom/ShadowRoot.cpp: 15921 (WebCore::ShadowRoot::ShadowRoot): 15922 (WebCore::ShadowRoot::~ShadowRoot): 15923 (WebCore::ShadowRoot::nodeType): 15924 (WebCore::ShadowRoot::cloneNode): 15925 (WebCore::ShadowRoot::childTypeAllowed): 15926 * dom/ShadowRoot.h: 15927 (WebCore::toShadowRoot): 15928 * dom/TreeScope.cpp: 15929 (WebCore::TreeScope::TreeScope): 15930 (WebCore::TreeScope::setParentTreeScope): 15931 * dom/TreeScope.h: 15932 * rendering/RenderSlider.cpp: 15933 15934 2011-04-20 Vsevolod Vlasov <vsevik (a] chromium.org> 15935 15936 Reviewed by Pavel Feldman. 15937 15938 Web Inspector: Update front-end files list in WebCore.vcproj 15939 https://bugs.webkit.org/show_bug.cgi?id=58896 15940 15941 * WebCore.vcproj/WebCore.vcproj: 15942 15943 2011-04-20 Dimitri Glazkov <dglazkov (a] chromium.org> 15944 15945 Qt build fix after r84380. 15946 15947 * css/CSSPrimitiveValueMappings.h: Moved EBorderCollapse-related casts from under ENABLE(SVG) guard. 15948 15949 2011-04-20 Carlos Garcia Campos <cgarcia (a] igalia.com> 15950 15951 Reviewed by Martin Robinson. 15952 15953 [GTK] Build libWebCore with the gtk sources too 15954 https://bugs.webkit.org/show_bug.cgi?id=58968 15955 15956 In some cases webcore files are compiled twice, so it improves the 15957 build time. 15958 15959 * GNUmakefile.am: Add webcore gtk sources to libWebCore sources. 15960 15961 2011-04-20 Luke Macpherson <macpherson (a] chromium.org> 15962 15963 Reviewed by Dimitri Glazkov. 15964 15965 Allow casting between CSSPrimitiveValue and EBorderCollapse to remove special-case logic from CSSStyleSelector. 15966 https://bugs.webkit.org/show_bug.cgi?id=58964 15967 15968 No new tests as no new functionality added. 15969 15970 * css/CSSPrimitiveValueMappings.h: 15971 Support casting to/from EBorderCollapse. 15972 * css/CSSStyleSelector.cpp: 15973 Use new casting ability to simplify code. 15974 * rendering/style/RenderStyle.h: 15975 Use EBorderCollapse instead of a bool for representing border collapse member variable. 15976 * rendering/style/RenderStyleConstants.h: 15977 Added EBorderCollapse enum. 15978 15979 2011-04-19 Stephen White <senorblanco (a] chromium.org> 15980 15981 Reviewed by Kenneth Russell. 15982 15983 Move and rename GLES2Canvas. 15984 https://bugs.webkit.org/show_bug.cgi?id=58927 15985 15986 Move GLES2Canvas to platform/graphcs/gpu, where all the other 15987 gpu-related files live, and rename it to GraphicsContextGPU to better 15988 reflect its purpose. 15989 15990 Covered by existing tests. 15991 15992 * WebCore.gypi: 15993 * platform/graphics/chromium/GLES2Canvas.cpp: 15994 * platform/graphics/chromium/GLES2Canvas.h: 15995 * platform/graphics/skia/GraphicsContextSkia.cpp: 15996 (WebCore::GraphicsContext::fillPath): 15997 (WebCore::GraphicsContext::setPlatformShadow): 15998 * platform/graphics/skia/ImageBufferSkia.cpp: 15999 * platform/graphics/skia/ImageSkia.cpp: 16000 (WebCore::drawBitmapGLES2): 16001 * platform/graphics/skia/PlatformContextSkia.cpp: 16002 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 16003 * platform/graphics/skia/PlatformContextSkia.h: 16004 (WebCore::PlatformContextSkia::gpuCanvas): 16005 16006 2011-04-20 Benjamin Poulain <benjamin.poulain (a] nokia.com> 16007 16008 Reviewed by Andreas Kling. 16009 16010 [Qt] Clean the style of our cookie methods 16011 https://bugs.webkit.org/show_bug.cgi?id=58987 16012 16013 Got rid of the variables named "u" in favor just converting the url when needed. 16014 16015 * platform/qt/CookieJarQt.cpp: 16016 (WebCore::setCookies): The variable p was unused. 16017 The ::toAscii() depends on the default codec, use toLatin1() instead. 16018 (WebCore::cookies): foreach() should use const reference. 16019 (WebCore::cookieRequestHeaderFieldValue): 16020 16021 2011-04-19 Mihai Parparita <mihaip (a] chromium.org> 16022 16023 Reviewed by Adam Barth. 16024 16025 ScriptController.h is included in too many places 16026 https://bugs.webkit.org/show_bug.cgi?id=58963 16027 16028 Remove ScriptController.h #includes from a bunch of .cpp files where it 16029 doesn't appear to be necessary. 16030 16031 * bindings/js/JSCustomPositionCallback.cpp: 16032 * bindings/js/JSCustomPositionErrorCallback.cpp: 16033 * bindings/js/JSCustomVoidCallback.cpp: 16034 * bindings/js/JSCustomXPathNSResolver.cpp: 16035 * bindings/js/JSDOMWindowBase.cpp: 16036 * bindings/js/JSDOMWindowShell.cpp: 16037 * bindings/js/JSDocumentCustom.cpp: 16038 * bindings/js/ScriptDebugServer.cpp: 16039 * bindings/v8/NPV8Object.cpp: 16040 * bindings/v8/ScriptCachedFrameData.cpp: 16041 * bindings/v8/V8DOMWindowShell.cpp: 16042 * bindings/v8/V8DOMWrapper.cpp: 16043 * bindings/v8/V8IsolatedContext.cpp: 16044 * bindings/v8/V8Proxy.cpp: 16045 * bindings/v8/custom/V8LocationCustom.cpp: 16046 * dom/Node.cpp: 16047 * dom/ScriptElement.cpp: 16048 * dom/XMLDocumentParser.cpp: 16049 * dom/XMLDocumentParserQt.cpp: 16050 * html/HTMLEmbedElement.cpp: 16051 * html/HTMLObjectElement.cpp: 16052 * html/HTMLPlugInElement.cpp: 16053 * html/parser/HTMLConstructionSite.cpp: 16054 * html/parser/HTMLTreeBuilder.cpp: 16055 * inspector/InspectorProfilerAgent.cpp: 16056 * loader/icon/IconDatabase.cpp: 16057 * page/Chrome.cpp: 16058 * page/Navigator.cpp: 16059 * page/Page.cpp: 16060 * plugins/PluginView.cpp: 16061 * plugins/gtk/PluginViewGtk.cpp: 16062 * plugins/qt/PluginViewQt.cpp: 16063 * plugins/symbian/PluginViewSymbian.cpp: 16064 * plugins/win/PluginViewWin.cpp: 16065 * svg/SVGDocumentExtensions.cpp: 16066 * xml/XMLTreeViewer.cpp: 16067 16068 2011-04-20 Pavel Feldman <pfeldman (a] google.com> 16069 16070 Reviewed by Yury Semikhatsky. 16071 16072 Web Inspector: add Save As to the Resources panel context menu. 16073 https://bugs.webkit.org/show_bug.cgi?id=58983 16074 16075 * English.lproj/localizedStrings.js: 16076 * inspector/front-end/ResourcesPanel.js: 16077 (WebInspector.FrameResourceTreeElement.prototype.onattach): 16078 (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent.save): 16079 (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent): 16080 (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save): 16081 (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent): 16082 16083 2011-04-20 Balazs Kelemen <kbalazs (a] webkit.org> 16084 16085 Reviewed by Csaba Osztrogonc. 16086 16087 [Qt] Cleanup includepath adjustment for generated files 16088 https://bugs.webkit.org/show_bug.cgi?id=58869 16089 16090 Build cleanup, no new tests. 16091 16092 * WebCore.pri: Add the directory of generated files to the include path 16093 with absolute path to make it valid in the final build step. Remove 16094 unnecessary logic. 16095 16096 2011-04-20 Mariusz Grzegorczyk <mariusz.g (a] samsung.com> 16097 16098 Reviewed by Andreas Kling. 16099 16100 [EFL] Initializing m_window member field in PluginView.cpp for efl port 16101 https://bugs.webkit.org/show_bug.cgi?id=58311 16102 16103 No new tests needed: only initializing class member. 16104 16105 * plugins/PluginView.cpp: 16106 (WebCore::PluginView::PluginView): 16107 16108 2011-04-20 Pavel Feldman <pfeldman (a] google.com> 16109 16110 Not reviewed: fix Leopard compile. 16111 16112 * inspector/InspectorFrontendClient.h: 16113 * inspector/InspectorFrontendClientLocal.h: 16114 (WebCore::InspectorFrontendClientLocal::saveAs): 16115 16116 2011-04-20 Pavel Feldman <pfeldman (a] google.com> 16117 16118 Reviewed by Yury Semikhatsky. 16119 16120 Web Inspector: add saveAs into the InspectorFrontendHost binding. 16121 https://bugs.webkit.org/show_bug.cgi?id=58979 16122 16123 * English.lproj/localizedStrings.js: 16124 * inspector/InspectorFrontendClient.h: 16125 (WebCore::InspectorFrontendClient::saveAs): 16126 (WebCore::InspectorFrontendClient::saveSessionSetting): 16127 (WebCore::InspectorFrontendClient::loadSessionSetting): 16128 * inspector/InspectorFrontendHost.cpp: 16129 (WebCore::InspectorFrontendHost::saveAs): 16130 * inspector/InspectorFrontendHost.h: 16131 * inspector/InspectorFrontendHost.idl: 16132 * inspector/front-end/InspectorFrontendHostStub.js: 16133 (.WebInspector.InspectorFrontendHostStub.prototype.saveAs.fr.onload): 16134 (.WebInspector.InspectorFrontendHostStub.prototype.saveAs): 16135 * inspector/front-end/NetworkPanel.js: 16136 (WebInspector.NetworkPanel.prototype._contextMenu): 16137 (WebInspector.NetworkPanel.prototype._copyAll): 16138 (WebInspector.NetworkPanel.prototype._copyResource): 16139 (WebInspector.NetworkPanel.prototype._exportAll): 16140 (WebInspector.NetworkPanel.prototype._exportResource): 16141 * inspector/front-end/Settings.js: 16142 * inspector/front-end/utilities.js: 16143 (): 16144 16145 2011-04-20 Yury Semikhatsky <yurys (a] chromium.org> 16146 16147 Reviewed by Tony Gentilcore. 16148 16149 Error event in <script> element shouldn't bubble 16150 https://bugs.webkit.org/show_bug.cgi?id=51040 16151 16152 Test: svg/dom/SVGScriptElement/script-onerror-bubbling.svg 16153 16154 * dom/ScriptElement.cpp: 16155 (WebCore::ScriptElement::dispatchErrorEvent): the method now has same implementation for all script 16156 elements, script load error event doesn' bubble. 16157 * dom/ScriptElement.h: 16158 * html/HTMLScriptElement.cpp: 16159 * html/HTMLScriptElement.h: 16160 * html/parser/HTMLScriptRunner.cpp: 16161 (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): 16162 * svg/SVGScriptElement.cpp: 16163 (WebCore::SVGScriptElement::parseMappedAttribute): SVG script element now supports onerror 16164 hanlder which behaves the same way as onerror in HTML script element: it's invoked when 16165 script loading fails and the event doesn't bubble. 16166 * svg/SVGScriptElement.h: 16167 16168 2011-04-20 Pavel Feldman <pfeldman (a] google.com> 16169 16170 Reviewed by Yury Semikhatsky. 16171 16172 Web Inspector: minor protocol cleanups (refined types). 16173 https://bugs.webkit.org/show_bug.cgi?id=58970 16174 16175 * inspector/InjectedScriptSource.js: 16176 * inspector/Inspector.json: 16177 16178 2011-04-20 Leo Yang <leo.yang (a] torchmobile.com.cn> 16179 16180 Reviewed by Eric Seidel. 16181 16182 Leaks beneath RenderSVGShadowTreeRootContainer::updateFromElement seen on SnowLeopard Intel Leaks 16183 https://bugs.webkit.org/show_bug.cgi?id=56672 16184 16185 ~RenderSVGShadowTreeRootContainer() cleared shadow host only if 16186 the shadow root is attached. This is wrong because it will 16187 leak shadow root when the root is not attached. For example, it 16188 leaks shadow root of <use> element which is pending on resource. 16189 16190 This patch is clearing shadow host if m_shadowRoot is valid to 16191 prevent leaking. 16192 16193 Fixing leaking, no new tests. 16194 16195 * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: 16196 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): 16197 16198 2011-04-19 Maciej Stachowiak <mjs (a] apple.com> 16199 16200 Reviewed by Antti Koivisto. 16201 16202 Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent 16203 https://bugs.webkit.org/show_bug.cgi?id=58868 16204 16205 I could not figure out how to make a test. 16206 16207 * rendering/RenderLayer.cpp: 16208 (WebCore::RenderLayer::paintLayer): Check for existence of a 16209 parent before calling a method on it. 16210 16211 2011-04-20 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 16212 16213 Reviewed by Daniel Bates. 16214 16215 [EFL] Add current time to media control panel. 16216 https://bugs.webkit.org/show_bug.cgi?id=58866 16217 16218 Implement paintMediaCurrentTime() to show playing time of media content. 16219 16220 * platform/efl/RenderThemeEfl.cpp: 16221 (WebCore::RenderThemeEfl::RenderThemeEfl): 16222 (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime): 16223 (WebCore::RenderThemeEfl::paintMediaCurrentTime): 16224 * platform/efl/RenderThemeEfl.h: 16225 16226 2011-04-19 Jungshik Shin <jshin (a] chromium.org> 16227 16228 Reviewed by Adam Barth 16229 16230 Update the list of Unicode blocks to treat as complex scripts 16231 per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks) 16232 go through the complex script code path. 16233 16234 Test: fast/text/ipa-tone-letters.html 16235 16236 http://bugs.webkit.org/show_bug.cgi?id=39799 16237 16238 * platform/graphics/Font.cpp: 16239 (WebCore::Font::codePath): 16240 16241 2011-04-19 Pratik Solanki <psolanki (a] apple.com> 16242 16243 Reviewed by Simon Fraser. 16244 16245 Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926 16246 16247 Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when 16248 trying to paint GeneratedImages. 16249 16250 * platform/graphics/Image.cpp: 16251 (WebCore::Image::drawTiled): 16252 * platform/graphics/cg/ImageCG.cpp: 16253 (WebCore::Image::drawPattern): 16254 16255 2011-04-19 Simon Fraser <simon.fraser (a] apple.com> 16256 16257 Fix 32-bit builds. 16258 16259 * rendering/RenderBox.cpp: 16260 (WebCore::RenderBox::determineBackgroundBleedAvoidance): 16261 * rendering/RenderBoxModelObject.cpp: 16262 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 16263 16264 2011-04-19 Naoki Takano <takano.naoki (a] gmail.com> 16265 16266 Reviewed by Kent Tamura. 16267 16268 [Chromium]UI polishes and tweaks to Autofill dropdown menu. 16269 https://bugs.webkit.org/show_bug.cgi?id=58505 16270 http://code.google.com/p/chromium/issues/detail?id=51077 16271 16272 No new tests. Because this is autofill looking problem in Chromium. 16273 Add m_menuType as PopupMenuStyle to change popup style change. 16274 Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup. 16275 Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup. 16276 Change the line height of separator as only the piece if m_menuType is AutofillPopup. 16277 Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup. 16278 16279 * platform/PopupMenuStyle.h: Add enum PopupMenuType; 16280 (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType. 16281 (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value. 16282 * platform/chromium/PopupMenuChromium.cpp: 16283 (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc. 16284 Change the edge padding according to menuStyle(). 16285 (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height. 16286 16287 2011-04-19 Simon Fraser <simon.fraser (a] apple.com> 16288 16289 Reviewed by Dan Bernstein. 16290 16291 background color of elements with border-radius shows around outer edge of border at corners 16292 https://bugs.webkit.org/show_bug.cgi?id=21819 16293 16294 When drawing a background followed by a border with the same rounded 16295 clip, some border color leaks out because of antialiasing. 16296 16297 Fix this by using two different strategies depending on the colors. 16298 If the border is opaque on all sides, we can inset the background by 16299 a device pixel. If not, then we have to draw the unclipped background 16300 and border into a transparency layer, and then clip that. 16301 16302 A futher possible solution is mentioned in a comment in 16303 determineBackgroundBleedAvoidance() but not yet implemented. 16304 16305 Also don't try to paint shadows with zero offset, spread and blur. 16306 16307 Test: fast/backgrounds/background-leakage.html, 16308 fast/backgrounds/background-leakage-transforms.html 16309 16310 * rendering/RenderBoxModelObject.h: 16311 Add a BackgroundBleedAvoidance enum with a value for each 16312 strategy. 16313 * rendering/RenderBoxModelObject.cpp: 16314 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 16315 Pass BackgroundBleedAvoidance, bail early if the border rect is empty. 16316 If using the transparency layer solution, don't bother to clip 16317 to the rounded rect for the background. If the strategy is to 16318 shrink the background, do that. 16319 (WebCore::BorderEdge::BorderEdge): 16320 (WebCore::BorderEdge::obscuresBackgroundEdge): 16321 Helper method to determine if this border side will totally 16322 obscured by the border edge, allowing us to inset it. 16323 (WebCore::RenderBoxModelObject::paintOneBorderSide): 16324 Pass BackgroundBleedAvoidance through. 16325 (WebCore::RenderBoxModelObject::paintBorderSides): 16326 Ditto. 16327 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): 16328 Ditto. 16329 (WebCore::RenderBoxModelObject::paintBorder): 16330 Fill BorderEdges using getBorderEdgeInfo now. 16331 Don't clip to the rounded border if we are using the 16332 transparency layer solution. 16333 (WebCore::RenderBoxModelObject::drawBoxSideFromPath): 16334 Pass bleedAvoidance through, and use it for double borders. 16335 (WebCore::RenderBoxModelObject::getBorderEdgeInfo): 16336 Helper to fill in the BorderEdge array. 16337 (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge): 16338 Used to determine if we can use the background shrinkage solution. 16339 (WebCore::RenderBoxModelObject::paintBoxShadow): 16340 Don't paint shadows that should not be visible. 16341 16342 * rendering/RenderBox.h: 16343 * rendering/RenderBox.cpp: 16344 (WebCore::RenderBox::paintRootBoxFillLayers): 16345 Pass BackgroundBleedNone for the root box. 16346 16347 (WebCore::RenderBox::determineBackgroundBleedAvoidance): 16348 Determine which bleed strategy we can use. 16349 16350 (WebCore::RenderBox::paintBoxDecorationsWithSize): 16351 Based on the bleedAvoidance, make a transparency layer 16352 which will be clipped to the rounded border outside edge, 16353 and pass bleedAvoidance to the background and border-painting 16354 methods. 16355 (WebCore::RenderBox::paintMaskImages): 16356 Use BackgroundBleedNone. 16357 (WebCore::RenderBox::paintFillLayers): 16358 (WebCore::RenderBox::paintFillLayer): 16359 Pass bleedAvoidance through. 16360 16361 * rendering/InlineFlowBox.cpp: 16362 (WebCore::InlineFlowBox::paintFillLayer): 16363 (WebCore::InlineFlowBox::paintBoxDecorations): 16364 Pass BackgroundBleedNone. At some point we may want to do the right 16365 thing for split inlines. 16366 16367 * rendering/RenderFieldset.cpp: 16368 (WebCore::RenderFieldset::paintBoxDecorations): 16369 * rendering/RenderTableCell.cpp: 16370 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 16371 Pass BackgroundBleedNone. 16372 16373 2011-04-19 Yuta Kitamura <yutak (a] chromium.org> 16374 16375 Reviewed by Alexey Proskuryakov. 16376 16377 WebSocket: Add assertion for SocketStreamError::failingURL. 16378 https://bugs.webkit.org/show_bug.cgi?id=58765 16379 16380 No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this. 16381 16382 * websockets/WebSocketChannel.cpp: 16383 (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as 16384 m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError 16385 using zero- or one-argument constructor (which is old version but some ports are still using it). 16386 In that case, m_handshake.url() is passed to addMessage(). 16387 16388 2011-04-19 Eric Carlson <eric.carlson (a] apple.com> 16389 16390 Reviewed by Dimitri Glazkov. 16391 16392 Media controls status display should not be hidden for live streams 16393 https://bugs.webkit.org/show_bug.cgi?id=58952 16394 16395 Tested manually because we don't have any live streams to test in DRT. 16396 16397 * html/shadow/MediaControlElements.cpp: 16398 (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until 16399 there is something to display (readyState exceeds HAVE_METADATA). 16400 * html/shadow/MediaControlRootElement.cpp: 16401 (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for 16402 live streams. 16403 16404 2011-04-19 Julien Chaffraix <jchaffraix (a] codeaurora.org> 16405 16406 Reviewed by Alexey Proskuryakov. 16407 16408 https://bugs.webkit.org/show_bug.cgi?id=45425 16409 HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting 16410 16411 Test: fast/html/htmllink-disable.html 16412 Test: fast/dom/HTMLLinkElement/disabled-attribute.html 16413 16414 Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet. 16415 16416 Based on previous work by Bijan Amirzada <bijana (a] codeaurora.org>. 16417 16418 * html/HTMLLinkElement.cpp: 16419 (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or 16420 false if we don't have a stylesheet. 16421 (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or 16422 ignore the call if we don't have a stylesheet. 16423 * html/HTMLLinkElement.h: 16424 * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5. 16425 This matches the way FF4, Opera and IE9 handle the attribute. 16426 16427 2011-04-19 Ryosuke Niwa <rniwa (a] webkit.org> 16428 16429 Reviewed by Eric Seidel. 16430 16431 Remove calls to deprecatedOffset and deprecatedNode in TypingCommand 16432 https://bugs.webkit.org/show_bug.cgi?id=58569 16433 16434 Removed all calls to deprecatedOffset and deprecatedNode. 16435 16436 * editing/TypingCommand.cpp: 16437 (WebCore::TypingCommand::insertText): 16438 (WebCore::TypingCommand::deleteKeyPressed): 16439 (WebCore::TypingCommand::forwardDeleteKeyPressed): 16440 16441 2011-04-19 Adrienne Walker <enne (a] google.com> 16442 16443 Reviewed by Kenneth Russell. 16444 16445 [chromium] Initialize depth mask to known value before getBooleanv call 16446 https://bugs.webkit.org/show_bug.cgi?id=58948 16447 16448 This trips an assert in the GPU command buffer client code if the 16449 pointed-to value is not initialized to 0 or -1. 16450 16451 * platform/graphics/gpu/DrawingBuffer.cpp: 16452 (WebCore::DrawingBuffer::clearFramebuffer): 16453 16454 2011-04-19 Pratik Solanki <psolanki (a] apple.com> 16455 16456 Reviewed by Simon Fraser. 16457 16458 BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor 16459 https://bugs.webkit.org/show_bug.cgi?id=58926 16460 16461 * platform/graphics/BitmapImage.cpp: 16462 (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false. 16463 * platform/graphics/BitmapImage.h: 16464 (WebCore::BitmapImage::assertNotSolidColor): 16465 * platform/graphics/cg/ImageCG.cpp: 16466 (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image. 16467 16468 2011-04-19 Ryosuke Niwa <rniwa (a] webkit.org> 16469 16470 Reviewed by Ojan Vafai. 16471 16472 REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary 16473 https://bugs.webkit.org/show_bug.cgi?id=58910 16474 16475 The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that 16476 targetNode always have renderer when there selection has an editable root and the target node 16477 is outside of the editable root. 16478 16479 Fixed the bug by adding an early exit when the target node is null. 16480 16481 No new tests are added since we don't have a reduction for this crash. 16482 16483 * page/EventHandler.cpp: 16484 (WebCore::selectionExtentRespectingEditingBoundary): 16485 16486 2011-04-19 Geoffrey Garen <ggaren (a] apple.com> 16487 16488 Reviewed by Oliver Hunt. 16489 16490 Removed a use of markDOMObjectWrapper: NodeLists 16491 https://bugs.webkit.org/show_bug.cgi?id=58939 16492 16493 * bindings/js/JSDocumentCustom.cpp: 16494 (WebCore::JSDocument::markChildren): No need to mark node lists, because 16495 now they use the opaque roots system to decide their lifetimes. 16496 16497 * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline. 16498 16499 * bindings/js/JSNodeListCustom.cpp: 16500 (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots): 16501 (WebCore::JSNodeListOwner::finalize): 16502 (WebCore::wrapperOwner): 16503 (WebCore::wrapperContext): 16504 (WebCore::toJS): Use the opaque roots system to avoid relying on 16505 markDOMObjectWrapper. 16506 16507 * dom/DynamicNodeList.cpp: 16508 (WebCore::DynamicNodeList::isDynamicNodeList): 16509 * dom/DynamicNodeList.h: 16510 (WebCore::DynamicNodeList::rootNode): Added the ability to get the node 16511 backing a NodeList, for use in the opaque roots system. 16512 16513 * dom/Node.cpp: 16514 * dom/Node.h: 16515 * dom/NodeList.h: 16516 (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related 16517 to the old way of marking NodeLists. 16518 16519 * dom/NodeList.idl: We need a custom toJS so we can specify a custom 16520 WeakHandleOwner at construction time. 16521 16522 2011-04-19 Antoine Labour <piman (a] chromium.org> 16523 16524 Reviewed by James Robinson. 16525 16526 For invisible iframes, propagate compositing to parent instead of setting self 16527 as root. 16528 https://bugs.webkit.org/show_bug.cgi?id=58414 16529 16530 Tests: compositing/iframes/invisible-iframe.html 16531 compositing/iframes/invisible-nested-iframe-hide.html 16532 compositing/iframes/invisible-nested-iframe-show.html 16533 compositing/iframes/invisible-nested-iframe.html 16534 16535 * rendering/RenderLayerCompositor.cpp: 16536 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): 16537 Propagate compositing to parent even if frame owner has no renderer. 16538 16539 2011-04-19 Dan Bernstein <mitz (a] apple.com> 16540 16541 Reviewed by Beth Dakin. 16542 16543 <rdar://problem/9271848> Crash when the document element is removed 16544 16545 Test: fast/events/overflow-viewport-renderer-deleted.html 16546 16547 * page/FrameView.cpp: 16548 (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this 16549 function takes a code path that doesnt call applyOverflowToViewport(). 16550 (WebCore::FrameView::layout): Whitespace change. 16551 16552 2011-04-19 Beth Dakin <bdakin (a] apple.com> 16553 16554 Reviewed by Maciej Stachowiak. 16555 16556 https://bugs.webkit.org/show_bug.cgi?id=57898 16557 REGRESSION (r82185): Scroll position not restored on navigation back to a page in 16558 the page cache 16559 -and corresponding- 16560 <rdar://problem/9226652> 16561 16562 Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll 16563 position to be lost. (The scroll position is computed based on the 16564 visibleContentSize.) This patch provides a mechanism to cache the current scroll 16565 position, and then the HistoryController accesses only the cached position rather 16566 than calling scrollPosition() which does a computation based on the 16567 visibleContentSize. 16568 16569 * loader/HistoryController.cpp: 16570 (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): 16571 * page/FrameView.cpp: 16572 (WebCore::FrameView::resetScrollbarsAndClearContentsSize): 16573 * platform/ScrollView.h: 16574 (WebCore::ScrollView::cacheCurrentScrollPosition): 16575 (WebCore::ScrollView::cachedScrollPosition): 16576 16577 2011-04-19 Renata Hodovan <reni (a] webkit.org> 16578 16579 Reviewed by Eric Seidel. 16580 16581 Move the alignment related macros in Vector.h to new Alignment.h. 16582 https://bugs.webkit.org/show_bug.cgi?id=56000 16583 16584 Adding the new file to the forwarding headers of WebCore. 16585 16586 * ForwardingHeaders/wtf/Alignment.h: Added. 16587 16588 2011-04-19 Oliver Hunt <oliver (a] apple.com> 16589 16590 Reviewed by Andreas Kling. 16591 16592 [Qt] QtInstance method cache ownership rules are unclear 16593 https://bugs.webkit.org/show_bug.cgi?id=58820 16594 16595 Make the QtInstance method cache use WriteBarrier, and handle 16596 ownership properly. 16597 16598 * bridge/qt/qt_class.cpp: 16599 (JSC::Bindings::QtClass::fallbackObject): 16600 (JSC::Bindings::QtClass::fieldNamed): 16601 * bridge/qt/qt_instance.cpp: 16602 (JSC::Bindings::QtInstance::~QtInstance): 16603 (JSC::Bindings::QtInstance::removeCachedMethod): 16604 (JSC::Bindings::QtInstance::newRuntimeObject): 16605 (JSC::Bindings::QtInstance::markAggregate): 16606 * bridge/qt/qt_instance.h: 16607 16608 2011-04-19 David Kilzer <ddkilzer (a] apple.com> 16609 16610 <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important 16611 16612 Reviewed by Antti Koivisto. 16613 16614 * platform/network/ResourceLoadPriority.h: 16615 (enum ResourceLoadPriority): Moved Unresolved enum to the top of 16616 the list and set to -1 to emphasize the fact that this is an 16617 unresolved priority (rather than one higher than the highest 16618 priority). Removed whitespace from the end of all enum lines. 16619 16620 2011-04-19 Simon Fraser <simon.fraser (a] apple.com> 16621 16622 Reviewed by David Hyatt. 16623 16624 Background radius is wrong for split inline 16625 https://bugs.webkit.org/show_bug.cgi?id=58843 16626 16627 When computing the radii for a segment of a split inline, we have to 16628 constrain those radii for the current segment, while still drawing 16629 using the entire logical width. 16630 16631 Tests: fast/backgrounds/border-radius-split-background-image.html 16632 fast/backgrounds/border-radius-split-background.html 16633 16634 * rendering/InlineFlowBox.cpp: 16635 (WebCore::InlineFlowBox::paintFillLayer): 16636 Pass height and width for this box only to paintFillLayer() 16637 16638 * rendering/RenderBox.cpp: 16639 (WebCore::RenderBox::paintFillLayer): 16640 Pass 0 for unused inlineBox height and width. 16641 16642 * rendering/RenderBoxModelObject.h: 16643 * rendering/RenderBoxModelObject.cpp: 16644 (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): 16645 When computing the rounded background rect, we have to take the size of 16646 this segment of the inline box into account for radius constraining. 16647 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 16648 Call getBackgroundRoundedRect() in two places. 16649 16650 2011-04-19 Simon Fraser <simon.fraser (a] apple.com> 16651 16652 Build fix. For some reason RenderBoxModelObject.cpp 16653 was missing from my last commit. 16654 16655 * rendering/RenderBoxModelObject.cpp: 16656 (WebCore::borderWillArcInnerEdge): 16657 (WebCore::edgeFlagForSide): 16658 (WebCore::includesEdge): 16659 (WebCore::BorderEdge::BorderEdge): 16660 (WebCore::BorderEdge::hasVisibleColorAndStyle): 16661 (WebCore::BorderEdge::shouldRender): 16662 (WebCore::BorderEdge::presentButInvisible): 16663 (WebCore::BorderEdge::usedWidth): 16664 (WebCore::BorderEdge::getDoubleBorderStripeWidths): 16665 (WebCore::edgesShareColor): 16666 (WebCore::styleRequiresClipPolygon): 16667 (WebCore::borderStyleFillsBorderArea): 16668 (WebCore::borderStyleHasInnerDetail): 16669 (WebCore::borderStyleIsDottedOrDashed): 16670 (WebCore::borderStyleHasUnmatchedColorsAtCorner): 16671 (WebCore::colorsMatchAtCorner): 16672 (WebCore::willBeOverdrawn): 16673 (WebCore::borderStylesRequireMitre): 16674 (WebCore::joinRequiresMitre): 16675 (WebCore::RenderBoxModelObject::paintOneBorderSide): 16676 (WebCore::RenderBoxModelObject::paintBorderSides): 16677 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): 16678 (WebCore::RenderBoxModelObject::paintBorder): 16679 (WebCore::RenderBoxModelObject::drawBoxSideFromPath): 16680 (WebCore::findInnerVertex): 16681 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 16682 (WebCore::RenderBoxModelObject::paintBoxShadow): 16683 16684 2011-04-19 Stephen White <senorblanco (a] chromium.org> 16685 16686 Reviewed by Kenneth Russell. 16687 16688 Refactor GLES2Canvas state application out into its own function. 16689 https://bugs.webkit.org/show_bug.cgi?id=58906 16690 16691 Covered by existing tests in fast/canvas and canvas/philip. 16692 16693 * platform/graphics/chromium/GLES2Canvas.cpp: 16694 (WebCore::GLES2Canvas::applyState): 16695 New function to apply compositing and clipping state. 16696 (WebCore::GLES2Canvas::fillPath): 16697 (WebCore::GLES2Canvas::fillRect): 16698 (WebCore::GLES2Canvas::beginShadowDraw): 16699 (WebCore::GLES2Canvas::endShadowDraw): 16700 Refactor calls to applyState(). 16701 * platform/graphics/chromium/GLES2Canvas.h: 16702 16703 2011-04-19 Simon Fraser <simon.fraser (a] apple.com> 16704 16705 Reviewed by Dave Hyatt. 16706 16707 Fix multiple border rendering issues 16708 https://bugs.webkit.org/show_bug.cgi?id=58761 16709 16710 Fix various border-drawing bugs, and optimize some common cases. 16711 Also refactors a lot of the border-drawing code to be more maintainable. 16712 16713 Rounded border rendering with different border widths looks strange 16714 https://bugs.webkit.org/show_bug.cgi?id=17468 16715 16716 paintBorder in RenderObject paint two times the corners 16717 https://bugs.webkit.org/show_bug.cgi?id=20495 16718 16719 Overdraw at box corners when using RGBA colors with alpha 16720 https://bugs.webkit.org/show_bug.cgi?id=21835 16721 16722 Enable antialiasing for border drawing, when transformed 16723 https://bugs.webkit.org/show_bug.cgi?id=22746 16724 16725 Drawing border-radius from path sometimes fails to round outer border in the double style when it should 16726 https://bugs.webkit.org/show_bug.cgi?id=41301 16727 16728 Drawing border-radius from path doesn't appear to always match up border edges correctly 16729 https://bugs.webkit.org/show_bug.cgi?id=41302 16730 16731 Also fixes 16732 Should be able to create Path from RoundedIntRect 16733 https://bugs.webkit.org/show_bug.cgi?id=58809 16734 16735 Tests: fast/borders/border-radius-different-width-001.html 16736 fast/borders/border-radius-inset-outset.html 16737 fast/borders/table-borders.html 16738 16739 * platform/graphics/FloatPoint.h: 16740 * platform/graphics/FloatPoint.cpp: 16741 (WebCore::findSlope): 16742 (WebCore::findIntersection): 16743 New geometry helper functions (should eventually move into a new 16744 GeometryUtilities file). 16745 16746 * platform/graphics/Path.h: 16747 * platform/graphics/Path.cpp: 16748 (WebCore::Path::addRoundedRect): 16749 Add an overload of addRoundedRect() that takes a RoundedIntRect. 16750 16751 * platform/graphics/GraphicsContext.cpp: 16752 (WebCore::GraphicsContext::addRoundedRectClip): 16753 (WebCore::GraphicsContext::clipOutRoundedRect): 16754 (WebCore::GraphicsContext::fillRectWithRoundedHole): 16755 Can now add a RoundedIntRect to a Path directly. 16756 16757 * platform/graphics/IntRect.h: 16758 (WebCore::IntRect::minXMinYCorner): 16759 (WebCore::IntRect::maxXMinYCorner): 16760 (WebCore::IntRect::minXMaxYCorner): 16761 (WebCore::IntRect::maxXMaxYCorner): 16762 Convenience functions to get the rect corners, in a writing-mode- 16763 friendly way. 16764 16765 * platform/graphics/RoundedIntRect.h: 16766 * platform/graphics/RoundedIntRect.cpp: 16767 (WebCore::RoundedIntRect::isRenderable): 16768 We need to know when Path::addRoundedRect() will fail because 16769 the sum of the radii exceed the height or width. This method tells 16770 us that. 16771 16772 * platform/graphics/cg/GraphicsContextCG.cpp: 16773 (WebCore::GraphicsContext::fillRectWithRoundedHole): 16774 Can now add a RoundedIntRect to a Path directly. 16775 16776 * rendering/RenderBoxModelObject.h: 16777 * rendering/RenderBoxModelObject.cpp: 16778 (WebCore::borderWillArcInnerEdge): 16779 This can just to see if there are inner radii now. 16780 16781 (WebCore::edgeFlagForSide): 16782 (WebCore::includesEdge): 16783 Convenience functions for the BorderEdgeFlags bitmask. 16784 16785 (WebCore::BorderEdge::BorderEdge): 16786 (WebCore::BorderEdge::hasVisibleColorAndStyle): 16787 (WebCore::BorderEdge::shouldRender): 16788 (WebCore::BorderEdge::presentButInvisible): 16789 (WebCore::BorderEdge::usedWidth): 16790 (WebCore::BorderEdge::getDoubleBorderStripeWidths): 16791 Convenience class to hold data about how a single edge 16792 is drawn, and to contain some commonly used width-related methods. 16793 16794 (WebCore::edgesShareColor): 16795 (WebCore::styleRequiresClipPolygon): 16796 (WebCore::borderStyleFillsBorderArea): 16797 (WebCore::borderStyleHasInnerDetail): 16798 (WebCore::borderStyleIsDottedOrDashed): 16799 (WebCore::borderStyleHasUnmatchedColorsAtCorner): 16800 (WebCore::colorsMatchAtCorner): 16801 (WebCore::willBeOverdrawn): 16802 (WebCore::borderStylesRequireMitre): 16803 (WebCore::joinRequiresMitre): 16804 Functions used to make the border drawing code more readable, 16805 which are used to determine when corners need a mitre, and 16806 need antialiasing. 16807 16808 (WebCore::RenderBoxModelObject::paintOneBorderSide): 16809 Code to paint one side of a border, either via the path, or 16810 using rects/polygons, the appropriate mitres and antialiasing 16811 at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need 16812 to be passed all the way down here so that when we recompute the 16813 path for double and ridge/groove borders, we correctly handle split box 16814 borders. 16815 16816 (WebCore::RenderBoxModelObject::paintBorderSides): 16817 Paints the 4 border sides (if present). 16818 16819 (WebCore::RenderBoxModelObject::paintTranslucentBorderSides): 16820 Called when one or more of the borders has a non-opaque color, 16821 and uses a transparency layer for each set of same-colored 16822 sides to avoid overdraw at the corners. 16823 16824 (WebCore::RenderBoxModelObject::paintBorder): 16825 Builds an array of BorderEdge so we can iterate over them to 16826 detect different border compbinations, and optimizations. Has 16827 a fast path for all-solid borders. 16828 16829 (WebCore::RenderBoxModelObject::drawBoxSideFromPath): 16830 Moved from RenderObject, since all callers are in RenderBoxModelObject. 16831 Has the following changes: 16832 * Don't attempt to draw dashes if there is only space for a few, 16833 since it looks bad. 16834 * Handle double and groove borders on split inlines correctly, 16835 making use of includeLogicalLeftEdge, includeLogicalRightEdge 16836 16837 (WebCore::findInnerVertex): 16838 For borders with a radiused inner edge, the per-side clip polygon 16839 has to project inside the padding box to avoid clipping the inner edge. 16840 This function computes a reasonable inner corner for the clipping 16841 polygon. 16842 (WebCore::RenderBoxModelObject::clipBorderSidePolygon): 16843 Have the corner joins pass through the corners of the inner and outer 16844 border rectangles, ensure we don't clip the inside if necessary, 16845 and handle antialiasing on the two mitres. 16846 16847 (WebCore::RenderBoxModelObject::paintBoxShadow): 16848 Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect() 16849 etc. 16850 16851 * rendering/RenderObject.h: 16852 * rendering/RenderObject.cpp: 16853 (WebCore::RenderObject::drawLineForBoxSide): 16854 Moved to RenderBoxModelObject. 16855 16856 * rendering/style/RenderStyle.h: 16857 * rendering/style/RenderStyle.cpp: 16858 (WebCore::RenderStyle::getRoundedBorderFor): 16859 (WebCore::RenderStyle::getRoundedInnerBorderFor): 16860 There was some very clumsy code that computed a rounded rect 16861 given the border rect and side widths. Cleaned this up by moving 16862 some code into RenderStyle. The overloaded getRoundedInnerBorderFor() 16863 which takes the border widths is used by the double and groove drawing 16864 code. 16865 16866 2011-04-19 Ryosuke Niwa <rniwa (a] webkit.org> 16867 16868 Reviewed by Dimitri Glazkov. 16869 16870 REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM 16871 https://bugs.webkit.org/show_bug.cgi?id=57061 16872 16873 The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside 16874 a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call 16875 RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in 16876 a significant performance regression. 16877 16878 Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are 16879 no common ancestors between containerA and containerB. This will force compareNode to also throw an exception 16880 and prevents respondToNodeModification from clearing selection. 16881 16882 No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM 16883 isn't exposed to JavaScript. 16884 16885 * dom/Range.cpp: 16886 (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of 16887 start and end nodes are same, we should never get an exception from compareBoundaryPoints. 16888 (WebCore::Range::setEnd): Ditto. 16889 (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints 16890 throws an exception. 16891 (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by 16892 compareBoundaryPoints. 16893 (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor. 16894 (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception. 16895 * dom/Range.h: 16896 * editing/SelectionController.cpp: 16897 (WebCore::SelectionController::respondToNodeModification): 16898 * editing/htmlediting.cpp: 16899 (WebCore::comparePositions): Calls compareBoundaryPoints. 16900 * editing/markup.cpp: 16901 (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document 16902 and neither are in a shadow DOM, it should never throw an exception. 16903 * page/DOMSelection.cpp: 16904 (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception 16905 was thrown. 16906 16907 2011-04-19 Jungshik Shin <jshin (a] chromium.org> 16908 16909 Reviewed by David Levin 16910 16911 Make U+FEFF be treated as a zero-width character in both 16912 simple script and complex script code paths. In Chromium 16913 Windows, UniscribeHelper needs a rather extensive changes 16914 summarized below. Other ports need minor changes. 16915 16916 https://bugs.webkit.org/show_bug.cgi?id=48860 16917 16918 Test: fast/text/zero-width-characters-complex-script.html 16919 16920 * platform/graphics/Font.h: 16921 (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list 16922 (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded. 16923 * platform/graphics/GlyphPageTreeNode.cpp: 16924 (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path. 16925 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: 16926 (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph. 16927 (WebCore::FontMap::FontData::FontData): spaceGlyph member added. 16928 (WebCore::getDerivedFontData): spaceGlyph is retrieved as well. 16929 * platform/graphics/chromium/FontUtilsChromiumWin.h: 16930 * platform/graphics/chromium/UniscribeHelper.cpp: 16931 (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added. 16932 (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item. 16933 (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph. 16934 (WebCore::UniscribeHelper::applySpacing): 16935 (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph 16936 * platform/graphics/chromium/UniscribeHelper.h: 16937 (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added 16938 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: 16939 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph. 16940 16941 2011-04-19 Brent Fulgham <bfulgham (a] webkit.org> 16942 16943 Reviewed by Adam Roben. 16944 16945 Extend the DIBPixelData class with the facility for writing the 16946 bitmap representation to disk for debugging purposes. 16947 https://bugs.webkit.org/show_bug.cgi?id=58862. 16948 16949 * platform/graphics/win/DIBPixelData.cpp: 16950 (WebCore::DIBPixelData::writeToFile): New function. 16951 * platform/graphics/win/DIBPixelData.h: 16952 16953 2011-04-19 Vsevolod Vlasov <vsevik (a] chromium.org> 16954 16955 Reviewed by Pavel Feldman. 16956 16957 Web Inspector: Rename lengthReceived to encodedDataLength/dataLength 16958 https://bugs.webkit.org/show_bug.cgi?id=58883 16959 16960 * fileapi/FileReaderLoader.cpp: 16961 (WebCore::FileReaderLoader::didReceiveData): 16962 * inspector/InspectorInstrumentation.cpp: 16963 (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): 16964 * inspector/InspectorInstrumentation.h: 16965 (WebCore::InspectorInstrumentation::didReceiveContentLength): 16966 * inspector/InspectorResourceAgent.cpp: 16967 (WebCore::InspectorResourceAgent::didReceiveContentLength): 16968 * inspector/InspectorResourceAgent.h: 16969 * inspector/front-end/NetworkManager.js: 16970 (WebInspector.NetworkDispatcher.prototype.dataReceived): 16971 * loader/DocumentThreadableLoader.cpp: 16972 (WebCore::DocumentThreadableLoader::didReceiveData): 16973 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata): 16974 * loader/DocumentThreadableLoader.h: 16975 * loader/FrameLoaderClient.h: 16976 * loader/MainResourceLoader.cpp: 16977 (WebCore::MainResourceLoader::didReceiveData): 16978 * loader/MainResourceLoader.h: 16979 * loader/NetscapePlugInStreamLoader.cpp: 16980 (WebCore::NetscapePlugInStreamLoader::didReceiveData): 16981 * loader/NetscapePlugInStreamLoader.h: 16982 * loader/ResourceLoadNotifier.cpp: 16983 (WebCore::ResourceLoadNotifier::didReceiveData): 16984 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 16985 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): 16986 * loader/ResourceLoadNotifier.h: 16987 * loader/ResourceLoader.cpp: 16988 (WebCore::ResourceLoader::didReceiveData): 16989 * loader/ResourceLoader.h: 16990 * loader/SubresourceLoader.cpp: 16991 (WebCore::SubresourceLoader::didReceiveData): 16992 * loader/SubresourceLoader.h: 16993 * loader/SubresourceLoaderClient.h: 16994 (WebCore::SubresourceLoaderClient::didReceiveData): 16995 (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata): 16996 * loader/WorkerThreadableLoader.cpp: 16997 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): 16998 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata): 16999 * loader/appcache/ApplicationCacheGroup.cpp: 17000 (WebCore::ApplicationCacheGroup::didReceiveData): 17001 * loader/appcache/ApplicationCacheGroup.h: 17002 * loader/appcache/ApplicationCacheHost.h: 17003 * notifications/Notification.cpp: 17004 (WebCore::Notification::didReceiveData): 17005 * notifications/Notification.h: 17006 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 17007 (StreamingClient::didReceiveData): 17008 * platform/network/BlobResourceHandle.cpp: 17009 * platform/network/ResourceHandleClient.h: 17010 (WebCore::ResourceHandleClient::didReceiveData): 17011 * platform/network/android/ResourceHandleAndroid.cpp: 17012 (WebCore::SyncLoader::didReceiveData): 17013 * platform/network/cf/ResourceHandleCFNet.cpp: 17014 (WebCore::WebCoreSynchronousLoaderClient::didReceiveData): 17015 * platform/network/curl/ResourceHandleCurl.cpp: 17016 * platform/network/mac/ResourceHandleMac.mm: 17017 (WebCoreSynchronousLoaderClient::didReceiveData): 17018 * platform/network/soup/ResourceHandleSoup.cpp: 17019 * platform/network/win/ResourceHandleWin.cpp: 17020 * workers/WorkerScriptLoader.h: 17021 * xml/XMLHttpRequest.h: 17022 17023 2011-04-19 Stephen White <senorblanco (a] chromium.org> 17024 17025 Reviewed by Eric Seidel. 17026 17027 Pull framebuffer clearing out into its own function. 17028 https://bugs.webkit.org/show_bug.cgi?id=58897 17029 17030 Covered by fast/canvas and canvas/philip tests. 17031 17032 * platform/graphics/gpu/DrawingBuffer.cpp: 17033 (WebCore::DrawingBuffer::clearFramebuffer): 17034 (WebCore::DrawingBuffer::reset): 17035 * platform/graphics/gpu/DrawingBuffer.h: 17036 17037 2011-04-19 Brian Salomon <bsalomon (a] google.com> 17038 17039 Reviewed by Eric Seidel. 17040 17041 When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set 17042 https://bugs.webkit.org/show_bug.cgi?id=58788 17043 17044 Chromium browser test will be added that loads canvas page and then an 17045 acclerated-composited page. Test must trigger ~PlatformContextSkia() 17046 followed by invocation of GL compositor. 17047 17048 * platform/graphics/skia/PlatformContextSkia.cpp: 17049 (WebCore::PlatformContextSkia::~PlatformContextSkia): 17050 17051 2011-04-19 Csaba Osztrogonc <ossy (a] webkit.org> 17052 17053 [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails 17054 https://bugs.webkit.org/show_bug.cgi?id=58871 17055 17056 Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231. 17057 http://trac.webkit.org/changeset/84176 (original patch) 17058 http://trac.webkit.org/changeset/84178 (original patch - part 2) 17059 http://trac.webkit.org/changeset/84186 (build fix) 17060 http://trac.webkit.org/changeset/84212 17061 http://trac.webkit.org/changeset/84231 (skip failing test) 17062 17063 original bugs: 17064 - https://bugs.webkit.org/show_bug.cgi?id=58718 17065 - https://bugs.webkit.org/show_bug.cgi?id=58853 17066 17067 * bridge/qt/qt_class.cpp: 17068 (JSC::Bindings::QtClass::fallbackObject): 17069 * bridge/qt/qt_instance.cpp: 17070 (JSC::Bindings::QtInstance::removeCachedMethod): 17071 (JSC::Bindings::QtInstance::markAggregate): 17072 * bridge/qt/qt_instance.h: 17073 17074 2011-04-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 17075 17076 Unreviewed, rolling out r84050. 17077 http://trac.webkit.org/changeset/84050 17078 https://bugs.webkit.org/show_bug.cgi?id=58892 17079 17080 fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium 17081 (Requested by jknotten on #webkit). 17082 17083 * dom/ContainerNode.cpp: 17084 (WebCore::ContainerNode::takeAllChildrenFrom): 17085 (WebCore::ContainerNode::removeBetween): 17086 (WebCore::ContainerNode::removeChildren): 17087 (WebCore::ContainerNode::parserAddChild): 17088 * dom/Document.cpp: 17089 (WebCore::Document::Document): 17090 (WebCore::Document::~Document): 17091 (WebCore::Document::setDocType): 17092 * dom/Element.h: 17093 * dom/Node.cpp: 17094 (WebCore::Node::treeScope): 17095 (WebCore::Node::setTreeScope): 17096 (WebCore::Node::setTreeScopeRecursively): 17097 * dom/Node.h: 17098 (WebCore::Node::document): 17099 * dom/ShadowRoot.cpp: 17100 (WebCore::ShadowRoot::ShadowRoot): 17101 * dom/ShadowRoot.h: 17102 * dom/TreeScope.cpp: 17103 (WebCore::TreeScope::TreeScope): 17104 (WebCore::TreeScope::setParentTreeScope): 17105 * dom/TreeScope.h: 17106 * rendering/RenderSlider.cpp: 17107 17108 2011-04-19 Kinuko Yasuda <kinuko (a] chromium.org> 17109 17110 Not reviewed; windows build fix attempt. 17111 17112 * storage/StorageInfo.cpp: 17113 (WebCore::StorageInfo::~StorageInfo): 17114 * storage/StorageInfo.h: 17115 17116 2011-04-19 Kinuko Yasuda <kinuko (a] chromium.org> 17117 17118 Reviewed by David Levin. 17119 17120 [Chromium] Enable QUOTA API at runtime if enable-quota flag is given 17121 https://bugs.webkit.org/show_bug.cgi?id=58784 17122 17123 No new tests as this does not change any functionality. 17124 17125 * bindings/generic/RuntimeEnabledFeatures.cpp: 17126 * bindings/generic/RuntimeEnabledFeatures.h: 17127 (WebCore::RuntimeEnabledFeatures::quotaEnabled): 17128 (WebCore::RuntimeEnabledFeatures::setQuotaEnabled): 17129 * page/DOMWindow.idl: 17130 17131 2011-04-19 John Gregg <johnnyg (a] google.com> 17132 17133 Reviewed by Darin Fisher. 17134 17135 Enable folder drag-n-drop when using a "webkitdirectory" file input 17136 https://bugs.webkit.org/show_bug.cgi?id=58401 17137 17138 This uses a new ChromeClient API to enumerate the directory and 17139 return all the files, as if the user had selected that directory 17140 by clicking the control in the normal way. 17141 17142 * loader/EmptyClients.h: 17143 (WebCore::EmptyChromeClient::enumerateChosenDirectory): 17144 * page/Chrome.cpp: 17145 (WebCore::Chrome::enumerateChosenDirectory): 17146 * page/Chrome.h: 17147 * page/ChromeClient.h: 17148 * platform/network/FormData.cpp: 17149 (WebCore::FormData::appendKeyValuePairItems): 17150 * rendering/RenderFileUploadControl.cpp: 17151 (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload): 17152 (WebCore::RenderFileUploadControl::receiveDroppedFiles): 17153 * rendering/RenderFileUploadControl.h: 17154 17155 2011-04-19 Sheriff Bot <webkit.review.bot (a] gmail.com> 17156 17157 Unreviewed, rolling out r84150. 17158 http://trac.webkit.org/changeset/84150 17159 https://bugs.webkit.org/show_bug.cgi?id=58875 17160 17161 Broken backspace in Search box of Web Inspector (Requested by 17162 apavlov on #webkit). 17163 17164 * inspector/front-end/inspector.js: 17165 (WebInspector.documentKeyDown): 17166 17167 2011-04-19 Andrey Adaikin <aandrey (a] google.com> 17168 17169 Reviewed by Pavel Feldman. 17170 17171 Web Inspector: NPE in TextEditorModel 17172 https://bugs.webkit.org/show_bug.cgi?id=58870 17173 17174 * inspector/front-end/ResourcesPanel.js: 17175 (WebInspector.ResourcesPanel.prototype._frameAdded): 17176 * inspector/front-end/TextEditorModel.js: 17177 (WebInspector.TextEditorModel.prototype.setText): 17178 17179 2011-04-19 Hans Wennborg <hans (a] chromium.org> 17180 17181 Reviewed by Tony Gentilcore. 17182 17183 IndexedDB: Remove accidental header include directive from LevelDB backend. 17184 https://bugs.webkit.org/show_bug.cgi?id=58872 17185 17186 No new functionality, no new tests. 17187 17188 * storage/IDBLevelDBBackingStore.cpp: 17189 17190 2011-04-19 Herczeg Zoltan <zherczeg (a] webkit.org> 17191 17192 Build fix. 17193 17194 LEFilter change doesn't compile on ARM neon targets 17195 https://bugs.webkit.org/show_bug.cgi?id=58671 17196 17197 Thanks for Charlie Lee to fixing this. 17198 17199 * WebCore.gypi: 17200 17201 2011-04-19 Daniel Bates <dbates (a] webkit.org> 17202 17203 Attempt to fix the Qt Linux Release Minimal build after changeset 84225 17204 <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788). 17205 17206 * dom/EventDispatcher.cpp: 17207 (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call 17208 to Node::svgShadowHost() since this method is only defined when building with SVG enabled. 17209 17210 2011-04-18 Dominic Cooney <dominicc (a] chromium.org> 17211 17212 Reviewed by Dimitri Glazkov. 17213 17214 Makes SVG shadow roots and DOM shadow roots distinct. 17215 https://bugs.webkit.org/show_bug.cgi?id=52788 17216 17217 Not a functional change. Covered by existing SVG tests. 17218 17219 * dom/EventDispatcher.cpp: 17220 (WebCore::findElementInstance): 17221 (WebCore::EventDispatcher::adjustToShadowBoundaries): 17222 (WebCore::EventDispatcher::adjustRelatedTarget): 17223 (WebCore::EventDispatcher::ensureEventAncestors): 17224 * dom/Node.cpp: 17225 (WebCore::Node::setShadowHost): 17226 (WebCore::Node::svgShadowHost): 17227 (WebCore::Node::shadowTreeRootNode): 17228 * dom/Node.h: 17229 (WebCore::Node::isSVGShadowRoot): 17230 (WebCore::Node::parentNode): 17231 (WebCore::Node::parentNodeGuaranteedHostFree): 17232 * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: 17233 (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): 17234 (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): 17235 * rendering/svg/SVGShadowTreeElements.cpp: 17236 (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): 17237 (WebCore::SVGShadowTreeRootElement::create): 17238 (WebCore::SVGShadowTreeRootElement::attachElement): 17239 (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost): 17240 * rendering/svg/SVGShadowTreeElements.h: 17241 (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot): 17242 * svg/SVGStyledElement.cpp: 17243 (WebCore::SVGStyledElement::title): 17244 17245 2011-04-18 Taiju TSUIKI <develop (a] tzik.jp> 17246 17247 Reviewed by Darin Fisher. 17248 17249 Vendor-prefix requestFileSystem in FileSystem API 17250 https://bugs.webkit.org/show_bug.cgi?id=58517 17251 17252 Prefix from: 17253 - window.requestFileSystem to window.webkitRequestFileSystem 17254 - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL 17255 - window.Flags to window.WebKitFlags 17256 - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem 17257 - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL 17258 - WorkerContext.Flags to WorkerContext.WebKitFlags 17259 17260 * CMakeLists.txt: 17261 * CodeGenerators.pri: 17262 * DerivedSources.cpp: 17263 * DerivedSources.make: 17264 * GNUmakefile.list.am: 17265 * WebCore.gypi: 17266 * WebCore.pro: 17267 * WebCore.vcproj/WebCore.vcproj: 17268 * WebCore.xcodeproj/project.pbxproj: 17269 * bindings/js/JSDirectoryEntryCustom.cpp: 17270 (WebCore::JSDirectoryEntry::getFile): 17271 (WebCore::JSDirectoryEntry::getDirectory): 17272 * bindings/js/JSDirectoryEntrySyncCustom.cpp: 17273 (WebCore::getFlags): 17274 (WebCore::JSDirectoryEntrySync::getFile): 17275 (WebCore::JSDirectoryEntrySync::getDirectory): 17276 * bindings/v8/custom/V8DirectoryEntryCustom.cpp: 17277 (WebCore::V8DirectoryEntry::getDirectoryCallback): 17278 (WebCore::V8DirectoryEntry::getFileCallback): 17279 * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: 17280 (WebCore::getFlags): 17281 (WebCore::V8DirectoryEntrySync::getDirectoryCallback): 17282 (WebCore::V8DirectoryEntrySync::getFileCallback): 17283 * fileapi/DOMFileSystemBase.cpp: 17284 (WebCore::DOMFileSystemBase::getFile): 17285 (WebCore::DOMFileSystemBase::getDirectory): 17286 * fileapi/DOMFileSystemBase.h: 17287 * fileapi/DirectoryEntry.cpp: 17288 (WebCore::DirectoryEntry::getFile): 17289 (WebCore::DirectoryEntry::getDirectory): 17290 * fileapi/DirectoryEntry.h: 17291 * fileapi/DirectoryEntry.idl: 17292 * fileapi/DirectoryEntrySync.cpp: 17293 (WebCore::DirectoryEntrySync::getFile): 17294 (WebCore::DirectoryEntrySync::getDirectory): 17295 * fileapi/DirectoryEntrySync.h: 17296 * fileapi/DirectoryEntrySync.idl: 17297 * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h. 17298 (WebCore::WebKitFlags::create): 17299 (WebCore::WebKitFlags::isCreate): 17300 (WebCore::WebKitFlags::setCreate): 17301 (WebCore::WebKitFlags::isExclusive): 17302 (WebCore::WebKitFlags::setExclusive): 17303 (WebCore::WebKitFlags::WebKitFlags): 17304 * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl. 17305 * page/DOMWindow.cpp: 17306 (WebCore::DOMWindow::webkitRequestFileSystem): 17307 (WebCore::DOMWindow::webkitResolveLocalFileSystemURL): 17308 * page/DOMWindow.h: 17309 * page/DOMWindow.idl: 17310 * workers/WorkerContext.cpp: 17311 (WebCore::WorkerContext::webkitRequestFileSystem): 17312 (WebCore::WorkerContext::webkitRequestFileSystemSync): 17313 (WebCore::WorkerContext::webkitResolveLocalFileSystemURL): 17314 (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL): 17315 * workers/WorkerContext.h: 17316 * workers/WorkerContext.idl: 17317 17318 2011-04-18 Steve Lacey <sjl (a] chromium.org> 17319 17320 Reviewed by Dimitri Glazkov. 17321 17322 Decouple media controls usage from implementation. 17323 This allows each port to implement thier own controls in a different 17324 manner to the default webkit implementation. 17325 17326 Convert media controls hooks to a client interface 17327 https://bugs.webkit.org/show_bug.cgi?id=58346 17328 17329 No new tests as there is no functional change. 17330 17331 * Android.mk: 17332 * CMakeLists.txt: 17333 * GNUmakefile.list.am: 17334 * WebCore.gypi: 17335 * WebCore.pro: 17336 * WebCore.vcproj/WebCore.vcproj: 17337 * WebCore.xcodeproj/project.pbxproj: 17338 * html/HTMLMediaElement.cpp: 17339 (WebCore::HTMLMediaElement::mediaControls): 17340 (WebCore::HTMLMediaElement::ensureMediaControls): 17341 (WebCore::HTMLMediaElement::preDispatchEventHandler): 17342 * html/HTMLMediaElement.h: 17343 * html/shadow/MediaControlElements.cpp: 17344 (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): 17345 (WebCore::MediaControlPanelMuteButtonElement::create): 17346 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 17347 (WebCore::MediaControlTimelineElement::create): 17348 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): 17349 (WebCore::MediaControlFullscreenButtonElement::create): 17350 * html/shadow/MediaControlElements.h: 17351 * html/shadow/MediaControlRootElement.cpp: 17352 (WebCore::MediaControlRootElement::MediaControlRootElement): 17353 (WebCore::MediaControls::create): 17354 * html/shadow/MediaControlRootElement.h: 17355 * html/shadow/MediaControls.cpp: Added. 17356 (WebCore::MediaControls::MediaControls): 17357 * html/shadow/MediaControls.h: Added. 17358 (WebCore::MediaControls::~MediaControls): 17359 17360 2011-04-18 Pascal Massimino <pascal.massimino (a] gmail.com> 17361 17362 Reviewed by Adam Barth. 17363 17364 Add incremental decoding to WebP decoder 17365 https://bugs.webkit.org/show_bug.cgi?id=58851 17366 17367 No new tests, as it's not possible for the layout test framework to 17368 force the decoders to decode incrementally. 17369 17370 * platform/image-decoders/webp/WEBPImageDecoder.cpp: 17371 (WebCore::WEBPImageDecoder::WEBPImageDecoder): 17372 (WebCore::WEBPImageDecoder::decode): 17373 * platform/image-decoders/webp/WEBPImageDecoder.h: 17374 17375 2011-04-18 Daniel Bates <dbates (a] rim.com> 17376 17377 Reviewed by Adam Roben. 17378 17379 With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while 17380 pressing-and-holding another mouse button 17381 https://bugs.webkit.org/show_bug.cgi?id=58700 17382 17383 Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A 17384 while pressing and holding a mouse button B, where A != B. This issue only affects builds 17385 that enable PAN_SCROLLING. 17386 17387 On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped 17388 the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we 17389 should only stop the autoscroll timer. 17390 17391 Test: fast/events/fire-mousedown-while-pressing-mouse-button.html 17392 17393 * page/EventHandler.cpp: 17394 (WebCore::EventHandler::handleMousePressEvent): 17395 17396 2011-04-18 Jon Lee <jonlee (a] apple.com> 17397 17398 Reviewed by Maciej Stachowiak. 17399 17400 With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable 17401 https://bugs.webkit.org/show_bug.cgi?id=58617 17402 <rdar://problem/9048012> 17403 17404 * rendering/RenderLayer.cpp: 17405 (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders 17406 17407 2011-04-18 Jon Lee <jonlee (a] apple.com> 17408 17409 Reviewed by Maciej Stachowiak. 17410 17411 Selected item background in list box gets rendered on top of overlay scrollbar knob (58824) 17412 https://bugs.webkit.org/show_bug.cgi?id=58824 17413 <rdar://problem/9292680> 17414 17415 * rendering/RenderListBox.cpp: 17416 (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars 17417 17418 2011-04-18 John Bauman <jbauman (a] chromium.org> 17419 17420 Reviewed by Kenneth Russell. 17421 17422 Don't cast BitmapImageSingleFrameSkia to BitmapImage 17423 https://bugs.webkit.org/show_bug.cgi?id=58821 17424 17425 BitmapImageSingleFrameSkia has isBitmap return true, but 17426 can't be cast to a BitmapImage. Instead of using BitmapImage, 17427 use isOpaque from SkBitmap to determine if the image has alpha. 17428 17429 No new tests. 17430 17431 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 17432 (WebCore::GraphicsContext3D::getImageData): 17433 17434 2011-04-18 Jessie Berlin <jberlin (a] apple.com> 17435 17436 Reviewed by Steve Falkenburg. 17437 17438 If deleting the StorageTracker.db file fails, local storage is left in a strange state. 17439 https://bugs.webkit.org/show_bug.cgi?id=58805 17440 17441 * storage/StorageTracker.cpp: 17442 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): 17443 When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin. 17444 deleteOrigin itself must be called to update the data structures that syncDeleteOrigin 17445 depends on and to prevent clashes between a theoretical web page editing local storage 17446 at the same time this method is called. 17447 (WebCore::StorageTracker::syncDeleteAllOrigins): 17448 If it is not possible to delete the StorageTracker.db file, empty it. 17449 (WebCore::StorageTracker::deleteOriginOnMainThread): 17450 Wrapper for deleteOrigin. 17451 * storage/StorageTracker.h: 17452 17453 2011-04-18 Geoffrey Garen <ggaren (a] apple.com> 17454 17455 Build fix. 17456 17457 Added back missing #include. 17458 17459 * bindings/js/DOMWrapperWorld.cpp: 17460 17461 2011-04-18 Enrica Casucci <enrica (a] apple.com> 17462 17463 Reviewed by Maciej Stachowiak. 17464 17465 Dropping a file in a WKView (WebKit2) doesn't load the file. 17466 https://bugs.webkit.org/show_bug.cgi?id=58842 17467 <rdar://problem/8514409> 17468 17469 The URL string for the file contains an extra %00 at the end 17470 that causes the network framework to fail to load the file. 17471 17472 * platform/win/ClipboardUtilitiesWin.cpp: 17473 (WebCore::getURL): 17474 17475 2011-04-18 Geoffrey Garen <ggaren (a] apple.com> 17476 17477 Discovered and rubber-stamped by Stephanie Lewis. 17478 17479 Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990> 17480 17481 * bindings/js/DOMWrapperWorld.cpp: 17482 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 17483 (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our 17484 window shells when clearing / destroying ourselves. r83990 removed this 17485 behavior for documents since there are no per-document maps anymore, 17486 but removing this behavior for window shells too was a typo. 17487 17488 2011-04-18 Geoffrey Garen <ggaren (a] apple.com> 17489 17490 Reviewed by Oliver Hunt. 17491 17492 Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps 17493 https://bugs.webkit.org/show_bug.cgi?id=58828 17494 17495 * WebCore.exp.in: Blah. 17496 17497 * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership 17498 to JSNodeCustom, where other custom JSNode-related code goes. 17499 17500 (WebCore::JSDOMWrapperOwner::finalize): 17501 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 17502 * bindings/js/DOMWrapperWorld.h: 17503 (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner): 17504 (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner 17505 to JSDOMWrapperOwner, to match the name of JSDOMWrapper. 17506 17507 * bindings/js/JSArrayBufferViewHelper.h: 17508 (WebCore::toJSArrayBufferView): 17509 * bindings/js/JSCSSRuleCustom.cpp: 17510 (WebCore::toJS): 17511 * bindings/js/JSCSSValueCustom.cpp: 17512 (WebCore::toJS): 17513 * bindings/js/JSCanvasRenderingContextCustom.cpp: 17514 (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper- 17515 related functions, since there is no meaningful distinction between the 17516 two anymore -- they both use the same extensible interface. 17517 17518 * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions. 17519 17520 * bindings/js/JSDOMBinding.h: 17521 (WebCore::getInlineCachedWrapper): 17522 (WebCore::setInlineCachedWrapper): 17523 (WebCore::clearInlineCachedWrapper): 17524 (WebCore::wrapperOwner): 17525 (WebCore::wrapperContext): 17526 (WebCore::getCachedWrapper): 17527 (WebCore::cacheWrapper): 17528 (WebCore::uncacheWrapper): 17529 (WebCore::createWrapper): 17530 (WebCore::wrap): Created a generic, extensible mechanism for creating, 17531 caching, retrieving, marking, and destroying DOM wrappers. This eliminates 17532 the difference between DOM object wrappers and DOM node wrappers, and 17533 lays the groundwork for getting rid of MarkStack::deprecatedAppend usage 17534 for marking the remainder of our DOM objects. 17535 17536 * bindings/js/JSDOMWindowCustom.cpp: 17537 (WebCore::JSDOMWindow::history): 17538 (WebCore::JSDOMWindow::location): 17539 * bindings/js/JSDataViewCustom.cpp: 17540 (WebCore::toJS): 17541 * bindings/js/JSDocumentCustom.cpp: 17542 (WebCore::JSDocument::location): 17543 (WebCore::toJS): 17544 * bindings/js/JSElementCustom.cpp: 17545 (WebCore::toJSNewlyCreated): 17546 * bindings/js/JSEventCustom.cpp: 17547 (WebCore::toJS): 17548 * bindings/js/JSHTMLCollectionCustom.cpp: 17549 (WebCore::toJS): 17550 * bindings/js/JSImageDataCustom.cpp: 17551 (WebCore::toJS): Updated for renames mentioned above. 17552 17553 * bindings/js/JSNamedNodeMapCustom.cpp: 17554 (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots): 17555 (WebCore::JSNamedNodeMapOwner::finalize): 17556 (WebCore::wrapperOwner): 17557 (WebCore::wrapperContext): 17558 (WebCore::JSNamedNodeMap::markChildren): 17559 (WebCore::toJS): Updated to use our new interface for customizing wrapper 17560 lifetime management through function overloading without using 17561 MarkStack::deprecatedAppend. 17562 17563 * bindings/js/JSNodeCustom.cpp: 17564 (WebCore::isObservable): 17565 (WebCore::isReachableFromDOM): 17566 (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): 17567 (WebCore::JSNodeOwner::finalize): 17568 (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding 17569 to here. Removed special case marking code for JSNamedNodeMap because 17570 JSNamedNodeMap now knows how to maintain its own lifetime invariants. 17571 17572 * bindings/js/JSNodeCustom.h: 17573 (WebCore::wrapperOwner): 17574 (WebCore::wrapperContext): 17575 (WebCore::getInlineCachedWrapper): 17576 (WebCore::setInlineCachedWrapper): 17577 (WebCore::clearInlineCachedWrapper): 17578 (WebCore::toJS): Updated to use our new interface for customizing wrapper 17579 lifetime management through function overloading without using 17580 MarkStack::deprecatedAppend or special-case code for nodes. 17581 17582 * bindings/js/JSSVGPathSegCustom.cpp: 17583 (WebCore::toJS): 17584 * bindings/js/JSStyleSheetCustom.cpp: 17585 (WebCore::toJS): Updated for renames mentioned above. 17586 17587 * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for 17588 renames mentioned above. 17589 17590 * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now 17591 because it needs to provide a custom WeakHandleOwner at wrapper creation time. 17592 17593 2011-04-18 Jessie Berlin <jberlin (a] apple.com> 17594 17595 Rubber-stamped by Sam Weinig. 17596 17597 REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows. 17598 https://bugs.webkit.org/show_bug.cgi?id=58747 17599 17600 Copy the WebCore Localizable.strings file into the output directory. 17601 17602 * WebCore.vcproj/WebCoreGenerated.vcproj: 17603 * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: 17604 * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: 17605 * WebCore.vcproj/copyInspectorFiles.cmd: Removed. 17606 * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd. 17607 17608 2011-04-18 Robert Hogan <robert (a] webkit.org> 17609 17610 Reviewed by Andreas Kling. 17611 17612 [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint 17613 17614 When scheduling a repaint for the plugin's widget, PluginViewQt 17615 needs to make sure the widget's geometry is up to date. Otherwise 17616 the paint event happens on the widget's old location. 17617 17618 https://bugs.webkit.org/show_bug.cgi?id=57179 17619 17620 Added a manual test. 17621 17622 * manual-tests/qt/plugin-painting.html: Added. 17623 * plugins/qt/PluginViewQt.cpp: 17624 (WebCore::PluginView::updatePluginWidget): 17625 (WebCore::PluginView::invalidateRect): 17626 17627 2011-04-18 Oliver Hunt <oliver (a] apple.com> 17628 17629 Fix Qt build 17630 17631 * bridge/qt/qt_class.cpp: 17632 (JSC::Bindings::QtClass::fallbackObject): 17633 * bridge/qt/qt_instance.cpp: 17634 (JSC::Bindings::QtInstance::removeCachedMethod): 17635 * bridge/qt/qt_instance.h: 17636 17637 2011-04-18 Oliver Hunt <oliver (a] apple.com> 17638 17639 Reviewed by Gavin Barraclough. 17640 17641 Remove DeprecatedPtr 17642 https://bugs.webkit.org/show_bug.cgi?id=58718 17643 17644 Replace use of DeprecatedPtr<> with Global<> as ownership rules 17645 aren't obvious, have filed bug #58820 on seeing if this is safe. 17646 17647 * bridge/qt/qt_class.cpp: 17648 (JSC::Bindings::QtClass::fallbackObject): 17649 * bridge/qt/qt_instance.cpp: 17650 (JSC::Bindings::QtInstance::removeCachedMethod): 17651 (JSC::Bindings::QtInstance::markAggregate): 17652 * bridge/qt/qt_instance.h: 17653 17654 2011-04-14 Matthew Delaney <mdelaney (a] apple.com> 17655 17656 Reviewed by Simon Fraser. 17657 17658 [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces 17659 https://bugs.webkit.org/show_bug.cgi?id=58088 17660 17661 * platform/graphics/cg/ImageBufferDataCG.cpp: 17662 (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA 17663 (WebCore::unpremultitplyScanline): 17664 (WebCore::premultitplyScanline): 17665 (WebCore::ImageBufferData::getData): 17666 (WebCore::ImageBufferData::putData): 17667 17668 2011-04-18 Jeff Miller <jeffm (a] apple.com> 17669 17670 Reviewed by Dan Bernstein. 17671 17672 Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable 17673 https://bugs.webkit.org/show_bug.cgi?id=58811 17674 17675 * platform/win/LoggingWin.cpp: 17676 (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable. 17677 17678 2011-04-18 Andrew Scherkus <scherkus (a] chromium.org> 17679 17680 Reviewed by Eric Seidel. 17681 17682 Reset fullscreen element reference when leaving fullscreen mode and some other cleanup. 17683 17684 https://bugs.webkit.org/show_bug.cgi?id=58719 17685 17686 Test: fullscreen/full-screen-cancel.html 17687 17688 * dom/Document.cpp: 17689 (WebCore::Document::Document): Remove m_isFullscreen. 17690 (WebCore::Document::webkitWillEnterFullScreenForElement): 17691 (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating(). 17692 (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference. 17693 * dom/Document.h: 17694 (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen. 17695 (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto. 17696 17697 2011-04-18 Dan Bernstein <mitz (a] apple.com> 17698 17699 Reviewed by Eric Seidel. 17700 17701 <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse. 17702 https://bugs.webkit.org/show_bug.cgi?id=58500 17703 17704 Test: fast/repaint/text-in-relative-positioned-inline.html 17705 17706 * rendering/RenderText.cpp: 17707 (WebCore::RenderText::clippedOverflowRectForRepaint): Use the containers repaint rect, not 17708 the containing blocks. This matters when the containing block is outside the RenderTexts 17709 enclosing layer, as is the case here. 17710 17711 2011-04-15 Stephen White <senorblanco (a] chromium.org> 17712 17713 Reviewed by Kenneth Russell. 17714 17715 Speed up DrawingBuffer::reset(). 17716 https://bugs.webkit.org/show_bug.cgi?id=58706 17717 17718 When DrawingBuffer::reset() is called, it should not reallocate 17719 the FBOs if the size has not changed. It should just do a glClear(). 17720 17721 Covered by tests in fast/canvas and canvas/philip. 17722 17723 * platform/graphics/chromium/DrawingBufferChromium.cpp: 17724 (WebCore::DrawingBuffer::DrawingBuffer): 17725 Initialize the size to -1, -1, so the size change check will work on 17726 first reset. 17727 * platform/graphics/gpu/DrawingBuffer.cpp: 17728 (WebCore::DrawingBuffer::reset): 17729 If the size hasn't changed, don't resize the FBOs. Just clear the 17730 relevant buffers. 17731 17732 2011-04-18 Pavel Feldman <pfeldman (a] google.com> 17733 17734 Reviewed by Yury Semikhatsky. 17735 17736 Web Inspector: group resources by type in the resources panel. 17737 https://bugs.webkit.org/show_bug.cgi?id=58796 17738 17739 * inspector/front-end/ResourcesPanel.js: 17740 (WebInspector.ResourcesPanel.prototype._frameAdded): 17741 (WebInspector.ResourcesPanel.prototype._resourceAdded): 17742 (WebInspector.BaseStorageTreeElement): 17743 (WebInspector.BaseStorageTreeElement.prototype.onattach): 17744 (WebInspector.StorageCategoryTreeElement): 17745 (WebInspector.FrameTreeElement): 17746 (WebInspector.FrameTreeElement.prototype.setTitles): 17747 (WebInspector.FrameTreeElement.prototype.set hovered): 17748 (WebInspector.FrameTreeElement.prototype.appendResource): 17749 (WebInspector.FrameTreeElement.prototype.appendChild): 17750 (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder): 17751 (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare): 17752 17753 2011-04-18 Timothy Hatcher <timothy (a] apple.com> 17754 17755 Make update-webkit-localizable-strings put WebKit/win strings in WebCore 17756 now that all localized strings in WebKit/win use WEB_UI_STRING. 17757 17758 https://webkit.org/b/58747 17759 17760 Reviewed by Dan Bernstein. 17761 17762 * English.lproj/Localizable.strings: Updated with strings from WebKit/win. 17763 17764 2011-04-15 MORITA Hajime <morrita (a] google.com> 17765 17766 Reviewed by Adam Barth. 17767 17768 REGRESSION: <progress> doesn't animate if it doesn't have value 17769 https://bugs.webkit.org/show_bug.cgi?id=58693 17770 17771 The initial value of RenderProgress::m_position is accidentally same as 17772 the indeterminate value, that makes update code on updateFromElement() skipped. 17773 This change set unique invalid value for the initial value of m_position. 17774 17775 No new tests. Testing animated bar is not possible with DRT. 17776 17777 * html/HTMLProgressElement.cpp: 17778 (WebCore::HTMLProgressElement::position): 17779 * html/HTMLProgressElement.h: 17780 * rendering/RenderProgress.cpp: 17781 (WebCore::RenderProgress::RenderProgress): 17782 (WebCore::RenderProgress::isDeterminate): 17783 17784 2011-04-18 MORITA Hajime <morrita (a] google.com> 17785 17786 Reviewed by Eric Seidel. 17787 17788 REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039 17789 https://bugs.webkit.org/show_bug.cgi?id=58791 17790 17791 On refreshMainSummary(), findMainSummary() possibly releases oldSummary. 17792 We should guard it again RefPtr. 17793 17794 * html/HTMLDetailsElement.cpp: 17795 (WebCore::HTMLDetailsElement::refreshMainSummary): 17796 17797 2011-04-18 Antti Koivisto <antti (a] apple.com> 17798 17799 Reviewed by Simon Fraser. 17800 17801 CSSSelector double frees 17802 https://bugs.webkit.org/show_bug.cgi?id=56124 17803 <rdar://problem/9119036> 17804 17805 In all stacks this is occuring when the document is kept alive by the guard ref only 17806 and the node holding it is deleted. 17807 17808 As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie. 17809 This has a pretty good chance of fixing the actual bug. At minimum it will move the 17810 crash to an earlier, more easily traceble point. 17811 17812 No tests, crash stacks only, no idea how to reproduce. 17813 17814 * dom/Document.cpp: 17815 (WebCore::Document::removedLastRef): 17816 17817 2011-04-18 Alexander Pavlov <apavlov (a] chromium.org> 17818 17819 Reviewed by Yury Semikhatsky. 17820 17821 Web Inspector: Backspace in the Console is broken 17822 https://bugs.webkit.org/show_bug.cgi?id=58764 17823 17824 * inspector/front-end/inspector.js: 17825 (WebInspector.documentKeyDown): 17826 17827 2011-04-18 Hans Wennborg <hans (a] chromium.org> 17828 17829 Reviewed by Steve Block. 17830 17831 LevelDB backend for IndexedDB 17832 https://bugs.webkit.org/show_bug.cgi?id=57372 17833 17834 Only available behind a run-time flag. Covered by existing layout 17835 tests. 17836 17837 * Android.mk: 17838 * CMakeLists.txt: 17839 * GNUmakefile.am: 17840 * GNUmakefile.list.am: 17841 * WebCore.gyp/WebCore.gyp: 17842 * WebCore.gypi: 17843 * WebCore.pri: 17844 * WebCore.pro: 17845 * WebCore.xcodeproj/project.pbxproj: 17846 * platform/leveldb/LevelDBComparator.h: Added. 17847 (WebCore::LevelDBComparator::~LevelDBComparator): 17848 * platform/leveldb/LevelDBDatabase.cpp: Added. 17849 (WebCore::makeSlice): 17850 (WebCore::makeLevelDBSlice): 17851 (WebCore::makeVector): 17852 (WebCore::LevelDBDatabase::LevelDBDatabase): 17853 (WebCore::LevelDBDatabase::~LevelDBDatabase): 17854 (WebCore::LevelDBDatabase::open): 17855 (WebCore::LevelDBDatabase::put): 17856 (WebCore::LevelDBDatabase::remove): 17857 (WebCore::LevelDBDatabase::get): 17858 (WebCore::LevelDBDatabase::newIterator): 17859 * platform/leveldb/LevelDBDatabase.h: Added. 17860 * platform/leveldb/LevelDBIterator.cpp: Added. 17861 (WebCore::LevelDBIterator::~LevelDBIterator): 17862 (WebCore::LevelDBIterator::LevelDBIterator): 17863 (WebCore::makeSlice): 17864 (WebCore::makeLevelDBSlice): 17865 (WebCore::LevelDBIterator::isValid): 17866 (WebCore::LevelDBIterator::seekToLast): 17867 (WebCore::LevelDBIterator::seek): 17868 (WebCore::LevelDBIterator::next): 17869 (WebCore::LevelDBIterator::prev): 17870 (WebCore::LevelDBIterator::key): 17871 (WebCore::LevelDBIterator::value): 17872 * platform/leveldb/LevelDBIterator.h: Added. 17873 * platform/leveldb/LevelDBSlice.h: Added. 17874 (WebCore::LevelDBSlice::LevelDBSlice): 17875 (WebCore::LevelDBSlice::~LevelDBSlice): 17876 (WebCore::LevelDBSlice::begin): 17877 (WebCore::LevelDBSlice::end): 17878 * storage/IDBLevelDBBackingStore.cpp: 17879 (WebCore::encodeByte): 17880 (WebCore::maxIDBKey): 17881 (WebCore::minIDBKey): 17882 (WebCore::encodeInt): 17883 (WebCore::decodeInt): 17884 (WebCore::encodeVarInt): 17885 (WebCore::decodeVarInt): 17886 (WebCore::encodeString): 17887 (WebCore::decodeString): 17888 (WebCore::encodeStringWithLength): 17889 (WebCore::decodeStringWithLength): 17890 (WebCore::encodeDouble): 17891 (WebCore::decodeDouble): 17892 (WebCore::encodeIDBKey): 17893 (WebCore::decodeIDBKey): 17894 (WebCore::extractEncodedIDBKey): 17895 (WebCore::compareEncodedIDBKeys): 17896 (WebCore::getInt): 17897 (WebCore::putInt): 17898 (WebCore::getString): 17899 (WebCore::putString): 17900 (WebCore::KeyPrefix::SchemaVersionKey::encode): 17901 (WebCore::KeyPrefix::MaxDatabaseIdKey::encode): 17902 (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey): 17903 (WebCore::KeyPrefix::DatabaseFreeListKey::decode): 17904 (WebCore::KeyPrefix::DatabaseFreeListKey::encode): 17905 (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId): 17906 (WebCore::KeyPrefix::DatabaseFreeListKey::compare): 17907 (WebCore::KeyPrefix::DatabaseNameKey::decode): 17908 (WebCore::KeyPrefix::DatabaseNameKey::encode): 17909 (WebCore::KeyPrefix::DatabaseNameKey::origin): 17910 (WebCore::KeyPrefix::DatabaseNameKey::databaseName): 17911 (WebCore::KeyPrefix::DatabaseNameKey::compare): 17912 (WebCore::KeyPrefix::DatabaseMetaDataKey::encode): 17913 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey): 17914 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode): 17915 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode): 17916 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId): 17917 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType): 17918 (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare): 17919 (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey): 17920 (WebCore::KeyPrefix::IndexMetaDataKey::decode): 17921 (WebCore::KeyPrefix::IndexMetaDataKey::encode): 17922 (WebCore::KeyPrefix::IndexMetaDataKey::compare): 17923 (WebCore::KeyPrefix::IndexMetaDataKey::indexId): 17924 (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType): 17925 (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey): 17926 (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode): 17927 (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode): 17928 (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId): 17929 (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare): 17930 (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey): 17931 (WebCore::KeyPrefix::IndexFreeListKey::decode): 17932 (WebCore::KeyPrefix::IndexFreeListKey::encode): 17933 (WebCore::KeyPrefix::IndexFreeListKey::compare): 17934 (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId): 17935 (WebCore::KeyPrefix::IndexFreeListKey::indexId): 17936 (WebCore::KeyPrefix::ObjectStoreNamesKey::decode): 17937 (WebCore::KeyPrefix::ObjectStoreNamesKey::encode): 17938 (WebCore::KeyPrefix::ObjectStoreNamesKey::compare): 17939 (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName): 17940 (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey): 17941 (WebCore::KeyPrefix::IndexNamesKey::decode): 17942 (WebCore::KeyPrefix::IndexNamesKey::encode): 17943 (WebCore::KeyPrefix::IndexNamesKey::compare): 17944 (WebCore::KeyPrefix::IndexNamesKey::indexName): 17945 (WebCore::KeyPrefix::ObjectStoreDataKey::decode): 17946 (WebCore::KeyPrefix::ObjectStoreDataKey::encode): 17947 (WebCore::KeyPrefix::ObjectStoreDataKey::compare): 17948 (WebCore::KeyPrefix::ObjectStoreDataKey::userKey): 17949 (WebCore::KeyPrefix::ExistsEntryKey::decode): 17950 (WebCore::KeyPrefix::ExistsEntryKey::encode): 17951 (WebCore::KeyPrefix::ExistsEntryKey::compare): 17952 (WebCore::KeyPrefix::ExistsEntryKey::userKey): 17953 (WebCore::KeyPrefix::IndexDataKey::IndexDataKey): 17954 (WebCore::KeyPrefix::IndexDataKey::decode): 17955 (WebCore::KeyPrefix::IndexDataKey::encode): 17956 (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey): 17957 (WebCore::KeyPrefix::IndexDataKey::compare): 17958 (WebCore::KeyPrefix::IndexDataKey::databaseId): 17959 (WebCore::KeyPrefix::IndexDataKey::objectStoreId): 17960 (WebCore::KeyPrefix::IndexDataKey::indexId): 17961 (WebCore::KeyPrefix::IndexDataKey::userKey): 17962 (WebCore::KeyPrefix::realCompare): 17963 (WebCore::KeyPrefix::compareKeys): 17964 (WebCore::KeyPrefix::compareIndexKeys): 17965 (WebCore::KeyPrefix::Comparator::compare): 17966 (WebCore::KeyPrefix::Comparator::name): 17967 (WebCore::setUpMetadata): 17968 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore): 17969 (WebCore::IDBLevelDBBackingStore::open): 17970 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData): 17971 (WebCore::getNewDatabaseId): 17972 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData): 17973 (WebCore::IDBLevelDBBackingStore::getObjectStores): 17974 (WebCore::getNewObjectStoreId): 17975 (WebCore::IDBLevelDBBackingStore::createObjectStore): 17976 (WebCore::deleteRange): 17977 (WebCore::IDBLevelDBBackingStore::deleteObjectStore): 17978 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord): 17979 (WebCore::getNewVersionNumber): 17980 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord): 17981 (WebCore::IDBLevelDBBackingStore::clearObjectStore): 17982 (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier): 17983 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord): 17984 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): 17985 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore): 17986 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): 17987 (WebCore::IDBLevelDBBackingStore::getIndexes): 17988 (WebCore::getNewIndexId): 17989 (WebCore::IDBLevelDBBackingStore::createIndex): 17990 (WebCore::IDBLevelDBBackingStore::deleteIndex): 17991 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord): 17992 (WebCore::findGreatestKeyLessThan): 17993 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord): 17994 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex): 17995 (WebCore::versionExists): 17996 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): 17997 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): 17998 (WebCore::findLastIndexKeyEqualTo): 17999 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): 18000 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): 18001 (WebCore::IDBLevelDBBackingStore::openIndexCursor): 18002 (WebCore::IDBLevelDBBackingStore::createTransaction): 18003 * storage/IDBLevelDBBackingStore.h: 18004 18005 2011-04-18 Pavel Feldman <pfeldman (a] google.com> 18006 18007 Reviewed by Yury Semikhatsky. 18008 18009 Web Inspector: add test for CSS-resource binding. 18010 https://bugs.webkit.org/show_bug.cgi?id=58786 18011 18012 Test: inspector/styles/styles-history.html 18013 18014 * inspector/InspectorCSSAgent.cpp: 18015 (WebCore::InspectorCSSAgent::setPropertyText): 18016 (WebCore::InspectorCSSAgent::toggleProperty): 18017 * inspector/InspectorStyleSheet.cpp: 18018 (WebCore::InspectorStyle::setPropertyText): 18019 (WebCore::InspectorStyle::toggleProperty): 18020 (WebCore::InspectorStyleSheet::setPropertyText): 18021 (WebCore::InspectorStyleSheet::toggleProperty): 18022 * inspector/InspectorStyleSheet.h: 18023 * inspector/front-end/CSSStyleModel.js: 18024 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if): 18025 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback): 18026 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): 18027 (WebInspector.CSSStyleModel.prototype.setStyleSheetText): 18028 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): 18029 (WebInspector.CSSProperty.prototype.setText.callback): 18030 (WebInspector.CSSProperty.prototype.setText): 18031 18032 2011-04-18 Sheriff Bot <webkit.review.bot (a] gmail.com> 18033 18034 Unreviewed, rolling out r83996. 18035 http://trac.webkit.org/changeset/83996 18036 https://bugs.webkit.org/show_bug.cgi?id=58790 18037 18038 layout test editing/selection/move-by-word-visually.html is 18039 failing (Requested by jknotten on #webkit). 18040 18041 * editing/visible_units.cpp: 18042 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): 18043 (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality): 18044 (WebCore::previousWordBreakInBox): 18045 (WebCore::leftWordBoundary): 18046 (WebCore::rightWordBoundary): 18047 (WebCore::leftWordPosition): 18048 (WebCore::rightWordPosition): 18049 18050 2011-04-18 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 18051 18052 Reviewed by Daniel Bates. 18053 18054 Modify make_names.pl to not include conditional includes unconditionally 18055 https://bugs.webkit.org/show_bug.cgi?id=53672 18056 18057 Fixed conditional includes being unconditionally included. 18058 18059 No new tests (no change in functionality) 18060 18061 * dom/make_names.pl: 18062 - Modified printJSElementIncludes() to only print unconditional element includes. 18063 - Modified printElementIncludes() to only print unconditional element includes. 18064 - Added printConditionalElementIncludes() which takes care of printing conditional element includes. 18065 18066 2011-04-18 Sheriff Bot <webkit.review.bot (a] gmail.com> 18067 18068 Unreviewed, rolling out r83803. 18069 http://trac.webkit.org/changeset/83803 18070 https://bugs.webkit.org/show_bug.cgi?id=58782 18071 18072 Caused focus rings to appear in youtube videos (Requested by 18073 inferno-sec on #webkit). 18074 18075 * rendering/RenderWidget.cpp: 18076 (WebCore::RenderWidget::paint): 18077 18078 2011-04-18 Alexander Pavlov <apavlov (a] chromium.org> 18079 18080 Reviewed by Pavel Feldman. 18081 18082 Web Inspector: Need a workaround for bug 58422 18083 https://bugs.webkit.org/show_bug.cgi?id=58780 18084 18085 Instead of the A:before content, the link text is displayed as the A tag content. 18086 18087 * inspector/front-end/StylesSidebarPane.js: 18088 (WebInspector.StylePropertiesSection.linkifyUncopyable): 18089 (WebInspector.StylePropertiesSection): 18090 * inspector/front-end/inspector.css: 18091 18092 2011-04-18 Carlos Garcia Campos <cgarcia (a] igalia.com> 18093 18094 Unreviewed. Fix WebKit2 GTK build after 82465. 18095 18096 * platform/gtk/LocalizedStringsGtk.cpp: 18097 (WebCore::localizedString): 18098 18099 2011-04-18 Andrey Adaikin <aandrey (a] google.com> 18100 18101 Reviewed by Yury Semikhatsky. 18102 18103 Web Inspector: TAB should not move focus from the text editor while live editing 18104 https://bugs.webkit.org/show_bug.cgi?id=58537 18105 18106 * inspector/front-end/TextViewer.js: 18107 (WebInspector.TextViewer.prototype._registerShortcuts): 18108 (WebInspector.TextViewer.prototype._cancelEditing): 18109 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo): 18110 (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress): 18111 (WebInspector.TextEditorMainPanel.prototype._setCaretLocation): 18112 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 18113 (WebInspector.TextEditorMainPanel.prototype._setText): 18114 18115 2011-04-18 Alexander Pavlov <apavlov (a] chromium.org> 18116 18117 Reviewed by Yury Semikhatsky. 18118 18119 Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box 18120 https://bugs.webkit.org/show_bug.cgi?id=58551 18121 18122 Test: inspector/styles/metrics-box-sizing.html 18123 18124 * inspector/front-end/MetricsSidebarPane.js: 18125 (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx): 18126 (WebInspector.MetricsSidebarPane.prototype._getBox): 18127 (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx): 18128 (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx): 18129 (WebInspector.MetricsSidebarPane.prototype._update): 18130 (WebInspector.MetricsSidebarPane.prototype.startEditing): 18131 (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback): 18132 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 18133 18134 2011-04-18 Ilya Tikhonovsky <loislo (a] chromium.org> 18135 18136 Reviewed by Yury Semikhatsky. 18137 18138 Web Inspector: Database agent stops to propagate it's events after navigation. 18139 https://bugs.webkit.org/show_bug.cgi?id=58776 18140 18141 * inspector/InspectorAgent.cpp: 18142 (WebCore::InspectorAgent::InspectorAgent): 18143 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 18144 * inspector/InspectorDatabaseAgent.cpp: 18145 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 18146 (WebCore::InspectorDatabaseAgent::clearFrontend): 18147 (WebCore::InspectorDatabaseAgent::enable): 18148 (WebCore::InspectorDatabaseAgent::disable): 18149 (WebCore::InspectorDatabaseAgent::restore): 18150 * inspector/InspectorDatabaseAgent.h: 18151 (WebCore::InspectorDatabaseAgent::create): 18152 18153 2011-04-18 Sheriff Bot <webkit.review.bot (a] gmail.com> 18154 18155 Unreviewed, rolling out r83968. 18156 http://trac.webkit.org/changeset/83968 18157 https://bugs.webkit.org/show_bug.cgi?id=58769 18158 18159 Breaks Backspace in Web Inspector console (Requested by 18160 apavlov on #webkit). 18161 18162 * inspector/front-end/inspector.js: 18163 (WebInspector.documentKeyDown): 18164 18165 2011-04-15 Yury Semikhatsky <yurys (a] chromium.org> 18166 18167 Reviewed by Pavel Feldman. 18168 18169 Web Inspector: introduce WorkerInspectorController 18170 https://bugs.webkit.org/show_bug.cgi?id=58668 18171 18172 WorkerInspectorController will be owned by WorkerContext and will hold all inspector 18173 agents and will also manage connection to the inspector frontend. 18174 18175 * CMakeLists.txt: 18176 * GNUmakefile.list.am: 18177 * WebCore.gypi: 18178 * WebCore.pro: 18179 * WebCore.vcproj/WebCore.vcproj: 18180 * WebCore.xcodeproj/project.pbxproj: 18181 * bindings/js/ScriptState.cpp: 18182 (WebCore::scriptStateFromWorkerContext): 18183 * bindings/js/ScriptState.h: 18184 * bindings/v8/ScriptState.cpp: 18185 (WebCore::scriptStateFromWorkerContext): 18186 * bindings/v8/ScriptState.h: 18187 * inspector/InspectorState.cpp: 18188 (WebCore::InspectorState::updateCookie): 18189 * inspector/WorkerInspectorController.cpp: Added. 18190 (WebCore::WorkerInspectorController::WorkerInspectorController): 18191 (WebCore::WorkerInspectorController::~WorkerInspectorController): 18192 (WebCore::WorkerInspectorController::connectFrontend): 18193 (WebCore::WorkerInspectorController::disconnectFrontend): 18194 (WebCore::WorkerInspectorController::dispatchMessageFromFrontend): 18195 * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h. 18196 * workers/WorkerContext.cpp: 18197 (WebCore::WorkerContext::WorkerContext): 18198 * workers/WorkerContext.h: 18199 (WebCore::WorkerContext::workerInspectorController): 18200 18201 2011-04-17 Thierry Reding <thierry.reding (a] avionic-design.de> 18202 18203 Reviewed by Adam Barth. 18204 18205 Fix build with GCC 4.6. 18206 18207 * dom/make_names.pl: Execute preprocessor without the -P option. The 18208 preprocessor in GCC 4.6 eats empty lines, effectively breaking the 18209 parsing performed by this script. Dropping the -P option when invoking 18210 the preprocessor keeps the empty lines but as a side-effect also adds 18211 additional linemarkers. 18212 18213 From the cpp manpage: 18214 18215 -P Inhibit generation of linemarkers in the output from the 18216 preprocessor. This might be useful when running the preprocessor 18217 on something that is not C code, and will be sent to a program 18218 which might be confused by the linemarkers. 18219 18220 The linemarkers are not problematic, however, because the script 18221 properly handles them by ignoring all lines starting with a #. 18222 18223 2011-04-17 David Kilzer <ddkilzer (a] apple.com> 18224 18225 <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting 18226 <rdar://problem/9268729> 18227 18228 Reviewed by Dan Bernstein. 18229 18230 This replaces support for the WebKitEnableHTTPPipelining user 18231 default with methods on the WebCore::ResourceRequest class in 18232 WebCore, the WebView class in WebKit1, and the WebContext class 18233 in WebKit2. It also removes support for the 18234 WebKitForceHTTPPipeliningPriorityHigh user default which was not 18235 needed. 18236 18237 Run these commands if you set the user defaults previously, 18238 replacing "BUNDLE.ID" with your application's bundle ID: 18239 18240 defaults delete BUNDLE.ID WebKitEnableHTTPPipelining 18241 defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh 18242 18243 * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled() 18244 and ResourceRequest::setHTTPPipeliningEnabled(). 18245 18246 * platform/network/ResourceRequestBase.h: 18247 (WebCore::isHTTPPipeliningEnabled): Removed declaration. 18248 (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration. 18249 18250 * platform/network/cf/ResourceRequest.h: 18251 (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration. 18252 (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration. 18253 (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration. 18254 18255 * platform/network/cf/ResourceRequestCFNet.cpp: 18256 (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added. 18257 (WebCore::ResourceRequest::httpPipeliningEnabled): Added. 18258 (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added. 18259 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched 18260 to use ResourceRequest::httpPipeliningEnabled(). 18261 (WebCore::readBooleanPreference): Removed. 18262 (WebCore::isHTTPPipeliningEnabled): Removed. 18263 (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed. 18264 18265 * platform/network/mac/ResourceRequestMac.mm: 18266 (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to 18267 use ResourceRequest::httpPipeliningEnabled(). Removed check for 18268 shouldForceHTTPPipeliningPriorityHigh(). 18269 (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto. 18270 18271 2011-04-17 Dan Bernstein <mitz (a] apple.com> 18272 18273 Reviewed by Maciej Stachowiak. 18274 18275 REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html 18276 https://bugs.webkit.org/show_bug.cgi?id=58736 18277 18278 * rendering/RenderBlockLineLayout.cpp: 18279 (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so 18280 that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange() 18281 always dirties the line after the last one in the range. 18282 18283 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 18284 18285 Unreviewed. Add missing include to fix build without precompiled header. 18286 18287 * rendering/RenderMediaControls.cpp: 18288 18289 2011-04-17 Daniel Bates <dbates (a] webkit.org> 18290 18291 Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110> 18292 (https://bugs.webkit.org/show_bug.cgi?id=57842). 18293 18294 * loader/cache/CachedResourceLoader.cpp: 18295 (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource. 18296 18297 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 18298 18299 Reviewed by Eric Seidel. 18300 18301 Remove pthread dependency of GCController 18302 https://bugs.webkit.org/show_bug.cgi?id=54833 18303 18304 * bindings/js/GCController.cpp: 18305 (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging): 18306 18307 2011-04-17 Gavin Peters <gavinp (a] chromium.org> 18308 18309 Reviewed by Adam Barth. 18310 18311 Add support for link rel type "subresource" 18312 https://bugs.webkit.org/show_bug.cgi?id=57842 18313 18314 Link rel=prefetch is great for cache warming for resources on 18315 subsequent pages, but it launches requests at too low a priority 18316 to use for subresources of the current page. 18317 18318 Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940 18319 is implemented, a rel type that launches requests at an higher 18320 priority is going to be very useful. This rel type is in the 18321 HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions . An 18322 expected use case will be for servers to provide subresource hints 18323 in link headers, which will allow servers to help make the web 18324 faster. 18325 18326 This feature continues my implementation of the Link header, which 18327 we've talked about in WebKit-dev in 18328 https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html. 18329 18330 Tests: fast/dom/HTMLLinkElement/subresource.html 18331 http/tests/misc/link-rel-prefetch-and-subresource.html 18332 18333 * html/HTMLLinkElement.cpp: 18334 (WebCore::HTMLLinkElement::~HTMLLinkElement): 18335 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 18336 (WebCore::HTMLLinkElement::process): 18337 (WebCore::HTMLLinkElement::onloadTimerFired): 18338 (WebCore::HTMLLinkElement::notifyFinished): 18339 * html/HTMLLinkElement.h: 18340 (WebCore::HTMLLinkElement::RelAttribute::RelAttribute): 18341 * loader/cache/CachedResource.cpp: 18342 (WebCore::defaultPriorityForResourceType): 18343 * loader/cache/CachedResource.h: 18344 (WebCore::CachedResource::isLinkResource): 18345 * loader/cache/CachedResourceLoader.cpp: 18346 (WebCore::createResource): 18347 (WebCore::CachedResourceLoader::requestLinkResource): 18348 (WebCore::CachedResourceLoader::canRequest): 18349 (WebCore::CachedResourceLoader::incrementRequestCount): 18350 (WebCore::CachedResourceLoader::decrementRequestCount): 18351 * loader/cache/CachedResourceLoader.h: 18352 * loader/cache/CachedResourceRequest.cpp: 18353 (WebCore::cachedResourceTypeToTargetType): 18354 (WebCore::CachedResourceRequest::load): 18355 18356 2011-04-17 Dan Bernstein <mitz (a] apple.com> 18357 18358 Reviewed by Joseph Pecoraro. 18359 18360 <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html 18361 https://bugs.webkit.org/show_bug.cgi?id=58745 18362 18363 This is really a regression from r82611, but it went unnoticed due to a mistake in r73385, 18364 which was fixed in r83514. 18365 18366 * rendering/RenderBlockLineLayout.cpp: 18367 (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the 18368 variable so named, not the top layout overflow. 18369 18370 2011-04-17 Geoffrey Garen <ggaren (a] apple.com> 18371 18372 Strongly suggested, but not necessarily reviewed, by 18373 Sam Weinig and Maciej Stachowiak. 18374 18375 Renamed DOMObject* => JSDOMWrapper*. 18376 18377 * bindings/js/DOMWrapperWorld.cpp: 18378 (WebCore::isObservable): 18379 (WebCore::DOMObjectHandleOwner::finalize): 18380 * bindings/js/DOMWrapperWorld.h: 18381 * bindings/js/JSArrayBufferViewHelper.h: 18382 (WebCore::toJSArrayBufferView): 18383 * bindings/js/JSCSSRuleCustom.cpp: 18384 (WebCore::toJS): 18385 * bindings/js/JSCSSValueCustom.cpp: 18386 (WebCore::toJS): 18387 * bindings/js/JSDOMBinding.h: 18388 (WebCore::JSDOMWrapperWithGlobalPointer::globalObject): 18389 (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer): 18390 (WebCore::DOMConstructorObject::DOMConstructorObject): 18391 (WebCore::createDOMObjectWrapper): 18392 (WebCore::getDOMObjectWrapper): 18393 * bindings/js/JSDOMWrapper.cpp: 18394 (WebCore::JSDOMWrapper::~JSDOMWrapper): 18395 * bindings/js/JSDOMWrapper.h: 18396 (WebCore::JSDOMWrapper::JSDOMWrapper): 18397 * bindings/js/JSDocumentCustom.cpp: 18398 (WebCore::JSDocument::location): 18399 (WebCore::toJS): 18400 * bindings/js/JSEventCustom.cpp: 18401 (WebCore::toJS): 18402 * bindings/js/JSHTMLCollectionCustom.cpp: 18403 (WebCore::toJS): 18404 * bindings/js/JSImageDataCustom.cpp: 18405 (WebCore::toJS): 18406 * bindings/js/JSSVGPathSegCustom.cpp: 18407 (WebCore::toJS): 18408 * bindings/js/JSStyleSheetCustom.cpp: 18409 (WebCore::toJS): 18410 * bindings/js/ScriptWrappable.h: 18411 (WebCore::ScriptWrappable::wrapper): 18412 (WebCore::ScriptWrappable::setWrapper): 18413 * bindings/scripts/CodeGeneratorJS.pm: 18414 18415 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 18416 18417 Reviewed by Adam Barth. 18418 18419 Rename PLATFORM(CA) to USE(CA) 18420 https://bugs.webkit.org/show_bug.cgi?id=58742 18421 18422 * config.h: 18423 * platform/graphics/ca/TransformationMatrixCA.cpp: 18424 * platform/graphics/cg/ImageBufferDataCG.h: 18425 * platform/graphics/transforms/TransformationMatrix.h: 18426 * platform/mac/WebCoreSystemInterface.h: 18427 * rendering/RenderLayerBacking.cpp: 18428 (WebCore::RenderLayerBacking::containsPaintedContent): 18429 * rendering/RenderLayerCompositor.cpp: 18430 (WebCore::RenderLayerCompositor::updateBacking): 18431 18432 2011-04-17 Young Han Lee <joybro (a] company100.net> 18433 18434 Reviewed by Benjamin Poulain. 18435 18436 [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0. 18437 https://bugs.webkit.org/show_bug.cgi?id=58739 18438 18439 gInVertexAttributeIndex is a constant variable to point the location of 18440 "InVertex" attribute of the vertex shaders. 18441 18442 * platform/graphics/opengl/TextureMapperGL.cpp: 18443 (WebCore::TextureMapperGL::drawTexture): 18444 (WebCore::TextureMapperGL::paintToTarget): 18445 18446 2011-04-17 Kinuko Yasuda <kinuko (a] chromium.org> 18447 18448 Not reviewed: Fix copyright (I had submitted the file with wrong 18449 copyright line). 18450 18451 * storage/StorageInfo.idl: 18452 18453 2011-04-17 Patrick Gansterer <paroga (a] webkit.org> 18454 18455 Reviewed by Adam Barth. 18456 18457 Rename PLATFORM(CG) to USE(CG) 18458 https://bugs.webkit.org/show_bug.cgi?id=58729 18459 18460 * config.h: 18461 * html/HTMLCanvasElement.cpp: 18462 (WebCore::HTMLCanvasElement::toDataURL): 18463 * html/HTMLCanvasElement.h: 18464 * html/canvas/CanvasRenderingContext2D.cpp: 18465 (WebCore::CanvasRenderingContext2D::setShadow): 18466 (WebCore::CanvasRenderingContext2D::drawTextInternal): 18467 * html/canvas/CanvasRenderingContext2D.h: 18468 * html/canvas/CanvasStyle.cpp: 18469 (WebCore::CanvasStyle::applyStrokeColor): 18470 (WebCore::CanvasStyle::applyFillColor): 18471 * loader/cache/CachedFont.cpp: 18472 * loader/cache/CachedImage.cpp: 18473 (WebCore::CachedImage::createImage): 18474 * platform/FloatConversion.h: 18475 * platform/MIMETypeRegistry.cpp: 18476 (WebCore::initializeSupportedImageMIMETypes): 18477 (WebCore::initializeSupportedImageMIMETypesForEncoding): 18478 * platform/graphics/BitmapImage.h: 18479 * platform/graphics/Color.h: 18480 * platform/graphics/DashArray.h: 18481 * platform/graphics/FloatPoint.h: 18482 * platform/graphics/FloatRect.h: 18483 * platform/graphics/FloatSize.h: 18484 * platform/graphics/FontPlatformData.h: 18485 (WebCore::FontPlatformData::FontPlatformData): 18486 (WebCore::FontPlatformData::hash): 18487 * platform/graphics/GlyphBuffer.h: 18488 (WebCore::GlyphBuffer::advanceAt): 18489 (WebCore::GlyphBuffer::add): 18490 (WebCore::GlyphBuffer::expandLastAdvance): 18491 * platform/graphics/Gradient.h: 18492 * platform/graphics/GraphicsContext.cpp: 18493 (WebCore::GraphicsContext::setLegacyShadow): 18494 * platform/graphics/GraphicsContext.h: 18495 (WebCore::GraphicsContextState::GraphicsContextState): 18496 * platform/graphics/GraphicsContext3D.h: 18497 * platform/graphics/Image.cpp: 18498 * platform/graphics/Image.h: 18499 * platform/graphics/ImageBuffer.cpp: 18500 * platform/graphics/ImageBuffer.h: 18501 * platform/graphics/ImageBufferData.h: 18502 * platform/graphics/ImageSource.h: 18503 * platform/graphics/IntPoint.h: 18504 * platform/graphics/IntRect.h: 18505 * platform/graphics/IntSize.h: 18506 * platform/graphics/Path.h: 18507 * platform/graphics/Pattern.h: 18508 * platform/graphics/SimpleFontData.h: 18509 * platform/graphics/cg/ColorCG.cpp: 18510 * platform/graphics/cg/FloatPointCG.cpp: 18511 * platform/graphics/cg/FloatRectCG.cpp: 18512 * platform/graphics/cg/FloatSizeCG.cpp: 18513 * platform/graphics/cg/ImageCG.cpp: 18514 * platform/graphics/cg/ImageSourceCG.cpp: 18515 * platform/graphics/cg/IntPointCG.cpp: 18516 * platform/graphics/cg/IntRectCG.cpp: 18517 * platform/graphics/cg/IntSizeCG.cpp: 18518 * platform/graphics/cg/PDFDocumentImage.cpp: 18519 * platform/graphics/cg/PDFDocumentImage.h: 18520 * platform/graphics/cg/PathCG.cpp: 18521 * platform/graphics/cg/TransformationMatrixCG.cpp: 18522 * platform/graphics/chromium/ImageLayerChromium.h: 18523 * platform/graphics/chromium/LayerRendererChromium.cpp: 18524 * platform/graphics/chromium/LayerRendererChromium.h: 18525 * platform/graphics/chromium/PlatformCanvas.cpp: 18526 (WebCore::PlatformCanvas::resize): 18527 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 18528 (WebCore::PlatformCanvas::Painter::Painter): 18529 * platform/graphics/chromium/PlatformCanvas.h: 18530 * platform/graphics/chromium/PlatformImage.cpp: 18531 (WebCore::PlatformImage::updateFromImage): 18532 * platform/graphics/opentype/OpenTypeUtilities.cpp: 18533 * platform/graphics/transforms/AffineTransform.h: 18534 * platform/graphics/transforms/TransformationMatrix.h: 18535 * platform/graphics/win/DIBPixelData.h: 18536 * platform/graphics/win/FontCacheWin.cpp: 18537 (WebCore::FontCache::platformInit): 18538 (WebCore::createGDIFont): 18539 (WebCore::FontCache::createFontPlatformData): 18540 * platform/graphics/win/FontPlatformDataWin.cpp: 18541 (WebCore::FontPlatformData::FontPlatformData): 18542 * platform/graphics/win/GraphicsContextWin.cpp: 18543 * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp: 18544 * platform/graphics/win/SimpleFontDataWin.cpp: 18545 * platform/image-decoders/ImageDecoder.cpp: 18546 * platform/image-decoders/ImageDecoder.h: 18547 * rendering/RenderObject.h: 18548 * rendering/svg/RenderSVGResourceFilter.cpp: 18549 (WebCore::RenderSVGResourceFilter::postApplyResource): 18550 * rendering/svg/RenderSVGResourceGradient.cpp: 18551 (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient): 18552 (WebCore::RenderSVGResourceGradient::applyResource): 18553 * rendering/svg/RenderSVGResourceGradient.h: 18554 * rendering/svg/RenderSVGResourceMasker.cpp: 18555 (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage): 18556 * rendering/svg/RenderSVGResourcePattern.cpp: 18557 (WebCore::RenderSVGResourcePattern::applyResource): 18558 18559 2011-04-16 Adam Barth <abarth (a] webkit.org> 18560 18561 Reviewed by Sam Weinig. 18562 18563 about:blank documents in new tabs can XHR anywhere 18564 https://bugs.webkit.org/show_bug.cgi?id=58712 18565 18566 Empty security origins have supposed to be low-privilege, we should 18567 mark them as having a unique origin. 18568 18569 * manual-tests/about-blank-xhr.html: Added. 18570 * page/SecurityOrigin.cpp: 18571 (WebCore::SecurityOrigin::SecurityOrigin): 18572 * page/SecurityOrigin.h: 18573 18574 2011-04-16 Dan Bernstein <mitz (a] apple.com> 18575 18576 Reviewed by Simon Fraser. 18577 18578 <rdar://problem/9190108> Crash when hiding a float 18579 18580 Test: fast/block/float/overhanging-tall-block.html 18581 18582 * rendering/RenderBlock.cpp: 18583 (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop. 18584 Capped the logical bottom so that we get the correct maximum. 18585 * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine(). 18586 * rendering/RenderBlockLineLayout.cpp: 18587 (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by 18588 extending the float if needed so that it touches the line. 18589 (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine(). 18590 (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right 18591 range of lines as dirty. 18592 * rendering/RootInlineBox.h: 18593 (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which 18594 allows the creation of the vector to be combined with appending the first float. 18595 18596 2011-04-16 Sam Weinig <sam (a] webkit.org> 18597 18598 Reviewed by Simon Fraser. 18599 18600 Pages in the PageCache don't have the correct visited link coloring after being restored 18601 https://bugs.webkit.org/show_bug.cgi?id=58721 18602 18603 * WebCore.exp.in: 18604 Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2. 18605 18606 * history/CachedPage.cpp: 18607 (WebCore::CachedPage::CachedPage): 18608 (WebCore::CachedPage::restore): 18609 (WebCore::CachedPage::clear): 18610 * history/CachedPage.h: 18611 (WebCore::CachedPage::markForVistedLinkStyleRecalc): 18612 Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link 18613 style recalc when being restored. 18614 18615 * history/PageCache.h: 18616 * history/PageCache.cpp: 18617 (WebCore::PageCache::markPagesForVistedLinkStyleRecalc): 18618 Mark all pages in the page cache as requiring visited link style recalc. 18619 18620 * page/PageGroup.cpp: 18621 (WebCore::PageGroup::addVisitedLink): 18622 (WebCore::PageGroup::removeVisitedLinks): 18623 (WebCore::PageGroup::removeAllVisitedLinks): 18624 Set dirty bit when changing any visited link information. 18625 18626 18627 2011-04-16 Leo Yang <leoyang.webkit (a] gmail.com> 18628 18629 Reviewed by Nikolas Zimmermann. 18630 18631 ASSERT failure when svg <use> element changes href 18632 https://bugs.webkit.org/show_bug.cgi?id=58726 18633 18634 m_resourceId was not empty after the pending resource 18635 becomes available. This will trigger the assertion at 18636 line 509 of SVGUseElement.cpp when the <use> element's 18637 href becomes empty or invalid. 18638 18639 This patch makes m_resourceId be empty after the pending 18640 resource becomes available to avoid assertion failure. 18641 18642 Test: svg/custom/use-crash-when-href-change.svg 18643 18644 * svg/SVGUseElement.cpp: 18645 (WebCore::SVGUseElement::buildPendingResource): 18646 18647 2011-04-16 Patrick Gansterer <paroga (a] webkit.org> 18648 18649 Reviewed by Eric Seidel. 18650 18651 Rename PLATFORM(CAIRO) to USE(CAIRO) 18652 https://bugs.webkit.org/show_bug.cgi?id=55192 18653 18654 * CMakeListsEfl.txt: 18655 * config.h: 18656 * platform/MIMETypeRegistry.cpp: 18657 (WebCore::initializeSupportedImageMIMETypesForEncoding): 18658 * platform/graphics/ContextShadow.h: 18659 * platform/graphics/DashArray.h: 18660 * platform/graphics/FloatRect.h: 18661 * platform/graphics/FontPlatformData.h: 18662 (WebCore::FontPlatformData::FontPlatformData): 18663 (WebCore::FontPlatformData::hash): 18664 (WebCore::FontPlatformData::isHashTableDeletedValue): 18665 * platform/graphics/GlyphBuffer.h: 18666 (WebCore::GlyphBuffer::glyphAt): 18667 (WebCore::GlyphBuffer::add): 18668 * platform/graphics/Gradient.cpp: 18669 * platform/graphics/Gradient.h: 18670 * platform/graphics/GraphicsContext.cpp: 18671 * platform/graphics/GraphicsContext.h: 18672 (WebCore::GraphicsContextState::GraphicsContextState): 18673 * platform/graphics/GraphicsContext3D.h: 18674 * platform/graphics/ImageBufferData.h: 18675 * platform/graphics/ImageSource.h: 18676 * platform/graphics/Path.h: 18677 * platform/graphics/Pattern.h: 18678 * platform/graphics/SimpleFontData.h: 18679 * platform/graphics/cairo/DrawErrorUnderline.h: 18680 * platform/graphics/cairo/GraphicsContextCairo.cpp: 18681 * platform/graphics/cairo/ImageCairo.cpp: 18682 * platform/graphics/gstreamer/ImageGStreamer.h: 18683 * platform/graphics/transforms/AffineTransform.h: 18684 * platform/graphics/transforms/TransformationMatrix.h: 18685 * platform/graphics/win/FontCacheWin.cpp: 18686 (WebCore::createGDIFont): 18687 (WebCore::FontCache::createFontPlatformData): 18688 * platform/graphics/win/FontPlatformDataWin.cpp: 18689 (WebCore::FontPlatformData::FontPlatformData): 18690 * platform/graphics/win/GraphicsContextWin.cpp: 18691 * plugins/win/PluginViewWin.cpp: 18692 (WebCore::PluginView::paintWindowedPluginIntoContext): 18693 * rendering/RenderObject.h: 18694 18695 2011-04-16 Patrick Gansterer <paroga (a] webkit.org> 18696 18697 Unreviewed WinCE build fix for r84033. 18698 18699 * platform/win/LocalizedStringsWin.cpp: 18700 (WebCore::localizedString): 18701 18702 2011-04-16 Abhishek Arya <inferno (a] chromium.org> 18703 18704 Reviewed by Nikolas Zimmermann. 18705 18706 Only allow inline child for SVG text since we cannot 18707 handle block childs. 18708 https://bugs.webkit.org/show_bug.cgi?id=58678 18709 18710 Test: svg/text/text-block-child-crash.xhtml 18711 18712 * rendering/svg/RenderSVGText.cpp: 18713 (WebCore::RenderSVGText::isChildAllowed): 18714 * rendering/svg/RenderSVGText.h: 18715 18716 2011-04-15 Ilya Tikhonovsky <loislo (a] chromium.org> 18717 18718 Reviewed by Pavel Feldman. 18719 18720 Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector. 18721 https://bugs.webkit.org/show_bug.cgi?id=57833 18722 18723 * inspector/Inspector.json: 18724 * inspector/InspectorDatabaseAgent.cpp: 18725 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 18726 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 18727 (WebCore::InspectorDatabaseAgent::setFrontend): 18728 (WebCore::InspectorDatabaseAgent::clearFrontend): 18729 (WebCore::InspectorDatabaseAgent::enable): 18730 (WebCore::InspectorDatabaseAgent::disable): 18731 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 18732 (WebCore::InspectorDatabaseAgent::executeSQL): 18733 * inspector/InspectorDatabaseAgent.h: 18734 * inspector/front-end/inspector.js: 18735 18736 2011-04-15 Adam Barth <abarth (a] webkit.org> 18737 18738 Reviewed by Eric Seidel. 18739 18740 CSP media-src is missing 18741 https://bugs.webkit.org/show_bug.cgi?id=58642 18742 18743 Yay HTMLMediaElement for having the exact hook we need! 18744 18745 Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html 18746 http/tests/security/contentSecurityPolicy/media-src-blocked.html 18747 18748 * html/HTMLMediaElement.cpp: 18749 (WebCore::HTMLMediaElement::isSafeToLoadURL): 18750 - Although it's tempting to add this branch to the previous 18751 if-block, that results in the wrong error message being logged to 18752 the console (covered by the "blocked" test). 18753 * page/ContentSecurityPolicy.cpp: 18754 (WebCore::ContentSecurityPolicy::allowMediaFromSource): 18755 (WebCore::ContentSecurityPolicy::addDirective): 18756 * page/ContentSecurityPolicy.h: 18757 - These changes are routine. 18758 18759 2011-04-15 Adam Barth <abarth (a] webkit.org> 18760 18761 Reviewed by Eric Seidel. 18762 18763 CSP should block string arguments to setTimeout and setInterval unless options eval-script 18764 https://bugs.webkit.org/show_bug.cgi?id=58610 18765 18766 It's somewhat sadness that the JSC and V8 code for setTimeout and 18767 setInterval are so different. I struggled for a while with how to 18768 handle the worker case, but I decided to punt on it for now. 18769 18770 Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html 18771 http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html 18772 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html 18773 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html 18774 18775 * bindings/js/JSDOMWindowCustom.cpp: 18776 (WebCore::JSDOMWindow::setTimeout): 18777 (WebCore::JSDOMWindow::setInterval): 18778 * bindings/js/JSWorkerContextCustom.cpp: 18779 (WebCore::JSWorkerContext::setTimeout): 18780 (WebCore::JSWorkerContext::setInterval): 18781 * bindings/js/ScheduledAction.cpp: 18782 (WebCore::ScheduledAction::create): 18783 * bindings/js/ScheduledAction.h: 18784 * bindings/v8/custom/V8DOMWindowCustom.cpp: 18785 (WebCore::WindowSetTimeoutImpl): 18786 * page/ContentSecurityPolicy.cpp: 18787 (WebCore::ContentSecurityPolicy::allowEval): 18788 * page/ContentSecurityPolicy.h: 18789 18790 2011-04-15 Shishir Agrawal <shishir (a] chromium.org> 18791 18792 Reviewed by James Robinson. 18793 18794 Add a flag to guard Page Visibility API changes. 18795 https://bugs.webkit.org/show_bug.cgi?id=58464 18796 18797 * Configurations/FeatureDefines.xcconfig: 18798 18799 2011-04-15 Fridrich Strba <fridrich.strba (a] bluewin.ch> 18800 18801 Reviewed by Martin Robinson. 18802 18803 Make plugins compile during WebKit GTK Windows build. 18804 Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows. 18805 https://bugs.webkit.org/show_bug.cgi?id=58580 18806 18807 * plugins/PluginView.cpp: 18808 (WebCore::PluginView::stop): 18809 * plugins/PluginView.h: 18810 * plugins/gtk/PluginViewGtk.cpp: 18811 (WebCore::PluginView::platformGetValue): 18812 (WebCore::PluginView::platformStart): 18813 18814 2011-04-15 MORITA Hajime <morrita (a] google.com> 18815 18816 Reviewed by Simon Fraser. 18817 18818 Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower 18819 https://bugs.webkit.org/show_bug.cgi?id=58512 18820 18821 Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced. 18822 This change keeps an small refactoring on 18823 FrameView::shouldUpdate(), which doesn't affect on the behavior. 18824 18825 * dom/Document.cpp: 18826 * dom/Document.h: 18827 * page/FrameView.cpp: 18828 (WebCore::FrameView::invalidateRect): 18829 (WebCore::FrameView::shouldUpdate): 18830 * rendering/RenderBlock.cpp: 18831 (WebCore::RenderBlock::paintContents): 18832 * rendering/RenderLayer.cpp: 18833 (WebCore::RenderLayer::paintLayer): 18834 18835 2011-04-15 Chris Rogers <crogers (a] google.com> 18836 18837 Reviewed by Kenneth Russell. 18838 18839 Reduce default kernel size of SincResampler to favor better speed over quality 18840 https://bugs.webkit.org/show_bug.cgi?id=58710 18841 18842 No new tests since audio API is not yet implemented. 18843 18844 * platform/audio/SincResampler.h: 18845 18846 2011-04-15 Fridrich Strba <fridrich.strba (a] bluewin.ch> 18847 18848 Reviewed by Martin Robinson. 18849 18850 Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS) 18851 These have to be defined for Windows in general, since win32 API 18852 does not provide them. 18853 https://bugs.webkit.org/show_bug.cgi?id=58582 18854 18855 * platform/graphics/WOFFFileFormat.cpp: 18856 18857 2011-04-15 Vsevolod Vlasov <vsevik (a] chromium.org> 18858 18859 Reviewed by Adam Barth. 18860 18861 Show a console message when X-Frame-Options blocks a load 18862 https://bugs.webkit.org/show_bug.cgi?id=39087 18863 18864 Added console message when X-Frame-Options headers block resource loading 18865 18866 * loader/MainResourceLoader.cpp: 18867 (WebCore::MainResourceLoader::didReceiveResponse): 18868 18869 2011-04-15 Fridrich Strba <fridrich.strba (a] bluewin.ch> 18870 18871 Reviewed by Martin Robinson. 18872 18873 Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS) 18874 test. This allows Windows build of WebKit GTK to chose the right 18875 path. 18876 https://bugs.webkit.org/show_bug.cgi?id=58576 18877 18878 * platform/FileSystem.h: 18879 18880 2011-04-08 Luiz Agostini <luiz.agostini (a] openbossa.org> 18881 18882 Reviewed by Kenneth Rohde Christiansen. 18883 18884 [Qt] QWebPage MIME type handling inconsistency with other web browsers 18885 https://bugs.webkit.org/show_bug.cgi?id=46968 18886 18887 Implementing mime type sniffing based on 18888 http://tools.ietf.org/html/draft-abarth-mime-sniff-06. 18889 18890 * WebCore.pro: 18891 * platform/network/MIMESniffing.cpp: Added. 18892 (MagicNumbers::dataSizeNeededForImageSniffing): 18893 (MagicNumbers::maskedCompare): 18894 (MagicNumbers::checkSpaceOrBracket): 18895 (MagicNumbers::compare): 18896 (MagicNumbers::findMIMEType): 18897 (MagicNumbers::findSimpleMIMEType): 18898 (MagicNumbers::textOrBinaryTypeSniffingProcedure): 18899 (MagicNumbers::unknownTypeSniffingProcedure): 18900 (MagicNumbers::imageTypeSniffingProcedure): 18901 (MagicNumbers::checkText): 18902 (MagicNumbers::checkRDF): 18903 (MagicNumbers::skipTag): 18904 (MagicNumbers::feedTypeSniffingProcedure): 18905 (MIMESniffer::MIMESniffer): 18906 * platform/network/MIMESniffing.h: Added. 18907 (MIMESniffer::dataSize): 18908 (MIMESniffer::sniff): 18909 (MIMESniffer::isValid): 18910 * platform/network/NetworkingContext.h: 18911 * platform/network/qt/QNetworkReplyHandler.cpp: 18912 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 18913 (WebCore::QNetworkReplyWrapper::release): 18914 (WebCore::QNetworkReplyWrapper::receiveMetaData): 18915 (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType): 18916 (WebCore::QNetworkReplyWrapper::emitMetaDataChanged): 18917 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 18918 (WebCore::QNetworkReplyHandler::sendNetworkRequest): 18919 (WebCore::QNetworkReplyHandler::start): 18920 * platform/network/qt/QNetworkReplyHandler.h: 18921 (WebCore::QNetworkReplyWrapper::advertisedMIMEType): 18922 (WebCore::QNetworkReplyWrapper::mimeType): 18923 * platform/network/qt/QtMIMETypeSniffer.cpp: Added. 18924 (QtMIMETypeSniffer::QtMIMETypeSniffer): 18925 (QtMIMETypeSniffer::sniff): 18926 (QtMIMETypeSniffer::trySniffing): 18927 * platform/network/qt/QtMIMETypeSniffer.h: Added. 18928 (QtMIMETypeSniffer::mimeType): 18929 (QtMIMETypeSniffer::isFinished): 18930 18931 2011-04-15 Emil A Eklund <eae (a] chromium.org> 18932 18933 Reviewed by Dimitri Glazkov. 18934 18935 input field with focus makes appendChild operation ~42x slower 18936 https://bugs.webkit.org/show_bug.cgi?id=57059 18937 18938 Change ContainerNode::cloneChildNodes to only disable the 18939 deleteButtonController if the container itself (or any of its children) 18940 is being edited. Thus avoiding a reflow in cases where it's not. 18941 18942 Test: perf/clone-with-focus.html 18943 18944 * dom/ContainerNode.cpp: 18945 (WebCore::ContainerNode::cloneChildNodes): 18946 18947 2011-04-15 Kinuko Yasuda <kinuko (a] chromium.org> 18948 18949 Reviewed by David Levin. 18950 18951 Expose unified Quota API if QUOTA build flag is enabled 18952 https://bugs.webkit.org/show_bug.cgi?id=58648 18953 18954 Test: storage/storageinfo-query-usage.html 18955 18956 * CMakeLists.txt: Added new file entries. 18957 * DerivedSources.cpp: Added new file entries. 18958 * DerivedSources.make: Added new file entries. 18959 * GNUmakefile.am: Added new file entries. 18960 * WebCore.gypi: Added new file entries. 18961 * WebCore.vcproj/WebCore.vcproj: Added new file entries. 18962 * WebCore.xcodeproj/project.pbxproj: Added new file entries. 18963 * page/DOMWindow.cpp: 18964 (WebCore::DOMWindow::webkitStorageInfo): Added. 18965 * page/DOMWindow.h: 18966 * page/DOMWindow.idl: 18967 * storage/StorageInfo.h: Added storage type enum. 18968 * storage/StorageInfo.idl: Added. 18969 * storage/StorageInfoErrorCallback.idl: Added. 18970 * storage/StorageInfoUsageCallback.idl: Added. 18971 18972 2011-04-15 Oliver Hunt <oliver (a] apple.com> 18973 18974 GC allocate Structure 18975 https://bugs.webkit.org/show_bug.cgi?id=58483 18976 18977 Rolling r83894 r83827 r83810 r83809 r83808 back in with 18978 a workaround for the gcc bug seen by the gtk bots 18979 18980 * WebCore.exp.in: 18981 * bindings/js/JSAudioConstructor.h: 18982 (WebCore::JSAudioConstructor::createStructure): 18983 * bindings/js/JSDOMBinding.cpp: 18984 (WebCore::cacheDOMStructure): 18985 * bindings/js/JSDOMBinding.h: 18986 (WebCore::DOMObjectWithGlobalPointer::createStructure): 18987 (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): 18988 (WebCore::DOMConstructorObject::createStructure): 18989 (WebCore::DOMConstructorObject::DOMConstructorObject): 18990 (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): 18991 * bindings/js/JSDOMGlobalObject.cpp: 18992 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): 18993 (WebCore::JSDOMGlobalObject::markChildren): 18994 * bindings/js/JSDOMGlobalObject.h: 18995 (WebCore::JSDOMGlobalObject::createStructure): 18996 * bindings/js/JSDOMWindowBase.cpp: 18997 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 18998 * bindings/js/JSDOMWindowBase.h: 18999 (WebCore::JSDOMWindowBase::createStructure): 19000 * bindings/js/JSDOMWindowShell.cpp: 19001 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 19002 (WebCore::JSDOMWindowShell::setWindow): 19003 * bindings/js/JSDOMWindowShell.h: 19004 (WebCore::JSDOMWindowShell::createStructure): 19005 * bindings/js/JSDOMWrapper.h: 19006 (WebCore::DOMObject::DOMObject): 19007 * bindings/js/JSEventListener.cpp: 19008 (WebCore::JSEventListener::JSEventListener): 19009 * bindings/js/JSImageConstructor.h: 19010 (WebCore::JSImageConstructor::createStructure): 19011 * bindings/js/JSImageDataCustom.cpp: 19012 (WebCore::toJS): 19013 * bindings/js/JSOptionConstructor.h: 19014 (WebCore::JSOptionConstructor::createStructure): 19015 * bindings/js/JSWorkerContextBase.cpp: 19016 (WebCore::JSWorkerContextBase::JSWorkerContextBase): 19017 * bindings/js/JSWorkerContextBase.h: 19018 (WebCore::JSWorkerContextBase::createStructure): 19019 * bindings/js/ScriptCachedFrameData.h: 19020 * bindings/js/SerializedScriptValue.h: 19021 * bindings/js/WorkerScriptController.cpp: 19022 (WebCore::WorkerScriptController::~WorkerScriptController): 19023 (WebCore::WorkerScriptController::initScript): 19024 * bindings/scripts/CodeGeneratorJS.pm: 19025 * bridge/c/CRuntimeObject.h: 19026 (JSC::Bindings::CRuntimeObject::createStructure): 19027 * bridge/c/c_instance.cpp: 19028 (JSC::Bindings::CRuntimeMethod::createStructure): 19029 * bridge/jni/jsc/JavaInstanceJSC.cpp: 19030 (JavaRuntimeMethod::createStructure): 19031 * bridge/jni/jsc/JavaRuntimeObject.h: 19032 (JSC::Bindings::JavaRuntimeObject::createStructure): 19033 * bridge/objc/ObjCRuntimeObject.h: 19034 (JSC::Bindings::ObjCRuntimeObject::createStructure): 19035 * bridge/objc/objc_instance.mm: 19036 (ObjCRuntimeMethod::createStructure): 19037 * bridge/objc/objc_runtime.h: 19038 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 19039 * bridge/qt/qt_instance.cpp: 19040 (JSC::Bindings::QtRuntimeObject::createStructure): 19041 * bridge/qt/qt_pixmapruntime.cpp: 19042 (JSC::Bindings::QtPixmapRuntimeObject::createStructure): 19043 * bridge/qt/qt_runtime.h: 19044 (JSC::Bindings::QtRuntimeMethod::createStructure): 19045 * bridge/runtime_array.cpp: 19046 (JSC::RuntimeArray::RuntimeArray): 19047 * bridge/runtime_array.h: 19048 (JSC::RuntimeArray::createStructure): 19049 * bridge/runtime_method.cpp: 19050 (JSC::RuntimeMethod::RuntimeMethod): 19051 * bridge/runtime_method.h: 19052 (JSC::RuntimeMethod::createStructure): 19053 * bridge/runtime_object.cpp: 19054 (JSC::Bindings::RuntimeObject::RuntimeObject): 19055 * bridge/runtime_object.h: 19056 (JSC::Bindings::RuntimeObject::createStructure): 19057 * history/HistoryItem.h: 19058 19059 2011-04-15 Jessie Berlin <jberlin (a] apple.com> 19060 19061 Reviewed by Brian Weinstein. 19062 19063 Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading 19064 http://www.webkit.org/demos/calendar. 19065 https://bugs.webkit.org/show_bug.cgi?id=58698 19066 19067 * platform/win/FileSystemWin.cpp: 19068 (WebCore::openFile): 19069 Add breaks to the case statement. 19070 (WebCore::directoryName): 19071 Remove any trailing slash in directoryName. After closer inspection of all callers, it 19072 appears the that callers do not need the trailing slash, and those that use the length do 19073 so only to change the direction of the slashes throughout the length of the path. 19074 19075 2011-04-15 Roland Steiner <rolandsteiner (a] chromium.org> 19076 19077 Reviewed by Dimitri Glazkov. 19078 19079 Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree 19080 https://bugs.webkit.org/show_bug.cgi?id=52963 19081 19082 .) Change base class of ShadowRoot from DocumentFragment to TreeScope. 19083 .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.). 19084 .) Merged setTreeScope() with setTreeScopeRecursively() 19085 .) Call setTreeScopeRecursively in DOM manipulation functions where applicable. 19086 19087 No new tests. (refactoring) 19088 19089 * dom/ContainerNode.cpp: 19090 (WebCore::ContainerNode::takeAllChildrenFrom): 19091 (WebCore::ContainerNode::removeBetween): 19092 (WebCore::ContainerNode::removeChildren): 19093 (WebCore::ContainerNode::parserAddChild): 19094 * dom/Document.cpp: 19095 (WebCore::Document::Document): 19096 (WebCore::Document::~Document): 19097 (WebCore::Document::setDocType): 19098 * dom/Element.h: 19099 * dom/Node.cpp: 19100 (WebCore::Node::treeScope): 19101 (WebCore::Node::setTreeScopeRecursively): 19102 * dom/Node.h: 19103 (WebCore::Node::document): 19104 * dom/ShadowRoot.cpp: 19105 (WebCore::ShadowRoot::ShadowRoot): 19106 (WebCore::ShadowRoot::~ShadowRoot): 19107 (WebCore::ShadowRoot::nodeType): 19108 (WebCore::ShadowRoot::cloneNode): 19109 (WebCore::ShadowRoot::childTypeAllowed): 19110 * dom/ShadowRoot.h: 19111 (WebCore::toShadowRoot): 19112 * dom/TreeScope.cpp: 19113 (WebCore::TreeScope::TreeScope): 19114 (WebCore::TreeScope::setParentTreeScope): 19115 * dom/TreeScope.h: 19116 * rendering/RenderSlider.cpp: 19117 19118 2011-04-15 Geoffrey Garen <ggaren (a] apple.com> 19119 19120 Reviewed by Oliver Hunt. 19121 19122 DOM object handles are never removed from cache 19123 https://bugs.webkit.org/show_bug.cgi?id=58707 19124 19125 We were trying to remove hash table items by value instead of by key. 19126 19127 * bindings/js/DOMWrapperWorld.cpp: 19128 (WebCore::JSNodeHandleOwner::finalize): Changed to work more like 19129 DOMObjectHandleOwner::finalize because I'm going to merge them. 19130 19131 (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items 19132 by key, not value. (Oops!) Use a helper function to make sure we get 19133 this right. 19134 19135 * bindings/js/JSDOMBinding.cpp: 19136 (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak 19137 handle context, so we can use it at destruction time. 19138 19139 * bindings/js/JSDOMBinding.h: Removed unnecessary include. 19140 19141 * bindings/js/JSNodeCustom.h: 19142 (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak 19143 handle context, so we can use it at destruction time. 19144 19145 * bindings/js/ScriptWrappable.h: 19146 (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to 19147 support the above. 19148 19149 2011-04-15 Kenneth Russell <kbr (a] google.com> 19150 19151 Unreviewed. Chromium Linux Release build fix due to unused variables. 19152 19153 * platform/audio/mkl/FFTFrameMKL.cpp: 19154 (WebCore::FFTFrame::doFFT): 19155 (WebCore::FFTFrame::doInverseFFT): 19156 (WebCore::FFTFrame::cleanup): 19157 19158 2011-04-15 Brent Fulgham <bfulgham (a] webkit.org> 19159 19160 Unreviewed build change after r83945. 19161 19162 New 'PlatformPathCairo.cpp' was not added to the WinCairo build. 19163 19164 * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo 19165 build. Exclude for standard Apple build. 19166 19167 2011-04-15 Anders Carlsson <andersca (a] apple.com> 19168 19169 Reviewed by Dan Bernstein. 19170 19171 Fade the find page overlay 19172 https://bugs.webkit.org/show_bug.cgi?id=58697 19173 19174 Add a symbol that WebKit2 needs. 19175 19176 * WebCore.exp.in: 19177 19178 2011-04-15 MORITA Hajime <morrita (a] google.com> 19179 19180 Reviewed by Dimitri Glazkov. 19181 19182 RenderDetailsMarker should belong to shadow element. 19183 https://bugs.webkit.org/show_bug.cgi?id=58591 19184 19185 - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker. 19186 - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout. 19187 Note that marker size is given via style for -webkit-details-marker pseudo class. 19188 - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement. 19189 Now RenderDetails knows nothing about default summary. 19190 - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of 19191 <summary>, and the clickable area is now <summary> itself. 19192 19193 - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling. 19194 19195 * Android.mk: 19196 * CMakeLists.txt: 19197 * GNUmakefile.list.am: 19198 * WebCore.gypi: 19199 * WebCore.pro: 19200 * WebCore.vcproj/WebCore.vcproj: 19201 * WebCore.xcodeproj/project.pbxproj: 19202 * css/html.css: 19203 (summary::-webkit-details-marker): 19204 * dom/Element.cpp: 19205 (WebCore::Element::attach): 19206 * dom/Node.cpp: 19207 (WebCore::shouldCreateRendererFor): 19208 * dom/Node.h: 19209 (WebCore::Node::canHaveLightChildRendererWithShadow): 19210 * html/HTMLDetailsElement.cpp: 19211 (WebCore::HTMLDetailsElement::findSummaryFor): 19212 (WebCore::HTMLDetailsElement::findMainSummary): 19213 (WebCore::HTMLDetailsElement::refreshMainSummary): 19214 (WebCore::HTMLDetailsElement::createShadowSubtree): 19215 (WebCore::HTMLDetailsElement::childrenChanged): 19216 (WebCore::HTMLDetailsElement::finishParsingChildren): 19217 (WebCore::HTMLDetailsElement::toggleOpen): 19218 * html/HTMLDetailsElement.h: 19219 (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow): 19220 * html/HTMLSummaryElement.cpp: 19221 (WebCore::HTMLSummaryElement::create): 19222 (WebCore::HTMLSummaryElement::createShadowSubtree): 19223 (WebCore::HTMLSummaryElement::detailsElement): 19224 (WebCore::HTMLSummaryElement::isMainSummary): 19225 (WebCore::HTMLSummaryElement::defaultEventHandler): 19226 * html/HTMLSummaryElement.h: 19227 (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow): 19228 * html/shadow/DetailsMarkerControl.cpp: Added. 19229 (WebCore::DetailsMarkerControl::DetailsMarkerControl): 19230 (WebCore::DetailsMarkerControl::createRenderer): 19231 (WebCore::DetailsMarkerControl::rendererIsNeeded): 19232 (WebCore::DetailsMarkerControl::shadowPseudoId): 19233 (WebCore::DetailsMarkerControl::summaryElement): 19234 * html/shadow/DetailsMarkerControl.h: Added. 19235 (WebCore::DetailsMarkerControl::create): 19236 * rendering/RenderDetails.cpp: 19237 (WebCore::RenderDetails::RenderDetails): 19238 (WebCore::RenderDetails::styleDidChange): 19239 (WebCore::RenderDetails::moveSummaryToContents): 19240 (WebCore::RenderDetails::checkMainSummary): 19241 (WebCore::RenderDetails::layout): 19242 * rendering/RenderDetails.h: 19243 * rendering/RenderDetailsMarker.cpp: 19244 (WebCore::RenderDetailsMarker::RenderDetailsMarker): 19245 (WebCore::RenderDetailsMarker::isOpen): 19246 (WebCore::RenderDetailsMarker::getPath): 19247 (WebCore::RenderDetailsMarker::paint): 19248 (WebCore::RenderDetailsMarker::details): 19249 * rendering/RenderDetailsMarker.h: 19250 19251 2011-04-15 Sam Weinig <sam (a] webkit.org> 19252 19253 Reviewed by Adam Roben. 19254 19255 Implement localize strings for windows WebKit2 19256 https://bugs.webkit.org/show_bug.cgi?id=58688 19257 19258 * platform/win/LocalizedStringsWin.cpp: 19259 (WebCore::createWebKitBundle): 19260 (WebCore::webKitBundle): 19261 (WebCore::localizedString): 19262 Add implementation of localizedString for Windows. 19263 19264 2011-04-15 Geoffrey Garen <ggaren (a] apple.com> 19265 19266 Reviewed by Oliver Hunt. 19267 19268 Some mechanical DOM wrapper cleanup 19269 https://bugs.webkit.org/show_bug.cgi?id=58689 19270 19271 * WebCore.exp.in: Export! 19272 19273 * bindings/js/DOMWrapperWorld.cpp: 19274 (WebCore::isReachableFromDOM): Inverted the inDocument test to make the 19275 relationship of the special cases to the normal case clearer. 19276 19277 * bindings/js/JSArrayBufferViewHelper.h: 19278 (WebCore::toJSArrayBufferView): 19279 * bindings/js/JSCSSRuleCustom.cpp: 19280 (WebCore::toJS): 19281 * bindings/js/JSCSSValueCustom.cpp: 19282 (WebCore::toJS): 19283 * bindings/js/JSDOMBinding.cpp: 19284 (WebCore::getCachedDOMObjectWrapper): 19285 (WebCore::cacheDOMObjectWrapper): 19286 * bindings/js/JSDOMBinding.h: 19287 (WebCore::createDOMObjectWrapper): 19288 (WebCore::getDOMObjectWrapper): 19289 (WebCore::createDOMNodeWrapper): 19290 (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate 19291 in terms of DOMWrapperWorlds instead of ExecStates. This is clearer, 19292 and ever-so-slightly faster. 19293 19294 Removed hasCachedXXX functions, now that they're unused. 19295 19296 * bindings/js/JSDOMWindowCustom.cpp: 19297 (WebCore::JSDOMWindow::history): 19298 (WebCore::JSDOMWindow::location): 19299 * bindings/js/JSDocumentCustom.cpp: 19300 (WebCore::JSDocument::location): 19301 (WebCore::toJS): 19302 * bindings/js/JSElementCustom.cpp: 19303 (WebCore::toJSNewlyCreated): 19304 * bindings/js/JSEventCustom.cpp: 19305 (WebCore::toJS): 19306 * bindings/js/JSHTMLCollectionCustom.cpp: 19307 (WebCore::toJS): 19308 * bindings/js/JSImageDataCustom.cpp: 19309 (WebCore::toJS): 19310 * bindings/js/JSNodeCustom.cpp: 19311 (WebCore::createWrapperInline): 19312 * bindings/js/JSNodeCustom.h: 19313 (WebCore::getCachedDOMNodeWrapper): 19314 (WebCore::cacheDOMNodeWrapper): 19315 (WebCore::toJS): 19316 * bindings/js/JSSVGPathSegCustom.cpp: 19317 (WebCore::toJS): 19318 * bindings/js/JSStyleSheetCustom.cpp: 19319 (WebCore::toJS): Updated for changes above. 19320 19321 * xml/XMLHttpRequest.cpp: 19322 (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper 19323 because XHR is almost always created and used by JavaScript, so it's 19324 simpler to just always report extra cost. 19325 19326 2011-04-15 Andreas Kling <kling (a] webkit.org> 19327 19328 Rolling out accidental part of r84010. 19329 19330 * platform/qt/RenderThemeQt.cpp: 19331 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 19332 (WebCore::RenderThemeQt::setButtonPadding): 19333 19334 2011-04-15 Oliver Hunt <oliver (a] apple.com> 19335 19336 Forgot windows build fix. 19337 19338 * bindings/js/JSNodeFilterCondition.cpp: 19339 (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): 19340 19341 2011-04-15 Joseph Pecoraro <joepeck (a] webkit.org> 19342 19343 Reviewed by Yury Semikhatsky. 19344 19345 Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer 19346 https://bugs.webkit.org/show_bug.cgi?id=51364 19347 19348 The front end should not use a transparent background when 19349 loaded as a web page (remote debugging) but should when loaded 19350 regularly in a custom window. This adds a "remote" style class 19351 onto the document body when the page is loaded remotely. 19352 19353 * inspector/front-end/inspector.css: 19354 (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class. 19355 * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely. 19356 19357 2011-04-15 Joseph Pecoraro <joepeck (a] webkit.org> 19358 19359 Reviewed by David Kilzer. 19360 19361 JSLock ASSERT seen often when using the inspector for long 19362 periods of time. We should take the JSLock whenever we 19363 might allocate memory in the JavaScript Heap. 19364 19365 JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations 19366 https://bugs.webkit.org/show_bug.cgi?id=58674 19367 19368 * bindings/js/JSInjectedScriptHostCustom.cpp: 19369 (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock. 19370 19371 2011-04-14 Oliver Hunt <oliver (a] apple.com> 19372 19373 Reviewed by Geoffrey Garen. 19374 19375 Make JSNodeFilterCondition handle its lifetime correctly 19376 https://bugs.webkit.org/show_bug.cgi?id=58622 19377 19378 Switch over to a WeakHandle and external roots to keep the 19379 condition value live. 19380 19381 * bindings/js/JSNodeFilterCondition.cpp: 19382 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): 19383 (WebCore::JSNodeFilterCondition::markAggregate): 19384 (WebCore::JSNodeFilterCondition::acceptNode): 19385 (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots): 19386 * bindings/js/JSNodeFilterCondition.h: 19387 (WebCore::JSNodeFilterCondition::create): 19388 * bindings/js/JSNodeFilterCustom.cpp: 19389 (WebCore::toNodeFilter): 19390 * bindings/scripts/CodeGeneratorJS.pm: 19391 19392 2011-04-13 Luiz Agostini <luiz.agostini (a] openbossa.org> 19393 19394 Reviewed by Andreas Kling. 19395 19396 [Qt] QNetworkReplyHandler refactoring: some adjustments 19397 https://bugs.webkit.org/show_bug.cgi?id=57092 19398 19399 - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead. 19400 - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of 19401 signal metaDataChanged for m_responseContainsData to be consistent. 19402 - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper. 19403 19404 * platform/network/qt/QNetworkReplyHandler.cpp: 19405 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 19406 (WebCore::QNetworkReplyWrapper::receiveMetaData): 19407 (WebCore::QNetworkReplyWrapper::didReceiveReadyRead): 19408 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 19409 (WebCore::QNetworkReplyHandler::release): 19410 (WebCore::shouldIgnoreHttpError): 19411 (WebCore::QNetworkReplyHandler::finish): 19412 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 19413 (WebCore::QNetworkReplyHandler::redirect): 19414 (WebCore::QNetworkReplyHandler::forwardData): 19415 * platform/network/qt/QNetworkReplyHandler.h: 19416 (WebCore::QNetworkReplyWrapper::responseContainsData): 19417 (WebCore::QNetworkReplyWrapper::redirected): 19418 19419 2011-04-15 Alexey Proskuryakov <ap (a] apple.com> 19420 19421 Chromium build fix. 19422 19423 * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists. 19424 19425 2011-04-15 Mike Reed <reed (a] google.com> 19426 19427 Reviewed by Darin Fisher. 19428 19429 hide unused static function when SKIA_GPU is enabled 19430 https://bugs.webkit.org/show_bug.cgi?id=58670 19431 19432 No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled 19433 19434 * platform/graphics/skia/ImageSkia.cpp: 19435 19436 2011-04-15 Simon Fraser <simon.fraser (a] apple.com> 19437 19438 Reviewed by Beth Dakin. 19439 19440 Some borders with border-radius do not have rounded inner edges 19441 https://bugs.webkit.org/show_bug.cgi?id=58457 19442 19443 Improve the logic used to compute the inner radii on curved 19444 borders, to maintain borders of even thickness around the curve. 19445 19446 Tests: fast/borders/mixed-border-styles-radius.html 19447 fast/borders/mixed-border-styles.html 19448 19449 * rendering/RenderBoxModelObject.h: 19450 * rendering/RenderBoxModelObject.cpp: 19451 (WebCore::RenderBoxModelObject::computeBorderOuterRect): 19452 (WebCore::RenderBoxModelObject::computeBorderInnerRect): 19453 Two new utility functions to share some code that was in both paintBorder() 19454 and paintBoxShaadow(). 19455 getRoundedInnerBorderWithBorderWidths() now takes the outer border box 19456 as well as the inner box. 19457 19458 (WebCore::RenderBoxModelObject::paintBorder): Call new methods. 19459 (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto. 19460 19461 * rendering/RenderObject.cpp: 19462 (WebCore::RenderObject::drawBoxSideFromPath): 19463 getRoundedInnerBorderWithBorderWidths() now takes the outer border box 19464 as well as the inner box. 19465 19466 * rendering/style/RenderStyle.cpp: 19467 (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths): 19468 * rendering/style/RenderStyle.h: 19469 Compute the inner radii by starting with teh radii used for the 19470 outer box, and then shrinking them down based on the border thickness. 19471 19472 2011-04-14 Alexey Proskuryakov <ap (a] apple.com> 19473 19474 Reviewed by Dan Bernstein. 19475 19476 WebKit2: Password field input does not switch to ASCII-compatible source 19477 https://bugs.webkit.org/show_bug.cgi?id=58583 19478 <rdar://problem/9059651> 19479 19480 * platform/SecureTextInput.cpp: 19481 (WebCore::enableSecureTextInput): 19482 (WebCore::disableSecureTextInput): 19483 This is now only used by Chromium. There is no need to change TSMDocument properties in 19484 renderer process (and really, all secure text input logic in WebCore should be eliminated). 19485 19486 2011-04-13 Xiaomei Ji <xji (a] chromium.org> 19487 19488 Reviewed by Ryosuke Niwa. 19489 19490 Continue (3rd) experiment with moving caret by word in visual order. 19491 https://bugs.webkit.org/show_bug.cgi?id=58294 19492 19493 This patch along with r82588 and r83483 implements moving caret by 19494 word in visual order. 19495 19496 The overall algorithm is: 19497 1. First get the InlineBox and offset of the pass-in VisiblePosition. 19498 2. Based on the position (left boundary, middle, right boundary) of the offset and the 19499 direction of the movement, look for visually adjacent word breaks. 19500 2.1 If the offset is the minimum offset of the box, 19501 return the rightmost word boundary in previous boxes if moving left. 19502 return the leftmost word boundary in box and next boxes if moving right. 19503 2.2 Similar for the case when offset is at the maximum offset of the box. 19504 2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition 19505 or nextWordPosition based on the directionality of the box. If this word break position 19506 is also inside the same box, return it. Otherwise (the nextWordPosition or 19507 previousWordPosition is not in the same box or is at the box boundary), collect all the 19508 word breaks in the box and search for the one closest to the input "offset" based on 19509 box directionality, block directionality, and movement direction. Continue search in 19510 adjacent boxes if needed. 19511 19512 Notes: 19513 1. Word boundaries are collected one box at a time. Only when a boundary that is closest to 19514 the input position (in the moving direction) is not available in current box, word 19515 boundaries in adjacent box will be collected. So, there is no need to save InlineBox in 19516 word boundaries. Instead, the word boundaries are saved as a pair 19517 (VisiblePosition, offset) to avoid recomputing VisiblePosition. 19518 19519 2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block 19520 and right boundary of a word in RTL block). And word boundaries are collected using 19521 previousWordPosition() and nextWordPosition(). So when box directionality is the same as 19522 block directionality, word boundaries are collected from right to left visually in a LTR 19523 box, and word boundaries are collected from left to right visually in a RTL box. It is 19524 the other way around when box directionality is different from block directionality. 19525 19526 3. To find the right kinds of word boundaries, we must move back and forth between words 19527 in some situations. For example, if we're moving to the right in a LTR box in LTR block, 19528 we cannot simply return nextWordPosition() because it would return the right boundary 19529 of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition(). 19530 19531 4. When collecting word breaks inside a box, it first computes a start position, then 19532 collect the right kind of word breaks until it reaches the end of (or beyond) the box. 19533 In the meanwhile, it might need special handling on the rightmost or leftmost position 19534 based on the directionality of the box and block. These computations do not consider the 19535 box's bidi level. 19536 19537 * editing/visible_units.cpp: 19538 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): 19539 (WebCore::collectWordBreaksInBox): 19540 (WebCore::previousWordBoundaryInBox): 19541 (WebCore::nextWordBoundaryInBox): 19542 (WebCore::visuallyLastWordBoundaryInBox): 19543 (WebCore::leftWordBoundary): 19544 (WebCore::rightWordBoundary): 19545 (WebCore::leftWordPosition): 19546 (WebCore::rightWordPosition): 19547 19548 2011-04-14 Zhenyao Mo <zmo (a] google.com> 19549 19550 Reviewed by Kenneth Russell. 19551 19552 Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash 19553 https://bugs.webkit.org/show_bug.cgi?id=58501 19554 19555 * html/canvas/WebGLRenderingContext.cpp: 19556 (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement(). 19557 (WebCore::WebGLRenderingContext::texSubImage2D): Ditto. 19558 (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready. 19559 * html/canvas/WebGLRenderingContext.h: 19560 19561 2011-04-07 MORITA Hajime <morrita (a] google.com> 19562 19563 Reviewed by Ryosuke Niwa. 19564 19565 DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType 19566 https://bugs.webkit.org/show_bug.cgi?id=58112 19567 19568 - Converted DocumentMarker::MarkerTypes from unsigned int to a class. 19569 - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes. 19570 - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes 19571 which should allow a combination of MarkerType constansts. 19572 - Removed some MarkerType arguments on DocumentMarkerController API 19573 which only received AllMarkers. 19574 19575 No new tests, no behavior change. 19576 19577 * WebCore.exp.in: 19578 * dom/DocumentMarker.h: 19579 (WebCore::DocumentMarker::MarkerTypes::MarkerTypes): 19580 (WebCore::DocumentMarker::MarkerTypes::contains): 19581 (WebCore::DocumentMarker::MarkerTypes::intersects): 19582 (WebCore::DocumentMarker::MarkerTypes::operator==): 19583 (WebCore::DocumentMarker::MarkerTypes::add): 19584 (WebCore::DocumentMarker::MarkerTypes::remove): 19585 (WebCore::DocumentMarker::AllMarkers::AllMarkers): 19586 * dom/DocumentMarkerController.cpp: 19587 (WebCore::DocumentMarkerController::possiblyHasMarkers): 19588 (WebCore::DocumentMarkerController::addMarker): 19589 (WebCore::DocumentMarkerController::copyMarkers): 19590 (WebCore::DocumentMarkerController::removeMarkers): 19591 (WebCore::DocumentMarkerController::markerContainingPoint): 19592 (WebCore::DocumentMarkerController::markersInRange): 19593 (WebCore::DocumentMarkerController::renderedRectsForMarkers): 19594 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): 19595 (WebCore::DocumentMarkerController::repaintMarkers): 19596 (WebCore::DocumentMarkerController::shiftMarkers): 19597 (WebCore::DocumentMarkerController::setMarkersActive): 19598 (WebCore::DocumentMarkerController::hasMarkers): 19599 (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange): 19600 * dom/DocumentMarkerController.h: 19601 19602 2011-04-14 Geoffrey Garen <ggaren (a] apple.com> 19603 19604 Reviewed by Oliver Hunt. 19605 19606 Complicated hash table is complicated 19607 https://bugs.webkit.org/show_bug.cgi?id=58631 19608 19609 Now that we use the opaque roots system to track node wrapper lifetime, 19610 we can remove a lot of complicated hash-tablery that used to do the same. 19611 19612 Now normal world node wrappers are just set as direct properties of 19613 ScriptWrappable, while isolated world node wrappers and other DOM object 19614 wrappers are stored in a shared, per-world hash table. 19615 19616 In addition to reducing complexity, this makes DOM wrapper allocation 19617 1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory 19618 footprint of normal world wrappers by ~2/3, and isolated world wrappers 19619 by ~1/3. 19620 19621 * WebCore.exp.in: Paying the patch tithe. 19622 19623 * bindings/js/DOMWrapperWorld.cpp: 19624 (WebCore::DOMWrapperWorld::~DOMWrapperWorld): 19625 (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables. 19626 19627 (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function, 19628 so the code to destroy a wrapper can live next to the code to create one. 19629 19630 * bindings/js/DOMWrapperWorld.h: No more per-document hash tables. 19631 19632 * bindings/js/JSDOMBinding.cpp: 19633 (WebCore::uncacheDOMObjectWrapper): 19634 * bindings/js/JSDOMBinding.h: 19635 (WebCore::createDOMNodeWrapper): 19636 (WebCore::getDOMNodeWrapper): No more per-document hash tables. 19637 Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper. 19638 19639 * bindings/js/JSDocumentCustom.cpp: 19640 (WebCore::toJS): 19641 * bindings/js/JSElementCustom.cpp: 19642 (WebCore::toJSNewlyCreated): 19643 * bindings/js/JSNodeCustom.cpp: 19644 (WebCore::createWrapperInline): Ditto. 19645 19646 * bindings/js/JSNodeCustom.h: 19647 (WebCore::getCachedDOMNodeWrapper): 19648 (WebCore::cacheDOMNodeWrapper): 19649 (WebCore::uncacheDOMNodeWrapper): 19650 (WebCore::toJS): Implemented the scheme described above. 19651 19652 * bindings/js/ScriptWrappable.h: 19653 (WebCore::ScriptWrappable::wrapper): 19654 (WebCore::ScriptWrappable::setWrapper): 19655 (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle 19656 owner now, since we don't have an extra handle living in a hash table 19657 to maintain ownership for us. 19658 19659 * dom/Document.cpp: 19660 (WebCore::Document::Document): 19661 (WebCore::Document::~Document): 19662 * dom/Document.h: 19663 * dom/Node.cpp: 19664 (WebCore::Node::setDocument): No more per-document hash tables. 19665 19666 * html/HTMLCanvasElement.cpp: 19667 (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to 19668 hasCachedDOMNodeWrapperUnchecked because that was the old way of doing 19669 things, and I was in the mood for getting rid of the old way. It's 19670 debatable whether the check was ever a good idea. Even when a <canvas> 19671 doesn't have a direct JS wrapper, other JS references can still keep 19672 the <canvas> alive. So, it's probably best always to report extra cost. 19673 19674 2011-04-15 Vsevolod Vlasov <vsevik (a] chromium.org> 19675 19676 Reviewed by Pavel Feldman. 19677 19678 Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText 19679 https://bugs.webkit.org/show_bug.cgi?id=58650 19680 19681 * inspector/Inspector.json: 19682 * inspector/InspectorResourceAgent.cpp: 19683 (WebCore::buildObjectForResourceResponse): 19684 * inspector/front-end/NetworkManager.js: 19685 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 19686 * inspector/front-end/Resource.js: 19687 (WebInspector.Resource.prototype.get requestHeadersText): 19688 (WebInspector.Resource.prototype.set requestHeadersText): 19689 (WebInspector.Resource.prototype.get requestHeadersSize): 19690 (WebInspector.Resource.prototype.get responseHeadersText): 19691 (WebInspector.Resource.prototype.set responseHeadersText): 19692 (WebInspector.Resource.prototype.get responseHeadersSize): 19693 (WebInspector.Resource.prototype._headersSize): 19694 * inspector/front-end/ResourceHeadersView.js: 19695 (WebInspector.ResourceHeadersView): 19696 (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders): 19697 (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders): 19698 (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle): 19699 (WebInspector.ResourceHeadersView.prototype._refreshHeadersText): 19700 (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText): 19701 (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText): 19702 (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton): 19703 * inspector/front-end/networkPanel.css: 19704 (.resource-headers-view .outline-disclosure li.headers-text): 19705 * platform/network/ResourceLoadInfo.h: 19706 19707 2011-04-15 Luke Macpherson <macpherson (a] chromium.org> 19708 19709 Reviewed by Dimitri Glazkov. 19710 19711 Implement css overflow properties in CSSStyleApplyProperty 19712 https://bugs.webkit.org/show_bug.cgi?id=58633 19713 19714 No new tests required as no functionality changes. 19715 19716 * css/CSSStyleApplyProperty.cpp: 19717 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 19718 Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow. 19719 * css/CSSStyleSelector.cpp: 19720 (WebCore::CSSStyleSelector::applyProperty): 19721 Delete existing implementations. 19722 19723 2011-04-15 Sam Weinig <sam (a] webkit.org> 19724 19725 Reviewed by Maciej Stachowiak. 19726 19727 Make mac WebKit1 use the default localization strategy 19728 https://bugs.webkit.org/show_bug.cgi?id=58628 19729 19730 * English.lproj/Localizable.strings: 19731 Update by running update-webkit-localizable-strings. 19732 19733 * platform/DefaultLocalizationStrategy.cpp: 19734 (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary): 19735 (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName): 19736 (WebCore::DefaultLocalizationStrategy::imageTitle): 19737 Match the WebKit1 versions of these functions by special casing CF platforms. 19738 19739 2011-04-15 Vsevolod Vlasov <vsevik (a] chromium.org> 19740 19741 Reviewed by Pavel Feldman. 19742 19743 Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load 19744 https://bugs.webkit.org/show_bug.cgi?id=58136 19745 19746 Passed response info to inspector when X-Frame-Options header blocks resource loading. 19747 19748 Test: http/tests/inspector/network/x-frame-options-deny.html 19749 19750 * inspector/InspectorInstrumentation.cpp: 19751 (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl): 19752 * inspector/InspectorInstrumentation.h: 19753 (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied): 19754 * loader/MainResourceLoader.cpp: 19755 (WebCore::MainResourceLoader::didReceiveResponse): 19756 19757 2011-04-15 Andrey Adaikin <aandrey (a] google.com> 19758 19759 Reviewed by Pavel Feldman. 19760 19761 Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators 19762 https://bugs.webkit.org/show_bug.cgi?id=58449 19763 19764 Test: inspector/editor/text-editor-model.html 19765 19766 * inspector/front-end/TextEditorModel.js: 19767 (WebInspector.TextEditorModel): 19768 (WebInspector.TextEditorModel.prototype.get text): 19769 (WebInspector.TextEditorModel.prototype.setText): 19770 (WebInspector.TextEditorModel.prototype._innerSetText): 19771 (WebInspector.TextEditorModel.prototype.copyRange): 19772 19773 2011-04-15 Sergey Vorobyev <sergeyvorobyev (a] google.com> 19774 19775 Reviewed by Yury Semikhatsky. 19776 19777 Web Inspector: Network events don't preserves, 19778 when inspector frontend closed and open again 19779 https://bugs.webkit.org/show_bug.cgi?id=58064 19780 19781 Added InspectorFrontendProxy and EventsCollector. 19782 They allow captured messages from InspectorResourceAgent 19783 to frontend (or mockFrontend if frontend disabled) and 19784 push collected data when frontend reconnect. 19785 This functionality is disabled by default. 19786 19787 * CMakeLists.txt: 19788 * GNUmakefile.list.am: 19789 * WebCore.gypi: 19790 * WebCore.pro: 19791 * WebCore.vcproj/WebCore.vcproj: 19792 * WebCore.xcodeproj/project.pbxproj: 19793 * inspector/EventsCollector.cpp: Added. 19794 (WebCore::EventsCollector::EventsCollector): 19795 (WebCore::EventsCollector::addEvent): 19796 (WebCore::EventsCollector::sendCollectedEvents): 19797 * inspector/EventsCollector.h: Added. 19798 (WebCore::EventsCollector::~EventsCollector): 19799 * inspector/Inspector.json: 19800 * inspector/InspectorFrontendProxy.cpp: Added. 19801 (WebCore::InspectorFrontendProxy::InspectorFrontendProxy): 19802 (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel): 19803 (WebCore::InspectorFrontendProxy::setEventsCollector): 19804 (WebCore::InspectorFrontendProxy::sendMessageToFrontend): 19805 * inspector/InspectorFrontendProxy.h: Added. 19806 (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy): 19807 * inspector/InspectorInstrumentation.cpp: 19808 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): 19809 (WebCore::InspectorInstrumentation::loadEventFiredImpl): 19810 * inspector/InspectorInstrumentation.h: 19811 (WebCore::InspectorInstrumentation::willSendRequest): 19812 (WebCore::InspectorInstrumentation::willReceiveResourceResponse): 19813 (WebCore::InspectorInstrumentation::didReceiveContentLength): 19814 (WebCore::InspectorInstrumentation::didFinishLoading): 19815 (WebCore::InspectorInstrumentation::domContentLoadedEventFired): 19816 (WebCore::InspectorInstrumentation::loadEventFired): 19817 (WebCore::InspectorInstrumentation::frameDetachedFromParent): 19818 (WebCore::InspectorInstrumentation::didCreateWebSocket): 19819 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest): 19820 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse): 19821 (WebCore::InspectorInstrumentation::didCloseWebSocket): 19822 * inspector/InspectorResourceAgent.cpp: 19823 (WebCore::InspectorResourceAgent::setFrontend): 19824 (WebCore::InspectorResourceAgent::resourceContent): 19825 (WebCore::InspectorResourceAgent::~InspectorResourceAgent): 19826 (WebCore::InspectorResourceAgent::didReceiveResponse): 19827 (WebCore::InspectorResourceAgent::domContentEventFired): 19828 (WebCore::InspectorResourceAgent::loadEventFired): 19829 (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection): 19830 (WebCore::InspectorResourceAgent::enable): 19831 (WebCore::InspectorResourceAgent::InspectorResourceAgent): 19832 * inspector/InspectorResourceAgent.h: 19833 * inspector/front-end/NetworkManager.js: 19834 (WebInspector.NetworkDispatcher.prototype.domContentEventFired): 19835 (WebInspector.NetworkDispatcher.prototype.loadEventFired): 19836 * inspector/front-end/inspector.js: 19837 (WebInspector.domContentEventFired): 19838 (WebInspector.loadEventFired): 19839 19840 2011-04-15 Alexis Menard <alexis.menard (a] openbossa.org> 19841 19842 Reviewed by Dimitri Glazkov. 19843 19844 REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels. 19845 https://bugs.webkit.org/show_bug.cgi?id=58477 19846 19847 Since r83397 the media controls elements are actual DOM elements. 19848 Therefore the global style-sheet applies to them. html.css defines 19849 input[type="button"]:active to be border-style: inset which means 19850 that when the buttons are active they grow by their border size. Therefore 19851 ports which are not using the borders must explicitly disable them in their custom 19852 stylesheet. 19853 19854 * css/mediaControlsQt.css: 19855 (audio::-webkit-media-controls-mute-button): 19856 (video::-webkit-media-controls-mute-button): 19857 (audio::-webkit-media-controls-play-button): 19858 (video::-webkit-media-controls-play-button): 19859 (video::-webkit-media-controls-fullscreen-button): 19860 * css/mediaControlsQuickTime.css: 19861 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 19862 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): 19863 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 19864 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 19865 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): 19866 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): 19867 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): 19868 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 19869 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 19870 19871 2011-04-15 Zelidrag Hornung <zelidrag (a] chromium.org> 19872 19873 Reviewed by Darin Fisher. 19874 19875 Added enums for external file system type. 19876 https://bugs.webkit.org/show_bug.cgi?id=58456 19877 19878 * fileapi/DOMFileSystemBase.cpp: 19879 (WebCore::DOMFileSystemBase::crackFileSystemURL): 19880 * fileapi/DOMFileSystemBase.h: 19881 * fileapi/EntryBase.cpp: 19882 (WebCore::EntryBase::toURL): 19883 * page/DOMWindow.cpp: 19884 (WebCore::DOMWindow::requestFileSystem): 19885 * page/DOMWindow.h: 19886 * platform/AsyncFileSystem.h: 19887 * workers/WorkerContext.cpp: 19888 (WebCore::WorkerContext::requestFileSystem): 19889 (WebCore::WorkerContext::requestFileSystemSync): 19890 * workers/WorkerContext.h: 19891 19892 2011-04-15 Pavel Feldman <pfeldman (a] google.com> 19893 19894 Reviewed by Yury Semikhatsky. 19895 19896 Web Inspector: make resource revisions use dedicated type (not Resource clone). 19897 https://bugs.webkit.org/show_bug.cgi?id=58659 19898 19899 * inspector/front-end/CSSStyleModel.js: 19900 (WebInspector.CSSStyleModel.prototype.setStyleSheetText): 19901 * inspector/front-end/Resource.js: 19902 (WebInspector.Resource.prototype.addRevision): 19903 (WebInspector.Resource.prototype._innerRequestContent.onResourceContent): 19904 (WebInspector.Resource.prototype._innerRequestContent): 19905 (WebInspector.ResourceRevision): 19906 (WebInspector.ResourceRevision.prototype.get resource): 19907 (WebInspector.ResourceRevision.prototype.get timestamp): 19908 (WebInspector.ResourceRevision.prototype.get content): 19909 (WebInspector.ResourceRevision.prototype.revertToThis): 19910 (WebInspector.ResourceRevision.prototype.requestContent.mycallback): 19911 (WebInspector.ResourceRevision.prototype.requestContent): 19912 * inspector/front-end/ResourceView.js: 19913 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 19914 (WebInspector.ResourceView.resourceViewForResource): 19915 (WebInspector.ResourceView.recreateResourceView): 19916 (WebInspector.ResourceView.existingResourceViewForResource): 19917 (WebInspector.RevisionSourceFrame): 19918 (WebInspector.RevisionSourceFrame.prototype.get resource): 19919 (WebInspector.RevisionSourceFrame.prototype.isContentEditable): 19920 (WebInspector.RevisionSourceFrame.prototype.requestContent): 19921 * inspector/front-end/ResourcesPanel.js: 19922 (WebInspector.ResourcesPanel.prototype._showResourceView): 19923 (WebInspector.ResourcesPanel.prototype._showRevisionView): 19924 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1): 19925 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2): 19926 (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup): 19927 (WebInspector.ResourceRevisionTreeElement): 19928 (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL): 19929 (WebInspector.ResourceRevisionTreeElement.prototype.onselect): 19930 (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart): 19931 (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent): 19932 * inspector/front-end/SourceFrame.js: 19933 (WebInspector.SourceFrame.prototype._ensureContentLoaded): 19934 (WebInspector.SourceFrame.prototype.requestContent): 19935 (WebInspector.SourceFrame.prototype.commitEditing.didEditContent): 19936 (WebInspector.SourceFrame.prototype.commitEditing): 19937 19938 2011-04-15 Alexander Pavlov <apavlov (a] chromium.org> 19939 19940 Reviewed by Yury Semikhatsky. 19941 19942 Web Inspector: Prevent Backspace keypresses from routing into the inspected page 19943 https://bugs.webkit.org/show_bug.cgi?id=58653 19944 19945 * inspector/front-end/inspector.js: 19946 (WebInspector.documentKeyDown): 19947 19948 2011-04-15 Alice Boxhall <aboxhall (a] chromium.org> 19949 19950 Reviewed by Ryosuke Niwa. 19951 19952 Text selection changes unexpectedly when dragging out of the <input> 19953 https://bugs.webkit.org/show_bug.cgi?id=55552 19954 19955 Tests: editing/selection/select-out-of-editable.html 19956 editing/selection/select-out-of-floated-contenteditable.html 19957 editing/selection/select-out-of-floated-input.html 19958 editing/selection/select-out-of-floated-textarea.html 19959 19960 * page/EventHandler.cpp: 19961 (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that 19962 the endpoint is not outside the element. If it is, translate the point into a local point within 19963 the editable element. 19964 (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to 19965 calculate the selection endpoint. 19966 19967 2011-04-15 Adam Roben <aroben (a] apple.com> 19968 19969 Roll out r83954 19970 19971 It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple 19972 bots. 19973 19974 See <http://webkit.org/b/58610>. 19975 19976 * bindings/js/JSDOMWindowCustom.cpp: 19977 (WebCore::JSDOMWindow::setTimeout): 19978 (WebCore::JSDOMWindow::setInterval): 19979 * bindings/js/JSWorkerContextCustom.cpp: 19980 (WebCore::JSWorkerContext::setTimeout): 19981 (WebCore::JSWorkerContext::setInterval): 19982 * bindings/js/ScheduledAction.cpp: 19983 (WebCore::ScheduledAction::create): 19984 * bindings/js/ScheduledAction.h: 19985 * bindings/v8/custom/V8DOMWindowCustom.cpp: 19986 (WebCore::WindowSetTimeoutImpl): 19987 * page/ContentSecurityPolicy.cpp: 19988 * page/ContentSecurityPolicy.h: 19989 19990 2011-04-15 Pavel Feldman <pfeldman (a] google.com> 19991 19992 Reviewed by Yury Semikhatsky. 19993 19994 Web Inspector: refactor resource setContent / revisions infrastructure to get 19995 rid of onRevert callback. 19996 https://bugs.webkit.org/show_bug.cgi?id=58649 19997 19998 Instead, we will have DomainModel/Resource binding responsible for changing 19999 underlying model upon resource changes and vice versa. 20000 20001 * inspector/Inspector.json: 20002 * inspector/InspectorCSSAgent.cpp: 20003 (WebCore::InspectorCSSAgent::getStyleSheet): 20004 (WebCore::InspectorCSSAgent::getStyleSheetText): 20005 (WebCore::InspectorCSSAgent::setStyleSheetText): 20006 (WebCore::InspectorCSSAgent::setPropertyText): 20007 (WebCore::InspectorCSSAgent::toggleProperty): 20008 (WebCore::InspectorCSSAgent::setRuleSelector): 20009 (WebCore::InspectorCSSAgent::assertStyleSheetForId): 20010 * inspector/InspectorCSSAgent.h: 20011 * inspector/front-end/CSSStyleModel.js: 20012 (WebInspector.CSSStyleModel): 20013 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 20014 (WebInspector.CSSStyleModel.prototype.addRule): 20015 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback): 20016 (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged): 20017 (WebInspector.CSSStyleModel.prototype.setStyleSheetText): 20018 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): 20019 (WebInspector.CSSProperty.prototype.setText): 20020 (WebInspector.CSSProperty.prototype.setText.callback): 20021 (WebInspector.CSSProperty.prototype.setDisabled.callback): 20022 (WebInspector.CSSProperty.prototype.setDisabled): 20023 (WebInspector.CSSStyleSheet.prototype.setText): 20024 (WebInspector.CSSStyleModelResourceBinding): 20025 (WebInspector.CSSStyleModelResourceBinding.prototype.setContent): 20026 (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated): 20027 (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent): 20028 (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders): 20029 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent): 20030 (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged): 20031 * inspector/front-end/DebuggerPresentationModel.js: 20032 (WebInspector.DebuggerPresentationModel): 20033 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): 20034 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource): 20035 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): 20036 (WebInspector.DebuggerPresentationModelResourceBinding): 20037 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent): 20038 (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent): 20039 * inspector/front-end/Object.js: 20040 (WebInspector.Object.prototype.hasEventListeners): 20041 * inspector/front-end/Resource.js: 20042 (WebInspector.Resource): 20043 (WebInspector.Resource.registerDomainModelBinding): 20044 (WebInspector.Resource.prototype.isEditable): 20045 (WebInspector.Resource.prototype.setContent): 20046 (WebInspector.Resource.prototype.addRevision): 20047 (WebInspector.Resource.prototype.revertToThis.callback): 20048 (WebInspector.Resource.prototype.revertToThis): 20049 (WebInspector.ResourceDomainModelBinding): 20050 (WebInspector.ResourceDomainModelBinding.prototype.canSetContent): 20051 (WebInspector.ResourceDomainModelBinding.prototype.setContent): 20052 * inspector/front-end/ResourceView.js: 20053 (WebInspector.ResourceView.createResourceView): 20054 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 20055 (WebInspector.ResourceSourceFrame.prototype.isContentEditable): 20056 (WebInspector.ResourceSourceFrame.prototype.editContent): 20057 (WebInspector.ResourceSourceFrame.prototype.endEditing): 20058 (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer): 20059 (WebInspector.ResourceSourceFrame.prototype._requestContent): 20060 * inspector/front-end/ResourcesPanel.js: 20061 (WebInspector.ResourcesPanel.prototype._resourceAdded): 20062 (WebInspector.FrameResourceTreeElement): 20063 (WebInspector.FrameResourceTreeElement.prototype._populateRevisions): 20064 (WebInspector.FrameResourceTreeElement.prototype._revisionAdded): 20065 (WebInspector.FrameResourceTreeElement.prototype._appendRevision): 20066 * inspector/front-end/inspector.html: 20067 20068 2011-04-15 Andrey Kosyakov <caseq (a] chromium.org> 20069 20070 Unreviewed, rolling out r83949. 20071 http://trac.webkit.org/changeset/83949 20072 https://bugs.webkit.org/show_bug.cgi?id=57960 20073 20074 broke 31 tests in chromium win & linux 20075 20076 * platform/graphics/chromium/GLES2Canvas.cpp: 20077 (WebCore::GLES2Canvas::drawTexturedRect): 20078 * platform/graphics/chromium/GLES2Canvas.h: 20079 * platform/graphics/gpu/Texture.cpp: 20080 (WebCore::copySubRect): 20081 (WebCore::Texture::load): 20082 (WebCore::Texture::updateSubRect): 20083 * platform/graphics/gpu/Texture.h: 20084 * platform/graphics/skia/ImageBufferSkia.cpp: 20085 (WebCore::getImageData): 20086 (WebCore::putImageData): 20087 (WebCore::ImageBuffer::putUnmultipliedImageData): 20088 (WebCore::ImageBuffer::putPremultipliedImageData): 20089 20090 2011-04-15 Ben Taylor <bentaylor.solx86 (a] gmail.com> 20091 20092 Reviewed by Alexey Proskuryakov. 20093 20094 Fix building with Sun Studio 12: function pointers for extern "C" are treated differently 20095 https://bugs.webkit.org/show_bug.cgi?id=58508 20096 20097 Since extern "C" makes a different type (although most compilers ignore that), 20098 we should be more careful when passing NPAPI callback functions. 20099 20100 * plugins/npapi.cpp: 20101 (NPN_PluginThreadAsyncCall): 20102 20103 2011-04-15 Adam Barth <abarth (a] webkit.org> 20104 20105 Reviewed by Eric Seidel. 20106 20107 CSP should block string arguments to setTimeout and setInterval unless options eval-script 20108 https://bugs.webkit.org/show_bug.cgi?id=58610 20109 20110 It's somewhat sadness that the JSC and V8 code for setTimeout and 20111 setInterval are so different. I struggled for a while with how to 20112 handle the worker case, but I decided to punt on it for now. 20113 20114 Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html 20115 http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html 20116 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html 20117 http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html 20118 20119 * bindings/js/JSDOMWindowCustom.cpp: 20120 (WebCore::JSDOMWindow::setTimeout): 20121 (WebCore::JSDOMWindow::setInterval): 20122 * bindings/js/JSWorkerContextCustom.cpp: 20123 (WebCore::JSWorkerContext::setTimeout): 20124 (WebCore::JSWorkerContext::setInterval): 20125 * bindings/js/ScheduledAction.cpp: 20126 (WebCore::ScheduledAction::create): 20127 * bindings/js/ScheduledAction.h: 20128 * bindings/v8/custom/V8DOMWindowCustom.cpp: 20129 (WebCore::WindowSetTimeoutImpl): 20130 * page/ContentSecurityPolicy.cpp: 20131 (WebCore::ContentSecurityPolicy::allowEval): 20132 * page/ContentSecurityPolicy.h: 20133 20134 2011-04-15 Adam Barth <abarth (a] webkit.org> 20135 20136 Reviewed by Eric Seidel. 20137 20138 Add support for CSP's 'self' source 20139 https://bugs.webkit.org/show_bug.cgi?id=58604 20140 20141 This change is now trivially easy. 20142 20143 Test: http/tests/security/contentSecurityPolicy/script-src-self.html 20144 20145 * page/ContentSecurityPolicy.cpp: 20146 (WebCore::CSPSourceList::addSourceSelf): 20147 20148 2011-04-15 Anna Cavender <annacc (a] chromium.org> 20149 20150 Reviewed by Eric Carlson. 20151 20152 Renaming TRACK feature define to VIDEO_TRACK 20153 https://bugs.webkit.org/show_bug.cgi?id=53556 20154 20155 No new tests. No new functionality. 20156 20157 * CMakeLists.txt: 20158 * Configurations/FeatureDefines.xcconfig: 20159 * DerivedSources.make: 20160 * GNUmakefile.am: 20161 * features.pri: 20162 * html/HTMLTagNames.in: 20163 * html/HTMLTrackElement.cpp: 20164 * html/HTMLTrackElement.h: 20165 * html/HTMLTrackElement.idl: 20166 20167 2011-04-14 Andrey Adaikin <aandrey (a] google.com> 20168 20169 Reviewed by Pavel Feldman. 20170 20171 Web Inspector: Ctrl+Left/Right switch panels during live editing 20172 https://bugs.webkit.org/show_bug.cgi?id=58521 20173 20174 Disable Ctrl+Left/Right keyboard shortcuts while in live edit. 20175 20176 * inspector/front-end/SourceFrame.js: 20177 (WebInspector.SourceFrame.prototype.readOnlyStateChanged): 20178 * inspector/front-end/TextViewer.js: 20179 (WebInspector.TextViewer.prototype.set readOnly): 20180 (WebInspector.TextViewer.prototype.get readOnly): 20181 (WebInspector.TextViewer.prototype._doubleClick): 20182 (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing): 20183 (WebInspector.TextViewer.prototype._commitEditing): 20184 (WebInspector.TextViewer.prototype._cancelEditing): 20185 (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged): 20186 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 20187 * inspector/front-end/inspector.js: 20188 (WebInspector.markBeingEdited): 20189 (WebInspector.isEditingAnyField): 20190 (WebInspector.startEditing.cleanUpAfterEditing): 20191 20192 2011-04-14 Vsevolod Vlasov <vsevik (a] chromium.org> 20193 20194 Reviewed by Pavel Feldman. 20195 20196 Web Inspector: Enable raw HTTP headers support 20197 https://bugs.webkit.org/show_bug.cgi?id=58259 20198 20199 Added raw headers text support to inspector. 20200 20201 * English.lproj/localizedStrings.js: 20202 * inspector/Inspector.json: 20203 * inspector/InspectorResourceAgent.cpp: 20204 (WebCore::buildObjectForResourceResponse): 20205 * inspector/front-end/NetworkManager.js: 20206 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 20207 * inspector/front-end/Resource.js: 20208 (WebInspector.Resource): 20209 (WebInspector.Resource.prototype.get transferSize): 20210 (WebInspector.Resource.prototype.set requestHeaders): 20211 (WebInspector.Resource.prototype.get rawRequestHeadersText): 20212 (WebInspector.Resource.prototype.set rawRequestHeadersText): 20213 (WebInspector.Resource.prototype.get requestHeadersSize): 20214 (WebInspector.Resource.prototype.set responseHeaders): 20215 (WebInspector.Resource.prototype.get rawResponseHeadersText): 20216 (WebInspector.Resource.prototype.set rawResponseHeadersText): 20217 (WebInspector.Resource.prototype.get responseHeadersSize): 20218 (WebInspector.Resource.prototype._headersSize): 20219 * inspector/front-end/ResourceHeadersView.js: 20220 (WebInspector.ResourceHeadersView): 20221 (WebInspector.ResourceHeadersView.prototype._refreshParms): 20222 (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders): 20223 (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders): 20224 (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle): 20225 (WebInspector.ResourceHeadersView.prototype._refreshHeaders): 20226 (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText): 20227 (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText): 20228 (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText): 20229 (WebInspector.ResourceHeadersView.prototype._createToggleButton): 20230 (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton): 20231 * inspector/front-end/networkPanel.css: 20232 (.resource-headers-view .outline-disclosure li .header-toggle): 20233 (.resource-headers-view .outline-disclosure li.expanded .header-toggle): 20234 (.resource-headers-view .outline-disclosure li .header-toggle:hover): 20235 (.resource-headers-view .outline-disclosure li.raw-headers-text): 20236 * platform/network/ResourceLoadInfo.h: 20237 20238 2011-04-14 Justin Novosad <junov (a] chromium.org> 20239 20240 Reviewed by Kenneth Russell. 20241 20242 [Chromium] Accelerated 2D Canvas is slow to execute putImageData 20243 https://bugs.webkit.org/show_bug.cgi?id=57960 20244 20245 * platform/graphics/chromium/GLES2Canvas.cpp: 20246 (WebCore::GLES2Canvas::drawTexturedRect): 20247 Added an option for using the blend ops for alpha multiplication 20248 instead of compositing. 20249 (WebCore::GLES2Canvas::applyClipping): 20250 (WebCore::GLES2Canvas::putImageData): 20251 New method for drawing raw pixel data from memory to the canvas 20252 (WebCore::GLES2Canvas::putUnmultipliedImageData): 20253 Wrapper for putImageData 20254 (WebCore::GLES2Canvas::putPremultipliedImageData): 20255 Wrapper for putImageData 20256 * platform/graphics/chromium/GLES2Canvas.h: 20257 * platform/graphics/gpu/Texture.cpp: 20258 (WebCore::copySubRect): 20259 (WebCore::Texture::load): 20260 (WebCore::Texture::updateSubRect): 20261 Added an overload of the updateSubRect method that can receive a pixel 20262 of a size that is different from texture size. Improved the performance 20263 of updateSubrect by avoiding the allocation of a temporary buffer when 20264 not required. 20265 * platform/graphics/gpu/Texture.h: 20266 * platform/graphics/skia/ImageBufferSkia.cpp: 20267 (WebCore::getImageData): 20268 In the unmultiplied path, division by alpha now performs proper 20269 rounding in order to avoid generational degradation with putImageData 20270 (WebCore::putImageData): 20271 Alpha multiplication now performs proper rounding in order to be 20272 consistent with the hardware rendering path: OpenGL always rounds when 20273 converting to fixed point representation. 20274 (WebCore::ImageBuffer::putUnmultipliedImageData): 20275 Now supports a hardware rendering path, which eliminates the need 20276 for a readback from the GPU 20277 (WebCore::ImageBuffer::putPremultipliedImageData): 20278 Now supports a hardware rendering path, which eliminates the need 20279 for a readback from the GPU 20280 20281 2011-04-14 Joone Hur <joone.hur (a] collabora.co.uk> 20282 20283 Reviewed by Martin Robinson. 20284 20285 Creating a CairoPath instance is not thread safe 20286 https://bugs.webkit.org/show_bug.cgi?id=58514 20287 20288 This patch allows a cairo surface to be created just one time in order to 20289 guarantee thread safety. 20290 In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to 20291 prevent confusing them with PathCairo.cpp 20292 20293 * CMakeListsEfl.txt: Added PlatformPathCairo.cpp 20294 * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h. 20295 * platform/graphics/cairo/CairoPath.h: Removed. 20296 * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h. 20297 * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto. 20298 * platform/graphics/cairo/PathCairo.cpp: Ditto. 20299 * platform/graphics/cairo/PlatformPathCairo.cpp: Added. 20300 (WebCore::getPathSurface): Getting a static cairo surface. 20301 (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor 20302 into the CPP file. 20303 * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this. 20304 (WebCore::CairoPath::~CairoPath): 20305 (WebCore::CairoPath::context): 20306 20307 2011-04-14 Nat Duca <nduca (a] chromium.org> 20308 20309 Reviewed by Darin Fisher. 20310 20311 [chromium] Add lowpass filter and graph to fps indicator 20312 https://bugs.webkit.org/show_bug.cgi?id=58186 20313 20314 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 20315 (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): 20316 (WebCore::CCHeadsUpDisplay::drawHudContents): 20317 (WebCore::CCHeadsUpDisplay::drawFPSCounter): 20318 (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree): 20319 (WebCore::CCHeadsUpDisplay::onPresent): 20320 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: 20321 20322 2011-04-14 Beth Dakin <bdakin (a] apple.com> 20323 20324 Reviewed by Adele Peterson. 20325 20326 https://bugs.webkit.org/show_bug.cgi?id=58612 20327 Crash switching overlay/non-overlay scrollbar preference 20328 (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9) 20329 -and corresponding- 20330 <rdar://problem/9241920> 20331 20332 Speculative fix: Page could definitely be null here. 20333 * page/FrameView.cpp: 20334 (WebCore::FrameView::scrollbarStyleChanged): 20335 20336 2011-04-14 Vsevolod Vlasov <vsevik (a] chromium.org> 20337 20338 Reviewed by Pavel Feldman. 20339 20340 Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size 20341 https://bugs.webkit.org/show_bug.cgi?id=58447 20342 20343 FrameLoader now takes encoded data length for synchronous requests from the field with the same name. 20344 20345 * loader/FrameLoader.cpp: 20346 (WebCore::FrameLoader::loadResourceSynchronously): 20347 * platform/network/ResourceLoadInfo.h: 20348 (WebCore::ResourceLoadInfo::ResourceLoadInfo): 20349 20350 2011-04-14 Alok Priyadarshi <alokp (a] chromium.org> 20351 20352 Reviewed by James Robinson. 20353 20354 Remove dependency on chromium skia::PlatformCanvas 20355 https://bugs.webkit.org/show_bug.cgi?id=57563 20356 20357 This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define. 20358 20359 * platform/graphics/chromium/FontChromiumWin.cpp: 20360 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 20361 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 20362 (WebCore::Font::drawComplexText): 20363 * platform/graphics/chromium/ImageBufferDataSkia.h: 20364 * platform/graphics/chromium/LayerChromium.h: 20365 * platform/graphics/chromium/LayerRendererChromium.h: 20366 * platform/graphics/chromium/PlatformCanvas.cpp: 20367 (WebCore::PlatformCanvas::resize): 20368 * platform/graphics/chromium/PlatformCanvas.h: 20369 * platform/graphics/chromium/TransparencyWin.cpp: 20370 (WebCore::TransparencyWin::compositeTextComposite): 20371 (WebCore::TransparencyWin::makeLayerOpaque): 20372 * platform/graphics/skia/ImageBufferSkia.cpp: 20373 (WebCore::ImageBuffer::ImageBuffer): 20374 * platform/graphics/skia/ImageSkia.cpp: 20375 (WebCore::paintSkBitmap): 20376 (WebCore::Image::drawPattern): 20377 * platform/graphics/skia/PlatformContextSkia.cpp: 20378 (WebCore::PlatformContextSkia::PlatformContextSkia): 20379 (WebCore::PlatformContextSkia::setCanvas): 20380 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 20381 * platform/graphics/skia/PlatformContextSkia.h: 20382 (WebCore::PlatformContextSkia::canvas): 20383 (WebCore::PlatformContextSkia::printing): 20384 (WebCore::PlatformContextSkia::setPrinting): 20385 20386 2011-04-14 Eric Seidel <eric (a] webkit.org> 20387 20388 Reviewed by Simon Fraser. 20389 20390 PumpSession should not call currentTime() in the constructor 20391 https://bugs.webkit.org/show_bug.cgi?id=55211 20392 20393 currentTime() is expensive. So we avoid calling it in the constructor 20394 and instead set startTime on the first check for a yield 20395 (which in the synchronous case never happens, and in the yielding 20396 case will happen immediately after the first token due to 20397 processedTokens being set to INT_MAX). 20398 20399 This ended up being a large win on (my local copy of) 20400 peacekeeper's domDynamicCreationCreateElement: 20401 20402 Before: 20403 avg 366.3333333333333 20404 median 366 20405 stdev 2.712112747574399 20406 min 362 20407 max 377 20408 20409 After: 20410 avg 345.96666666666664 20411 median 346 20412 stdev 1.6829207415152454 20413 min 343 20414 max 349 20415 20416 * html/parser/HTMLDocumentParser.cpp: 20417 * html/parser/HTMLParserScheduler.h: 20418 (WebCore::PumpSession::PumpSession): 20419 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): 20420 20421 2011-04-14 Ami Fischman <fischman (a] google.com> 20422 20423 Reviewed by Eric Carlson. 20424 20425 Remove unnecessary bottom margin of controls in video elements on media documents. 20426 This makes the cases of media documents and non-media documents consistent, 20427 and makes it possible to reason about the height of a rendered media document 20428 (needed e.g. for sizing iframes). 20429 20430 This change is covered by (the currently Skipped, but soon-to-be-un-Skipped) 20431 media/video-controls-in-media-document.html layouttest (see bug 54634 for 20432 the un-Skipping). 20433 20434 https://bugs.webkit.org/show_bug.cgi?id=58442 20435 20436 * css/mediaControls.css: 20437 (video:-webkit-full-page-media::-webkit-media-controls-panel): 20438 * css/mediaControlsEfl.css: 20439 (video:-webkit-full-page-media::-webkit-media-controls-panel): 20440 * css/mediaControlsQuickTime.css: 20441 (video:-webkit-full-page-media::-webkit-media-controls-panel): 20442 20443 2011-04-14 Geoffrey Garen <ggaren (a] apple.com> 20444 20445 Reviewed by Oliver Hunt. 20446 20447 Use opaque roots instead of direct marking for nodes in the DOM 20448 https://bugs.webkit.org/show_bug.cgi?id=58624 20449 20450 A node treats the root of its tree (usually the document) as its opaque 20451 root during GC. 20452 20453 This is needed for correctness in a generational GC world, but it also 20454 happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html). 20455 20456 * bindings/js/DOMWrapperWorld.cpp: 20457 (WebCore::isObservable): 20458 (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding. 20459 We use this function to determine whether a node is observable. 20460 20461 (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using 20462 our weak handle callback to determine reachability, instead of direct 20463 marking traversal through the DOM. 20464 20465 * bindings/js/JSAttrCustom.cpp: 20466 (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism 20467 instead of direct marking. 20468 20469 * bindings/js/JSDOMBinding.cpp: 20470 * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed 20471 markDOMNodeWrapper because it is now unused. This is a good thing because 20472 markDOMNodeWrapper used deprecatedAppend, which is not compatible 20473 with generational GC. 20474 20475 * bindings/js/JSDOMImplementationCustom.cpp: 20476 (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots. 20477 20478 * bindings/js/JSDocumentCustom.cpp: 20479 (WebCore::JSDocument::markChildren): No need to mark our child nodes directly, 20480 since they will take care of themselves through the opaque roots mechanism. 20481 20482 * bindings/js/JSNamedNodeMapCustom.cpp: 20483 (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots. 20484 20485 * bindings/js/JSNodeCustom.cpp: 20486 (WebCore::JSNode::markChildren): No need to mark our tree or our document 20487 directly, since they will take care of themselves through the opaque 20488 roots mechanism. 20489 20490 * bindings/js/JSNodeCustom.h: 20491 (WebCore::root): Helper function for accessing the root of a node tree. 20492 This is O(1) while you're in the document, O(log(N)) when you're in a 20493 reasonably balanced disconnected tree, and O(N) in the pathological case 20494 of a disconnected tree that's shaped like a linked list. If average case 20495 O(long(N)) turns out to be too slow, we can optimize through use of 20496 rare data or an external hash table, but it is so uncommon that I have 20497 ignored it for now. 20498 20499 * bindings/js/JSSVGElementInstanceCustom.cpp: 20500 (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots. 20501 20502 2011-04-14 Mike Reed <reed (a] google.com> 20503 20504 Reviewed by Kenneth Russell. 20505 20506 fix shadows with gradients 20507 https://bugs.webkit.org/show_bug.cgi?id=58376 20508 20509 No new tests. Existing tests exercise this 20510 LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html 20511 20512 * platform/graphics/skia/GraphicsContextSkia.cpp: 20513 (WebCore::GraphicsContext::setPlatformShadow): 20514 20515 2011-04-14 Vsevolod Vlasov <vsevik (a] chromium.org> 20516 20517 Reviewed by Pavel Feldman. 20518 20519 Web Inspector: No headers information in network panel for downloads. 20520 https://bugs.webkit.org/show_bug.cgi?id=58139 20521 20522 Passed resource response to inspector for PolicyDownload and PolicyIgnore requests. 20523 20524 Test: http/tests/inspector/network/download.html 20525 20526 * inspector/InspectorInstrumentation.cpp: 20527 (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl): 20528 (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl): 20529 (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl): 20530 * inspector/InspectorInstrumentation.h: 20531 (WebCore::InspectorInstrumentation::continueWithPolicyDownload): 20532 (WebCore::InspectorInstrumentation::continueWithPolicyIgnore): 20533 * loader/MainResourceLoader.cpp: 20534 (WebCore::MainResourceLoader::continueAfterContentPolicy): 20535 20536 2011-04-14 Joone Hur <joone.hur (a] collabora.co.uk> 20537 20538 Reviewed by Martin Robinson. 20539 20540 Convert use of raw pointers to RefPtr in using Cairo 20541 https://bugs.webkit.org/show_bug.cgi?id=57717 20542 20543 No new tests added becaue of just replacing raw pointers with smart pointers. 20544 20545 * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer. 20546 (WebCore::purgeScratchBuffer): 20547 (WebCore::getScratchBuffer): 20548 * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer. 20549 (copySurface): 20550 20551 2011-04-14 Naoki Takano <takano.naoki (a] gmail.com> 20552 20553 Reviewed by Eric Seidel. 20554 20555 [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag. 20556 https://bugs.webkit.org/show_bug.cgi?id=57818 20557 20558 Test: fast/forms/select-background-none.html 20559 20560 This fix is only for Chromium on Linux. Chromium on Mac already works fine. 20561 But Windows has the same problem. This change doesn't include Windows part. 20562 20563 * rendering/RenderThemeChromiumLinux.cpp: 20564 (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent. 20565 20566 2011-04-14 Luke Macpherson <macpherson (a] chromium.org> 20567 20568 Reviewed by Dimitri Glazkov. 20569 20570 Implement border style css properties in CSSStyleApplyProperty 20571 https://bugs.webkit.org/show_bug.cgi?id=58506 20572 20573 No new functionality added. 20574 20575 * css/CSSStyleApplyProperty.cpp: 20576 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 20577 Added new property initializers. 20578 20579 * css/CSSStyleSelector.cpp: 20580 (WebCore::CSSStyleSelector::applyProperty): 20581 Removed old property handlers. 20582 20583 2011-04-14 Dimitri Glazkov <dglazkov (a] chromium.org> 20584 20585 Reviewed by Ojan Vafai. 20586 20587 Presence of shadow DOM should suppress rendering of ordinary child nodes 20588 https://bugs.webkit.org/show_bug.cgi?id=58073 20589 20590 Test: fast/dom/shadow/no-renderers-for-light-children.html 20591 20592 * dom/Node.cpp: 20593 (WebCore::shadowRoot): Added a helper function. 20594 (WebCore::Node::setDocumentRecursively): Changed to use the helper. 20595 (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function, 20596 added a check for children of an element with a shadow DOM. 20597 (WebCore::Node::createRendererAndStyle): Changed to use the helper. 20598 20599 2011-04-14 Adrienne Walker <enne (a] google.com> 20600 20601 Reviewed by James Robinson. 20602 20603 [chromium] Tile content and image layers 20604 https://bugs.webkit.org/show_bug.cgi?id=57113 20605 20606 Layers tile by default if any dimension is larger than 512. Smaller 20607 layers are contained within a single texture but still use the tiler 20608 infrastructure so that there's only one code path. 20609 20610 Remove large layer support from content layers. Content layers no 20611 longer own a platform canvas--they own a tiler. Refactor tiler to 20612 allow for better separation of update/upload/paint. Add rect 20613 parameter to update and draw functions on layers for the layer-space 20614 rect of interest. This is necessary to know which tiles need to be 20615 drawn. 20616 20617 * platform/graphics/chromium/ContentLayerChromium.cpp: 20618 (WebCore::ContentLayerChromium::ContentLayerChromium): 20619 (WebCore::ContentLayerChromium::~ContentLayerChromium): 20620 (WebCore::ContentLayerPainter::ContentLayerPainter): 20621 (WebCore::ContentLayerPainter::paint): 20622 (WebCore::ContentLayerChromium::paintContentsIfDirty): 20623 (WebCore::ContentLayerChromium::setLayerRenderer): 20624 (WebCore::ContentLayerChromium::tilingTransform): 20625 (WebCore::ContentLayerChromium::visibleLayerRect): 20626 (WebCore::ContentLayerChromium::layerBounds): 20627 (WebCore::ContentLayerChromium::updateLayerSize): 20628 (WebCore::ContentLayerChromium::draw): 20629 (WebCore::ContentLayerChromium::createTilerIfNeeded): 20630 (WebCore::ContentLayerChromium::updateCompositorResources): 20631 (WebCore::ContentLayerChromium::setTilingOption): 20632 (WebCore::ContentLayerChromium::bindContentsTexture): 20633 (WebCore::ContentLayerChromium::unreserveContentsTexture): 20634 (WebCore::ContentLayerChromium::setIsMask): 20635 (WebCore::ContentLayerChromium::dumpLayerProperties): 20636 * platform/graphics/chromium/ContentLayerChromium.h: 20637 (WebCore::ContentLayerChromium::drawsContent): 20638 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 20639 (WebCore::GraphicsLayerChromium::setMaskLayer): 20640 * platform/graphics/chromium/ImageLayerChromium.cpp: 20641 (WebCore::ImageLayerChromium::paintContentsIfDirty): 20642 (WebCore::ImageLayerChromium::updateCompositorResources): 20643 (WebCore::ImageLayerChromium::layerBounds): 20644 (WebCore::ImageLayerChromium::tilingTransform): 20645 * platform/graphics/chromium/ImageLayerChromium.h: 20646 * platform/graphics/chromium/LayerChromium.h: 20647 (WebCore::LayerChromium::invalidateRect): 20648 (WebCore::LayerChromium::paintContentsIfDirty): 20649 (WebCore::LayerChromium::setIsMask): 20650 (WebCore::LayerChromium::draw): 20651 * platform/graphics/chromium/LayerRendererChromium.cpp: 20652 (WebCore::LayerRendererChromium::drawRootLayer): 20653 (WebCore::LayerRendererChromium::drawLayers): 20654 (WebCore::LayerRendererChromium::paintContentsRecursive): 20655 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay): 20656 (WebCore::LayerRendererChromium::drawLayer): 20657 (WebCore::LayerRendererChromium::initializeSharedObjects): 20658 (WebCore::LayerRendererChromium::cleanupSharedObjects): 20659 * platform/graphics/chromium/LayerRendererChromium.h: 20660 * platform/graphics/chromium/LayerTilerChromium.cpp: 20661 (WebCore::LayerTilerChromium::setTileSize): 20662 (WebCore::LayerTilerChromium::getSingleTexture): 20663 (WebCore::LayerTilerChromium::invalidateRect): 20664 (WebCore::LayerTilerChromium::update): 20665 (WebCore::LayerTilerChromium::uploadCanvas): 20666 (WebCore::LayerTilerChromium::updateFromPixels): 20667 (WebCore::LayerTilerChromium::draw): 20668 (WebCore::LayerTilerChromium::unreserveTextures): 20669 * platform/graphics/chromium/LayerTilerChromium.h: 20670 (WebCore::LayerTilerChromium::setLayerRenderer): 20671 (WebCore::LayerTilerChromium::skipsDraw): 20672 * platform/graphics/chromium/PlatformCanvas.cpp: 20673 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 20674 (WebCore::PlatformCanvas::Painter::Painter): 20675 * platform/graphics/chromium/PlatformCanvas.h: 20676 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 20677 (WebCore::RenderSurfaceChromium::draw): 20678 * platform/graphics/chromium/RenderSurfaceChromium.h: 20679 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: 20680 (WebCore::CCCanvasLayerImpl::draw): 20681 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: 20682 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 20683 (WebCore::CCHeadsUpDisplay::draw): 20684 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 20685 (WebCore::CCLayerImpl::draw): 20686 * platform/graphics/chromium/cc/CCLayerImpl.h: 20687 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: 20688 (WebCore::CCPluginLayerImpl::draw): 20689 * platform/graphics/chromium/cc/CCPluginLayerImpl.h: 20690 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: 20691 (WebCore::CCVideoLayerImpl::draw): 20692 * platform/graphics/chromium/cc/CCVideoLayerImpl.h: 20693 20694 2011-04-14 James Robinson <jamesr (a] chromium.org> 20695 20696 Reviewed by Darin Fisher. 20697 20698 [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame 20699 https://bugs.webkit.org/show_bug.cgi?id=58575 20700 20701 Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized() 20702 is called, not contentsResized() so that we always update layers when adding or removing scrollbars. 20703 20704 Covered by several chromium pixel tests. 20705 20706 * page/FrameView.cpp: 20707 (WebCore::FrameView::contentsResized): 20708 (WebCore::FrameView::visibleContentsResized): 20709 20710 2011-04-07 David Levin <levin (a] chromium.org> 20711 20712 Reviewed by Brady Eidson. 20713 20714 Fix some threading issues in IconDatabase. 20715 https://bugs.webkit.org/show_bug.cgi?id=57985 20716 20717 No functionality change so no new tests. It would be very hard to test this, but 20718 I am working on a change for bug 31639 to detect these (which makes layout tests 20719 fail for at least one of these issues). 20720 20721 * loader/icon/IconDatabase.cpp: 20722 (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks. 20723 (WebCore::IconDatabase::readFromDatabase): Ditto. 20724 (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data 20725 is used, and this lock seems to be the one which consistently guards it. 20726 20727 2011-04-14 Dmitry Titov <dimich (a] chromium.org> 20728 20729 Reviewed by David Levin. 20730 20731 Simplifying Worker termination sequence (removing unnecessary mutex) 20732 https://bugs.webkit.org/show_bug.cgi?id=57090 20733 20734 No new tests. Existing Worker tests should pass. 20735 20736 * bindings/js/JSEventListener.cpp: 20737 (WebCore::JSEventListener::handleEvent): 20738 Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes 20739 JS might not run significant enough chunk to be terminated by Terminator) and set 20740 the flag to forbid future reentry into JS. 20741 20742 * bindings/js/WorkerScriptController.cpp: 20743 (WebCore::WorkerScriptController::evaluate): 20744 (WebCore::WorkerScriptController::scheduleExecutionTermination): 20745 (WebCore::WorkerScriptController::forbidExecution): 20746 (WebCore::WorkerScriptController::isExecutionForbidden): 20747 * bindings/js/WorkerScriptController.h: 20748 * bindings/v8/WorkerScriptController.cpp: 20749 (WebCore::WorkerScriptController::evaluate): 20750 (WebCore::WorkerScriptController::scheduleExecutionTermination): 20751 (WebCore::WorkerScriptController::forbidExecution): 20752 (WebCore::WorkerScriptController::isExecutionForbidden): 20753 * bindings/v8/WorkerScriptController.h: 20754 (WebCore::WorkerScriptController::proxy): 20755 Symmetrical changes to JSC and V8 WorkerScriptControllers: 20756 - remove Mutex around operations with executionForbidden flag. 20757 - set/check that flag only on Worker thread. 20758 - some renaming in attempt to better reflect what the methods do. 20759 20760 * bindings/v8/V8AbstractEventListener.cpp: 20761 (WebCore::V8AbstractEventListener::handleEvent): 20762 (WebCore::V8AbstractEventListener::invokeEventHandler): 20763 * bindings/v8/WorkerContextExecutionProxy.cpp: 20764 (WebCore::WorkerContextExecutionProxy::evaluate): 20765 Check for v8::TryCatch::CanContinue() and set forbidExecution flag. 20766 This result indicates that TerminateExecution() was in effect - we should 20767 not reenter V8 anymore after that. 20768 20769 * dom/Document.h: 20770 (WebCore::Document::isJSExecutionForbidden): 20771 * dom/MessagePort.cpp: 20772 (WebCore::MessagePort::dispatchMessages): 20773 Stop dispatching messages once the worker context started to close. 20774 Per Workers spec, once WorkerGlobalScope.Close() is called, the next 20775 JS execution does not happen, including onmessage events. Before this 20776 change, Close() was setting the forbidExecution flag, indirectly stopping 20777 events from dispatching. 20778 20779 * dom/ScriptExecutionContext.h: 20780 * workers/WorkerContext.cpp: 20781 (WebCore::WorkerContext::close): 20782 (WebCore::WorkerContext::isJSExecutionForbidden): 20783 * workers/WorkerContext.h: 20784 * workers/WorkerThread.cpp: 20785 (WebCore::WorkerThread::workerThread): 20786 (WebCore::WorkerThread::stop): 20787 20788 2011-04-14 Beth Dakin <bdakin (a] apple.com> 20789 20790 Reviewed by Simon Fraser. 20791 20792 https://bugs.webkit.org/show_bug.cgi?id=56493 20793 Drag-scrolling overlay scrollbars thumb in overflow regions does not work 20794 -and corresponding- 20795 <rdar://problem/9112688> 20796 20797 There was an original change to fix this in the normal hit-testing case, but hit 20798 testing of transformed and/or positioned objects was still broken. The transformed 20799 case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to 20800 calculateRects(). Getting positioned objects right is a little trickier. Those need 20801 to opt into using temporary clip rects during hit testing. To avoid doing that when 20802 it is not necessary, I added a new bit to ScrollView to track whether there are 20803 currently overlay scrollbars painted in the view. 20804 * platform/ScrollView.cpp: 20805 (WebCore::ScrollView::ScrollView): 20806 (WebCore::ScrollView::wheelEvent): 20807 * platform/ScrollView.h: 20808 (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars): 20809 (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars): 20810 * rendering/RenderLayer.cpp: 20811 (WebCore::RenderLayer::paintOverflowControls): 20812 (WebCore::RenderLayer::hitTestLayer): 20813 (WebCore::RenderLayer::updateClipRects): 20814 (WebCore::RenderLayer::calculateClipRects): 20815 (WebCore::RenderLayer::parentClipRects): 20816 (WebCore::RenderLayer::backgroundClipRect): 20817 (WebCore::RenderLayer::calculateRects): 20818 * rendering/RenderLayer.h: 20819 20820 2011-04-14 Antti Koivisto <antti (a] apple.com> 20821 20822 Reviewed by Oliver Hunt. 20823 20824 REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load 20825 https://bugs.webkit.org/show_bug.cgi?id=57766 20826 <rdar://problem/9232183> 20827 20828 Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way 20829 we can try to interpret the same cached resource in multiple ways. 20830 20831 Test: fast/css/font-face-repeated-url.html 20832 20833 * css/CSSFontFaceSource.cpp: 20834 (WebCore::CSSFontFaceSource::CSSFontFaceSource): 20835 (WebCore::CSSFontFaceSource::getFontData): 20836 * css/CSSFontFaceSource.h: 20837 (WebCore::CSSFontFaceSource::setHasExternalSVGFont): 20838 * css/CSSFontSelector.cpp: 20839 (WebCore::CSSFontSelector::addFontFaceRule): 20840 * loader/cache/CachedFont.cpp: 20841 (WebCore::CachedFont::CachedFont): 20842 (WebCore::CachedFont::ensureCustomFontData): 20843 (WebCore::CachedFont::ensureSVGFontData): 20844 20845 Use TextResourceDecoder correctly. 20846 20847 (WebCore::CachedFont::getSVGFontById): 20848 * loader/cache/CachedFont.h: 20849 * svg/SVGFontFaceUriElement.cpp: 20850 (WebCore::SVGFontFaceUriElement::loadFont): 20851 20852 2011-04-14 Kenneth Russell <kbr (a] google.com> 20853 20854 Reviewed by Dimitri Glazkov. 20855 20856 Enable building Web Audio with MKL in Chrome-branded builds 20857 https://bugs.webkit.org/show_bug.cgi?id=58561 20858 20859 Factored out MKL support into a separate GYP file that is 20860 incorporated in Chrome-branded builds. Changed how the FFTFrame 20861 implementations are pulled in and chosen so that all files can be 20862 unconditionally compiled. 20863 20864 Tested with both Chrome-branded build (incorporating MKL) and 20865 Chromium build (building just FFTFrameStub.cpp) on Linux. 20866 20867 * WebCore.gyp/WebCore.gyp: 20868 * platform/audio/fftw/FFTFrameFFTW.cpp: 20869 * platform/audio/mkl/FFTFrameMKL.cpp: 20870 20871 2011-04-14 Ragner Magalhaes <ragner.magalhaes (a] openbossa.org> 20872 20873 Reviewed by Antonio Gomes. 20874 20875 [Qt] Web Inspector does not highlight elements 20876 https://bugs.webkit.org/show_bug.cgi?id=35125 20877 20878 We should call drawNodeHighlight() just if a highlighted node exists 20879 to avoid do save()/restore() on the Graphics Context unnecessarily. 20880 20881 Added highlightedNode() method to check if we need to call drawNodeHighlight() 20882 and only on this case do save()/restore() on the Graphics Context. 20883 20884 * inspector/InspectorAgent.h: 20885 (WebCore::InspectorAgent::highlightedNode): 20886 20887 2011-04-14 Adrienne Walker <enne (a] google.com> 20888 20889 Reviewed by James Robinson. 20890 20891 [chromium] TilingData should return 1 tile when tile size is texture size. 20892 https://bugs.webkit.org/show_bug.cgi?id=58364 20893 20894 * platform/graphics/gpu/TilingData.cpp: 20895 (WebCore::computeNumTiles): 20896 20897 2011-04-14 Andy Estes <aestes (a] apple.com> 20898 20899 Reviewed by Dan Bernstein. 20900 20901 REGRESSION (r72141): Acid3 rendering is not pixel perfect. 20902 https://bugs.webkit.org/show_bug.cgi?id=55734 20903 20904 WebCore should render text with a 0px font size at 0px regardless of 20905 minimum font size settings. This is compatible with other browsers that 20906 have a minimum font size preference and ensures pixel-perfect rendering 20907 on Acid3. 20908 20909 Test: fast/text/zero-font-size.html 20910 20911 * css/CSSStyleSelector.cpp: 20912 (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If 20913 specifiedSize is 0, return specified size regardless of zoom factor or 20914 minimum font size. 20915 20916 2011-04-14 Matthew Delaney <mdelaney (a] apple.com> 20917 20918 Reviewed by Simon Fraser. 20919 20920 Have canvas drawImageFromRect just redirect to use drawImage 20921 https://bugs.webkit.org/show_bug.cgi?id=58516 20922 20923 Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html 20924 20925 * html/canvas/CanvasRenderingContext2D.cpp: 20926 (WebCore::CanvasRenderingContext2D::drawImage): 20927 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 20928 * html/canvas/CanvasRenderingContext2D.h: 20929 20930 2011-04-14 James Robinson <jamesr (a] chromium.org> 20931 20932 Reviewed by Simon Fraser. 20933 20934 REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests) 20935 https://bugs.webkit.org/show_bug.cgi?id=58535 20936 20937 Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build. 20938 20939 * rendering/RenderLayerBacking.cpp: 20940 (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer): 20941 (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer): 20942 (WebCore::RenderLayerBacking::requiresScrollCornerLayer): 20943 * rendering/RenderLayerCompositor.cpp: 20944 (WebCore::shouldCompositeOverflowControls): 20945 20946 2011-04-14 Jian Li <jianli (a] chromium.org> 20947 20948 Reviewed by Darin Fisher. 20949 20950 BlobBuilder should be vendor-prefixed 20951 https://bugs.webkit.org/show_bug.cgi?id=58518 20952 20953 Renamed BlobBuilder to WebKitBlobBuilder. 20954 20955 * Android.derived.jscbindings.mk: 20956 * Android.derived.v8bindings.mk: 20957 * CMakeLists.txt: 20958 * CodeGenerators.pri: 20959 * DerivedSources.cpp: 20960 * DerivedSources.make: 20961 * GNUmakefile.list.am: 20962 * WebCore.gypi: 20963 * WebCore.pro: 20964 * WebCore.vcproj/WebCore.vcproj: 20965 * WebCore.xcodeproj/project.pbxproj: 20966 * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp. 20967 (WebCore::WebKitBlobBuilder::WebKitBlobBuilder): 20968 (WebCore::WebKitBlobBuilder::getBuffer): 20969 (WebCore::WebKitBlobBuilder::append): 20970 (WebCore::WebKitBlobBuilder::getBlob): 20971 * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h. 20972 (WebCore::WebKitBlobBuilder::create): 20973 * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl. 20974 * page/DOMWindow.idl: 20975 * workers/WorkerContext.idl: 20976 20977 2011-04-14 Adam Barth <abarth (a] webkit.org> 20978 20979 Remove some trailing whitespace. I'm making this change to initialize 20980 the SVN credentials on a new commit-queue machine. I'm sure there's a 20981 better way to do this, but I don't know it. 20982 20983 * dom/Document.cpp: 20984 (WebCore::Document::Document): 20985 20986 2011-04-14 Pratik Solanki <psolanki (a] apple.com> 20987 20988 Reviewed by David Kilzer. 20989 20990 Set minimum priority for fast lane connections 20991 https://bugs.webkit.org/show_bug.cgi?id=58353 20992 20993 * WebCore.exp.in: 20994 * platform/mac/WebCoreSystemInterface.h: 20995 * platform/mac/WebCoreSystemInterface.mm: 20996 * platform/network/cf/ResourceRequestCFNet.cpp: 20997 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call 20998 wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast 20999 lane connections. 21000 21001 2011-04-14 Kenneth Russell <kbr (a] google.com> 21002 21003 Reviewed by Dimitri Glazkov. 21004 21005 Fix Web Audio build on Linux Debug and with stub FFTFrame 21006 https://bugs.webkit.org/show_bug.cgi?id=58555 21007 21008 Built Chromium/Linux in Debug mode to test. 21009 21010 * platform/audio/FFTFrame.cpp: 21011 * platform/audio/FFTFrameStub.cpp: 21012 (WebCore::FFTFrame::initialize): 21013 * webaudio/AudioContext.cpp: 21014 * webaudio/DefaultAudioDestinationNode.cpp: 21015 21016 2011-04-14 Yury Semikhatsky <yurys (a] chromium.org> 21017 21018 Reviewed by Pavel Feldman. 21019 21020 [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer 21021 https://bugs.webkit.org/show_bug.cgi?id=58552 21022 21023 * bindings/v8/DebuggerScript.js: 21024 * bindings/v8/WorkerContextExecutionProxy.cpp: 21025 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context 21026 now have a debug id (similar to frame contexts). 21027 * bindings/v8/WorkerScriptDebugServer.cpp: 21028 (WebCore::retrieveWorkerContext): 21029 (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): 21030 (WebCore::WorkerScriptDebugServer::addListener): 21031 (WebCore::WorkerScriptDebugServer::removeListener): 21032 (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): 21033 (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until 21034 debugger command is received and execution is resumed. 21035 (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): 21036 * bindings/v8/WorkerScriptDebugServer.h: 21037 * inspector/WorkerDebuggerAgent.cpp: 21038 (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): 21039 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): 21040 21041 2011-04-14 Jian Li <jianli (a] chromium.org> 21042 21043 Reviewed by Darin Fisher. 21044 21045 Add webkit prefix to Blob.slice method and change its semantics to be 21046 like Array.slice 21047 https://bugs.webkit.org/show_bug.cgi?id=58496 21048 21049 Renamed Blob.slice to blob.webkitSlice and made it take start and end 21050 parameters that're like Array.slice. 21051 21052 Test: fast/files/blob-slice-test.html 21053 21054 * fileapi/Blob.cpp: 21055 (WebCore::Blob::webkitSlice): 21056 * fileapi/Blob.h: 21057 * fileapi/Blob.idl: 21058 21059 2011-04-14 Andreas Kling <kling (a] webkit.org> 21060 21061 Reviewed by Benjamin Poulain. 21062 21063 [Qt] Height of "Ahem" font differs from all other ports. 21064 https://bugs.webkit.org/show_bug.cgi?id=57954 21065 21066 QFontMetricsF::descent() returns the actual descent minus 1, 21067 to account for the baseline. Add it back to get correct metrics 21068 for WebKit. 21069 21070 QFontMetricsF::leading() may return negative values on some 21071 platforms (those using FreeType), this breaks WebKit's assumption 21072 that lineSpacing >= (ascent + descent), so we work around this in 21073 the same fashion as SimpleFontDataFreeType and SimpleFontDataPango. 21074 21075 This is covered by thousands of layout tests. 21076 21077 * platform/graphics/qt/SimpleFontDataQt.cpp: 21078 (WebCore::SimpleFontData::platformInit): 21079 21080 2011-04-14 Kevin Ollivier <kevino (a] theolliviers.com> 21081 21082 [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1. 21083 21084 * platform/graphics/wx/FontPlatformDataWx.cpp: 21085 (WebCore::FontPlatformData::FontPlatformData): 21086 * platform/wx/FileSystemWx.cpp: 21087 (WebCore::writeToFile): 21088 21089 2011-04-14 Anders Carlsson <andersca (a] apple.com> 21090 21091 Fix build. 21092 21093 RuntimeApplicationChecks.h needs to be a private header so WebKit can find it. 21094 21095 * WebCore.xcodeproj/project.pbxproj: 21096 21097 2011-04-14 Pavel Podivilov <podivilov (a] chromium.org> 21098 21099 Unreviewed, build fix for r83864. 21100 21101 * inspector/front-end/DOMAgent.js: 21102 (WebInspector.DOMAgent.prototype._childNodeRemoved): 21103 21104 2011-04-14 Alexander Pavlov <apavlov (a] chromium.org> 21105 21106 Reviewed by Pavel Feldman. 21107 21108 Web Inspector: Content area highlight does not cover scrollbars 21109 https://bugs.webkit.org/show_bug.cgi?id=58528 21110 21111 * inspector/DOMNodeHighlighter.cpp: 21112 (WebCore::DOMNodeHighlighter::DrawNodeHighlight): 21113 21114 2011-04-14 Pavel Podivilov <podivilov (a] chromium.org> 21115 21116 Reviewed by Pavel Feldman. 21117 21118 Web Inspector: re-implement dom breakpoints. 21119 https://bugs.webkit.org/show_bug.cgi?id=57038 21120 21121 * WebCore.gypi: 21122 * WebCore.vcproj/WebCore.vcproj: 21123 * inspector/front-end/BreakpointManager.js: Removed. 21124 * inspector/front-end/BreakpointsSidebarPane.js: 21125 (WebInspector.NativeBreakpointsSidebarPane): 21126 (WebInspector.NativeBreakpointsSidebarPane.prototype._reset): 21127 (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): 21128 * inspector/front-end/CallStackSidebarPane.js: 21129 (WebInspector.CallStackSidebarPane.prototype.update): 21130 (WebInspector.CallStackSidebarPane.prototype.setStatus): 21131 * inspector/front-end/DOMAgent.js: 21132 (WebInspector.DOMNode): 21133 (WebInspector.DOMAgent.prototype._childNodeRemoved): 21134 * inspector/front-end/DOMBreakpointsSidebarPane.js: Added. 21135 (WebInspector.DOMBreakpointsSidebarPane): 21136 (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL): 21137 (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint): 21138 (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu): 21139 (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend): 21140 (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage): 21141 (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s): 21142 (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append): 21143 (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage): 21144 (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved): 21145 (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode): 21146 (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint): 21147 (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint): 21148 (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): 21149 (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu): 21150 (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked): 21151 (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint): 21152 (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 21153 (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId): 21154 (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints): 21155 (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints): 21156 * inspector/front-end/ElementsPanel.js: 21157 (WebInspector.ElementsPanel): 21158 (WebInspector.ElementsPanel.prototype.show): 21159 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 21160 (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs): 21161 * inspector/front-end/ElementsTreeOutline.js: 21162 (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu): 21163 * inspector/front-end/ScriptsPanel.js: 21164 (WebInspector.ScriptsPanel): 21165 (WebInspector.ScriptsPanel.prototype.show): 21166 (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage): 21167 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): 21168 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 21169 (WebInspector.ScriptsPanel.prototype._clearInterface): 21170 * inspector/front-end/Settings.js: 21171 (WebInspector.Settings): 21172 (WebInspector.Settings.prototype._set): 21173 * inspector/front-end/WebKit.qrc: 21174 * inspector/front-end/inspector.html: 21175 * inspector/front-end/inspector.js: 21176 (WebInspector.inspectedURLChanged): 21177 * inspector/front-end/utilities.js: 21178 (): 21179 21180 2011-04-14 Satish Sampath <satish (a] chromium.org> 21181 21182 Reviewed by Kent Tamura. 21183 21184 Disable speech input for readonly and disabled input fields. 21185 https://bugs.webkit.org/show_bug.cgi?id=58540 21186 21187 Test: fast/speech/input-readonly-and-disabled.html 21188 21189 * html/shadow/TextControlInnerElements.cpp: 21190 (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): 21191 (WebCore::InputFieldSpeechButtonElement::setRecognitionResult): 21192 21193 2011-04-14 Ilya Tikhonovsky <loislo (a] chromium.org> 21194 21195 Unreviewed. Rollout r83849 and r83857. 21196 21197 * inspector/Inspector.json: 21198 * inspector/InspectorDatabaseAgent.cpp: 21199 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 21200 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 21201 (WebCore::InspectorDatabaseAgent::setFrontend): 21202 (WebCore::InspectorDatabaseAgent::clearFrontend): 21203 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 21204 (WebCore::InspectorDatabaseAgent::executeSQL): 21205 * inspector/InspectorDatabaseAgent.h: 21206 * inspector/front-end/inspector.js: 21207 21208 2011-04-14 Dimitri Glazkov <dglazkov (a] chromium.org> 21209 21210 Unreviewed, rolling out r83847. 21211 http://trac.webkit.org/changeset/83847 21212 https://bugs.webkit.org/show_bug.cgi?id=58477 21213 21214 Chromium media controls do use button borders, so this change 21215 is incorrect. 21216 21217 * css/mediaControls.css: 21218 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 21219 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): 21220 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 21221 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): 21222 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 21223 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 21224 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): 21225 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): 21226 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): 21227 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 21228 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 21229 21230 2011-04-14 Andrew Wason <rectalogic (a] rectalogic.com> 21231 21232 Reviewed by Andreas Kling. 21233 21234 Fix GraphicsContext3DQt.cpp compilation warnings treated as errors 21235 https://bugs.webkit.org/show_bug.cgi?id=58478 21236 21237 No new tests. 21238 21239 * platform/graphics/qt/GraphicsContext3DQt.cpp: 21240 (WebCore::GraphicsContext3DInternal::getProcAddress): 21241 Do not use deprecated QString constructor to avoid warning. 21242 (WebCore::GraphicsContext3D::reshape): 21243 Use parenthesis to avoid warning. 21244 21245 2011-04-14 Andrey Kosyakov <caseq (a] chromium.org> 21246 21247 Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820, 21248 as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner() 21249 with a different signature) 21250 21251 * platform/ScrollableArea.h: 21252 21253 2011-04-14 Mikhail Naganov <mnaganov (a] chromium.org> 21254 21255 Reviewed by Pavel Feldman. 21256 21257 Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers. 21258 https://bugs.webkit.org/show_bug.cgi?id=58534 21259 21260 * inspector/front-end/DetailedHeapshotGridNodes.js: 21261 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent): 21262 (WebInspector.HeapSnapshotDiffNode): 21263 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated): 21264 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff): 21265 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived): 21266 (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived): 21267 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 21268 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 21269 (WebInspector.HeapSnapshotDiffNode.prototype.get data): 21270 * inspector/front-end/DetailedHeapshotView.js: 21271 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): 21272 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff): 21273 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): 21274 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): 21275 * inspector/front-end/HeapSnapshot.js: 21276 (WebInspector.HeapSnapshot): 21277 (WebInspector.HeapSnapshot.prototype.dispose): 21278 (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex): 21279 (WebInspector.HeapSnapshot.prototype._numbersComparator): 21280 (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode): 21281 (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds): 21282 (WebInspector.HeapSnapshotsDiff): 21283 (WebInspector.HeapSnapshotsDiff.prototype.set baseIds): 21284 (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes): 21285 (WebInspector.HeapSnapshotsDiff.prototype.calculate): 21286 * inspector/front-end/HeapSnapshotProxy.js: 21287 (WebInspector.HeapSnapshotProxy): 21288 (WebInspector.HeapSnapshotProxy.prototype.createDiff): 21289 (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider): 21290 (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider): 21291 (WebInspector.HeapSnapshotProxy.prototype.dispose): 21292 (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex): 21293 (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds): 21294 (WebInspector.HeapSnapshotsDiffProxy): 21295 (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate): 21296 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds): 21297 (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes): 21298 21299 2011-04-14 Ilya Tikhonovsky <loislo (a] chromium.org> 21300 21301 Reviewed by Pavel Feldman. 21302 21303 Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector. 21304 https://bugs.webkit.org/show_bug.cgi?id=57833 21305 21306 * inspector/Inspector.json: 21307 * inspector/InspectorDatabaseAgent.cpp: 21308 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 21309 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 21310 (WebCore::InspectorDatabaseAgent::setFrontend): 21311 (WebCore::InspectorDatabaseAgent::enable): 21312 (WebCore::InspectorDatabaseAgent::disable): 21313 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 21314 (WebCore::InspectorDatabaseAgent::executeSQL): 21315 * inspector/InspectorDatabaseAgent.h: 21316 * inspector/front-end/inspector.js: 21317 21318 2011-04-14 Alexander Pavlov <apavlov (a] chromium.org> 21319 21320 Reviewed by Yury Semikhatsky. 21321 21322 Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane 21323 https://bugs.webkit.org/show_bug.cgi?id=58530 21324 21325 * inspector/front-end/ElementsPanel.js: 21326 21327 2011-04-14 Alexis Menard <alexis.menard (a] openbossa.org> 21328 21329 Reviewed by Dimitri Glazkov. 21330 21331 REGRESSION(r83397) [Qt] When clicking on the media elements they 21332 grow 2 pixels. 21333 https://bugs.webkit.org/show_bug.cgi?id=58477 21334 21335 Since r83397 the media controls elements are actual DOM elements. 21336 Therefore the global style-sheet applies to them. html.css defines 21337 input[type="button"]:active to be border-style: inset which means 21338 that when the buttons are active they grow by their border size. 21339 21340 * css/mediaControls.css: 21341 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 21342 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): 21343 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 21344 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): 21345 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 21346 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 21347 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): 21348 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): 21349 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): 21350 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 21351 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 21352 21353 2011-04-14 Diego Gonzalez <diegohcg (a] webkit.org> 21354 21355 Reviewed by Kenneth Rohde Christiansen. 21356 21357 [Qt] Improve disable style for input elements in mobile theme 21358 https://bugs.webkit.org/show_bug.cgi?id=58480 21359 21360 * platform/qt/QtMobileWebStyle.cpp: 21361 (QtMobileWebStyle::drawControl): 21362 (QtMobileWebStyle::drawPrimitive): 21363 (QtMobileWebStyle::drawComplexControl): 21364 21365 2011-04-14 Pavel Feldman <pfeldman (a] google.com> 21366 21367 Reviewed by Yury Semikhatsky. 21368 21369 Web Inspector: restore previous selection in Resources panel upon front-end reopen. 21370 https://bugs.webkit.org/show_bug.cgi?id=58533 21371 21372 * inspector/front-end/ResourceTreeModel.js: 21373 (WebInspector.ResourceTreeModel.prototype._processCachedResources): 21374 * inspector/front-end/ResourcesPanel.js: 21375 (WebInspector.ResourcesPanel.prototype._initDefaultSelection): 21376 (WebInspector.ResourcesPanel.prototype._populateResourceTree): 21377 (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded): 21378 * inspector/front-end/inspector.css: 21379 (#close-button-left, #close-button-right): 21380 21381 2011-04-14 Pavel Feldman <pfeldman (a] google.com> 21382 21383 Reviewed by Yury Semikhatsky. 21384 21385 Web Inspector: implement incremental CSS free flow editing. 21386 https://bugs.webkit.org/show_bug.cgi?id=58529 21387 21388 * inspector/front-end/CSSStyleModel.js: 21389 (WebInspector.CSSStyleSheet.prototype.setText): 21390 * inspector/front-end/Resource.js: 21391 (WebInspector.Resource.prototype.isResourceRevision): 21392 (WebInspector.Resource.prototype.setContent): 21393 * inspector/front-end/ResourceView.js: 21394 (WebInspector.CSSSourceFrame.prototype.isContentEditable): 21395 (WebInspector.CSSSourceFrame.prototype.editContent): 21396 (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit): 21397 (WebInspector.CSSSourceFrame.prototype.endEditing): 21398 * inspector/front-end/SourceFrame.js: 21399 (WebInspector.SourceFrame.prototype.commitEditing): 21400 (WebInspector.SourceFrame.prototype.editContent): 21401 21402 2011-04-14 Ilya Tikhonovsky <loislo (a] chromium.org> 21403 21404 Reviewed by Pavel Feldman. 21405 21406 Web Inspector:Duplicated display of storage db when running Web SQL from an iframe. 21407 https://bugs.webkit.org/show_bug.cgi?id=57830 21408 21409 There was created a new InspectorDatabaseResource entry for every didOpenDatabase event. 21410 Moreover there is new WebCore::Database for each didOpenDatabase event. 21411 I decided to change the old instance of the Database to a new one if they both use the same file. 21412 21413 * inspector/InspectorDatabaseAgent.cpp: 21414 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 21415 (WebCore::InspectorDatabaseAgent::findByFileName): 21416 * inspector/InspectorDatabaseAgent.h: 21417 * inspector/InspectorDatabaseResource.h: 21418 (WebCore::InspectorDatabaseResource::setDatabase): 21419 21420 2011-04-14 Zoltan Herczeg <zherczeg (a] inf.u-szeged.hu> 21421 21422 Reviewed by Dirk Schulze. 21423 21424 svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build 21425 https://bugs.webkit.org/show_bug.cgi?id=58525 21426 21427 A renderer is created even for those filter primitives 21428 which parent is not a filter. A rendererIsNeeded() is 21429 added to SVGFilterPrimitiveStandardAttributes. 21430 21431 Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg 21432 21433 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 21434 (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded): 21435 * svg/SVGFilterPrimitiveStandardAttributes.h: 21436 21437 2011-04-14 Alexis Menard <alexis.menard (a] openbossa.org> 21438 21439 Reviewed by Andreas Kling. 21440 21441 REGRESSION(r83397) [Qt] When the video is loading and the poster is shown 21442 all the controls are not visible except the play button. 21443 https://bugs.webkit.org/show_bug.cgi?id=58484 21444 21445 r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when 21446 the controls should be disabled. Qt port paints its own controls, we don't want 21447 the default implementation to handle the hidden/disable state for us. 21448 21449 Existing tests covers the visibility of the controls. 21450 21451 * platform/qt/RenderThemeQt.h: 21452 (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor): 21453 21454 2011-04-14 Andreas Kling <andreas.kling (a] nokia.com> 21455 21456 Reviewed by Kenneth Rohde Christiansen. 21457 21458 [Qt] Disabled form controls don't actually look disabled. 21459 https://bugs.webkit.org/show_bug.cgi?id=58490 21460 21461 Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance 21462 when painting controls. We must also set the QStyleOption's palette's current 21463 color group. 21464 21465 * platform/qt/RenderThemeQt.cpp: 21466 (WebCore::RenderThemeQt::initializeCommonQStyleOptions): 21467 21468 2011-04-14 Nancy Piedra <nancy.piedra (a] nokia.com> 21469 21470 Reviewed by Benjamin Poulain. 21471 21472 [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter 21473 https://bugs.webkit.org/show_bug.cgi?id=58188 21474 21475 The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into 21476 a QStringList. This change parses and trims the list. 21477 21478 An additional test was added to video-can-play-type.html to test parsing of codec parameter. 21479 21480 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 21481 (WebCore::MediaPlayerPrivateQt::supportsType): 21482 21483 2011-04-14 Zoltan Herczeg <zherczeg (a] webkit.org> 21484 21485 Reviewed by Nikolas Zimmermann. 21486 21487 Optimizing lightning filter to ARM-NEON SIMD instruction set 21488 https://bugs.webkit.org/show_bug.cgi?id=54456 21489 21490 NEON is the SIMD instruction set for ARM. This instruction set 21491 allows to speed-up the lighting filter by 4 times on ARM 21492 (on WebCore/manual-tests/svg-filter-animation.svg). 21493 21494 * WebCore.pri: 21495 * WebCore.pro: 21496 * platform/graphics/filters/FELighting.cpp: 21497 (WebCore::FELighting::drawLighting): 21498 (WebCore::getPowerCoefficients): 21499 (WebCore::FELighting::drawInteriorPixels): 21500 * platform/graphics/filters/FELighting.h: 21501 * platform/graphics/filters/arm/FELightingNEON.cpp: Added. 21502 (__attribute__): 21503 * platform/graphics/filters/arm/FELightingNEON.h: Added. 21504 21505 2011-04-14 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 21506 21507 Reviewed by Benjamin Poulain. 21508 21509 [Qt] GraphicsContext3D internal buffers are not freed 21510 https://bugs.webkit.org/show_bug.cgi?id=57530 21511 21512 * platform/graphics/qt/GraphicsContext3DQt.cpp: 21513 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): 21514 21515 2011-04-14 Andy Estes <aestes (a] apple.com> 21516 21517 Reviewed by Maciej Stachowiak. 21518 21519 REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling 21520 https://bugs.webkit.org/show_bug.cgi?id=52988 21521 21522 Safari RSS relies on synchronous dispatch of ScrollEvent to update the 21523 position of its sidebar during scrolling without producing a jiggling 21524 effect. Due to r75555, this event is no longer dispatched synchronously 21525 which results in stale repaints before the onscroll handler gets a 21526 chance to update the position of the sidebar. 21527 21528 Since it is impractical to resolve this issue in Safari RSS itself, add 21529 a quirk that restores synchronous ScrollEvent dispatch for Safari RSS. 21530 21531 No tests. This is an app-specific change that doesn't affect web 21532 content. 21533 21534 * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h] 21535 * CMakeLists.txt: Ditto. 21536 * GNUmakefile.list.am: Ditto. 21537 * WebCore.gypi: Ditto. 21538 * WebCore.pro: Ditto. 21539 * WebCore.vcproj/WebCore.vcproj: Ditto. 21540 * WebCore.xcodeproj/project.pbxproj: Ditto. 21541 * dom/EventQueue.cpp: 21542 (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent 21543 synchronously if the embedding application is Safari and the document's 21544 URL scheme is "feed" or "feeds". 21545 (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch 21546 ScrollEvent synchronously if shouldDispatchScrollEventSynchronously() 21547 returns true. 21548 * dom/EventQueue.h: 21549 * page/EventHandler.cpp: 21550 (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent(). 21551 * platform/RuntimeApplicationChecks.cpp: Added. 21552 (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms 21553 that checks if the main bundle's identifier is equal to a given string. 21554 This function returns false for non-CF platforms. 21555 (WebCore::applicationIsSafari): Call mainBundleIsEqualTo(). 21556 (WebCore::applicationIsAppleMail): Ditto. 21557 (WebCore::applicationIsMicrosoftMessenger): Ditto. 21558 (WebCore::applicationIsAdobeInstaller): Ditto. 21559 (WebCore::applicationIsAOLInstantMessenger): Ditto. 21560 (WebCore::applicationIsMicrosoftMyDay): Ditto. 21561 (WebCore::applicationIsMicrosoftOutlook): Ditto. 21562 * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to 21563 RuntimeApplicationChecks.cpp. 21564 * rendering/RenderLayer.cpp: 21565 (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent(). 21566 * rendering/RenderListBox.cpp: 21567 (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent(). 21568 21569 2011-04-14 John Bates <jbates (a] google.com> 21570 21571 Reviewed by Kenneth Russell. 21572 21573 Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop. 21574 https://bugs.webkit.org/show_bug.cgi?id=58383 21575 21576 * platform/graphics/chromium/LayerRendererChromium.cpp: 21577 (WebCore::LayerRendererChromium::addChildContext): 21578 (WebCore::LayerRendererChromium::removeChildContext): 21579 * platform/graphics/chromium/LayerRendererChromium.h: 21580 21581 2011-04-14 Renata Hodovan <reni (a] webkit.org> 21582 21583 Reviewed by Nikolas Zimmermann. 21584 21585 CSS related SVG*Element changes doesn't require relayout 21586 https://bugs.webkit.org/show_bug.cgi?id=56906 21587 21588 The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity 21589 need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange() 21590 we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties 21591 via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes. 21592 21593 Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html 21594 svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html 21595 svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html 21596 svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html 21597 21598 * platform/graphics/filters/FEFlood.cpp: 21599 (WebCore::FEFlood::setFloodColor): 21600 (WebCore::FEFlood::setFloodOpacity): 21601 * platform/graphics/filters/FEFlood.h: 21602 * platform/graphics/filters/FESpecularLighting.cpp: 21603 (WebCore::FESpecularLighting::setLightingColor): 21604 * platform/graphics/filters/FESpecularLighting.h: 21605 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: 21606 (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange): 21607 * rendering/svg/RenderSVGResourceFilterPrimitive.h: 21608 * rendering/svg/SVGResourcesCache.cpp: 21609 (WebCore::SVGResourcesCache::clientStyleChanged): 21610 * svg/SVGFEDiffuseLightingElement.cpp: 21611 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 21612 * svg/SVGFEFloodElement.cpp: 21613 (WebCore::SVGFEFloodElement::setFilterEffectAttribute): 21614 * svg/SVGFEFloodElement.h: 21615 * svg/SVGFESpecularLightingElement.cpp: 21616 (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): 21617 21618 2011-04-13 James Robinson <jamesr (a] chromium.org> 21619 21620 Reviewed by Simon Fraser. 21621 21622 Allow setting composited backing stores for scrollbars and scroll corners 21623 https://bugs.webkit.org/show_bug.cgi?id=57202 21624 21625 This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and 21626 scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to 21627 the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and 21628 place them into the correct place in the hierarchy. 21629 21630 FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls. 21631 that need them. The overflow control layers are siblings of the frame's clip layer. 21632 21633 RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that 21634 need them. Currently, layers are only created for overflow controls on layers that are already composited 21635 for other reasons and not necessarily for every RenderLayer with overflow. Overflow control layers are siblings 21636 of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal 21637 children. 21638 21639 Tested by a number of compositing/ tests that have scrollbars and by these new tests: 21640 compositing/iframes/repaint-after-losing-scrollbars.html 21641 compositing/overflow/clip-content-under-overflow-controls.html 21642 compositing/overflow/content-gains-scrollbars.html 21643 compositing/overflow/content-loses-scrollbars.html 21644 compositing/overflow/overflow-scrollbar-layers.html 21645 compositing/overflow/repaint-after-losing-scrollbars.html 21646 21647 * css/CSSStyleSelector.cpp: 21648 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 21649 * page/FrameView.cpp: 21650 (WebCore::FrameView::layerForHorizontalScrollbar): 21651 (WebCore::FrameView::layerForVerticalScrollbar): 21652 (WebCore::FrameView::layerForScrollCorner): 21653 (WebCore::FrameView::syncCompositingStateForThisFrame): 21654 (WebCore::FrameView::contentsResized): 21655 (WebCore::FrameView::updateScrollCorner): 21656 * page/FrameView.h: 21657 * platform/ScrollView.cpp: 21658 (WebCore::ScrollView::wheelEvent): 21659 * platform/ScrollView.h: 21660 * platform/ScrollableArea.cpp: 21661 (WebCore::ScrollableArea::invalidateScrollbar): 21662 (WebCore::ScrollableArea::invalidateScrollCorner): 21663 * platform/ScrollableArea.h: 21664 (WebCore::ScrollableArea::paintScrollCorner): 21665 (WebCore::ScrollableArea::layerForHorizontalScrollbar): 21666 (WebCore::ScrollableArea::layerForVerticalScrollbar): 21667 (WebCore::ScrollableArea::layerForScrollCorner): 21668 * platform/Scrollbar.cpp: 21669 (WebCore::Scrollbar::invalidateRect): 21670 * platform/Scrollbar.h: 21671 * platform/ScrollbarThemeComposite.cpp: 21672 (WebCore::ScrollbarThemeComposite::paint): 21673 * platform/graphics/chromium/ContentLayerChromium.cpp: 21674 (WebCore::ContentLayerChromium::paintContentsIfDirty): 21675 * platform/graphics/chromium/LayerRendererChromium.cpp: 21676 (WebCore::LayerRendererChromium::create): 21677 (WebCore::LayerRendererChromium::LayerRendererChromium): 21678 (WebCore::LayerRendererChromium::invalidateRootLayerRect): 21679 (WebCore::LayerRendererChromium::drawRootLayer): 21680 (WebCore::LayerRendererChromium::setViewport): 21681 (WebCore::LayerRendererChromium::updateAndDrawLayers): 21682 (WebCore::LayerRendererChromium::updateLayers): 21683 (WebCore::LayerRendererChromium::setRootLayer): 21684 (WebCore::LayerRendererChromium::cleanupSharedObjects): 21685 * platform/graphics/chromium/LayerRendererChromium.h: 21686 * platform/mac/ScrollAnimatorMac.mm: 21687 (-[ScrollbarPartAnimation setCurrentProgress:]): 21688 * platform/win/PopupMenuWin.h: 21689 (WebCore::PopupMenuWin::invalidateScrollCornerRect): 21690 (WebCore::PopupMenuWin::isScrollCornerVisible): 21691 (WebCore::PopupMenuWin::scrollCornerRect): 21692 * rendering/RenderLayer.cpp: 21693 (WebCore::RenderLayer::scrollCornerRect): 21694 (WebCore::RenderLayer::scrollCornerAndResizerRect): 21695 (WebCore::RenderLayer::isScrollCornerVisible): 21696 (WebCore::RenderLayer::invalidateScrollbarRect): 21697 (WebCore::RenderLayer::invalidateScrollCornerRect): 21698 (WebCore::RenderLayer::positionOverflowControls): 21699 (WebCore::RenderLayer::paintOverflowControls): 21700 (WebCore::RenderLayer::paintScrollCorner): 21701 (WebCore::RenderLayer::layerForHorizontalScrollbar): 21702 (WebCore::RenderLayer::layerForVerticalScrollbar): 21703 (WebCore::RenderLayer::layerForScrollCorner): 21704 * rendering/RenderLayer.h: 21705 (WebCore::RenderLayer::horizontalScrollbar): 21706 (WebCore::RenderLayer::verticalScrollbar): 21707 * rendering/RenderLayerBacking.cpp: 21708 (WebCore::RenderLayerBacking::~RenderLayerBacking): 21709 (WebCore::RenderLayerBacking::updateAfterWidgetResize): 21710 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 21711 (WebCore::RenderLayerBacking::updateInternalHierarchy): 21712 (WebCore::RenderLayerBacking::updateClippingLayers): 21713 (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer): 21714 (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer): 21715 (WebCore::RenderLayerBacking::requiresScrollCornerLayer): 21716 (WebCore::RenderLayerBacking::updateOverflowControlsLayers): 21717 (WebCore::paintScrollbar): 21718 (WebCore::RenderLayerBacking::paintContents): 21719 * rendering/RenderLayerBacking.h: 21720 (WebCore::RenderLayerBacking::layerForHorizontalScrollbar): 21721 (WebCore::RenderLayerBacking::layerForVerticalScrollbar): 21722 (WebCore::RenderLayerBacking::layerForScrollCorner): 21723 * rendering/RenderLayerCompositor.cpp: 21724 (WebCore::RenderLayerCompositor::updateCompositingLayers): 21725 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 21726 (WebCore::RenderLayerCompositor::frameViewDidChangeLocation): 21727 (WebCore::RenderLayerCompositor::frameViewDidChangeSize): 21728 (WebCore::RenderLayerCompositor::rootPlatformLayer): 21729 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 21730 (WebCore::paintScrollbar): 21731 (WebCore::RenderLayerCompositor::paintContents): 21732 (WebCore::shouldCompositeOverflowControls): 21733 (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer): 21734 (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer): 21735 (WebCore::RenderLayerCompositor::requiresScrollCornerLayer): 21736 (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): 21737 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 21738 (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): 21739 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): 21740 * rendering/RenderLayerCompositor.h: 21741 (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar): 21742 (WebCore::RenderLayerCompositor::layerForVerticalScrollbar): 21743 (WebCore::RenderLayerCompositor::layerForScrollCorner): 21744 * rendering/RenderListBox.h: 21745 (WebCore::RenderListBox::isScrollCornerVisible): 21746 (WebCore::RenderListBox::scrollCornerRect): 21747 (WebCore::RenderListBox::invalidateScrollCornerRect): 21748 21749 2011-04-13 Cary Clark <caryclark (a] chromium.org> 21750 21751 Reviewed by Eric Seidel. 21752 21753 [Chromium] allow concurrent Skia and CG datatypes 21754 https://bugs.webkit.org/show_bug.cgi?id=57848 21755 21756 The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics 21757 as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to 21758 draw elements like scrollbars and buttons. 21759 21760 Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at 21761 the same time. This requires only adding to the existing preprocessor commands, and will have no effect 21762 on any existing platform. 21763 21764 Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no 21765 functional change. 21766 21767 No new tests as this provides no new functionality. 21768 21769 * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible 21770 to a Skia-based Chrome Mac build. 21771 * platform/graphics/FloatRect.h: Ditto. 21772 * platform/graphics/FloatSize.h: Ditto. 21773 * platform/graphics/IntPoint.h: Ditto. 21774 * platform/graphics/IntRect.h: Ditto. 21775 * platform/graphics/IntSize.h: Ditto. 21776 * platform/graphics/cg/FloatPointCG.cpp: Ditto. 21777 * platform/graphics/cg/FloatRectCG.cpp: Ditto. 21778 * platform/graphics/cg/FloatSizeCG.cpp: Ditto. 21779 * platform/graphics/cg/IntPointCG.cpp: Ditto. 21780 * platform/graphics/cg/IntRectCG.cpp: Ditto. 21781 * platform/graphics/cg/IntSizeCG.cpp: Ditto. 21782 21783 2011-04-13 Roland Steiner <rolandsteiner (a] chromium.org> 21784 21785 Reviewed by Dimitri Glazkov. 21786 21787 Bug 58460 - childTypeAllowed() should be const 21788 https://bugs.webkit.org/show_bug.cgi?id=58460 21789 21790 Made childTypeAllowed const. 21791 21792 No new tests. (minor refactoring). 21793 21794 * dom/Attr.cpp: 21795 (WebCore::Attr::childTypeAllowed): 21796 * dom/Attr.h: 21797 * dom/CDATASection.cpp: 21798 (WebCore::CDATASection::childTypeAllowed): 21799 * dom/CDATASection.h: 21800 * dom/Comment.cpp: 21801 (WebCore::Comment::childTypeAllowed): 21802 * dom/Comment.h: 21803 * dom/Document.cpp: 21804 (WebCore::Document::childTypeAllowed): 21805 * dom/Document.h: 21806 * dom/DocumentFragment.cpp: 21807 (WebCore::DocumentFragment::childTypeAllowed): 21808 * dom/DocumentFragment.h: 21809 * dom/Element.cpp: 21810 (WebCore::Element::childTypeAllowed): 21811 * dom/Element.h: 21812 * dom/Node.h: 21813 (WebCore::Node::childTypeAllowed): 21814 * dom/Notation.cpp: 21815 (WebCore::Notation::childTypeAllowed): 21816 * dom/Notation.h: 21817 * dom/ProcessingInstruction.cpp: 21818 (WebCore::ProcessingInstruction::childTypeAllowed): 21819 * dom/ProcessingInstruction.h: 21820 * dom/Text.cpp: 21821 (WebCore::Text::childTypeAllowed): 21822 * dom/Text.h: 21823 21824 2011-04-13 Jon Lee <jonlee (a] apple.com> 21825 21826 Reviewed by Maciej Stachowiak. 21827 21828 REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc) 21829 https://bugs.webkit.org/show_bug.cgi?id=58284 21830 <rdar://problem/9246149> 21831 21832 * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2 21833 * editing/EditingBehavior.h: 21834 (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking 21835 21836 2011-04-13 Yael Aharon <yael.aharon (a] nokia.com> 21837 21838 Reviewed by Eric Seidel. 21839 21840 constructLine should take bidiRuns as a parameter 21841 https://bugs.webkit.org/show_bug.cgi?id=58458 21842 21843 Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is 21844 declared before constructLine. 21845 21846 No new tests as this is refactoring only. 21847 21848 * rendering/RenderBlock.h: 21849 * rendering/RenderBlockLineLayout.cpp: 21850 (WebCore::reachedEndOfTextRenderer): 21851 (WebCore::RenderBlock::constructLine): 21852 (WebCore::RenderBlock::layoutInlineChildren): 21853 21854 2011-04-13 Cary Clark <caryclark (a] google.com> 21855 21856 Reviewed by Eric Seidel. 21857 21858 Allow CG Font support in Chrome Darwin build using Skia 21859 https://bugs.webkit.org/show_bug.cgi?id=58321 21860 21861 This allows Chrome to use Skia to do WebKit rendering, while 21862 using CoreGraphics for glyph creation and computing font metrics. 21863 It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME. 21864 21865 No new tests needed, no functionality change. 21866 21867 * loader/cache/CachedFont.cpp: Make CGFontRef functions and 21868 CG-specific font code available to Chrome builds on Darwin using Skia. 21869 * platform/graphics/FontPlatformData.h: Ditto. 21870 (WebCore::FontPlatformData::hash): Ditto. 21871 * platform/graphics/GlyphBuffer.h: Ditto. 21872 (WebCore::GlyphBuffer::advanceAt): Ditto. 21873 (WebCore::GlyphBuffer::add): Ditto. 21874 (WebCore::GlyphBuffer::expandLastAdvance): Ditto. 21875 * platform/graphics/SimpleFontData.h: Ditto. 21876 21877 2011-04-13 Alexis Menard <alexis.menard (a] openbossa.org> 21878 21879 Reviewed by Dimitri Glazkov. 21880 21881 The timeline of the video controls is unusable if the multimedia backend returns a 21882 infinite duration. 21883 https://bugs.webkit.org/show_bug.cgi?id=58452 21884 21885 In case the underlaying media element backend returns crazy values, e.g. 21886 an infinite duration for the video we need to bail out and hide the timeline 21887 rather than in a broken state where you can't use it. The previous code was just 21888 checking if the duration was NaN. 21889 21890 We can't control from JS what the backend will return as a duration for the video 21891 so we can't make an test for it. 21892 21893 * html/shadow/MediaControlRootElement.cpp: 21894 (WebCore::MediaControlRootElement::reset): 21895 21896 2011-04-13 Abhishek Arya <inferno (a] chromium.org> 21897 21898 Reviewed by James Robinson. 21899 21900 Draw outline for render widgets. 21901 https://bugs.webkit.org/show_bug.cgi?id=57439 21902 21903 Test: fast/frames/iframe-outline.html 21904 21905 * rendering/RenderWidget.cpp: 21906 (WebCore::RenderWidget::paint): 21907 21908 2011-04-13 Kent Tamura <tkent (a] chromium.org> 21909 21910 Reviewed by Dimitri Glazkov. 21911 21912 Change the representation of ShadowRoot nodes in render tree dumps 21913 https://bugs.webkit.org/show_bug.cgi?id=58432 21914 21915 Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment" 21916 in DRT results. 21917 21918 No new tests. This change doesn't affect existing tests yet. 21919 21920 * dom/DocumentFragment.h: 21921 Make nodeName() protected in order that ShdowRoot can override it. 21922 * dom/ShadowRoot.cpp: 21923 (WebCore::ShadowRoot::nodeName): Returns "#shadow-root". 21924 * dom/ShadowRoot.h: Declare nodeName(). 21925 * rendering/RenderTreeAsText.cpp: 21926 (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary. 21927 We don't use isShadowRoot() here because the legacy shadow root nodes 21928 return true for isShadowRoot() and we don't want to update existing 21929 test results. 21930 21931 2011-04-13 Ryosuke Niwa <rniwa (a] webkit.org> 21932 21933 Reviewed by Eric Seidel. 21934 21935 Merge LineOffsets and LineWidth 21936 https://bugs.webkit.org/show_bug.cgi?id=58411 21937 21938 Merged lineOffsets into LineWidth. 21939 21940 After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and 21941 shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because 21942 - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine 21943 besides LineOffsets' constructor 21944 - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak 21945 - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine 21946 21947 * rendering/RenderBlock.h: 21948 * rendering/RenderBlockLineLayout.cpp: 21949 (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset 21950 (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth 21951 because the initial available width was used to be computed from lineOffsets.width(). 21952 (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added. 21953 (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates 21954 m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right. 21955 (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from 21956 LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight. 21957 (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables 21958 of LineOffsets. 21959 (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine. 21960 (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. 21961 (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth. 21962 21963 2011-04-13 Ryuan Choi <ryuan.choi (a] samsung.com> 21964 21965 Reviewed by Kenneth Rohde Christiansen. 21966 21967 [CMAKE] Separate DerivedSources. 21968 https://bugs.webkit.org/show_bug.cgi?id=58427 21969 21970 No new tests since these are refactoring only. 21971 21972 * CMakeLists.txt: 21973 * UseJSC.cmake: 21974 21975 2011-04-13 Noel Gordon <noel.gordon (a] gmail.com> 21976 21977 Reviewed by Kenneth Russell. 21978 21979 [chromium] Fix canvas.toDataURL mimeType assertion 21980 https://bugs.webkit.org/show_bug.cgi?id=58425 21981 21982 Following r81213, reassert expected toDataURL() mimeType, remove an unused variable. 21983 21984 No new tests. Covered by existing tests. 21985 21986 * platform/graphics/skia/ImageBufferSkia.cpp: 21987 (WebCore::ImageToDataURL): 21988 (WebCore::ImageBuffer::toDataURL): 21989 21990 2011-04-12 Luiz Agostini <luiz.agostini (a] openbossa.org> 21991 21992 Reviewed by Andreas Kling. 21993 21994 [Qt] QNetworkReplyHandler refactoring: remove nested event loop. 21995 https://bugs.webkit.org/show_bug.cgi?id=58375 21996 21997 As QNAM now makes actual synchronous loads there is no need for a nested event loop 21998 in ResourceHandleQt. 21999 22000 Moving the call for QNetworkReplyWrapper::synchronousLoad from 22001 ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the 22002 redirections to work in synchronous requests. 22003 22004 * platform/network/qt/QNetworkReplyHandler.cpp: 22005 (WebCore::QNetworkReplyHandler::start): 22006 * platform/network/qt/QNetworkReplyHandler.h: 22007 * platform/network/qt/ResourceHandleQt.cpp: 22008 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 22009 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 22010 (WebCore::WebCoreSynchronousLoader::didReceiveData): 22011 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 22012 (WebCore::WebCoreSynchronousLoader::didFail): 22013 (WebCore::ResourceHandle::loadResourceSynchronously): 22014 22015 2011-04-13 Roland Steiner <rolandsteiner (a] chromium.org> 22016 22017 Reviewed by David Hyatt. 22018 22019 Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> tags 22020 https://bugs.webkit.org/show_bug.cgi?id=55930 22021 22022 Non-inline :before/:after generated content is now wrapped with an anonymous inline block. 22023 22024 Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent() 22025 to verify that the created render object is legal under the parent. 22026 22027 Tests: fast/ruby/after-block-doesnt-crash.html 22028 fast/ruby/after-table-doesnt-crash.html 22029 fast/ruby/before-block-doesnt-crash.html 22030 fast/ruby/before-table-doesnt-crash.html 22031 22032 * rendering/RenderObjectChildList.cpp: 22033 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 22034 * rendering/RenderRuby.cpp: 22035 (WebCore::isAnonymousRubyInlineBlock): 22036 (WebCore::rubyBeforeBlock): 22037 (WebCore::rubyAfterBlock): 22038 (WebCore::createAnonymousRubyInlineBlock): 22039 (WebCore::lastRubyRun): 22040 (WebCore::RenderRubyAsInline::addChild): 22041 (WebCore::RenderRubyAsInline::removeChild): 22042 (WebCore::RenderRubyAsBlock::addChild): 22043 (WebCore::RenderRubyAsBlock::removeChild): 22044 * rendering/RenderRuby.h: 22045 22046 2011-04-13 Matthew Delaney <mdelaney (a] apple.com> 22047 22048 Reviewed by Simon Fraser. 22049 22050 [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp 22051 https://bugs.webkit.org/show_bug.cgi?id=58084 22052 22053 No new tests. Does not affect outward behavior. 22054 22055 * WebCore.gypi: 22056 * WebCore.vcproj/WebCore.vcproj: 22057 * WebCore.xcodeproj/project.pbxproj: 22058 * platform/graphics/ImageBuffer.h: 22059 * platform/graphics/ImageBufferData.h: Added. 22060 * platform/graphics/cairo/ImageBufferData.h: Removed. 22061 * platform/graphics/cairo/ImageBufferDataCairo.h: Added. 22062 * platform/graphics/cg/ImageBufferCG.cpp: 22063 (WebCore::ImageBuffer::getUnmultipliedImageData): 22064 (WebCore::ImageBuffer::getPremultipliedImageData): 22065 (WebCore::ImageBuffer::putUnmultipliedImageData): 22066 (WebCore::ImageBuffer::putPremultipliedImageData): 22067 * platform/graphics/cg/ImageBufferDataCG.cpp: Added. 22068 (WebCore::ImageBufferData::ImageBufferData): 22069 (WebCore::haveVImageRoundingErrorFix): 22070 (WebCore::ImageBufferData::getData): 22071 (WebCore::ImageBufferData::putData): 22072 * platform/graphics/cg/ImageBufferData.h: Removed. 22073 * platform/graphics/cg/ImageBufferDataCG.h: Added. 22074 * platform/graphics/chromium/ImageBufferData.h: Removed. 22075 * platform/graphics/chromium/ImageBufferDataSkia.h: Added. 22076 * platform/graphics/haiku/ImageBufferData.h: Removed. 22077 * platform/graphics/haiku/ImageBufferDataHaiku.h: Added. 22078 * platform/graphics/qt/ImageBufferData.h: Removed. 22079 * platform/graphics/qt/ImageBufferDataQt.h: Added. 22080 * platform/graphics/wince/ImageBufferData.h: Removed. 22081 * platform/graphics/wince/ImageBufferDataWince.h: Added. 22082 * platform/graphics/wx/ImageBufferData.h: Removed. 22083 * platform/graphics/wx/ImageBufferDataWx.h: Added. 22084 22085 2011-04-13 Simon Fraser <simon.fraser (a] apple.com> 22086 22087 Reviewed by Dan Bernstein. 22088 22089 Remove std:: prefix on some min/max calls 22090 https://bugs.webkit.org/show_bug.cgi?id=58493 22091 22092 Remove std:: namespacing on min/max in favor of a 'using' clause. 22093 22094 * platform/graphics/RoundedIntRect.cpp: 22095 (WebCore::RoundedIntRect::Radii::expand): 22096 * rendering/style/RenderStyle.cpp: 22097 (WebCore::calcConstraintScaleFor): 22098 22099 2011-04-13 Alexis Menard <alexis.menard (a] openbossa.org> 22100 22101 Reviewed by Andreas Kling. 22102 22103 Replace our own RenderThemeQt::getMediaElementFromRenderObject by 22104 MediaControlsElement::toParentMediaElement used by every other port. 22105 22106 * platform/qt/RenderThemeQt.cpp: 22107 (WebCore::RenderThemeQt::paintMediaFullscreenButton): 22108 (WebCore::RenderThemeQt::paintMediaMuteButton): 22109 (WebCore::RenderThemeQt::paintMediaPlayButton): 22110 (WebCore::RenderThemeQt::paintMediaSliderTrack): 22111 * platform/qt/RenderThemeQt.h: 22112 22113 2011-04-13 Geoffrey Garen <ggaren (a] apple.com> 22114 22115 Reviewed by Oliver Hunt. 22116 22117 Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T> 22118 https://bugs.webkit.org/show_bug.cgi?id=58482 22119 22120 This will allow wrappers to make individual decisions about their lifetimes. 22121 22122 * bindings/js/DOMWrapperWorld.cpp: 22123 (WebCore::DOMWrapperWorld::DOMWrapperWorld): 22124 (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): 22125 (WebCore::JSNodeHandleOwner::finalize): 22126 (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots): 22127 (WebCore::DOMObjectHandleOwner::finalize): 22128 * bindings/js/DOMWrapperWorld.h: 22129 (WebCore::JSNodeHandleOwner::JSNodeHandleOwner): 22130 (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner): 22131 (WebCore::DOMWrapperWorld::jsNodeHandleOwner): 22132 (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners 22133 for JSNode and DOMObject, our two hash table values. For now, the owners 22134 just take care to remove their handles from their respective hash tables. 22135 22136 Changed the hash table type to be a standard HashMap of weak pointers, 22137 instead of a WeakGCMap. 22138 22139 * bindings/js/JSDOMBinding.cpp: 22140 (WebCore::getCachedDOMObjectWrapper): 22141 (WebCore::cacheDOMObjectWrapper): 22142 (WebCore::cacheDOMNodeWrapper): 22143 (WebCore::isObservableThroughDOM): 22144 (WebCore::markDOMNodesForDocument): 22145 (WebCore::takeWrappers): 22146 (WebCore::updateDOMNodeDocument): 22147 (WebCore::markDOMObjectWrapper): 22148 (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to 22149 accomodate its new data type. 22150 22151 * bindings/js/JSNodeCustom.h: 22152 (WebCore::getCachedDOMNodeWrapper): Ditto. 22153 22154 * dom/Document.h: Updated declaration to match the above. 22155 22156 2011-04-13 Sam Weinig <sam (a] webkit.org> 22157 22158 Fix Mac builds. 22159 22160 * WebCore.exp.in: 22161 22162 2011-04-13 Sam Weinig <sam (a] webkit.org> 22163 22164 Reviewed by Gavin Barraclough. 22165 22166 WebKit2 doesn't keep overlay scrollers shown while scroll gesture held 22167 <rdar://problem/9260518> 22168 22169 Notify the scrollbar painter controller when gesture scrolls begin and end. 22170 22171 * WebCore.exp.in: 22172 * platform/mac/ScrollAnimatorMac.h: 22173 * platform/mac/ScrollAnimatorMac.mm: 22174 (WebCore::ScrollAnimatorMac::didBeginScrollGesture): 22175 (WebCore::ScrollAnimatorMac::didEndScrollGesture): 22176 (WebCore::ScrollAnimatorMac::beginScrollGesture): 22177 (WebCore::ScrollAnimatorMac::endScrollGesture): 22178 * platform/mac/WebCoreSystemInterface.h: 22179 * platform/mac/WebCoreSystemInterface.mm: 22180 22181 2011-04-13 Eric Carlson <eric.carlson (a] apple.com> 22182 22183 Reviewed by Maciej Stachowiak. 22184 22185 MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:] 22186 https://bugs.webkit.org/show_bug.cgi?id=58451 22187 <rdar://problem/9278468> 22188 22189 No new tests, supported MIME types haven't changed. 22190 22191 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 22192 (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use 22193 [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types. 22194 22195 2011-04-13 Eric Carlson <eric.carlson (a] apple.com> 22196 22197 Reviewed by Alexey Proskuryakov. 22198 22199 Media engine fallback doesn't always work 22200 https://bugs.webkit.org/show_bug.cgi?id=58462 22201 22202 No new tests, this was verified manually with the url noted in the bug. 22203 22204 * platform/graphics/MediaPlayer.cpp: 22205 (WebCore::MediaPlayer::networkStateChanged): 22206 22207 2011-04-13 Zhenyao Mo <zmo (a] google.com> 22208 22209 Reviewed by Kenneth Russell. 22210 22211 Extension3D needs to provide a way to check if an extension is enabled 22212 https://bugs.webkit.org/show_bug.cgi?id=58410 22213 22214 * html/canvas/WebGLRenderingContext.cpp: 22215 (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports(). 22216 * platform/graphics/Extensions3D.h: Add isEnabled(). 22217 * platform/graphics/chromium/Extensions3DChromium.h: Ditto. 22218 * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto. 22219 (WebCore::Extensions3DOpenGL::isEnabled): 22220 * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto. 22221 * platform/graphics/qt/Extensions3DQt.cpp: Ditto. 22222 (WebCore::Extensions3DQt::isEnabled): 22223 * platform/graphics/qt/Extensions3DQt.h: Ditto. 22224 22225 2011-04-13 Oliver Hunt <oliver (a] apple.com> 22226 22227 Reviewed by Gavin Barraclough. 22228 22229 Make PropertyMapEntry use a WriteBarrier for specificValue 22230 https://bugs.webkit.org/show_bug.cgi?id=58407 22231 22232 Pass JSGlobalData reference on to APIs that now need them 22233 22234 * bindings/js/JSDOMWindowShell.h: 22235 (WebCore::JSDOMWindowShell::setWindow): 22236 * bindings/js/JSHTMLDocumentCustom.cpp: 22237 (WebCore::JSHTMLDocument::all): 22238 22239 2011-04-12 Pavel Podivilov <podivilov (a] chromium.org> 22240 22241 Reviewed by Pavel Feldman. 22242 22243 Web Inspector: fix source mapping for de-obfuscated scripts. 22244 https://bugs.webkit.org/show_bug.cgi?id=58231 22245 22246 * inspector/front-end/ScriptFormatterWorker.js: 22247 (buildMapping): 22248 * inspector/front-end/SourceFile.js: 22249 (WebInspector.SourceMapping): 22250 (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation): 22251 (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation): 22252 (WebInspector): 22253 (WebInspector.FormattedSourceMapping): 22254 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine): 22255 (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation): 22256 22257 2011-04-13 Mario Sanchez Prada <msanchez (a] igalia.com> 22258 22259 Reviewed by Martin Robinson. 22260 22261 [GTK] Consider editable and non editable nodes when calculating selection offsets 22262 https://bugs.webkit.org/show_bug.cgi?id=58431 22263 22264 Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode(). 22265 22266 This is needed to ensure that getSelectionOffsetsForObject() works 22267 well when non editable nodes are present in the selection, since 22268 firstPositionInNode() and lastPositionInNode() don't work in those 22269 cases (they assume the node is editable). 22270 22271 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 22272 (getSelectionOffsetsForObject): Updated calls. 22273 22274 2011-04-13 Mario Sanchez Prada <msanchez (a] igalia.com> 22275 22276 Reviewed by Martin Robinson. 22277 22278 [GTK] Missing nullchecks in GTK's a11y wrapper 22279 https://bugs.webkit.org/show_bug.cgi?id=58429 22280 22281 Add missing nullchecks for coreObject->document(). 22282 22283 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 22284 (atkParentOfRootObject): Add missing nullcheck. 22285 (getPangoLayoutForAtk): Ditto. 22286 (webkit_accessible_text_get_caret_offset): Ditto. 22287 (textExtents): Ditto. 22288 (webkit_accessible_editable_text_insert_text): Ditto. 22289 (webkit_accessible_editable_text_delete_text): Ditto. 22290 22291 2011-04-13 Thierry Reding <thierry.reding (a] avionic-design.de> 22292 22293 Gtk+ port fails to build when enabling WebGL 22294 https://bugs.webkit.org/show_bug.cgi?id=58434 22295 22296 Fix the GTK+ WebGL build after the introduction of PlatformContextCairo. 22297 22298 * platform/graphics/GraphicsContext3D.h: 22299 * platform/graphics/cairo/GraphicsContext3DCairo.cpp: 22300 (WebCore::GraphicsContext3D::paintToCanvas): 22301 22302 2011-04-12 Philippe Normand <pnormand (a] igalia.com> 22303 22304 Reviewed by Martin Robinson. 22305 22306 REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback 22307 https://bugs.webkit.org/show_bug.cgi?id=58312 22308 22309 Make sure to link the videoValve in all cases, fpsdisplaysink 22310 being used or not. 22311 22312 No new test, this patch fixes an internal feature of the player, 22313 not publicly exposed. Having two video sinks and pausing one while 22314 the other displays the fullscreen video is an implementation 22315 detail of the GStreamer player. 22316 22317 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 22318 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 22319 22320 2011-04-13 Ilya Tikhonovsky <loislo (a] chromium.org> 22321 22322 Reviewed by Yury Semikhatsky. 22323 22324 Web Inspector: there is a problem if an optional param is not at the end of a params list. 22325 https://bugs.webkit.org/show_bug.cgi?id=58440 22326 22327 In InspectorBackend.dispatch method we are converting the message's params object into array of arguments 22328 for a callback. But in some cases the optional parameter is declared in the middle of the params list. 22329 That gets us into a problem if this param has been skipped in the message. In that case the tail of the 22330 event params will be shifted. We can slightly modify dispatcher and it will put the params in right places. 22331 22332 * inspector/CodeGeneratorInspector.pm: 22333 22334 2011-04-13 Ben Taylor <bentaylor.solx86 (a] gmail.com> 22335 22336 Reviewed by Eric Seidel. 22337 22338 https://bugs.webkit.org/show_bug.cgi?id=57337 22339 22340 Work around a bug in ternary opertions in the Solaris Studio 22341 12/12.1/12.2 compilers, using an if clause. 22342 22343 * dom/NodeRenderStyle.h: 22344 (WebCore::Node::renderStyle): 22345 22346 2011-04-13 Brian Salomon <bsalomon (a] google.com> 22347 22348 Reviewed by Kenneth Russell. 22349 22350 Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object 22351 https://bugs.webkit.org/show_bug.cgi?id=58363 22352 22353 No new tests needed, exercised by all existing canvas2d tests. 22354 22355 * platform/graphics/chromium/DrawingBufferChromium.cpp: 22356 (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc): 22357 * platform/graphics/gpu/DrawingBuffer.h: 22358 * platform/graphics/skia/PlatformContextSkia.cpp: 22359 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 22360 22361 2011-04-13 Andrey Kosyakov <caseq (a] chromium.org> 22362 22363 Unreviewed. Fix chromium clang build problem: 22364 ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method 22365 with a different signature in base class instead of overriding it. 22366 22367 * css/CSSStyleApplyProperty.cpp: 22368 (WebCore::ApplyPropertyExpandingSuppressValue::applyValue): 22369 22370 2011-04-13 Kinuko Yasuda <kinuko (a] chromium.org> 22371 22372 Reviewed by David Levin. 22373 22374 Add mock implementation and plumbing code for unified Quota API 22375 https://bugs.webkit.org/show_bug.cgi?id=57927 22376 22377 Added mock implementation and some plumbing code for the quota API, 22378 that is based on the discussion on public-webapps: 22379 http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html 22380 22381 No new tests: tests will be added when we expose the API. 22382 22383 * CMakeLists.txt: Added new file entries. 22384 * DerivedSources.cpp: Added new file entries. 22385 * DerivedSources.make: Added new file entries. 22386 * GNUmakefile.am: Added new file entries. 22387 * WebCore.gypi: Added new file entries. 22388 * WebCore.pro: Added new file entries. 22389 * WebCore.vcproj/WebCore.vcproj: Added new file entries. 22390 * WebCore.xcodeproj/project.pbxproj: Added new file entries. 22391 * storage/StorageInfo.cpp: Added. 22392 * storage/StorageInfo.h: Added. 22393 * storage/StorageInfoErrorCallback.h: Added. 22394 * storage/StorageInfoQuotaCallback.h: Added. 22395 * storage/StorageInfoUsageCallback.h: Added. 22396 22397 2011-04-13 Gustavo Noronha Silva <gns (a] gnome.org> 22398 22399 Reviewed by Martin Robinson. 22400 22401 [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself 22402 https://bugs.webkit.org/show_bug.cgi?id=58297 22403 22404 Make sure we do not load plugins that use symbols of a different 22405 GTK+ major version to avoid bugs and crashes. 22406 22407 * plugins/gtk/PluginPackageGtk.cpp: 22408 (WebCore::moduleMixesGtkSymbols): 22409 (WebCore::PluginPackage::load): 22410 22411 2011-04-13 Andrey Adaikin <aandrey (a] google.com> 22412 22413 Reviewed by Pavel Feldman. 22414 22415 Web Inspector: Implement undo/redo in text editor 22416 https://bugs.webkit.org/show_bug.cgi?id=58426 22417 22418 Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.) 22419 Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z). 22420 FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo. 22421 22422 * inspector/front-end/SourceFrame.js: 22423 (WebInspector.SourceFrame.prototype.endEditing): 22424 * inspector/front-end/TextEditorModel.js: 22425 (WebInspector.TextEditorModel.prototype.setText): 22426 (WebInspector.TextEditorModel.prototype._innerSetText): 22427 (WebInspector.TextEditorModel.prototype._pushUndoableCommand): 22428 (WebInspector.TextEditorModel.prototype.undo): 22429 (WebInspector.TextEditorModel.prototype.redo): 22430 (WebInspector.TextEditorModel.prototype._doUndo): 22431 * inspector/front-end/TextViewer.js: 22432 (WebInspector.TextViewer.prototype._textChanged): 22433 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): 22434 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): 22435 (WebInspector.TextViewer.prototype._registerShortcuts): 22436 (WebInspector.TextViewer.prototype._cancelEditing): 22437 (WebInspector.TextViewer.prototype._handleUndoRedo): 22438 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): 22439 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): 22440 (WebInspector.TextEditorGutterPanel.prototype.textChanged): 22441 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback): 22442 (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo): 22443 (WebInspector.TextEditorMainPanel.prototype._restoreSelection): 22444 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 22445 (WebInspector.TextEditorMainPanel.prototype.textChanged): 22446 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): 22447 22448 2011-04-13 Pavel Feldman <pfeldman (a] chromium.org> 22449 22450 Reviewed by Yury Semikhatsky. 22451 22452 Web Inspector: make optional event parameter last to prevent regressions. 22453 https://bugs.webkit.org/show_bug.cgi?id=58433 22454 22455 * inspector/Inspector.json: 22456 * inspector/InspectorResourceAgent.cpp: 22457 (WebCore::InspectorResourceAgent::willSendRequest): 22458 * inspector/front-end/NetworkManager.js: 22459 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): 22460 22461 2011-04-13 Pavel Feldman <pfeldman (a] chromium.org> 22462 22463 Not reviewed: revert Inspector.json change for breaking world. 22464 22465 * inspector/Inspector.json: 22466 22467 2011-04-13 Pavel Feldman <pfeldman (a] chromium.org> 22468 22469 Not reviewed: swap methods in the Inspector.json. 22470 22471 * inspector/Inspector.json: 22472 22473 2011-04-13 Csaba Osztrogonc <ossy (a] webkit.org> 22474 22475 Unreviewed, rolling out r83695. 22476 http://trac.webkit.org/changeset/83695 22477 https://bugs.webkit.org/show_bug.cgi?id=58375 22478 22479 [Qt][WK2]It broke http tests 22480 22481 * platform/network/qt/QNetworkReplyHandler.cpp: 22482 (WebCore::QNetworkReplyHandler::start): 22483 (WebCore::QNetworkReplyHandler::synchronousLoad): 22484 * platform/network/qt/QNetworkReplyHandler.h: 22485 * platform/network/qt/ResourceHandleQt.cpp: 22486 (WebCore::WebCoreSynchronousLoader::resourceResponse): 22487 (WebCore::WebCoreSynchronousLoader::resourceError): 22488 (WebCore::WebCoreSynchronousLoader::data): 22489 (WebCore::WebCoreSynchronousLoader::setReplyFinished): 22490 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 22491 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 22492 (WebCore::WebCoreSynchronousLoader::didReceiveData): 22493 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 22494 (WebCore::WebCoreSynchronousLoader::didFail): 22495 (WebCore::WebCoreSynchronousLoader::waitForCompletion): 22496 (WebCore::ResourceHandle::loadResourceSynchronously): 22497 22498 2011-04-13 Pavel Podivilov <podivilov (a] chromium.org> 22499 22500 Reviewed by Pavel Feldman. 22501 22502 Web Inspector: inactive style sheets should be read only. 22503 https://bugs.webkit.org/show_bug.cgi?id=58423 22504 22505 * inspector/front-end/ResourceView.js: 22506 (WebInspector.CSSSourceFrame): 22507 (WebInspector.CSSSourceFrame.prototype.isContentEditable): 22508 (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId): 22509 (WebInspector.CSSSourceFrame.prototype._loadStyleSheet): 22510 22511 2011-04-13 Mikhail Naganov <mnaganov (a] chromium.org> 22512 22513 Reviewed by Pavel Feldman. 22514 22515 Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers. 22516 https://bugs.webkit.org/show_bug.cgi?id=58320 22517 22518 Introduce a proxy object that emulates worker behavior and change UI code to cope with it. 22519 22520 * WebCore.gypi: 22521 * WebCore.vcproj/WebCore.vcproj: 22522 * inspector/front-end/DetailedHeapshotGridNodes.js: 22523 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted): 22524 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate): 22525 (WebInspector.HeapSnapshotGridNode.prototype._populate): 22526 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify): 22527 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved): 22528 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 22529 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate): 22530 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort): 22531 (WebInspector.HeapSnapshotGridNode.prototype.sort): 22532 (WebInspector.HeapSnapshotGenericObjectNode): 22533 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent): 22534 (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren): 22535 (WebInspector.HeapSnapshotObjectNode): 22536 (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode): 22537 (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): 22538 (WebInspector.HeapSnapshotInstanceNode): 22539 (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode): 22540 (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): 22541 (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode): 22542 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): 22543 (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind): 22544 (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff): 22545 (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode): 22546 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 22547 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 22548 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity): 22549 (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode): 22550 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated): 22551 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated): 22552 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): 22553 (WebInspector.HeapSnapshotDominatorObjectNode): 22554 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode): 22555 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): 22556 * inspector/front-end/DetailedHeapshotView.js: 22557 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): 22558 (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting): 22559 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource): 22560 (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren): 22561 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived): 22562 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds): 22563 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived): 22564 (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource): 22565 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived): 22566 (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren): 22567 (WebInspector.HeapSnapshotRetainingPathsList): 22568 (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths): 22569 (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource): 22570 (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh): 22571 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound): 22572 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching): 22573 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext): 22574 (WebInspector.DetailedHeapshotView.profileCallback): 22575 (WebInspector.DetailedHeapshotView): 22576 (WebInspector.DetailedHeapshotView.prototype.get profileWrapper): 22577 (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper): 22578 (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1): 22579 (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2): 22580 (WebInspector.DetailedHeapshotView.prototype.show): 22581 (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded): 22582 * inspector/front-end/HeapSnapshot.js: 22583 * inspector/front-end/HeapSnapshotProxy.js: Added. 22584 * inspector/front-end/PleaseWaitMessage.js: 22585 * inspector/front-end/ProfilesPanel.js: 22586 (WebInspector.ProfilesPanel.prototype._reset): 22587 (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot): 22588 (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk): 22589 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): 22590 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed): 22591 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 22592 * inspector/front-end/WebKit.qrc: 22593 * inspector/front-end/inspector.html: 22594 22595 2011-04-13 Alexander Pavlov <apavlov (a] chromium.org> 22596 22597 Reviewed by Pavel Feldman. 22598 22599 Web Inspector: Web Page Performance auditing fails 22600 https://bugs.webkit.org/show_bug.cgi?id=58322 22601 22602 * inspector/front-end/AuditRules.js: 22603 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback): 22604 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded): 22605 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 22606 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived): 22607 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived): 22608 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable): 22609 (WebInspector.AuditRules.CssInHeadRule.prototype.doRun): 22610 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived): 22611 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived): 22612 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable): 22613 (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun): 22614 22615 2011-04-13 Pavel Feldman <pfeldman (a] google.com> 22616 22617 Reviewed by Yury Semikhatsky. 22618 22619 Web Inspector: enumerate properties in Inspector.json using array, not object keys. 22620 https://bugs.webkit.org/show_bug.cgi?id=58418 22621 22622 * inspector/Inspector.json: 22623 22624 2011-04-06 Pavel Podivilov <podivilov (a] chromium.org> 22625 22626 Reviewed by Pavel Feldman. 22627 22628 Web Inspector: add "De-obfuscate Source" item to source frame text area context menu. 22629 https://bugs.webkit.org/show_bug.cgi?id=57942 22630 22631 * English.lproj/localizedStrings.js: 22632 * inspector/front-end/DebuggerPresentationModel.js: 22633 (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled): 22634 * inspector/front-end/ScriptsPanel.js: 22635 (WebInspector.ScriptsPanel): 22636 (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): 22637 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult): 22638 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles): 22639 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled): 22640 * inspector/front-end/SourceFrame.js: 22641 (WebInspector.SourceFrame.prototype._contextMenu): 22642 (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu): 22643 (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu): 22644 (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult): 22645 (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles): 22646 (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled): 22647 22648 2011-04-13 Nikolas Zimmermann <nzimmermann (a] rim.com> 22649 22650 Reviewed by Dirk Schulze. 22651 22652 SVGTextContentElements textLength returns 0 22653 https://bugs.webkit.org/show_bug.cgi?id=52543 22654 22655 Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition. 22656 22657 If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal" 22658 will return the same as "textContentElement.getComputedTextLength()". If it's set the values 22659 aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the 22660 lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes. 22661 This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength() 22662 and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored 22663 in the SVG Text DOM API. 22664 22665 Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory). 22666 Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes). 22667 22668 Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization 22669 with getComputedTextLength(). 22670 22671 Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg 22672 svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html 22673 svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html 22674 svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html 22675 svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html 22676 22677 * rendering/svg/RenderSVGInlineText.cpp: 22678 (WebCore::RenderSVGInlineText::positionForPoint): 22679 * rendering/svg/SVGInlineFlowBox.cpp: 22680 (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): 22681 * rendering/svg/SVGInlineTextBox.cpp: 22682 (WebCore::SVGInlineTextBox::offsetForPositionInFragment): 22683 (WebCore::SVGInlineTextBox::selectionRect): 22684 (WebCore::SVGInlineTextBox::paintSelectionBackground): 22685 (WebCore::SVGInlineTextBox::paint): 22686 (WebCore::SVGInlineTextBox::calculateBoundaries): 22687 * rendering/svg/SVGTextChunkBuilder.cpp: 22688 (WebCore::SVGTextChunkBuilder::buildTextChunks): 22689 (WebCore::SVGTextChunkBuilder::layoutTextChunks): 22690 (WebCore::SVGTextChunkBuilder::addTextChunk): 22691 (WebCore::SVGTextChunkBuilder::processTextChunk): 22692 (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection): 22693 (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection): 22694 * rendering/svg/SVGTextFragment.h: 22695 (WebCore::SVGTextFragment::SVGTextFragment): 22696 (WebCore::SVGTextFragment::buildFragmentTransform): 22697 (WebCore::SVGTextFragment::transformAroundOrigin): 22698 (WebCore::SVGTextFragment::buildTransformForTextOnPath): 22699 (WebCore::SVGTextFragment::buildTransformForTextOnLine): 22700 * rendering/svg/SVGTextLayoutEngine.cpp: 22701 (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): 22702 (WebCore::SVGTextLayoutEngine::beginTextPathLayout): 22703 (WebCore::dumpTextBoxes): 22704 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): 22705 (WebCore::SVGTextLayoutEngine::finishLayout): 22706 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): 22707 * rendering/svg/SVGTextQuery.cpp: 22708 (WebCore::SVGTextQuery::textLengthCallback): 22709 (WebCore::SVGTextQuery::subStringLengthCallback): 22710 (WebCore::SVGTextQuery::startPositionOfCharacterCallback): 22711 (WebCore::SVGTextQuery::endPositionOfCharacterCallback): 22712 (WebCore::SVGTextQuery::rotationOfCharacterCallback): 22713 (WebCore::calculateGlyphBoundaries): 22714 * svg/SVGTextContentElement.cpp: 22715 (WebCore::SVGTextContentElement::SVGTextContentElement): 22716 (WebCore::SVGTextContentElement::synchronizeTextLength): 22717 (WebCore::SVGTextContentElement::textLengthAnimated): 22718 (WebCore::SVGTextContentElement::parseMappedAttribute): 22719 (WebCore::SVGTextContentElement::svgAttributeChanged): 22720 * svg/SVGTextContentElement.h: 22721 (WebCore::SVGTextContentElement::specifiedTextLength): 22722 * svg/SVGTextPathElement.cpp: 22723 (WebCore::SVGTextPathElement::svgAttributeChanged): 22724 * svg/SVGTextPositioningElement.cpp: 22725 (WebCore::SVGTextPositioningElement::svgAttributeChanged): 22726 22727 2011-04-13 Pavel Feldman <pfeldman (a] google.com> 22728 22729 Reviewed by Yury Semikhatsky. 22730 22731 Web Inspector: requestDocument can result in race condition in DOMAgent.js 22732 https://bugs.webkit.org/show_bug.cgi?id=58415 22733 22734 * inspector/front-end/DOMAgent.js: 22735 (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable): 22736 (WebInspector.DOMAgent.prototype.requestDocument): 22737 22738 2011-04-12 Pavel Feldman <pfeldman (a] google.com> 22739 22740 Reviewed by Yury Semikhatsky. 22741 22742 Web Inspector: another pass of protocol renames. 22743 https://bugs.webkit.org/show_bug.cgi?id=58340 22744 22745 * inspector/Inspector.json: 22746 * inspector/InspectorDOMAgent.cpp: 22747 (WebCore::InspectorDOMAgent::getDocument): 22748 (WebCore::InspectorDOMAgent::performSearch): 22749 (WebCore::InspectorDOMAgent::setSearchingForNode): 22750 * inspector/InspectorDOMAgent.h: 22751 * inspector/InspectorDebuggerAgent.cpp: 22752 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 22753 * inspector/InspectorDebuggerAgent.h: 22754 * inspector/InspectorRuntimeAgent.cpp: 22755 (WebCore::InspectorRuntimeAgent::evaluate): 22756 * inspector/InspectorRuntimeAgent.h: 22757 * inspector/front-end/ElementsPanel.js: 22758 (WebInspector.ElementsPanel.prototype._setSearchingForNode): 22759 (WebInspector.ElementsPanel.prototype.setSearchingForNode): 22760 22761 2011-04-12 Luke Macpherson <macpherson (a] chromium.org> 22762 22763 Reviewed by Dimitri Glazkov. 22764 22765 Implement remaining Background and Mask css properties in CSSStyleApplyProperty 22766 https://bugs.webkit.org/show_bug.cgi?id=58390 22767 22768 No new tests required as no functionality changed. 22769 22770 * css/CSSStyleApplyProperty.cpp: 22771 (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties. 22772 (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue. 22773 22774 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 22775 (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty. 22776 22777 2011-04-12 Sergey Glazunov <serg.glazunov (a] gmail.com> 22778 22779 Reviewed by Dimitri Glazkov. 22780 22781 Element::setAttribute should check the namespace of an id attribute 22782 https://bugs.webkit.org/show_bug.cgi?id=58359 22783 22784 Test: fast/dom/id-attribute-with-namespace-crash.html 22785 22786 * dom/Element.cpp: 22787 (WebCore::Element::setAttribute): 22788 22789 2011-04-12 Mike Lawther <mikelawther (a] chromium.org> 22790 22791 Reviewed by James Robinson. 22792 22793 Update boolean operators in RenderStyle to be compatible with check-webkit-style 22794 https://bugs.webkit.org/show_bug.cgi?id=58409 22795 22796 No new functionality, so no new tests. 22797 22798 * rendering/style/RenderStyle.cpp: 22799 (WebCore::RenderStyle::operator==): 22800 (WebCore::RenderStyle::inheritedNotEqual): 22801 (WebCore::positionedObjectMoved): 22802 (WebCore::RenderStyle::diff): 22803 (WebCore::RenderStyle::applyTransform): 22804 * rendering/style/RenderStyle.h: 22805 (WebCore::InheritedFlags::isOriginalDisplayInlineType): 22806 22807 2011-04-12 Luiz Agostini <luiz.agostini (a] openbossa.org> 22808 22809 Reviewed by Andreas Kling. 22810 22811 [Qt] QNetworkReplyHandler refactoring: remove nested event loop. 22812 https://bugs.webkit.org/show_bug.cgi?id=58375 22813 22814 As QNAM now makes actual synchronous loads there is no need for a nested event loop 22815 in ResourceHandleQt. 22816 22817 Moving the call for QNetworkReplyWrapper::synchronousLoad from 22818 ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the 22819 redirections to work in synchronous requests. 22820 22821 * platform/network/qt/QNetworkReplyHandler.cpp: 22822 (WebCore::QNetworkReplyHandler::start): 22823 * platform/network/qt/QNetworkReplyHandler.h: 22824 * platform/network/qt/ResourceHandleQt.cpp: 22825 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 22826 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 22827 (WebCore::WebCoreSynchronousLoader::didReceiveData): 22828 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 22829 (WebCore::WebCoreSynchronousLoader::didFail): 22830 (WebCore::ResourceHandle::loadResourceSynchronously): 22831 22832 2011-04-12 Vangelis Kokkevis <vangelis (a] chromium.org> 22833 22834 Reviewed by James Robinson. 22835 22836 [chromium] Move the calculation of the layer's z coordinate to the 22837 right spot so that it can be picked up by its sublayers. 22838 https://bugs.webkit.org/show_bug.cgi?id=58397 22839 22840 Test: platform/chromium/compositing/child-layer-3d-sorting.html 22841 22842 * platform/graphics/chromium/LayerRendererChromium.cpp: 22843 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 22844 22845 2011-04-12 Luiz Agostini <luiz.agostini (a] openbossa.org> 22846 22847 Reviewed by Andreas Kling. 22848 22849 [Qt] QNetworkReplyHandler refactoring: signal queue 22850 https://bugs.webkit.org/show_bug.cgi?id=57075 22851 22852 The idea is to make all signals that come from the QNetworkReply to pass through a queue and to 22853 stop that queue when loading is deferred. This way almost all the deferred logic can be removed 22854 from QNetworkReplyHandler class and encapsulated in its own class. 22855 22856 To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper 22857 methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods. 22858 This together with empting the queue at wrapper destruction time makes sure that the handler will 22859 not receive calls from a dead wrapper. 22860 22861 The new class is named QNetworkReplyHandlerCallQueue. 22862 22863 * platform/network/qt/QNetworkReplyHandler.cpp: 22864 (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue): 22865 (WebCore::QNetworkReplyHandlerCallQueue::push): 22866 (WebCore::QNetworkReplyHandlerCallQueue::lock): 22867 (WebCore::QNetworkReplyHandlerCallQueue::unlock): 22868 (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals): 22869 (WebCore::QNetworkReplyHandlerCallQueue::flush): 22870 (WebCore::QueueLocker::QueueLocker): 22871 (WebCore::QueueLocker::~QueueLocker): 22872 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 22873 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): 22874 (WebCore::QNetworkReplyWrapper::receiveMetaData): 22875 (WebCore::QNetworkReplyWrapper::readyRead): 22876 (WebCore::QNetworkReplyWrapper::didReceiveFinished): 22877 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 22878 (WebCore::QNetworkReplyHandler::resetState): 22879 (WebCore::QNetworkReplyHandler::release): 22880 (WebCore::QNetworkReplyHandler::finish): 22881 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 22882 (WebCore::QNetworkReplyHandler::forwardData): 22883 (WebCore::QNetworkReplyHandler::start): 22884 (WebCore::QNetworkReplyHandler::synchronousLoad): 22885 * platform/network/qt/QNetworkReplyHandler.h: 22886 (WebCore::QNetworkReplyHandlerCallQueue::deferSignals): 22887 (WebCore::QNetworkReplyHandlerCallQueue::clear): 22888 (WebCore::QNetworkReplyWrapper::synchronousLoad): 22889 (WebCore::QNetworkReplyHandler::setLoadingDeferred): 22890 * platform/network/qt/ResourceHandleQt.cpp: 22891 (WebCore::ResourceHandle::loadResourceSynchronously): 22892 22893 2011-04-12 Kenichi Ishibashi <bashi (a] chromium.org> 22894 22895 Reviewed by Kent Tamura. 22896 22897 Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex. 22898 https://bugs.webkit.org/show_bug.cgi?id=58247 22899 22900 - Increment m_associatedElementsAfterIndex when the form owner and an 22901 inserted form associated element have the same parent chain. 22902 - Always iterate over m_associatedElements to decrease indexes when a 22903 form associated element is removed. This is needed for a case that the 22904 form associated element is removed from the form element due to 22905 deleting the 'form' attribute. No behavioral change expected with this 22906 change. 22907 22908 Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html 22909 fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html 22910 22911 * html/HTMLFormElement.cpp: 22912 (WebCore::HTMLFormElement::formElementIndexWithFormAttribute): 22913 Incremet m_associatedElementsAfterIndex when compareDocumentPosition() 22914 returns DOCUMENT_POSITION_CONTAINED_BY. 22915 (WebCore::HTMLFormElement::removeFormElement): 22916 Always iterate m_associatedElements to adjust indexes. 22917 22918 2011-04-12 Diego Gonzalez <diegohcg (a] webkit.org> 22919 22920 Reviewed by Kenneth Rohde Christiansen. 22921 22922 [Qt] Do not show scrollbars when use mobile theme 22923 https://bugs.webkit.org/show_bug.cgi?id=58380 22924 22925 * platform/qt/ScrollbarThemeQt.cpp: 22926 (WebCore::ScrollbarThemeQt::scrollbarThickness): 22927 22928 2011-04-12 Anantanarayanan G Iyengar <ananta (a] chromium.org> 22929 22930 Reviewed by Alexey Proskuryakov. 22931 22932 The default backspace event handler should mark the event as handled if navigation succeeds. 22933 https://bugs.webkit.org/show_bug.cgi?id=58379 22934 22935 We should mark the event as handled only if we were able to successfully navigate backwards or forwards. 22936 These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame 22937 where history is managed by an external browser like IE. 22938 22939 No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE) 22940 It is non trivial to simulate this environment. 22941 22942 * page/EventHandler.cpp: 22943 (WebCore::EventHandler::defaultBackspaceEventHandler): 22944 22945 2011-04-12 Ryosuke Niwa <rniwa (a] webkit.org> 22946 22947 Reviewed by Eric Seidel. 22948 22949 Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth 22950 https://bugs.webkit.org/show_bug.cgi?id=58400 22951 22952 Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth. 22953 22954 * rendering/RenderBlock.h: 22955 * rendering/RenderBlockLineLayout.cpp: 22956 (WebCore::LineWidth::LineWidth): 22957 (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth. 22958 (WebCore::LineWidth::availableWidth): Added. 22959 (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets. 22960 (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates 22961 the available width. 22962 (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock. 22963 (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. 22964 22965 2011-04-12 Alexis Menard <alexis.menard (a] openbossa.org> 22966 22967 Unreviewed warning fix. 22968 22969 MediaControlElements has been moved to html/shadow. 22970 22971 * WebCore.pro: 22972 22973 2011-04-12 Yael Aharon <yael.aharon (a] nokia.com> 22974 22975 Reviewed by Eric Seidel. 22976 22977 Rename onEndChain and make it a static method. 22978 https://bugs.webkit.org/show_bug.cgi?id=58403 22979 22980 No new tests since this is refactoring only. 22981 22982 * rendering/InlineFlowBox.cpp: 22983 (WebCore::isLastChildForRenderer): 22984 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 22985 * rendering/InlineFlowBox.h: 22986 22987 2011-04-12 Eric Carlson <eric.carlson (a] apple.com> 22988 22989 Not reviewed, build fix. 22990 22991 Fix non-accelerated build after r83667. 22992 22993 * html/HTMLMediaElement.cpp: 22994 (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to 22995 mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING. 22996 22997 2011-04-12 Adrienne Walker <enne (a] google.com> 22998 22999 Reviewed by James Robinson. 23000 23001 [chromium] TilingData mishandles very small texture sizes 23002 https://bugs.webkit.org/show_bug.cgi?id=58364 23003 23004 Use zero tiles when the texture size is too small for tiling. 23005 23006 * platform/graphics/gpu/TilingData.cpp: 23007 (WebCore::TilingData::TilingData): 23008 (WebCore::TilingData::setMaxTextureSize): 23009 23010 2011-04-12 Csaba Osztrogonc <ossy (a] webkit.org> 23011 23012 Unreviewed, rolling out r83634 and r83659. 23013 http://trac.webkit.org/changeset/83634 23014 http://trac.webkit.org/changeset/83659 23015 https://bugs.webkit.org/show_bug.cgi?id=57075 23016 23017 It made 2 tests time out 23018 23019 * platform/network/qt/QNetworkReplyHandler.cpp: 23020 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 23021 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): 23022 (WebCore::QNetworkReplyWrapper::receiveMetaData): 23023 (WebCore::QNetworkReplyWrapper::didReceiveFinished): 23024 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 23025 (WebCore::QNetworkReplyHandler::resetState): 23026 (WebCore::QNetworkReplyHandler::setLoadingDeferred): 23027 (WebCore::QNetworkReplyHandler::resumeDeferredLoad): 23028 (WebCore::QNetworkReplyHandler::release): 23029 (WebCore::QNetworkReplyHandler::finish): 23030 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 23031 (WebCore::QNetworkReplyHandler::forwardData): 23032 (WebCore::QNetworkReplyHandler::start): 23033 * platform/network/qt/QNetworkReplyHandler.h: 23034 * platform/network/qt/ResourceHandleQt.cpp: 23035 (WebCore::WebCoreSynchronousLoader::resourceResponse): 23036 (WebCore::WebCoreSynchronousLoader::resourceError): 23037 (WebCore::WebCoreSynchronousLoader::data): 23038 (WebCore::WebCoreSynchronousLoader::setReplyFinished): 23039 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 23040 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 23041 (WebCore::WebCoreSynchronousLoader::didReceiveData): 23042 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 23043 (WebCore::WebCoreSynchronousLoader::didFail): 23044 (WebCore::WebCoreSynchronousLoader::waitForCompletion): 23045 (WebCore::ResourceHandle::loadResourceSynchronously): 23046 23047 2011-04-12 Sam Weinig <sam (a] webkit.org> 23048 23049 Reviewed by Simon Fraser. 23050 23051 Frames prevent scrolling containing page 23052 <rdar://problem/8990409> 23053 https://bugs.webkit.org/show_bug.cgi?id=58392 23054 23055 Also fixes: 23056 Should rubber-band on pages with no scrollbars 23057 <rdar://problem/9034280> 23058 23059 * page/FrameView.cpp: 23060 (WebCore::FrameView::FrameView): 23061 Make the main frame rubber-band horizontally and vertically always. 23062 23063 * platform/ScrollTypes.h: 23064 Add ScrollElasticity enum. 23065 23066 * platform/ScrollableArea.cpp: 23067 Default to no elasticity. 23068 23069 (WebCore::ScrollableArea::ScrollableArea): 23070 * platform/ScrollableArea.h: 23071 (WebCore::ScrollableArea::setVerticalScrollElasticity): 23072 (WebCore::ScrollableArea::verticalScrollElasticity): 23073 (WebCore::ScrollableArea::setHorizontalScrollElasticity): 23074 (WebCore::ScrollableArea::horizontalScrollElasticity): 23075 Add state for horizontal and vertical elasticity. 23076 23077 * platform/mac/ScrollAnimatorMac.mm: 23078 (WebCore::ScrollAnimatorMac::handleWheelEvent): 23079 Bail out of new scrolling behavior if we can't rubber-band. By bailing before 23080 accepting the wheel event, we allow the wheel event to be forwarded. We will 23081 need to refine this logic to allow subframe scrolling in the future. 23082 23083 (WebCore::ScrollAnimatorMac::allowsVerticalStretching): 23084 (WebCore::ScrollAnimatorMac::allowsHorizontalStretching): 23085 Switch stretching behavior based on the ScrollableArea's elasticity. 23086 23087 2011-04-12 Geoffrey Garen <ggaren (a] apple.com> 23088 23089 Not reviewed. 23090 23091 Try to fix the Chromium build. 23092 23093 Why have one URL when you can have two at twice the price? 23094 23095 * platform/KURL.h: 23096 (WebCore::KURL::KURL): 23097 (WebCore::KURL::isHashTableDeletedValue): 23098 * platform/KURLGoogle.cpp: 23099 (WebCore::KURLGooglePrivate::KURLGooglePrivate): 23100 * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash 23101 table deleted value constructor. 23102 23103 2011-04-12 Stephanie Lewis <slewis (a] apple.com> 23104 23105 Reviewed by Oliver Hunt. 23106 https://bugs.webkit.org/show_bug.cgi?id=58280 23107 Fix a layout test by correctly comparing enums, and not adding exceptions. 23108 23109 * bindings/js/SerializedScriptValue.cpp: 23110 (WebCore::SerializedScriptValue::create): 23111 (WebCore::SerializedScriptValue::deserialize): 23112 * bindings/js/SerializedScriptValue.h: 23113 23114 2011-04-12 Eric Carlson <eric.carlson (a] apple.com> 23115 23116 Reviewed by Simon Fraser. 23117 23118 Apple movie trailers play only audio 23119 https://bugs.webkit.org/show_bug.cgi?id=58339 23120 <rdar://problem/9237606> 23121 23122 No new tests, covered by existing layout and manual tests. 23123 23124 * html/HTMLMediaElement.cpp: 23125 (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions. 23126 (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster 23127 change the display mode to Video and force a style recalc so the video layer gets hooked 23128 up the the render tree. 23129 * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we 23130 want to stop displaying the poster as soon as the first frame of video is available. 23131 23132 * html/HTMLVideoElement.cpp: 23133 (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when 23134 we want to display Video but the media engines doesn't have the first frame yet. 23135 * html/HTMLVideoElement.h: 23136 (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode 23137 is PosterWaitingForVideo. 23138 23139 * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes. 23140 23141 * platform/graphics/MediaPlayer.cpp: 23142 (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element. 23143 * platform/graphics/MediaPlayer.h: 23144 (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable): 23145 23146 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 23147 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize 23148 m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable. 23149 (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first 23150 frame of video has loaded, or audio will begin to play before we can show video. 23151 (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable. 23152 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is 23153 available, inform elment and begin playback if it was previousl requested. 23154 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 23155 23156 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 23157 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 23158 (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging. 23159 (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto. 23160 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play. 23161 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause. 23162 23163 2011-04-12 Jian Li <jianli (a] chromium.org> 23164 23165 Unreviewed, rolling out r83649. 23166 http://trac.webkit.org/changeset/83649 23167 https://bugs.webkit.org/show_bug.cgi?id=57563 23168 23169 This patch causes compiling errors for chromium 23170 23171 * platform/graphics/chromium/FontChromiumWin.cpp: 23172 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 23173 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 23174 (WebCore::Font::drawComplexText): 23175 * platform/graphics/chromium/ImageBufferData.h: 23176 * platform/graphics/chromium/LayerChromium.h: 23177 * platform/graphics/chromium/LayerRendererChromium.h: 23178 * platform/graphics/chromium/PlatformCanvas.cpp: 23179 (WebCore::PlatformCanvas::resize): 23180 * platform/graphics/chromium/PlatformCanvas.h: 23181 * platform/graphics/chromium/TransparencyWin.cpp: 23182 (WebCore::TransparencyWin::compositeTextComposite): 23183 (WebCore::TransparencyWin::makeLayerOpaque): 23184 * platform/graphics/skia/ImageBufferSkia.cpp: 23185 (WebCore::ImageBuffer::ImageBuffer): 23186 * platform/graphics/skia/ImageSkia.cpp: 23187 (WebCore::paintSkBitmap): 23188 (WebCore::Image::drawPattern): 23189 * platform/graphics/skia/PlatformContextSkia.cpp: 23190 (WebCore::PlatformContextSkia::PlatformContextSkia): 23191 (WebCore::PlatformContextSkia::setCanvas): 23192 (WebCore::PlatformContextSkia::isPrinting): 23193 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 23194 * platform/graphics/skia/PlatformContextSkia.h: 23195 (WebCore::PlatformContextSkia::canvas): 23196 23197 2011-04-12 Enrica Casucci <enrica (a] apple.com> 23198 23199 Reviewed by Alexey Proskuryakov. 23200 23201 Implement non-activating clicks to allow dragging out of a background window. 23202 https://bugs.webkit.org/show_bug.cgi?id=55053 23203 <rdar://problem/9042197> 23204 23205 * WebCore.exp.in: Added new exported method. 23206 23207 2011-04-12 Geoffrey Garen <ggaren (a] apple.com> 23208 23209 Reviewed by Geoffrey Garen. 23210 23211 Cleaned up hash traits, and added hash traits for handles 23212 https://bugs.webkit.org/show_bug.cgi?id=58381 23213 23214 * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication. 23215 23216 * platform/KURL.h: 23217 (WebCore::KURL::KURL): 23218 (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table 23219 deleted value constructor, to be more explicit and enable use of 23220 SimpleClassHashTraits. 23221 23222 * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication. 23223 23224 * platform/graphics/FontCache.cpp: Ditto. 23225 * platform/network/ProtectionSpaceHash.h: Ditto. 23226 * svg/properties/SVGAnimatedPropertyDescription.h: Ditto. 23227 23228 2011-04-12 Luiz Agostini <luiz.agostini (a] openbossa.org> 23229 23230 Reviewed by Andreas Kling. 23231 23232 [Qt] QNetworkReplyHandler refactoring: remove nested event loop. 23233 https://bugs.webkit.org/show_bug.cgi?id=58375 23234 23235 As QNAM now makes actual synchronous loads there is no need for a nested event loop 23236 in ResourceHandleQt. 23237 23238 Moving the call for QNetworkReplyWrapper::synchronousLoad from 23239 ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the 23240 redirections to work in synchronous requests. 23241 23242 * platform/network/qt/QNetworkReplyHandler.cpp: 23243 (WebCore::QNetworkReplyHandler::start): 23244 * platform/network/qt/QNetworkReplyHandler.h: 23245 * platform/network/qt/ResourceHandleQt.cpp: 23246 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 23247 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 23248 (WebCore::WebCoreSynchronousLoader::didReceiveData): 23249 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 23250 (WebCore::WebCoreSynchronousLoader::didFail): 23251 (WebCore::ResourceHandle::loadResourceSynchronously): 23252 23253 2011-04-11 Jer Noble <jer.noble (a] apple.com> 23254 23255 Reviewed by Simon Fraser. 23256 23257 REGRESSION: Vimeo fullscreen video displays incorrectly 23258 https://bugs.webkit.org/show_bug.cgi?id=58291 23259 23260 Set the RenderFullScreen's zIndex to the max. And make sure to override 23261 a video element's specified width and height by making its full screen rules 23262 important. Also, always show the controls when a media element is in full 23263 screen mode. 23264 23265 Test: fullscreen/video-specified-size.html 23266 Test: fullscreen/full-screen-zIndex.html 23267 23268 * css/fullscreen.css: 23269 (video:-webkit-full-screen): 23270 * html/HTMLMediaElement.cpp: 23271 (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode. 23272 (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen 23273 change event and hide or show the controls accordingly. 23274 * html/HTMLMediaElement.h: 23275 * rendering/RenderFullScreen.cpp: 23276 (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a 23277 vertical flexbox instead of a horizontal one. 23278 23279 2011-04-12 Chris Marrin <cmarrin (a] apple.com> 23280 23281 Reviewed by Simon Fraser. 23282 23283 Page tears and stutters in WebKit2 when page is > 2048 pixels wide 23284 https://bugs.webkit.org/show_bug.cgi?id=58330 23285 23286 Added API to GraphicsLayer to disable switching to tiled layers. This is 23287 set in the nonCompositedContentLayer in WK2, causing that layer to never 23288 switch to tiles and avoiding the asynchronous update of the content during 23289 scroll. 23290 23291 * platform/graphics/ca/GraphicsLayerCA.cpp: 23292 Implement setAllowTiledLayer() to simulate a SizeChanged action to 23293 properly switch between tiled and untiled layer. 23294 * platform/graphics/ca/GraphicsLayerCA.h: 23295 23296 2011-04-12 Alok Priyadarshi <alokp (a] chromium.org> 23297 23298 Reviewed by James Robinson. 23299 23300 Remove dependency on chromium skia::PlatformCanvas 23301 https://bugs.webkit.org/show_bug.cgi?id=57563 23302 23303 This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. 23304 The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. 23305 We will eventually define an API that every port using skia will define. 23306 23307 * platform/graphics/chromium/FontChromiumWin.cpp: 23308 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 23309 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 23310 (WebCore::Font::drawComplexText): 23311 * platform/graphics/chromium/ImageBufferData.h: 23312 * platform/graphics/chromium/LayerChromium.h: 23313 * platform/graphics/chromium/LayerRendererChromium.h: 23314 * platform/graphics/chromium/PlatformCanvas.cpp: 23315 (WebCore::PlatformCanvas::resize): 23316 * platform/graphics/chromium/PlatformCanvas.h: 23317 * platform/graphics/chromium/TransparencyWin.cpp: 23318 (WebCore::TransparencyWin::compositeTextComposite): 23319 (WebCore::TransparencyWin::makeLayerOpaque): 23320 * platform/graphics/skia/ImageBufferSkia.cpp: 23321 (WebCore::ImageBuffer::ImageBuffer): 23322 * platform/graphics/skia/ImageSkia.cpp: 23323 (WebCore::paintSkBitmap): 23324 (WebCore::Image::drawPattern): 23325 * platform/graphics/skia/PlatformContextSkia.cpp: 23326 (WebCore::PlatformContextSkia::PlatformContextSkia): 23327 (WebCore::PlatformContextSkia::setCanvas): 23328 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 23329 * platform/graphics/skia/PlatformContextSkia.h: 23330 (WebCore::PlatformContextSkia::canvas): 23331 (WebCore::PlatformContextSkia::printing): 23332 (WebCore::PlatformContextSkia::setPrinting): 23333 23334 2011-04-11 Stephanie Lewis <slewis (a] apple.com> 23335 23336 Reviewed by Oliver Hunt. 23337 23338 https://bugs.webkit.org/show_bug.cgi?id=58280 23339 <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception 23340 Currently serialization and deserialization can throw javascript exceptions. Since SerializedScriptValue is called in 23341 several places that do not always involve direct calls into javascript have the functions return an error code and the callers 23342 decide whether or not to throw exceptions. 23343 23344 Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h. Walking that object creates 23345 additional objects which eventually causes serialization to end up throwing a stack overflow error. Instead fail immediately. 23346 23347 Untangle header includes. SerializedScriptValue was inheriting ScriptValue.h, but not using it. Since ScriptValue depends on 23348 SerializedScriptValue this could lead to a circular header dependency. 23349 23350 No change in functionality, covered by current tests 23351 23352 * WebCore.exp.in: 23353 * bindings/js/JSMessageEventCustom.cpp: 23354 (WebCore::JSMessageEvent::initMessageEvent): 23355 * bindings/js/ScriptValue.cpp: 23356 (WebCore::ScriptValue::serialize): 23357 (WebCore::ScriptValue::deserialize): 23358 * bindings/js/ScriptValue.h: 23359 * bindings/js/SerializedScriptValue.cpp: 23360 (WebCore::CloneSerializer::serialize): 23361 (WebCore::CloneSerializer::dumpIfTerminal): 23362 (WebCore::CloneDeserializer::deserialize): 23363 (WebCore::SerializedScriptValue::create): 23364 (WebCore::SerializedScriptValue::deserialize): 23365 (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed): 23366 (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully): 23367 * bindings/js/SerializedScriptValue.h: 23368 23369 * bindings/js/JSWorkerContextBase.cpp: header include fix 23370 * loader/FrameLoader.h: header include fix 23371 * page/Frame.cpp: header include fix 23372 23373 2011-03-28 Adam Barth <abarth (a] webkit.org> 23374 23375 Reviewed by Kenneth Russell. 23376 23377 Move libtess from WebCore/thirdparty to ThirdParty 23378 https://bugs.webkit.org/show_bug.cgi?id=57288 23379 23380 * WebCore.gyp/WebCore.gyp: 23381 - Add libtess as a legit dependency. 23382 * WebCore.gypi: 23383 - Remove libtess files from the gypi. 23384 * thirdparty/glu: Removed. 23385 23386 2011-04-12 Ryosuke Niwa <rniwa (a] webkit.org> 23387 23388 Reviewed by David Hyatt. 23389 23390 Bundle w and tmpW in findNextLineBreak together as a class 23391 https://bugs.webkit.org/show_bug.cgi?id=58362 23392 23393 Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth, 23394 and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class 23395 named LineWidth. 23396 23397 * rendering/RenderBlockLineLayout.cpp: 23398 (WebCore::LineWidth::LineWidth): Added. 23399 (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width. 23400 (WebCore::LineWidth::uncommittedWidth): Added. 23401 (WebCore::LineWidth::committedWidth): Added. 23402 (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width. 23403 (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width. 23404 (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth. 23405 23406 2011-04-12 Yael Aharon <yael.aharon (a] nokia.com> 23407 23408 Reviewed by Eric Seidel. 23409 23410 REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html 23411 https://bugs.webkit.org/show_bug.cgi?id=57459 23412 23413 Slightly change the way we decide if a InlineFlowBox is the last box for its renderer. 23414 We include the border in that box under these conditions: 23415 (1) The next line was not created, or it is constructed. We check the previous line for rtl. 23416 (2) The logicallyLastRun is not a descendant of this renderer. 23417 (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line. 23418 I added the tests from bug 47210, because now the draw the borders correctly. 23419 23420 Tests: fast/borders/bidi-002.html 23421 fast/borders/bidi-004.html 23422 fast/borders/bidi-009a.html 23423 23424 * rendering/InlineFlowBox.cpp: 23425 (WebCore::InlineFlowBox::onEndChain): 23426 (WebCore::isAnsectorAndWithinBlock): 23427 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 23428 * rendering/InlineFlowBox.h: 23429 * rendering/RenderBlock.h: 23430 * rendering/RenderBlockLineLayout.cpp: 23431 (WebCore::RenderBlock::constructLine): 23432 (WebCore::RenderBlock::layoutInlineChildren): 23433 23434 2011-04-12 Geoffrey Garen <ggaren (a] apple.com> 23435 23436 Reviewed by Sam Weinig. 23437 23438 Cleaned up some Vector traits, and added missing Vector traits for handles 23439 https://bugs.webkit.org/show_bug.cgi?id=58372 23440 23441 * platform/graphics/BitmapImage.h: Added a FIXME because the current 23442 Vector traits for FrameData are logically incorrect, but I couldn't find 23443 a place where this currently results in bad behavior, and it's not 23444 immediately obvious what the right solution is. 23445 23446 2011-04-12 Dimitri Glazkov <dglazkov (a] chromium.org> 23447 23448 Reviewed by Eric Seidel. 23449 23450 Move MediaControlElements to html/shadow. 23451 https://bugs.webkit.org/show_bug.cgi?id=58347 23452 23453 Mechanical move of the files. 23454 23455 * Android.mk: Updated the build file. 23456 * CMakeLists.txt: Ditto. 23457 * GNUmakefile.list.am: Ditto. 23458 * WebCore.gypi: Ditto. 23459 * WebCore.pro: Ditto. 23460 * WebCore.vcproj/WebCore.vcproj: Ditto. 23461 * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files. 23462 * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp. 23463 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): 23464 * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h. 23465 * rendering/MediaControlElements.cpp: Removed. 23466 * rendering/MediaControlElements.h: Removed. 23467 * rendering/RenderingAllInOne.cpp: Removed the files that were moved. 23468 23469 2011-04-12 Luiz Agostini <luiz.agostini (a] openbossa.org> 23470 23471 Reviewed by Andreas Kling. 23472 23473 [Qt] QNetworkReplyHandler refactoring: signal queue 23474 https://bugs.webkit.org/show_bug.cgi?id=57075 23475 23476 The idea is to make all signals that come from the QNetworkReply to pass through a queue and to 23477 stop that queue when loading is deferred. This way almost all the deferred logic can be removed 23478 from QNetworkReplyHandler class and encapsulated in its own class. 23479 23480 To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper 23481 methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods. 23482 This together with empting the queue at wrapper destruction time makes sure that the handler will 23483 not receive calls from a dead wrapper. 23484 23485 The new class is named QNetworkReplyHandlerCallQueue. 23486 23487 * platform/network/qt/QNetworkReplyHandler.cpp: 23488 (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue): 23489 (WebCore::QNetworkReplyHandlerCallQueue::push): 23490 (WebCore::QNetworkReplyHandlerCallQueue::lock): 23491 (WebCore::QNetworkReplyHandlerCallQueue::unlock): 23492 (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals): 23493 (WebCore::QueueLocker::QueueLocker): 23494 (WebCore::QueueLocker::~QueueLocker): 23495 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 23496 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): 23497 (WebCore::QNetworkReplyWrapper::receiveMetaData): 23498 (WebCore::QNetworkReplyWrapper::readyRead): 23499 (WebCore::QNetworkReplyWrapper::didReceiveFinished): 23500 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 23501 (WebCore::QNetworkReplyHandler::resetState): 23502 (WebCore::QNetworkReplyHandler::release): 23503 (WebCore::QNetworkReplyHandler::finish): 23504 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 23505 (WebCore::QNetworkReplyHandler::forwardData): 23506 (WebCore::QNetworkReplyHandler::start): 23507 (WebCore::QNetworkReplyHandler::synchronousLoad): 23508 * platform/network/qt/QNetworkReplyHandler.h: 23509 (WebCore::QNetworkReplyHandlerCallQueue::deferSignals): 23510 (WebCore::QNetworkReplyHandlerCallQueue::clear): 23511 (WebCore::QNetworkReplyWrapper::synchronousLoad): 23512 (WebCore::QNetworkReplyHandler::setLoadingDeferred): 23513 * platform/network/qt/ResourceHandleQt.cpp: 23514 (WebCore::ResourceHandle::loadResourceSynchronously): 23515 23516 2011-04-12 David Hyatt <hyatt (a] apple.com> 23517 23518 Reviewed by Dan Bernstein. 23519 23520 https://bugs.webkit.org/show_bug.cgi?id=58176 23521 23522 Inline replaced elements following positioned elements on lines are not rendered. Make sure the 23523 logic for skipping run construction in appendRunsForObject matches the new logic that I added 23524 to findNextLineBreak. If they don't match up, you risk confusing the run construction code and 23525 causing it to not make runs for objects that follow the positioned object on the line. 23526 23527 Added fast/inline/positioned-object-between-replaced-elements.html 23528 23529 * rendering/RenderBlockLineLayout.cpp: 23530 (WebCore::RenderBlock::appendRunsForObject): 23531 23532 2011-04-12 Alice Liu <alice.liu (a] apple.com> 23533 23534 Reviewed by Sam Weinig. 23535 23536 https://bugs.webkit.org/show_bug.cgi?id=58292 23537 Provide new setting to allow site icon loading despite disabling automatic image loading in general. 23538 23539 Test: http/tests/misc/favicon-loads-with-icon-loading-override.html 23540 23541 * WebCore.exp.in: Added export symbol 23542 * loader/FrameLoader.cpp: 23543 (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded. 23544 * page/Settings.cpp: 23545 (WebCore::Settings::Settings): Add initializer for new setting 23546 (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting. 23547 * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting. 23548 (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter. 23549 23550 2011-04-12 Ryosuke Niwa <rniwa (a] webkit.org> 23551 23552 Reviewed by Eric Seidel. 23553 23554 Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle 23555 https://bugs.webkit.org/show_bug.cgi?id=55974 23556 23557 Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand 23558 to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue, 23559 setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles, 23560 diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn. 23561 23562 Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp 23563 23564 * editing/ApplyStyleCommand.cpp: 23565 * editing/ApplyStyleCommand.h: 23566 * editing/EditingStyle.cpp: 23567 (WebCore::reconcileTextDecorationProperties): 23568 (WebCore::StyleChange::StyleChange): 23569 (WebCore::setTextDecorationProperty): 23570 (WebCore::getRGBAFontColor): 23571 (WebCore::StyleChange::extractTextStyles): 23572 (WebCore::diffTextDecorations): 23573 (WebCore::fontWeightIsBold): 23574 (WebCore::getTextAlignment): 23575 (WebCore::getPropertiesNotIn): 23576 (WebCore::getIdentifierValue): 23577 (WebCore::isCSSValueLength): 23578 (WebCore::legacyFontSizeFromCSSValue): 23579 * editing/EditingStyle.h: 23580 (WebCore::StyleChange::cssStyle): 23581 (WebCore::StyleChange::applyBold): 23582 (WebCore::StyleChange::applyItalic): 23583 (WebCore::StyleChange::applyUnderline): 23584 (WebCore::StyleChange::applyLineThrough): 23585 (WebCore::StyleChange::applySubscript): 23586 (WebCore::StyleChange::applySuperscript): 23587 (WebCore::StyleChange::applyFontColor): 23588 (WebCore::StyleChange::applyFontFace): 23589 (WebCore::StyleChange::applyFontSize): 23590 (WebCore::StyleChange::fontColor): 23591 (WebCore::StyleChange::fontFace): 23592 (WebCore::StyleChange::fontSize): 23593 (WebCore::StyleChange::operator==): 23594 (WebCore::StyleChange::operator!=): 23595 23596 2011-04-12 Diego Gonzalez <diegohcg (a] webkit.org> 23597 23598 Reviewed by Kenneth Rohde Christiansen. 23599 23600 [Qt] Better padding for inputs and comboxes in mobile theme 23601 https://bugs.webkit.org/show_bug.cgi?id=58248 23602 23603 * platform/qt/RenderThemeQt.cpp: 23604 (WebCore::RenderThemeQt::setButtonPadding): 23605 (WebCore::RenderThemeQt::adjustTextFieldStyle): 23606 (WebCore::RenderThemeQt::paintTextField): 23607 (WebCore::RenderThemeQt::adjustMenuListStyle): 23608 23609 2011-04-11 Abhishek Arya <inferno (a] chromium.org> 23610 23611 Reviewed by Dave Hyatt. 23612 23613 Replace insertChildNode with addChild in handleRunIn's reparenting 23614 of inlineRunIn to currBlock. 23615 https://bugs.webkit.org/show_bug.cgi?id=58228 23616 23617 Use addChild instead of insertChildNode since it handles 23618 correct placement of the children, esp where we cannot insert 23619 anything before the first child. e.g. details tag requires that its 23620 first child be a summary child and won't be able to remove child if 23621 that is not the case. 23622 23623 Test: fast/runin/runin-reparent-crash.html 23624 23625 * rendering/RenderBlock.cpp: 23626 (WebCore::RenderBlock::handleRunInChild): 23627 23628 2011-04-12 Chris Fleizach <cfleizach (a] apple.com> 23629 23630 Unreviewed. Fixing Leopard build. 23631 23632 REGRESSION: WK2: misspelled AX attributes no longer returned from text fields 23633 https://bugs.webkit.org/show_bug.cgi?id=58304 23634 23635 checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING). 23636 23637 * accessibility/mac/AccessibilityObjectWrapper.mm: 23638 (AXAttributeStringSetSpelling): 23639 23640 2011-04-12 Mario Sanchez Prada <msanchez (a] igalia.com> 23641 23642 Unreviewed. Added missing files to GNUmakefile.list.am. 23643 23644 * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp]. 23645 23646 2011-04-12 Cris Neckar <cdn (a] chromium.org> 23647 23648 Reviewed by Nikolas Zimmermann. 23649 23650 Add handling for non-svg inline text boxes in text box lists. 23651 https://bugs.webkit.org/show_bug.cgi?id=57933 23652 23653 Test: svg/text/svg-rtl-text-crash.html 23654 23655 * rendering/svg/RenderSVGInlineText.cpp: 23656 (WebCore::RenderSVGInlineText::positionForPoint): 23657 * rendering/svg/SVGInlineFlowBox.cpp: 23658 (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer): 23659 * rendering/svg/SVGRenderTreeAsText.cpp: 23660 (WebCore::writeSVGInlineTextBoxes): 23661 * rendering/svg/SVGRootInlineBox.cpp: 23662 (WebCore::SVGRootInlineBox::closestLeafChildForPosition): 23663 (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded): 23664 * rendering/svg/SVGTextQuery.cpp: 23665 (WebCore::SVGTextQuery::collectTextBoxesInFlowBox): 23666 23667 2011-04-12 Mario Sanchez Prada <msanchez (a] igalia.com> 23668 23669 Reviewed by Chris Fleizach. 23670 23671 [GTK] Expose menu items and menus as children of a menu bar 23672 https://bugs.webkit.org/show_bug.cgi?id=56659 23673 23674 Ensure menu items get exposed when they're children of menu bars. 23675 23676 * accessibility/AccessibilityRenderObject.cpp: 23677 (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): 23678 Consider menu bars as potential parent objects for menu items. 23679 23680 2011-04-12 Pavel Feldman <pfeldman (a] google.com> 23681 23682 Reviewed by Yury Semikhatsky. 23683 23684 Web Inspector: remove scriptWorldType from the protocol. 23685 https://bugs.webkit.org/show_bug.cgi?id=58324 23686 23687 * inspector/Inspector.json: 23688 * inspector/InspectorDebuggerAgent.cpp: 23689 (WebCore::InspectorDebuggerAgent::didParseSource): 23690 * inspector/ScriptDebugListener.h: 23691 (WebCore::ScriptDebugListener::~ScriptDebugListener): 23692 * inspector/front-end/DebuggerModel.js: 23693 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 23694 (WebInspector.DebuggerDispatcher.prototype.scriptParsed): 23695 * inspector/front-end/Script.js: 23696 (WebInspector.Script): 23697 * inspector/front-end/ScriptsPanel.js: 23698 * inspector/front-end/SourceFile.js: 23699 (WebInspector.SourceFile): 23700 23701 2011-04-11 Dimitri Glazkov <dglazkov (a] chromium.org> 23702 23703 Reviewed by Eric Carlson. 23704 23705 Should MediaControls::changedNetworkState fiddle with Fullscreen controls? 23706 https://bugs.webkit.org/show_bug.cgi?id=58163 23707 23708 Covered by existing tests and manual-tests/media-controls.html. 23709 23710 * html/shadow/MediaControls.cpp: 23711 (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here. 23712 (WebCore::MediaControls::changedNetworkState): ... from here. 23713 23714 2011-04-12 Ilya Tikhonovsky <loislo (a] chromium.org> 23715 23716 Reviewed by Pavel Feldman. 23717 23718 Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend. 23719 https://bugs.webkit.org/show_bug.cgi?id=58335 23720 23721 It was the method for Inspector layout tests. 23722 We can use RuntimeAgent.evaluate instead. 23723 23724 * inspector/Inspector.json: 23725 * inspector/InspectorAgent.cpp: 23726 * inspector/InspectorAgent.h: 23727 * inspector/InspectorController.cpp: 23728 (WebCore::InspectorController::connectFrontend): 23729 * inspector/front-end/TestController.js: 23730 (WebInspector.TestController.prototype.notifyDone): 23731 23732 2011-04-12 Philippe Normand <pnormand (a] igalia.com> 23733 23734 Reviewed by Martin Robinson. 23735 23736 [GStreamer] some public callbacks remain 23737 https://bugs.webkit.org/show_bug.cgi?id=58307 23738 23739 Cleanup of the player public/private APIs. Moving the GstMessage 23740 handling code inside of the player allowed some APIs to move to 23741 the private scope of the class. 23742 23743 No new tests, this patch is a cleanup and should not affect 23744 current tests coverage. 23745 23746 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 23747 (WebCore::mediaPlayerPrivateMessageCallback): 23748 (WebCore::mediaPlayerPrivateSourceChangedCallback): 23749 (WebCore::mediaPlayerPrivateVolumeChangedCallback): 23750 (WebCore::mediaPlayerPrivateMuteChangedCallback): 23751 (WebCore::mediaPlayerPrivateRepaintCallback): 23752 (WebCore::MediaPlayerPrivateGStreamer::playbackPosition): 23753 (WebCore::MediaPlayerPrivateGStreamer::currentTime): 23754 (WebCore::MediaPlayerPrivateGStreamer::seek): 23755 (WebCore::MediaPlayerPrivateGStreamer::setRate): 23756 (WebCore::MediaPlayerPrivateGStreamer::handleMessage): 23757 (WebCore::MediaPlayerPrivateGStreamer::sourceChanged): 23758 (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint): 23759 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 23760 23761 2011-04-12 Philippe Normand <pnormand (a] igalia.com> 23762 23763 Reviewed by Martin Robinson. 23764 23765 [GStreamer] advertize HTTP Live Streaming mime-type 23766 https://bugs.webkit.org/show_bug.cgi?id=58318 23767 23768 Register the hls mime-type in the internal cache if found in the 23769 typefind factories. 23770 23771 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 23772 (WebCore::mimeTypeCache): 23773 23774 2011-04-11 MORITA Hajime <morrita (a] google.com> 23775 23776 Reviewed by Ryosuke Niwa. 23777 23778 RenderIndicator and ShadowBlockElement are no longer used. 23779 https://bugs.webkit.org/show_bug.cgi?id=58277 23780 23781 Removed RenderIndicator and ShadowBlockElement. 23782 23783 No new tests. Just removed unused code. 23784 23785 * CMakeLists.txt: 23786 * GNUmakefile.list.am: 23787 * WebCore.gypi: 23788 * WebCore.pro: 23789 * WebCore.vcproj/WebCore.vcproj: 23790 * WebCore.xcodeproj/project.pbxproj: 23791 * rendering/RenderIndicator.cpp: Removed. 23792 * rendering/RenderIndicator.h: Removed. 23793 * rendering/RenderMeter.h: 23794 * rendering/RenderingAllInOne.cpp: 23795 * rendering/ShadowElement.cpp: 23796 * rendering/ShadowElement.h: 23797 23798 2011-04-12 Csaba Osztrogonc <ossy (a] webkit.org> 23799 23800 Reviewed by Benjamin Poulain. 23801 23802 fast/css/dashboard-regions-attr-crash.html asserts 23803 https://bugs.webkit.org/show_bug.cgi?id=58233 23804 23805 Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri 23806 not to generate incorrect properties into CSSPropertyNames.h. 23807 23808 * CodeGenerators.pri: 23809 * features.pri: 23810 23811 2011-04-12 Chris Fleizach <cfleizach (a] apple.com> 23812 23813 Reviewed by Dan Bernstein. 23814 23815 REGRESSION: WK2: misspelled AX attributes no longer returned from text fields 23816 https://bugs.webkit.org/show_bug.cgi?id=58304 23817 23818 checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use 23819 checkTextOfParagraph in order to retrieve misspelled ranges. 23820 23821 Existing tests cover this functionality. 23822 23823 * accessibility/mac/AccessibilityObjectWrapper.mm: 23824 (AXAttributeStringSetSpelling): 23825 23826 2011-04-12 Sergio Villar Senin <svillar (a] igalia.com> 23827 23828 Reviewed by Martin Robinson. 23829 23830 [GTK] Remove m_idleHandler from ResourceHandleSoup 23831 https://bugs.webkit.org/show_bug.cgi?id=58319 23832 23833 The m_idleHandler attribute is no longer used in ResourceHandleSoup. 23834 No new tests needed, no functionality change. 23835 23836 * platform/network/ResourceHandleInternal.h: 23837 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 23838 * platform/network/soup/ResourceHandleSoup.cpp: 23839 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 23840 23841 2011-04-12 Andrey Adaikin <aandrey (a] google.com> 23842 23843 Reviewed by Yury Semikhatsky. 23844 23845 Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace 23846 https://bugs.webkit.org/show_bug.cgi?id=58314 23847 23848 * inspector/front-end/SourceFrame.js: 23849 (WebInspector.SourceFrame.prototype._lineNumberAfterEditing): 23850 23851 2011-04-11 Pavel Podivilov <podivilov (a] chromium.org> 23852 23853 Reviewed by Pavel Feldman. 23854 23855 Web Inspector: move shortcut handlers from SourceFrame to TextViewer. 23856 https://bugs.webkit.org/show_bug.cgi?id=58238 23857 23858 Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state. 23859 23860 * inspector/front-end/SourceFrame.js: 23861 (WebInspector.SourceFrame): 23862 (WebInspector.SourceFrame.prototype.isContentEditable): 23863 (WebInspector.SourceFrame.prototype._createTextViewer): 23864 (WebInspector.SourceFrame.prototype.commitEditing.didEditContent): 23865 (WebInspector.SourceFrame.prototype.commitEditing): 23866 (WebInspector.SourceFrame.prototype.cancelEditing): 23867 * inspector/front-end/TextViewer.js: 23868 (WebInspector.TextViewer.prototype._doubleClick): 23869 (WebInspector.TextViewer.prototype._registerShortcuts): 23870 (WebInspector.TextViewer.prototype._handleKeyDown): 23871 (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing): 23872 (WebInspector.TextViewer.prototype._commitEditing): 23873 (WebInspector.TextViewer.prototype._cancelEditing): 23874 (WebInspector.TextViewerDelegate.prototype.endEditing): 23875 (WebInspector.TextViewerDelegate.prototype.commitEditing): 23876 (WebInspector.TextViewerDelegate.prototype.cancelEditing): 23877 23878 2011-04-12 Pavel Feldman <pfeldman (a] google.com> 23879 23880 Reviewed by Yury Semikhatsky. 23881 23882 Web Inspector: cookies view is empty even for sites with cookies. 23883 https://bugs.webkit.org/show_bug.cgi?id=58316 23884 23885 Test: http/tests/inspector/resource-tree-model.html 23886 23887 * inspector/front-end/ResourceTreeModel.js: 23888 (WebInspector.ResourceTreeModel.prototype._callForFrameResources): 23889 23890 2011-04-11 Stephen White <senorblanco (a] chromium.org> 23891 23892 Reviewed by James Robinson. 23893 23894 [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect. 23895 https://bugs.webkit.org/show_bug.cgi?id=58258 23896 23897 When one accelerated canvas is drawn to another via drawImage(), if the 23898 prior call in the source canvas was non-accelerated, the 23899 hardware canvas is not up-to-date, and the results will be incorrect. 23900 Fixed by calling prepareForHardwareDraw() on the source context. 23901 23902 Test: fast/canvas/canvas-to-canvas.html 23903 23904 * platform/graphics/skia/ImageBufferSkia.cpp: 23905 (WebCore::ImageBuffer::draw): 23906 23907 2011-04-12 Mikhail Naganov <mnaganov (a] chromium.org> 23908 23909 Reviewed by Pavel Feldman. 23910 23911 Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI. 23912 https://bugs.webkit.org/show_bug.cgi?id=58146 23913 23914 Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html 23915 inspector/profiler/detailed-heapshots-comparison-show-all.html 23916 inspector/profiler/detailed-heapshots-comparison-show-next.html 23917 inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html 23918 inspector/profiler/detailed-heapshots-comparison-sorting.html 23919 inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html 23920 inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html 23921 inspector/profiler/detailed-heapshots-dominators-show-all.html 23922 inspector/profiler/detailed-heapshots-dominators-show-next.html 23923 inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html 23924 inspector/profiler/detailed-heapshots-dominators-sorting.html 23925 inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html 23926 23927 * inspector/front-end/DetailedHeapshotView.js: 23928 (WebInspector.HeapSnapshotDiffDataGrid): 23929 23930 2011-04-12 Ilya Tikhonovsky <loislo (a] chromium.org> 23931 23932 Reviewed by Yury Semikhatsky. 23933 23934 Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests. 23935 https://bugs.webkit.org/show_bug.cgi?id=58305 23936 23937 It was 0 if the message is not a json object or it has no id property. But according to spec it must be null. 23938 23939 * inspector/CodeGeneratorInspector.pm: 23940 23941 2011-04-11 Pavel Podivilov <podivilov (a] chromium.org> 23942 23943 Reviewed by Pavel Feldman. 23944 23945 Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1. 23946 https://bugs.webkit.org/show_bug.cgi?id=58232 23947 23948 * WebCore.gypi: 23949 23950 2011-04-12 Pavel Podivilov <podivilov (a] chromium.org> 23951 23952 Reviewed by Pavel Feldman. 23953 23954 Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked. 23955 https://bugs.webkit.org/show_bug.cgi?id=58273 23956 23957 * inspector/front-end/SourceFrame.js: 23958 (WebInspector.SourceFrame): 23959 (WebInspector.SourceFrame.prototype.get visible): 23960 (WebInspector.SourceFrame.prototype.set visible): 23961 (WebInspector.SourceFrame.prototype.show): 23962 (WebInspector.SourceFrame.prototype.hide): 23963 (WebInspector.SourceFrame.prototype.detach): 23964 (WebInspector.SourceFrame.prototype._ensureContentLoaded): 23965 (WebInspector.SourceFrame.prototype.markDiff): 23966 (WebInspector.SourceFrame.prototype.addMessage): 23967 (WebInspector.SourceFrame.prototype.clearMessages): 23968 (WebInspector.SourceFrame.prototype.get scrollTop): 23969 (WebInspector.SourceFrame.prototype.set scrollTop): 23970 (WebInspector.SourceFrame.prototype.highlightLine): 23971 (WebInspector.SourceFrame.prototype._clearLineHighlight): 23972 (WebInspector.SourceFrame.prototype._initializeTextViewer): 23973 (WebInspector.SourceFrame.prototype.performSearch): 23974 (WebInspector.SourceFrame.prototype.searchCanceled): 23975 (WebInspector.SourceFrame.prototype._jumpToSearchResult): 23976 (WebInspector.SourceFrame.prototype.setExecutionLine): 23977 (WebInspector.SourceFrame.prototype.clearExecutionLine): 23978 (WebInspector.SourceFrame.prototype.resize): 23979 23980 2011-04-12 Pavel Feldman <pfeldman (a] google.com> 23981 23982 Reviewed by Yury Semikhatsky. 23983 23984 Web Inspector: document runtime agent, share remote object definition between domains. 23985 https://bugs.webkit.org/show_bug.cgi?id=58246 23986 23987 * inspector/Inspector.json: 23988 23989 2011-04-12 Pavel Feldman <pfeldman (a] google.com> 23990 23991 Reviewed by Yury Semikhatsky. 23992 23993 Web Inspector: document console domain, support cross-domain type references. 23994 https://bugs.webkit.org/show_bug.cgi?id=58240 23995 23996 * inspector/ConsoleMessage.cpp: 23997 (WebCore::messageSourceValue): 23998 (WebCore::messageTypeValue): 23999 (WebCore::messageLevelValue): 24000 (WebCore::ConsoleMessage::addToFrontend): 24001 * inspector/Inspector.json: 24002 * inspector/ScriptCallFrame.cpp: 24003 (WebCore::ScriptCallFrame::buildInspectorObject): 24004 * inspector/front-end/ConsoleView.js: 24005 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded): 24006 (WebInspector.ConsoleMessage): 24007 (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement): 24008 (WebInspector.ConsoleMessage.prototype.isEqual): 24009 * inspector/front-end/NetworkManager.js: 24010 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): 24011 * inspector/generate-inspector-idl: 24012 * page/Console.h: 24013 24014 2011-04-06 Philippe Normand <pnormand (a] igalia.com> 24015 24016 Reviewed by Martin Robinson. 24017 24018 [GStreamer] RTSP playback broken 24019 https://bugs.webkit.org/show_bug.cgi?id=56930 24020 24021 Rely on {audio,video}-changed playbin2 signals instead of the 24022 -tags-changed signals because some media don't provide tags and 24023 then can trick the media-player to not paint video, for instance. 24024 24025 Also trigger a video size calculation after the video sink 24026 negotiated its caps. This is useful in the cases where 24027 audio-changed signal is emitted but the video sink takes more time 24028 to negociate caps with its peer. 24029 24030 This patch also fixes the rtsp manual-test with a new stream url 24031 which seems to be more permanent than the previous WWDC keynote 24032 stream. 24033 24034 * manual-tests/video-rtsp.html: 24035 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 24036 (WebCore::mediaPlayerPrivateVideoChangedCallback): 24037 (WebCore::mediaPlayerPrivateAudioChangedCallback): 24038 (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback): 24039 (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback): 24040 (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): 24041 (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): 24042 (WebCore::MediaPlayerPrivateGStreamer::naturalSize): 24043 (WebCore::MediaPlayerPrivateGStreamer::videoChanged): 24044 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo): 24045 (WebCore::MediaPlayerPrivateGStreamer::audioChanged): 24046 (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio): 24047 (WebCore::MediaPlayerPrivateGStreamer::paint): 24048 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 24049 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 24050 24051 2011-04-12 Vsevolod Vlasov <vsevik (a] chromium.org> 24052 24053 Reviewed by Pavel Feldman. 24054 24055 Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel. 24056 https://bugs.webkit.org/show_bug.cgi?id=58135 24057 24058 Added statuses for failed/canceled resource loading. 24059 24060 * English.lproj/localizedStrings.js: 24061 * inspector/Inspector.json: 24062 * inspector/InspectorResourceAgent.cpp: 24063 (WebCore::InspectorResourceAgent::didFailLoading): 24064 * inspector/front-end/NetworkManager.js: 24065 * inspector/front-end/NetworkPanel.js: 24066 * inspector/front-end/Resource.js: 24067 24068 2011-04-12 Steve Block <steveblock (a] google.com> 24069 24070 Reviewed by Oliver Hunt. 24071 24072 Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks 24073 https://bugs.webkit.org/show_bug.cgi?id=40012 24074 24075 Covered by fast/dom/Geolocation/argument-types.html 24076 24077 * bindings/js/CallbackFunction.cpp: 24078 (WebCore::checkFunctionOnlyCallback): 24079 24080 2011-04-07 Philippe Normand <pnormand (a] igalia.com> 24081 24082 Reviewed by Martin Robinson. 24083 24084 [GStreamer] report playback statistics 24085 https://bugs.webkit.org/show_bug.cgi?id=58033 24086 24087 Provide media playback statistics using fpsdisplaysink and 24088 position queries. 24089 24090 * manual-tests/video-statistics.html: Added. 24091 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 24092 (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount): 24093 (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount): 24094 (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount): 24095 (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount): 24096 (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink): 24097 (WebCore::MediaPlayerPrivateGStreamer::updateStates): 24098 (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): 24099 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 24100 24101 2011-04-11 Philippe Normand <pnormand (a] igalia.com> 24102 24103 Reviewed by Martin Robinson. 24104 24105 [GStreamer] warnings in media/video-set-rate-from-pause.html 24106 https://bugs.webkit.org/show_bug.cgi?id=58220 24107 24108 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 24109 (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the 24110 pipeline if new rate is zero, like advised in the GStreamer 24111 documentation of gst_event_new_seek(). 24112 24113 2011-04-11 Vangelis Kokkevis <vangelis (a] chromium.org> 24114 24115 Reviewed by James Robinson. 24116 24117 [chromium] Properly invalidate the contents of ImageLayerChromium's 24118 when the actual image contents change. 24119 https://bugs.webkit.org/show_bug.cgi?id=58181 24120 24121 Test: compositing/images/content-image-change.html 24122 24123 * platform/graphics/chromium/ContentLayerChromium.cpp: 24124 (WebCore::ContentLayerChromium::updateTexture): 24125 * platform/graphics/chromium/ImageLayerChromium.cpp: 24126 (WebCore::ImageLayerChromium::ImageLayerChromium): 24127 (WebCore::ImageLayerChromium::setContents): 24128 (WebCore::ImageLayerChromium::paintContentsIfDirty): 24129 * platform/graphics/chromium/ImageLayerChromium.h: 24130 24131 2011-04-11 Simon Fraser <simon.fraser (a] apple.com> 24132 24133 Reviewed by Dan Bernstein. 24134 24135 -webkit-box-shadow:inset does not animate transform as an inset shadow 24136 https://bugs.webkit.org/show_bug.cgi?id=45176 24137 24138 Two fixes: 24139 1. Don't run transitions between different shadow styles (normal vs. inset). 24140 2. When either source or destination is null, use a default shadow with a 24141 matching style so that the transition runs. 24142 24143 Test: transitions/mismatched-shadow-styles.html 24144 24145 * page/animation/AnimationBase.cpp: 24146 (WebCore::blendFunc): 24147 (WebCore::PropertyWrapperShadow::blend): 24148 24149 2011-04-11 John Bates <jbates (a] google.com> 24150 24151 Reviewed by Kenneth Russell. 24152 24153 chromium support for glSetLatch and glWaitLatch between 3D contexts 24154 https://bugs.webkit.org/show_bug.cgi?id=58003 24155 24156 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 24157 (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium): 24158 (WebCore::Canvas2DLayerChromium::setDrawingBuffer): 24159 (WebCore::Canvas2DLayerChromium::setLayerRenderer): 24160 * platform/graphics/chromium/Canvas2DLayerChromium.h: 24161 * platform/graphics/chromium/Extensions3DChromium.h: 24162 * platform/graphics/chromium/GLES2Canvas.cpp: 24163 (WebCore::Cubic::Cubic): 24164 * platform/graphics/chromium/LayerRendererChromium.cpp: 24165 (WebCore::LayerRendererChromium::LayerRendererChromium): 24166 (WebCore::LayerRendererChromium::updateAndDrawLayers): 24167 (WebCore::LayerRendererChromium::updateLayers): 24168 (WebCore::LayerRendererChromium::addChildContext): 24169 (WebCore::LayerRendererChromium::removeChildContext): 24170 * platform/graphics/chromium/LayerRendererChromium.h: 24171 * platform/graphics/chromium/WebGLLayerChromium.cpp: 24172 (WebCore::WebGLLayerChromium::~WebGLLayerChromium): 24173 (WebCore::WebGLLayerChromium::updateCompositorResources): 24174 (WebCore::WebGLLayerChromium::setContext): 24175 (WebCore::WebGLLayerChromium::setLayerRenderer): 24176 * platform/graphics/chromium/WebGLLayerChromium.h: 24177 24178 2011-04-11 Alexey Marinichev <amarinichev (a] chromium.org> 24179 24180 Reviewed by James Robinson. 24181 24182 LayerChromium/CCLayerImpl ownership fix 24183 https://bugs.webkit.org/show_bug.cgi?id=58283 24184 24185 CCLayerImpl's m_owner field lifetime should match the lifetime of the 24186 corresponding LayerChromium. This change moves resetting of m_owner 24187 into LayerChromium's destructor. 24188 24189 Tested similarly to bug 57577. 24190 24191 * platform/graphics/chromium/LayerChromium.cpp: 24192 (WebCore::LayerChromium::~LayerChromium): 24193 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 24194 (WebCore::CCLayerImpl::cleanupResources): 24195 * platform/graphics/chromium/cc/CCLayerImpl.h: 24196 (WebCore::CCLayerImpl::resetOwner): 24197 24198 2011-04-11 Daniel Bates <dbates (a] rim.com> 24199 24200 Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527> 24201 (https://bugs.webkit.org/show_bug.cgi?id=53556). 24202 24203 * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources. 24204 24205 2011-04-11 Brady Eidson <beidson (a] apple.com> 24206 24207 Reviewed by Maciej Stachowiak. 24208 24209 <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072 24210 URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history 24211 24212 Test: fast/loader/stateobjects/state-url-sets-links-visited.html 24213 24214 * loader/HistoryController.cpp: 24215 (WebCore::HistoryController::pushState): Notify the history client and add the visited link. 24216 (WebCore::HistoryController::replaceState): Ditto. 24217 24218 2011-04-11 Dimitri Glazkov <dglazkov (a] chromium.org> 24219 24220 Reviewed by Eric Carlson. 24221 24222 Rename MediaControls to MediaControlRootElement. 24223 https://bugs.webkit.org/show_bug.cgi?id=58250 24224 24225 Mechanical move using do-webcore-rename. 24226 24227 2011-04-11 Dean Jackson <dino (a] apple.com> 24228 24229 Reviewed by Simon Fraser. 24230 24231 https://bugs.webkit.org/show_bug.cgi?id=58285 24232 CompositeAnimation is cleared while an AnimationBase is waiting for notification 24233 24234 Occasionally hardware animations would trigger a state where 24235 they would tell the AnimationControllerPrivate that it should notify 24236 any waiting animations that they are ready to start, even though 24237 the RenderObject had gone away and hence the CompositeAnimation 24238 had been destroyed. The fix is to zero the pointer from AnimationBase 24239 when the CompositeAnimation destructor runs (or its animations are 24240 cleared) and test the validity of the CompositeAnimation before it 24241 is used in AnimationBase. 24242 24243 * page/animation/AnimationBase.cpp: 24244 (WebCore::AnimationBase::updateStateMachine): 24245 (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 24246 (WebCore::AnimationBase::updatePlayState): 24247 (WebCore::AnimationBase::freezeAtTime): 24248 (WebCore::AnimationBase::beginAnimationUpdateTime): 24249 - test that the CompositeAnimation exists 24250 * page/animation/AnimationBase.h: 24251 (WebCore::AnimationBase::clear): 24252 - rename clearRenderer() to clear() as it now also clears the CompositeAnimation 24253 * page/animation/CompositeAnimation.cpp: 24254 (WebCore::CompositeAnimation::clearRenderer): 24255 (WebCore::CompositeAnimation::updateKeyframeAnimations): 24256 - call clear() rather than clearRenderer() 24257 24258 2011-04-11 Justin Novosad <junov (a] chromium.org> 24259 24260 Reviewed by Kenneth Russell. 24261 24262 [Chromium] Text anti-aliasing fails when rendering text with shadow 24263 https://bugs.webkit.org/show_bug.cgi?id=57584 24264 24265 * platform/graphics/chromium/FontChromiumWin.cpp: 24266 (WebCore::drawGlyphsWin): new static function, code factored-out 24267 from WebCore::Font::drawGlyphs 24268 (WebCore::Font::drawGlyphs): may separate font rendering into two 24269 passes to allow foreground glyphs to be rendered with GDI when Skia 24270 is required for rendering shadows 24271 * platform/graphics/skia/SkiaFontWin.cpp: 24272 (WebCore::windowsCanHandleDrawTextShadow): 24273 Modified method so that it does not assume a shadow is present, and 24274 returns true if there is no shadow (GDI can draw 'no shadow') 24275 (WebCore::windowsCanHandleTextDrawing): 24276 Factored out into sub methods so that the the shadow and foregound 24277 glyph properties can be tested separately independently. 24278 (WebCore::windowsCanHandleTextDrawingWithoutShadow): 24279 New method returns true if the foreground glyph only has effect 24280 that can be draw with GDI 24281 (WebCore::paintSkiaText): 24282 * platform/graphics/skia/SkiaFontWin.h: 24283 24284 2011-04-11 Ryosuke Niwa <rniwa (a] webkit.org> 24285 24286 Unreviewed, rolling out r83515. 24287 http://trac.webkit.org/changeset/83515 24288 https://bugs.webkit.org/show_bug.cgi?id=57178 24289 24290 Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp. 24291 24292 * rendering/InlineBox.cpp: 24293 (WebCore::InlineBox::nextOnLineExists): 24294 (WebCore::InlineBox::prevOnLineExists): 24295 * rendering/InlineBox.h: 24296 (WebCore::InlineBox::InlineBox): 24297 24298 2011-04-11 Brady Eidson <beidson (a] apple.com> 24299 24300 Reverting, seeing something else still broken. Sorry. 24301 24302 * html/HTMLTrackElement.cpp: 24303 24304 2011-04-11 Brady Eidson <beidson (a] apple.com> 24305 24306 Fix the build. 24307 24308 * html/HTMLTrackElement.cpp: Case-sensitive, please. 24309 24310 2011-04-11 Alexis Menard <alexis.menard (a] openbossa.org> 24311 24312 Unreviewed build fix for Mac. 24313 24314 An idl file was added in the wrong place. 24315 24316 * WebCore.xcodeproj/project.pbxproj: 24317 24318 2011-04-11 Chris Marrin <cmarrin (a] apple.com> 24319 24320 Rubberstamped by Dan Bernstein. 24321 24322 xhr.responseType = 'arraybuffer' works on Mac but not on Windows 24323 https://bugs.webkit.org/show_bug.cgi?id=50334 24324 24325 Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends 24326 are always turned on now, so there's not need for the guard. I reenabled the 24327 test that was Skipped on Windows and it works now. 24328 24329 * bindings/js/JSXMLHttpRequestCustom.cpp: 24330 (WebCore::JSXMLHttpRequest::markChildren): 24331 (WebCore::JSXMLHttpRequest::send): 24332 (WebCore::JSXMLHttpRequest::response): 24333 * xml/XMLHttpRequest.cpp: 24334 (WebCore::XMLHttpRequest::responseArrayBuffer): 24335 (WebCore::XMLHttpRequest::setResponseType): 24336 (WebCore::XMLHttpRequest::send): 24337 (WebCore::XMLHttpRequest::clearResponseBuffers): 24338 (WebCore::XMLHttpRequest::didReceiveData): 24339 * xml/XMLHttpRequest.h: 24340 (WebCore::XMLHttpRequest::optionalResponseArrayBuffer): 24341 24342 2011-04-11 Anna Cavender <annacc (a] chromium.org> 24343 24344 Reviewed by Eric Carlson. 24345 24346 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement 24347 https://bugs.webkit.org/show_bug.cgi?id=53556 24348 24349 No new tests. No real functionality added just yet. 24350 24351 * CMakeLists.txt: 24352 * CodeGenerators.pri: 24353 * Configurations/FeatureDefines.xcconfig: 24354 * DerivedSources.make: 24355 * GNUmakefile.am: 24356 * GNUmakefile.list.am: 24357 * WebCore.gypi: 24358 * WebCore.xcodeproj/project.pbxproj: 24359 * features.pri: 24360 * html/HTMLAttributeNames.in: 24361 * html/HTMLTagNames.in: 24362 * html/HTMLTrackElement.cpp: Added. 24363 (WebCore::HTMLTrackElement::HTMLTrackElement): 24364 (WebCore::HTMLTrackElement::create): 24365 (WebCore::HTMLTrackElement::insertedIntoTree): 24366 (WebCore::HTMLTrackElement::willRemove): 24367 (WebCore::HTMLTrackElement::src): 24368 (WebCore::HTMLTrackElement::setSrc): 24369 (WebCore::HTMLTrackElement::kind): 24370 (WebCore::HTMLTrackElement::setKind): 24371 (WebCore::HTMLTrackElement::srclang): 24372 (WebCore::HTMLTrackElement::setSrclang): 24373 (WebCore::HTMLTrackElement::label): 24374 (WebCore::HTMLTrackElement::setLabel): 24375 (WebCore::HTMLTrackElement::isDefault): 24376 (WebCore::HTMLTrackElement::setIsDefault): 24377 (WebCore::HTMLTrackElement::isURLAttribute): 24378 * html/HTMLTrackElement.h: Added. 24379 * html/HTMLTrackElement.idl: Added. 24380 24381 2011-04-11 Ben Taylor <bentaylor.solx86 (a] gmail.com> 24382 24383 Reviewed by David Levin. 24384 24385 https://bugs.webkit.org/show_bug.cgi?id=57535 24386 24387 Better compile fix for Solaris 10/Sun Studio 12 CC 24388 needing <sys/time.h> 24389 24390 * loader/icon/IconRecord.h: 24391 * page/Page.h: 24392 * platform/network/ResourceResponseBase.h: 24393 24394 2011-04-11 Alexey Proskuryakov <ap (a] apple.com> 24395 24396 Reviewed by Maciej Stachowiak. 24397 24398 WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut 24399 https://bugs.webkit.org/show_bug.cgi?id=58265 24400 <rdar://problem/9221468> 24401 24402 * page/EventHandler.cpp: 24403 (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace. 24404 (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for 24405 other modifiers - no one wants to scroll on Ctrl+Alt+Space and such. 24406 (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace 24407 goes forward. All browsers do it. 24408 (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called 24409 for a correct event. 24410 (WebCore::EventHandler::defaultTabEventHandler): Ditto. 24411 24412 * page/EventHandler.h: Added defaultBackspaceEventHandler. 24413 24414 2011-04-11 Matthew Delaney <mdelaney (a] apple.com> 24415 24416 Reviewed by Dan Bernstein. 24417 24418 [CG] drawImage with a subimage bleeds pixel data at borders 24419 https://bugs.webkit.org/show_bug.cgi?id=58267 24420 24421 Test: fast/canvas/DrawImageSinglePixelStretch.html 24422 24423 * platform/graphics/cg/ImageCG.cpp: 24424 (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now. 24425 24426 2011-04-11 Chris Marrin <cmarrin (a] apple.com> 24427 24428 Reviewed by Simon Fraser. 24429 24430 iframe/compositing propagation should also work for <object> and framesets 24431 https://bugs.webkit.org/show_bug.cgi?id=39037 24432 24433 Generalized the code that handles the parenting of composited <iframe> elements 24434 to include <frame> and <object> elements. This includes forcing the parent 24435 element to be composited and constructing the layer tree in the child document 24436 and properly parenting it. Much of the change is giving the function calls more 24437 generic names (from ...IFrame... to ...Frame...) 24438 24439 Compositing tests that were done in RenderIFrame have been moved to RenderPart 24440 since this is the highest base class common to all 3 elements. 24441 24442 I also renamed several ...IFrame... functions to 24443 ...Frame... and changed them so they work on a RenderPart for determining 24444 if the renderer is composited. One other detail is that <iframe> and 24445 <object> never share style since they might be composited. I had to add 24446 <frame> to that list. 24447 24448 Tests: compositing/framesets/composited-frame-alignment.html 24449 compositing/objects/composited-object-alignment.html 24450 24451 * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited. 24452 (WebCore::CSSStyleSelector::canShareStyleWithElement): 24453 * page/FrameView.cpp: 24454 (WebCore::FrameView::hasCompositedContentIncludingDescendants): 24455 (WebCore::FrameView::setIsOverlapped): 24456 * rendering/RenderIFrame.cpp: Moved methods to RenderPart 24457 * rendering/RenderIFrame.h: 24458 * rendering/RenderLayerBacking.cpp: 24459 (WebCore::RenderLayerBacking::updateAfterWidgetResize): 24460 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 24461 (WebCore::RenderLayerBacking::paintingGoesToWindow): 24462 * rendering/RenderLayerCompositor.cpp: 24463 (WebCore::RenderLayerCompositor::updateBacking): 24464 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 24465 (WebCore::RenderLayerCompositor::frameContentsCompositor): 24466 (WebCore::RenderLayerCompositor::parentFrameContentLayers): 24467 (WebCore::RenderLayerCompositor::didMoveOnscreen): 24468 (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): 24469 (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame): 24470 (WebCore::RenderLayerCompositor::enclosingFrameElement): 24471 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 24472 (WebCore::RenderLayerCompositor::requiresCompositingForFrame): 24473 (WebCore::RenderLayerCompositor::requiresScrollLayer): 24474 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 24475 (WebCore::RenderLayerCompositor::attachRootPlatformLayer): 24476 (WebCore::RenderLayerCompositor::detachRootPlatformLayer): 24477 * rendering/RenderLayerCompositor.h: 24478 * rendering/RenderPart.cpp: Functions moved from RenderIFrame 24479 (WebCore::RenderPart::requiresLayer): 24480 (WebCore::RenderPart::requiresAcceleratedCompositing): 24481 * rendering/RenderPart.h: 24482 24483 2011-04-11 Yael Aharon <yael.aharon (a] nokia.com> 24484 24485 Reviewed by Eric Seidel. 24486 24487 InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed 24488 https://bugs.webkit.org/show_bug.cgi?id=57178 24489 24490 Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore. 24491 No new tests needed because this is cleanup only. 24492 24493 * rendering/InlineBox.cpp: 24494 * rendering/InlineBox.h: 24495 (WebCore::InlineBox::InlineBox): 24496 (WebCore::InlineBox::setPrevOnLine): 24497 24498 2011-04-11 David Hyatt <hyatt (a] apple.com> 24499 24500 Reviewed by Dan Bernstein. 24501 24502 https://bugs.webkit.org/show_bug.cgi?id=58261 24503 24504 Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over 24505 to the new overflow model, I messed up the math and passed a bottom value where I should have 24506 passed a height value. This patch fixes the code to be logically equivalent to the way it 24507 was prior to my changes. 24508 24509 Added fast/overflow/trailing-float-linebox.html. 24510 24511 * rendering/RenderBlockLineLayout.cpp: 24512 (WebCore::RenderBlock::layoutInlineChildren): 24513 24514 2011-04-11 Adrienne Walker <enne (a] google.com> 24515 24516 Unreviewed, rolling out r83500. 24517 http://trac.webkit.org/changeset/83500 24518 https://bugs.webkit.org/show_bug.cgi?id=57113 24519 24520 Regresses huge-layer-rotated test 24521 24522 * platform/graphics/chromium/ContentLayerChromium.cpp: 24523 (WebCore::ContentLayerChromium::ContentLayerChromium): 24524 (WebCore::ContentLayerChromium::~ContentLayerChromium): 24525 (WebCore::ContentLayerChromium::cleanupResources): 24526 (WebCore::ContentLayerChromium::requiresClippedUpdateRect): 24527 (WebCore::ContentLayerChromium::paintContentsIfDirty): 24528 (WebCore::ContentLayerChromium::resizeUploadBuffer): 24529 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 24530 (WebCore::ContentLayerChromium::updateTexture): 24531 (WebCore::ContentLayerChromium::draw): 24532 (WebCore::ContentLayerChromium::updateCompositorResources): 24533 (WebCore::ContentLayerChromium::unreserveContentsTexture): 24534 (WebCore::ContentLayerChromium::bindContentsTexture): 24535 (WebCore::ContentLayerChromium::dumpLayerProperties): 24536 * platform/graphics/chromium/ContentLayerChromium.h: 24537 (WebCore::ContentLayerChromium::drawsContent): 24538 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 24539 (WebCore::GraphicsLayerChromium::setMaskLayer): 24540 * platform/graphics/chromium/ImageLayerChromium.cpp: 24541 (WebCore::ImageLayerChromium::paintContentsIfDirty): 24542 (WebCore::ImageLayerChromium::updateTextureIfNeeded): 24543 * platform/graphics/chromium/ImageLayerChromium.h: 24544 * platform/graphics/chromium/LayerChromium.h: 24545 (WebCore::LayerChromium::draw): 24546 * platform/graphics/chromium/LayerRendererChromium.cpp: 24547 (WebCore::LayerRendererChromium::drawRootLayer): 24548 (WebCore::LayerRendererChromium::drawLayers): 24549 (WebCore::LayerRendererChromium::paintContentsRecursive): 24550 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay): 24551 (WebCore::LayerRendererChromium::drawLayer): 24552 (WebCore::LayerRendererChromium::initializeSharedObjects): 24553 (WebCore::LayerRendererChromium::cleanupSharedObjects): 24554 * platform/graphics/chromium/LayerRendererChromium.h: 24555 (WebCore::LayerRendererChromium::contentLayerProgram): 24556 * platform/graphics/chromium/LayerTilerChromium.cpp: 24557 (WebCore::LayerTilerChromium::invalidateRect): 24558 (WebCore::LayerTilerChromium::update): 24559 (WebCore::LayerTilerChromium::updateFromPixels): 24560 (WebCore::LayerTilerChromium::draw): 24561 * platform/graphics/chromium/LayerTilerChromium.h: 24562 * platform/graphics/chromium/PlatformCanvas.cpp: 24563 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 24564 (WebCore::PlatformCanvas::Painter::Painter): 24565 * platform/graphics/chromium/PlatformCanvas.h: 24566 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 24567 (WebCore::RenderSurfaceChromium::draw): 24568 * platform/graphics/chromium/RenderSurfaceChromium.h: 24569 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: 24570 (WebCore::CCCanvasLayerImpl::draw): 24571 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: 24572 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 24573 (WebCore::CCHeadsUpDisplay::draw): 24574 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 24575 (WebCore::CCLayerImpl::draw): 24576 * platform/graphics/chromium/cc/CCLayerImpl.h: 24577 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: 24578 (WebCore::CCPluginLayerImpl::draw): 24579 * platform/graphics/chromium/cc/CCPluginLayerImpl.h: 24580 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: 24581 (WebCore::CCVideoLayerImpl::draw): 24582 * platform/graphics/chromium/cc/CCVideoLayerImpl.h: 24583 24584 2011-04-11 Jon Honeycutt <jhoneycutt (a] apple.com> 24585 24586 <rdar://problem/9267042> Assertion failure on launch in 24587 LayerChangesFlusher::setHook(). 24588 24589 https://bugs.webkit.org/show_bug.cgi?id=58270 24590 24591 Reviewed by Adam Roben. 24592 24593 * platform/graphics/ca/win/LayerChangesFlusher.cpp: 24594 (WebCore::LayerChangesFlusher::setHook): 24595 MSDN says that the HINSTANCE passed in must be null if the thread ID 24596 passed is a thread created by this process and the hook procedure is 24597 within this process. 24598 24599 2011-04-11 MORITA Hajime <morrita (a] google.com> 24600 24601 Unreviewed build fix. 24602 24603 Changeset 83492 broke Leopard build. 24604 https://bugs.webkit.org/show_bug.cgi?id=58268 24605 24606 * editing/Editor.cpp: 24607 (WebCore::Editor::markMisspellingsAfterTypingToWord): 24608 24609 2011-03-25 Adrienne Walker <enne (a] google.com> 24610 24611 Reviewed by James Robinson. 24612 24613 [chromium] Tile content and image layers 24614 https://bugs.webkit.org/show_bug.cgi?id=57113 24615 24616 Layers tile by default if any dimension is larger than 512. Smaller 24617 layers are contained within a single texture but still use the tiler 24618 infrastructure so that there's only one code path. 24619 24620 Remove large layer support from content layers. Content layers no 24621 longer own a platform canvas--they own a tiler. Refactor tiler to 24622 allow for better separation of update/upload/paint. Add rect 24623 parameter to update and draw functions on layers for the layer-space 24624 rect of interest. This is necessary to know which tiles need to be 24625 drawn. 24626 24627 * platform/graphics/chromium/ContentLayerChromium.cpp: 24628 (WebCore::ContentLayerChromium::ContentLayerChromium): 24629 (WebCore::ContentLayerChromium::~ContentLayerChromium): 24630 (WebCore::ContentLayerPainter::ContentLayerPainter): 24631 (WebCore::ContentLayerPainter::paint): 24632 (WebCore::ContentLayerChromium::paintContentsIfDirty): 24633 (WebCore::ContentLayerChromium::setLayerRenderer): 24634 (WebCore::ContentLayerChromium::tilingTransform): 24635 (WebCore::ContentLayerChromium::visibleLayerRect): 24636 (WebCore::ContentLayerChromium::layerBounds): 24637 (WebCore::ContentLayerChromium::updateLayerSize): 24638 (WebCore::ContentLayerChromium::draw): 24639 (WebCore::ContentLayerChromium::createTilerIfNeeded): 24640 (WebCore::ContentLayerChromium::updateCompositorResources): 24641 (WebCore::ContentLayerChromium::setTilingOption): 24642 (WebCore::ContentLayerChromium::bindContentsTexture): 24643 (WebCore::ContentLayerChromium::unreserveContentsTexture): 24644 (WebCore::ContentLayerChromium::setIsMask): 24645 (WebCore::ContentLayerChromium::dumpLayerProperties): 24646 * platform/graphics/chromium/ContentLayerChromium.h: 24647 (WebCore::ContentLayerChromium::drawsContent): 24648 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 24649 (WebCore::GraphicsLayerChromium::setMaskLayer): 24650 * platform/graphics/chromium/ImageLayerChromium.cpp: 24651 (WebCore::ImageLayerChromium::paintContentsIfDirty): 24652 (WebCore::ImageLayerChromium::updateCompositorResources): 24653 (WebCore::ImageLayerChromium::layerBounds): 24654 (WebCore::ImageLayerChromium::tilingTransform): 24655 * platform/graphics/chromium/ImageLayerChromium.h: 24656 * platform/graphics/chromium/LayerChromium.h: 24657 (WebCore::LayerChromium::invalidateRect): 24658 (WebCore::LayerChromium::paintContentsIfDirty): 24659 (WebCore::LayerChromium::setIsMask): 24660 (WebCore::LayerChromium::draw): 24661 * platform/graphics/chromium/LayerRendererChromium.cpp: 24662 (WebCore::LayerRendererChromium::drawRootLayer): 24663 (WebCore::LayerRendererChromium::drawLayers): 24664 (WebCore::LayerRendererChromium::paintContentsRecursive): 24665 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay): 24666 (WebCore::LayerRendererChromium::drawLayer): 24667 (WebCore::LayerRendererChromium::initializeSharedObjects): 24668 (WebCore::LayerRendererChromium::cleanupSharedObjects): 24669 * platform/graphics/chromium/LayerRendererChromium.h: 24670 * platform/graphics/chromium/LayerTilerChromium.cpp: 24671 (WebCore::LayerTilerChromium::getSingleTexture): 24672 (WebCore::LayerTilerChromium::invalidateRect): 24673 (WebCore::LayerTilerChromium::update): 24674 (WebCore::LayerTilerChromium::uploadCanvas): 24675 (WebCore::LayerTilerChromium::updateFromPixels): 24676 (WebCore::LayerTilerChromium::draw): 24677 (WebCore::LayerTilerChromium::unreserveTextures): 24678 * platform/graphics/chromium/LayerTilerChromium.h: 24679 (WebCore::LayerTilerChromium::setLayerRenderer): 24680 (WebCore::LayerTilerChromium::skipsDraw): 24681 * platform/graphics/chromium/PlatformCanvas.cpp: 24682 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 24683 (WebCore::PlatformCanvas::Painter::Painter): 24684 * platform/graphics/chromium/PlatformCanvas.h: 24685 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 24686 (WebCore::RenderSurfaceChromium::draw): 24687 * platform/graphics/chromium/RenderSurfaceChromium.h: 24688 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: 24689 (WebCore::CCCanvasLayerImpl::draw): 24690 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: 24691 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 24692 (WebCore::CCHeadsUpDisplay::draw): 24693 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 24694 (WebCore::CCLayerImpl::draw): 24695 * platform/graphics/chromium/cc/CCLayerImpl.h: 24696 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: 24697 (WebCore::CCPluginLayerImpl::draw): 24698 * platform/graphics/chromium/cc/CCPluginLayerImpl.h: 24699 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: 24700 (WebCore::CCVideoLayerImpl::draw): 24701 * platform/graphics/chromium/cc/CCVideoLayerImpl.h: 24702 24703 2011-04-11 Eric Carlson <eric.carlson (a] apple.com> 24704 24705 Reviewed by Simon Fraser. 24706 24707 Ignore context change callbacks when not on the main thread 24708 https://bugs.webkit.org/show_bug.cgi?id=58256 24709 <rdar://problem/9266090> 24710 24711 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: 24712 (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called 24713 on the main thread. This should only happen when no changes have actually 24714 been committed to the context, eg. when a video frame has been added to an image 24715 queue, so return without triggering animations etc. 24716 24717 2011-04-11 Daniel Cheng <dcheng (a] chromium.org> 24718 24719 Reviewed by Dmitry Titov. 24720 24721 [chromium] Implement image/png support in DataTransferItems 24722 https://bugs.webkit.org/show_bug.cgi?id=58106 24723 24724 This patch implements DataTransferItem::getAsFile() using Blobs. In 24725 addition, plumbing for image/png has been added so image paste will be 24726 supported as long as the renderer makes that data available. 24727 24728 Tests: editing/pasteboard/data-transfer-items-image-png.html 24729 24730 * dom/DataTransferItem.h: 24731 * dom/DataTransferItem.idl: 24732 * platform/chromium/ClipboardMimeTypes.cpp: 24733 * platform/chromium/ClipboardMimeTypes.h: 24734 * platform/chromium/DataTransferItemChromium.cpp: 24735 (WebCore::DataTransferItemChromium::getAsString): 24736 (WebCore::DataTransferItemChromium::getAsFile): 24737 * platform/chromium/DataTransferItemChromium.h: 24738 * platform/chromium/PlatformBridge.h: 24739 24740 2011-04-11 Mario Sanchez Prada <msanchez (a] igalia.com> 24741 24742 Reviewed by Chris Fleizach. 24743 24744 [Gtk] Implement support for Embedded Objects 24745 https://bugs.webkit.org/show_bug.cgi?id=52148 24746 24747 Expose special OBJECT character for replaced elements, implementing 24748 AtkText and AtkHyperlink when required. 24749 24750 * accessibility/AccessibilityRenderObject.cpp: 24751 (WebCore::textIteratorBehaviorForTextRange): New helper function, 24752 to return the right behavior, depending on the platform, so it 24753 ensures that object replacement characters get emitted for GTK. 24754 (WebCore::AccessibilityRenderObject::textUnderElement): Use the 24755 new helper function textIteratorBehaviorForTextRange. 24756 (WebCore::AccessibilityRenderObject::stringValue): Ditto. 24757 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): 24758 Consider replaced elements when calculating range length in GTK. 24759 24760 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24761 (textForRenderer): Ouput the 'object replacement character' for 24762 replaced objects. 24763 (getSelectionOffsetsForObject): Consider replaced elements when 24764 calculating range length in GTK. 24765 (webkitAccessibleHypertextGetLink): Remove wrong extra check that 24766 were causing only links to be considered. 24767 (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()' 24768 check with the right one, by checking that the right ATK interface 24769 is being implemented by the AtkObject. 24770 (getInterfaceMaskFromObject): Implement the Hyperlink interface 24771 both for links and replaced objects. 24772 (objectAndOffsetUnignored): Consider replaced elements when 24773 calculating range length in GTK. 24774 24775 * accessibility/gtk/WebKitAccessibleHyperlink.cpp: 24776 (getRangeLengthForObject): Ensure spaces are used for replaced 24777 elements when calling to TextIterator::rangeLength(). 24778 24779 * editing/TextIterator.h: New value in the TextIteratorBehavior 24780 enumeration (TextIteratorEmitsObjectReplacementCharacters) and new 24781 private variable to consider that new option internally. 24782 * editing/TextIterator.cpp: 24783 (WebCore::TextIterator::TextIterator): Initialize the new private 24784 attribute m_emitsObjectReplacementCharacters in constructors. 24785 (WebCore::TextIterator::handleReplacedElement): Emit the 'object 24786 replacement character' when m_emitsObjectReplacementCharacters. 24787 24788 2011-04-11 Jia Pu <jpu (a] apple.com> 24789 24790 Reviewed by Adele Peterson. 24791 24792 Shouldn't carry out autocorrection when start typing a new word 24793 https://bugs.webkit.org/show_bug.cgi?id=58241 24794 <rdar://problem/9264736> 24795 24796 Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html 24797 platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html 24798 24799 In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord() 24800 only when the typing command is an insertion command, and preceding word contains at least one non-whitespace 24801 character. 24802 24803 * editing/Editor.cpp: 24804 (WebCore::Editor::markMisspellingsAfterTypingToWord): 24805 * editing/Editor.h: 24806 * editing/TypingCommand.cpp: 24807 (WebCore::TypingCommand::markMisspellingsAfterTyping): 24808 24809 2011-04-11 Vsevolod Vlasov <vsevik (a] chromium.org> 24810 24811 Reviewed by Pavel Feldman. 24812 24813 PerformanceTiming returns inconsistent values when timing is null. 24814 https://bugs.webkit.org/show_bug.cgi?id=58143 24815 24816 Made PerformanceTiming returned values consistent when there is no timing object. 24817 24818 * page/PerformanceTiming.cpp: 24819 (WebCore::PerformanceTiming::domainLookupStart): 24820 (WebCore::PerformanceTiming::domainLookupEnd): 24821 (WebCore::PerformanceTiming::connectStart): 24822 (WebCore::PerformanceTiming::connectEnd): 24823 (WebCore::PerformanceTiming::requestStart): 24824 (WebCore::PerformanceTiming::responseStart): 24825 (WebCore::PerformanceTiming::domLoading): 24826 24827 2011-04-05 Stephen White <senorblanco (a] chromium.org> 24828 24829 Fix for jittering when animating a rotated image. 24830 https://bugs.webkit.org/show_bug.cgi?id=50775 24831 24832 Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac. 24833 24834 * platform/graphics/cg/GraphicsContextCG.cpp: 24835 (WebCore::GraphicsContext::roundToDevicePixels): 24836 24837 2011-04-06 Xiaomei Ji <xji (a] chromium.org> 24838 24839 Reviewed by Ryosuke Niwa. 24840 24841 Continue experiment with moving caret by word in visual order. 24842 https://bugs.webkit.org/show_bug.cgi?id=57806 24843 24844 This is the 2nd patch, which adds implementation when caret is inside box 24845 (not at boundaries). If the word break is inside the same box and not at the boundaries 24846 either, the word break will be returned. If need to search the adjacent boxes for word 24847 breaks, then, only the cases implemented in bug 57336 work. 24848 24849 * editing/visible_units.cpp: 24850 (WebCore::leftmostPositionInRTLBoxInLTRBlock): 24851 (WebCore::rightmostPositionInLTRBoxInRTLBlock): 24852 (WebCore::lastWordBreakInBox): 24853 (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality): 24854 (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality): 24855 (WebCore::WordBoundaryEntry::WordBoundaryEntry): 24856 (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality): 24857 (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality): 24858 (WebCore::greatestValueUnder): 24859 (WebCore::smallestOffsetAbove): 24860 (WebCore::positionIsInsideBox): 24861 (WebCore::positionBeforeNextWord): 24862 (WebCore::positionAfterPreviousWord): 24863 (WebCore::leftWordPosition): 24864 (WebCore::rightWordPosition): 24865 24866 2011-04-11 Mario Sanchez Prada <msanchez (a] igalia.com> 24867 24868 Reviewed by Chris Fleizach. 24869 24870 [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html 24871 https://bugs.webkit.org/show_bug.cgi?id=58040 24872 24873 Don't expose objects of role SliderThumbRoles in GTK. 24874 24875 * accessibility/AccessibilitySlider.cpp: 24876 (WebCore::AccessibilitySlider::addChildren): Allow the platform 24877 make a final decision before including children in the hierarchy. 24878 (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): 24879 Implemented by relying on accessibilityPlatformIncludesObject(). 24880 24881 * accessibility/gtk/AccessibilityObjectAtk.cpp: 24882 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 24883 Ignore accessibility objects with role SliderThumbRole. 24884 24885 2011-04-11 Simon Fraser <simon.fraser (a] apple.com> 24886 24887 Reviewed by Dan Bernstein. 24888 24889 Divide by zero in calcColumnWidth 24890 https://bugs.webkit.org/show_bug.cgi?id=58230 24891 24892 Test: fast/multicol/huge-column-count.html 24893 24894 Make sure we have at least one column, to avoid divide by zero. 24895 24896 * rendering/RenderBlock.cpp: 24897 (WebCore::RenderBlock::calcColumnWidth): 24898 24899 2011-04-09 Gavin Barraclough <barraclough (a] apple.com> 24900 24901 Reviewed by Sam Weinig. 24902 24903 Bug 58198 - Clean up JSValue implementation for JSVALUE64 24904 24905 JSNumberCell.h has been deprecated. 24906 24907 * ForwardingHeaders/runtime/JSNumberCell.h: Removed. 24908 * bindings/scripts/CodeGeneratorJS.pm: 24909 * bridge/c/c_instance.cpp: 24910 24911 2011-04-11 Dan Bernstein <mitz (a] apple.com> 24912 24913 Build fix. 24914 24915 * html/canvas/CanvasRenderingContext2D.cpp: 24916 (WebCore::CanvasRenderingContext2D::State::State): 24917 24918 2011-04-11 Antti Koivisto <antti (a] apple.com> 24919 24920 Reviewed by Tony Gentilcore. 24921 24922 Document source preload scanned repeatedly 24923 https://bugs.webkit.org/show_bug.cgi?id=58123 24924 24925 Don't clear the preload scanner after execution resumes. This would lose the current 24926 scanning point and lead to rescanning when the preload scanner would get reconstructed 24927 due to main parser blocking again. 24928 24929 Instead clear the scanner only in the specific case of receiving new data while the main 24930 parser has already reached the end of the current input. 24931 24932 Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency. 24933 24934 The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by 24935 http/tests/loading/preload-slow-loading.php. 24936 24937 * html/parser/HTMLDocumentParser.cpp: 24938 (WebCore::HTMLDocumentParser::insert): 24939 (WebCore::HTMLDocumentParser::append): 24940 (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution): 24941 24942 2011-04-11 Dan Bernstein <mitz (a] apple.com> 24943 24944 Build fix. 24945 24946 * html/canvas/CanvasRenderingContext2D.cpp: 24947 (WebCore::CanvasRenderingContext2D::State::State): 24948 24949 2011-04-11 Dan Bernstein <mitz (a] apple.com> 24950 24951 Reviewed by Alexey Proskuryakov. 24952 24953 Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot) 24954 https://bugs.webkit.org/show_bug.cgi?id=58229 24955 24956 * html/canvas/CanvasRenderingContext2D.cpp: 24957 (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with 24958 the font selector if needed. 24959 (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle 24960 registration with the font selector as needed. 24961 * html/canvas/CanvasRenderingContext2D.h: 24962 24963 2011-04-11 Mario Sanchez Prada <msanchez (a] igalia.com> 24964 24965 Reviewed by Chris Fleizach. 24966 24967 [GTK] ARIA tables not exposing cells as HTML tables do 24968 https://bugs.webkit.org/show_bug.cgi?id=57463 24969 24970 Expose cells for ARIA grids consistently with HTML tables in GTK, 24971 keeping the same behaviour for the other platforms. 24972 24973 * accessibility/AccessibilityARIAGrid.cpp: 24974 (WebCore::AccessibilityARIAGrid::addChild): Add the row's children 24975 to the accessibility hierarchy when accessibility objects for rows 24976 are ignoring accessibility, otherwise add the row. 24977 (WebCore::AccessibilityARIAGrid::addChildren): Do not check at 24978 this point whether every child of the table ignores or not 24979 accessibility, letting addChild() make the proper decision later. 24980 24981 * accessibility/AccessibilityARIAGridCell.cpp: 24982 (WebCore::AccessibilityARIAGridCell::parentTable): Consider that 24983 rows could be ignoring accessibility, hence the parent could be 24984 retrieved in the first call to parentObjectUnignored(). 24985 (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto. 24986 (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto.. 24987 24988 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 24989 (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL. 24990 24991 2011-04-11 Sergio Villar Senin <svillar (a] igalia.com> 24992 24993 Reviewed by Martin Robinson. 24994 24995 [GTK] Fix make distcheck 24996 https://bugs.webkit.org/show_bug.cgi?id=58224 24997 24998 Removed a file that is no longer in the source tree. 24999 25000 * GNUmakefile.list.am: 25001 25002 2011-04-11 Dimitri Glazkov <dglazkov (a] chromium.org> 25003 25004 Reviewed by Martin Robinson. 25005 25006 REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified 25007 https://bugs.webkit.org/show_bug.cgi?id=58204 25008 25009 Covered by existing tests. 25010 25011 * platform/gtk/RenderThemeGtk.h: 25012 (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle 25013 the the state of media controls. 25014 25015 2011-04-11 Dimitri Glazkov <dglazkov (a] chromium.org> 25016 25017 Remove obsolete comment, which was mistakenly landed in r83397. 25018 25019 Though potentially a work of art, the comment lost its functional meaning a long time ago. 25020 25021 * html/shadow/MediaControls.cpp: 25022 (WebCore::MediaControls::create): Removed comment. 25023 25024 2011-04-05 Hans Wennborg <hans (a] chromium.org> 25025 25026 Reviewed by Steve Block. 25027 25028 IndexedDB: Introduce skeleton for LevelDB backend 25029 https://bugs.webkit.org/show_bug.cgi?id=57827 25030 25031 No new tests: no new functionality (yet). 25032 25033 * WebCore.gyp/WebCore.gyp: 25034 Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines. 25035 * WebCore.gypi: 25036 Add new files. 25037 * storage/IDBBackingStore.h: 25038 (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier): 25039 Introduce abstract type ObjectStoreRecordIdentifier. The SQLite 25040 backend uses integers to refer to a specific row in a table, but 25041 the LevelDB backend will use something else. 25042 * storage/IDBDatabaseBackendImpl.cpp: 25043 (WebCore::IDBDatabaseBackendImpl::createObjectStore): 25044 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): 25045 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): 25046 (WebCore::IDBDatabaseBackendImpl::loadObjectStores): 25047 Change functions to pass along the database id for operations that 25048 concern object stores. We want to be able to group object stores 25049 ids per database. 25050 * storage/IDBFactoryBackendImpl.cpp: 25051 (WebCore::IDBFactoryBackendImpl::open): 25052 Decide which backend to use based on the backingStoreType 25053 parameter. 25054 * storage/IDBIndexBackendImpl.cpp: 25055 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): 25056 (WebCore::IDBIndexBackendImpl::openCursorInternal): 25057 (WebCore::IDBIndexBackendImpl::getInternal): 25058 (WebCore::IDBIndexBackendImpl::addingKeyAllowed): 25059 * storage/IDBIndexBackendImpl.h: 25060 (WebCore::IDBIndexBackendImpl::create): 25061 Pass database and object store id to backend functions concerning 25062 indexes. 25063 * storage/IDBLevelDBBackingStore.cpp: Added. 25064 (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore): 25065 (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore): 25066 (WebCore::IDBLevelDBBackingStore::open): 25067 (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData): 25068 (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData): 25069 (WebCore::IDBLevelDBBackingStore::getObjectStores): 25070 (WebCore::IDBLevelDBBackingStore::createObjectStore): 25071 (WebCore::IDBLevelDBBackingStore::deleteObjectStore): 25072 (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord): 25073 (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord): 25074 (WebCore::IDBLevelDBBackingStore::clearObjectStore): 25075 (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord): 25076 (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber): 25077 (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore): 25078 (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord): 25079 (WebCore::IDBLevelDBBackingStore::getIndexes): 25080 (WebCore::IDBLevelDBBackingStore::createIndex): 25081 (WebCore::IDBLevelDBBackingStore::deleteIndex): 25082 (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord): 25083 (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord): 25084 (WebCore::IDBLevelDBBackingStore::getObjectViaIndex): 25085 (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex): 25086 (WebCore::IDBLevelDBBackingStore::keyExistsInIndex): 25087 (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor): 25088 (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor): 25089 (WebCore::IDBLevelDBBackingStore::openIndexCursor): 25090 (WebCore::IDBLevelDBBackingStore::createTransaction): 25091 * storage/IDBLevelDBBackingStore.h: Added. 25092 Add an empty implementation of the LevelDB backend. 25093 * storage/IDBObjectStoreBackendImpl.cpp: 25094 Keep track of database id, use the new RecordIdentifier. 25095 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): 25096 (WebCore::IDBObjectStoreBackendImpl::getInternal): 25097 (WebCore::IDBObjectStoreBackendImpl::putInternal): 25098 (WebCore::IDBObjectStoreBackendImpl::deleteInternal): 25099 (WebCore::IDBObjectStoreBackendImpl::clearInternal): 25100 (WebCore::populateIndex): 25101 (WebCore::IDBObjectStoreBackendImpl::createIndex): 25102 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): 25103 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): 25104 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 25105 (WebCore::IDBObjectStoreBackendImpl::loadIndexes): 25106 (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey): 25107 * storage/IDBObjectStoreBackendImpl.h: 25108 (WebCore::IDBObjectStoreBackendImpl::create): 25109 (WebCore::IDBObjectStoreBackendImpl::databaseId): 25110 * storage/IDBSQLiteBackingStore.cpp: 25111 (WebCore::IDBSQLiteBackingStore::open): 25112 (WebCore::IDBSQLiteBackingStore::createObjectStore): 25113 (WebCore::IDBSQLiteBackingStore::deleteObjectStore): 25114 (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord): 25115 (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord): 25116 (WebCore::IDBSQLiteBackingStore::clearObjectStore): 25117 (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord): 25118 (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber): 25119 (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore): 25120 (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord): 25121 (WebCore::IDBSQLiteBackingStore::getIndexes): 25122 (WebCore::IDBSQLiteBackingStore::createIndex): 25123 (WebCore::IDBSQLiteBackingStore::deleteIndex): 25124 (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord): 25125 (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord): 25126 (WebCore::IDBSQLiteBackingStore::getObjectViaIndex): 25127 (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex): 25128 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex): 25129 (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor): 25130 (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor): 25131 (WebCore::IDBSQLiteBackingStore::openIndexCursor): 25132 * storage/IDBSQLiteBackingStore.h: 25133 25134 2011-04-11 Alexander Pavlov <apavlov (a] chromium.org> 25135 25136 Reviewed by Yury Semikhatsky. 25137 25138 Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar 25139 https://bugs.webkit.org/show_bug.cgi?id=58226 25140 25141 * inspector/InspectorStyleSheet.cpp: 25142 (WebCore::InspectorStyle::populateAllProperties): 25143 25144 2011-04-07 Pavel Podivilov <podivilov (a] chromium.org> 25145 25146 Reviewed by Pavel Feldman. 25147 25148 Web Inspector: get rid of source frame delegates for resources panel. 25149 https://bugs.webkit.org/show_bug.cgi?id=58041 25150 25151 Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel. 25152 25153 * inspector/front-end/ResourceView.js: 25154 (WebInspector.ResourceView.createResourceView): 25155 (WebInspector.ResourceView.resourceViewTypeMatchesResource): 25156 (WebInspector.ResourceSourceFrame): 25157 (WebInspector.ResourceSourceFrame.prototype.get resource): 25158 (WebInspector.ResourceSourceFrame.prototype.contentEditable): 25159 (WebInspector.ResourceSourceFrame.prototype._requestContent): 25160 (WebInspector.CSSSourceFrame): 25161 (WebInspector.CSSSourceFrame.prototype.contentEditable): 25162 (WebInspector.CSSSourceFrame.prototype._editContent): 25163 (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos): 25164 (WebInspector.CSSSourceFrame.prototype._saveStyleSheet): 25165 * inspector/front-end/SourceFrame.js: 25166 (WebInspector.SourceFrame.prototype._ensureContentLoaded): 25167 (WebInspector.SourceFrame.prototype._requestContent): 25168 (WebInspector.SourceFrame.prototype._handleSave): 25169 (WebInspector.SourceFrame.prototype._editContent): 25170 25171 2011-04-11 Alexis Menard <alexis.menard (a] openbossa.org> 25172 25173 Reviewed by Andreas Kling. 25174 25175 [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly 25176 https://bugs.webkit.org/show_bug.cgi?id=58076 25177 25178 State_Sunken is more generic than pressed. It is used by items such as frames or 25179 line edits because they are "sunken" frames (e.g. QLineEdit). It can be required 25180 by some style like Oxygen. Therefore only in the mobile theme we check if the object 25181 is pressed. 25182 25183 * platform/qt/RenderThemeQt.cpp: 25184 (WebCore::RenderThemeQt::paintTextField): 25185 25186 2011-04-11 Pavel Feldman <pfeldman (a] chromium.org> 25187 25188 Reviewed by Yury Semikhatsky. 25189 25190 Web Inspector: add support for optional output parameters. 25191 https://bugs.webkit.org/show_bug.cgi?id=58207 25192 25193 Output parameters such as "redirectResponse" are optional, but 25194 do not allow specifying them as such. 25195 25196 * inspector/CodeGeneratorInspector.pm: 25197 * inspector/Inspector.json: 25198 * inspector/InspectorResourceAgent.cpp: 25199 (WebCore::buildObjectForResourceResponse): 25200 (WebCore::buildObjectForCachedResource): 25201 * inspector/front-end/NetworkManager.js: 25202 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 25203 * inspector/generate-inspector-idl: 25204 25205 2011-04-11 Pavel Feldman <pfeldman (a] chromium.org> 25206 25207 Reviewed by Yury Semikhatsky. 25208 25209 Web Inspector: refactor / document call frames in debugger domain. 25210 https://bugs.webkit.org/show_bug.cgi?id=58187 25211 25212 Note that we are not special casing with(element) and with(document) anymore 25213 and do not tell user that it is "Event target" and "Event document". Strictly speaking, 25214 we should not have done it for with(element) not necessarily being related to an event. 25215 25216 * English.lproj/localizedStrings.js: 25217 * inspector/InjectedScriptSource.js: 25218 * inspector/Inspector.json: 25219 * inspector/front-end/ScopeChainSidebarPane.js: 25220 (WebInspector.ScopeChainSidebarPane.prototype.update): 25221 25222 2011-04-10 ChangSeok Oh <shivamidow (a] gmail.com> 25223 25224 Reviewed by Eric Seidel. 25225 25226 Make correspondence of file name related with event to other port. 25227 https://bugs.webkit.org/show_bug.cgi?id=57416 25228 25229 Some file names are changed to make correspondence naming rule. 25230 Keyboard, mouse and wheel event file names for GTK port have been different from other ports. 25231 This has made user hard to find a specific file related with event for GTK port. 25232 25233 No test required. This patch just changes some file names. 25234 25235 * GNUmakefile.list.am: 25236 * platform/gtk/KeyEventGtk.cpp: Removed. 25237 * platform/gtk/MouseEventGtk.cpp: Removed. 25238 * platform/gtk/PlatformKeyboardEventGtk.cpp: Added. 25239 * platform/gtk/PlatformMouseEventGtk.cpp: Added. 25240 * platform/gtk/PlatformWheelEventGtk.cpp: Added. 25241 * platform/gtk/WheelEventGtk.cpp: Removed. 25242 25243 2011-04-10 Simon Fraser <simon.fraser (a] apple.com> 25244 25245 Revert the FloatRect.cpp part of r83422, since 25246 clampToInteger() is broken for some inputs. I filed 25247 https://bugs.webkit.org/show_bug.cgi?id=58216 25248 25249 * platform/graphics/FloatRect.cpp: 25250 (WebCore::safeFloatToInt): 25251 (WebCore::enclosingIntRect): 25252 25253 2011-04-10 Simon Fraser <simon.fraser (a] apple.com> 25254 25255 Reviewed by Maciej Stachowiak. 25256 25257 Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled 25258 https://bugs.webkit.org/show_bug.cgi?id=56660 25259 25260 When overflow on an element changes, we need to inform compositing 25261 layers which create and position an "ancestor clipping" layer based 25262 on that overflow. Do this by triggering a rebuild of compositing layers 25263 when overflow changes on a layer whose stacking context has compositing 25264 descendants. (We can't just check whether the layer itself has compositing 25265 descendants, because overflow follows the render tree, but compositing 25266 follows the z-order tree.) 25267 25268 Test: compositing/geometry/ancestor-overflow-change.html 25269 25270 * rendering/RenderLayer.cpp: 25271 (WebCore::RenderLayer::styleChanged): 25272 * rendering/RenderLayer.h: 25273 * rendering/RenderLayerBacking.cpp: 25274 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 25275 25276 2011-04-10 Simon Fraser <simon.fraser (a] apple.com> 25277 25278 Reviewed by Ariya Hidayat. 25279 25280 Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow 25281 https://bugs.webkit.org/show_bug.cgi?id=58161 25282 25283 ShadowBlur already has a singleton scratch buffer that is re-used 25284 between shadows. Enhance use of this scratch buffer to avoid drawing 25285 and blurring the shadow if the results will match what is already 25286 in the buffer. 25287 25288 Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(), 25289 which ended up with little reusable code after adding the re-use logic. 25290 25291 * platform/graphics/FloatRect.cpp: 25292 (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing 25293 clampToInteger() from MathExtras.h 25294 25295 * platform/graphics/FloatSize.h: 25296 (WebCore::expandedIntSize): New method to safely ceil() the size. 25297 25298 * platform/graphics/RoundedIntRect.h: 25299 Add operator== for Radii and RoundedIntRect. 25300 25301 * platform/graphics/ShadowBlur.cpp: 25302 (WebCore::ScratchBuffer::ScratchBuffer): 25303 (WebCore::ScratchBuffer::setLastShadowValues): 25304 (WebCore::ScratchBuffer::setLastInsetShadowValues): 25305 (WebCore::ScratchBuffer::matchesLastShadow): 25306 (WebCore::ScratchBuffer::matchesLastInsetShadow): 25307 (WebCore::ScratchBuffer::clearScratchBuffer): 25308 Have the scratch buffer remember what shadow parameters were used 25309 to render the buffer contents. 25310 25311 (WebCore::ShadowBlur::drawShadowBuffer): 25312 Renamed from endShadowLayer(), and only contains the drawing 25313 logic now. 25314 25315 (WebCore::ShadowBlur::drawRectShadow): 25316 Promote some code from beginShadowLayer(). 25317 25318 (WebCore::ShadowBlur::drawInsetShadow): 25319 Promote some code from beginShadowLayer(). 25320 25321 (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 25322 (WebCore::ShadowBlur::drawInsetShadowWithoutTiling): 25323 (WebCore::ShadowBlur::drawInsetShadowWithTiling): 25324 (WebCore::ShadowBlur::drawRectShadowWithTiling): 25325 These methods now check to see if the buffer already matches 25326 their required parameters, and avoid work if it does. 25327 25328 (WebCore::ShadowBlur::blurShadowBuffer): 25329 Factored some code into this new method. 25330 25331 (WebCore::ShadowBlur::blurAndColorShadowBuffer): 25332 Minor refactoring. 25333 25334 * platform/graphics/ShadowBlur.h: 25335 25336 2011-04-10 Geoffrey Garen <ggaren (a] apple.com> 25337 25338 Build fix: Updated for file move. 25339 25340 * bindings/js/GCController.cpp: 25341 * bindings/js/ScriptGCEvent.cpp: 25342 25343 2011-04-10 Geoffrey Garen <ggaren (a] apple.com> 25344 25345 Rubber-stamped by Beth Dakin. 25346 25347 Moved Heap.h and Heap.cpp to the heap folder, because anything less 25348 would be uncivilized. 25349 25350 * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h. 25351 * ForwardingHeaders/runtime/Heap.h: Removed. 25352 25353 2011-04-10 Luke Macpherson <macpherson (a] chromium.org> 25354 25355 Reviewed by Simon Fraser. 25356 25357 Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue 25358 https://bugs.webkit.org/show_bug.cgi?id=58212 25359 25360 No new tests - function renaming only / no functionality changes. 25361 25362 * css/CSSStyleApplyProperty.cpp: 25363 Rename all instances of inherit, initial and value. 25364 * css/CSSStyleApplyProperty.h: 25365 Rename all instances of inherit, initial and value. 25366 * css/CSSStyleSelector.cpp: 25367 Rename all instances of inherit, initial and value. 25368 25369 2011-04-10 Mike Lawther <mikelawther (a] chromium.org> 25370 25371 Reviewed by Ojan Vafai. 25372 25373 flex/bison tokens and grammar for CSS calc 25374 https://bugs.webkit.org/show_bug.cgi?id=54412 25375 25376 Tests: css3/calc/calc-errors.html 25377 css3/calc/lexer-regression-57581-2.html 25378 css3/calc/lexer-regression-57581-3.html 25379 css3/calc/lexer-regression-57581.html 25380 css3/calc/minmax-errors.html 25381 css3/calc/nested-rounded-corners.html 25382 css3/calc/simple-calcs.html 25383 css3/calc/simple-minmax.html 25384 25385 * css/CSSGrammar.y: 25386 * css/CSSParserValues.cpp: 25387 (WebCore::CSSParserValueList::insertValueAt): 25388 (WebCore::CSSParserValueList::extend): 25389 * css/CSSParserValues.h: 25390 * css/tokenizer.flex: 25391 25392 2011-04-10 Alice Boxhall <aboxhall (a] chromium.org> 25393 25394 Reviewed by Ryosuke Niwa. 25395 25396 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only. 25397 https://bugs.webkit.org/show_bug.cgi?id=57923 25398 25399 Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult 25400 rather than a Node* and an IntPoint&, as the selection may actually not 25401 extend into the Node found by the HitTest. 25402 25403 No new tests. Refactoring only. 25404 25405 * page/EventHandler.cpp: 25406 (WebCore::EventHandler::handleMouseDraggedEvent): 25407 (WebCore::EventHandler::updateSelectionForMouseDrag): 25408 * page/EventHandler.h: 25409 25410 2011-04-10 Kent Tamura <tkent (a] chromium.org> 25411 25412 Unreviewed, rolling out r83353. 25413 http://trac.webkit.org/changeset/83353 25414 https://bugs.webkit.org/show_bug.cgi?id=58106 25415 25416 The new test doesn't pass on all Chromium platforms. 25417 25418 * dom/DataTransferItem.h: 25419 * dom/DataTransferItem.idl: 25420 * platform/chromium/ClipboardMimeTypes.cpp: 25421 * platform/chromium/ClipboardMimeTypes.h: 25422 * platform/chromium/DataTransferItemChromium.cpp: 25423 (WebCore::DataTransferItemChromium::getAsString): 25424 * platform/chromium/DataTransferItemChromium.h: 25425 * platform/chromium/PlatformBridge.h: 25426 25427 2011-04-10 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 25428 25429 Reviewed by Eric Carlson. 25430 25431 [EFL] Add seek forward / backward buttons to MediaControl UI. 25432 https://bugs.webkit.org/show_bug.cgi?id=56810 25433 25434 Add seek forward / backward buttons to media control. And, change formType name 25435 for media control. 25436 25437 * platform/efl/RenderThemeEfl.cpp: 25438 (WebCore::RenderThemeEfl::edjeGroupFromFormType): 25439 (WebCore::RenderThemeEfl::emitMediaButtonSignal): 25440 (WebCore::RenderThemeEfl::paintMediaMuteButton): 25441 (WebCore::RenderThemeEfl::paintMediaPlayButton): 25442 (WebCore::RenderThemeEfl::paintMediaSeekBackButton): 25443 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): 25444 * platform/efl/RenderThemeEfl.h: 25445 25446 2011-04-10 Chris Guillory <chris.guillory (a] google.com> 25447 25448 Reviewed by Eric Seidel. 25449 25450 Remove unused function declaration in PlatformContextSkia.h. 25451 https://bugs.webkit.org/show_bug.cgi?id=55983 25452 25453 * platform/graphics/skia/PlatformContextSkia.h: 25454 25455 2011-04-10 Patrick Gansterer <paroga (a] webkit.org> 25456 25457 Unreviewed build fix for !ENABLE(XSLT) after r82562. 25458 25459 * dom/XMLDocumentParserLibxml2.cpp: 25460 (WebCore::XMLDocumentParser::doEnd): 25461 25462 2011-04-10 Patrick Gansterer <paroga (a] webkit.org> 25463 25464 Unreviewed build fix for !ENABLE(XSLT) after r82562. 25465 25466 * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT). 25467 25468 2011-04-10 Dimitri Glazkov <dglazkov (a] chromium.org> 25469 25470 Reviewed by Anders Carlsson. 25471 25472 REGRESSION(r83256): Text-decoration bleeds into shadow DOM 25473 https://bugs.webkit.org/show_bug.cgi?id=58205 25474 25475 Now that the shadow root is a never-styled element, we need to walk to 25476 parent to find out if we're inside of a shadow DOM subtree. 25477 25478 Test: media/controls-styling.html 25479 25480 * css/CSSStyleSelector.cpp: 25481 (WebCore::isAtShadowBoundary): Added helper function. 25482 (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper. 25483 25484 2011-04-07 Dimitri Glazkov <dglazkov (a] chromium.org> 25485 25486 Reviewed by Eric Carlson. 25487 25488 [Meta] Convert HTMLMediaElement to use the new shadow DOM 25489 https://bugs.webkit.org/show_bug.cgi?id=53020 25490 25491 This conversion is non-trivial, for several reasons: 25492 25493 1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding 25494 and showing controls does not result in destroying and re-creating the 25495 shadow DOM tree. Instead, the tree is created as needed and shown/hidden 25496 using inline styles. 25497 25498 2) Instead of detaching/attaching on each style change, the control parts 25499 are now using a set of higher fidelity callbacks that notify MediaControls 25500 about changes to which it should react. Each reaction results in hiding, 25501 showing, or changing the state of the control parts using inline styles 25502 and DOM APIs. 25503 25504 3) Hiding and showing controls is accomplished using inline styles, rather 25505 than wiring rendererIsNeeded, because renderers are now re-created less 25506 frequently. 25507 25508 4) Instead of constantly querying RenderTheme about visibility of a particular 25509 control part, we let the theme determine which parts are supported and 25510 which parts are visible in certain conditions. 25511 25512 5) Custom hit-testing, event forwarding, and style updates are completely 25513 removed, since they are now unnecessary. 25514 25515 6) Fading controls in/out is now done as CSS animation, since shadow DOM 25516 supports it. 25517 25518 Test: manual-tests/media-controls.html 25519 25520 2011-04-09 Dan Bernstein <mitz (a] apple.com> 25521 25522 Reviewed by Beth Dakin. 25523 25524 <rdar://problem/9215280> Detached canvas draws with incorrect font 25525 25526 Test: fast/canvas/font-update.html 25527 25528 The existing mechanism for updating the font in a canvas 2D context was lacking in at least 25529 two ways: it neglected to update fonts in all but the topmost state in the stack, and since it 25530 was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element 25531 was not attached. 25532 25533 This change takes the responsibility for font updates away from the canvas element and gives it 25534 to the canvas context and its graphics state. 25535 25536 * css/CSSFontSelector.cpp: 25537 (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered 25538 font selector clients. 25539 (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of 25540 registered font selector clients. 25541 (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered 25542 clients and forces a style recalc on the document. 25543 (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks(). 25544 (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto. 25545 * css/CSSFontSelector.h: 25546 * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle(). 25547 * html/HTMLCanvasElement.h: 25548 * html/canvas/CanvasRenderingContext2D.cpp: 25549 (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector. 25550 (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector 25551 when its fonts need to be updated. Updates the font. 25552 (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector. 25553 * html/canvas/CanvasRenderingContext2D.h: 25554 * platform/graphics/FontSelector.h: 25555 (WebCore::FontSelectorClient::~FontSelectorClient): 25556 25557 2011-04-09 Geoffrey Garen <ggaren (a] apple.com> 25558 25559 Not reviewed. 25560 25561 Try recommitting some things svn left out of my last commit. 25562 25563 * bridge/qt/qt_runtime.h: 25564 25565 2011-04-09 Geoffrey Garen <ggaren (a] apple.com> 25566 25567 Not reviewed. 25568 25569 Try recommitting some things svn left out of my last commit. 25570 25571 * ForwardingHeaders/collector: Removed. 25572 * ForwardingHeaders/collector/handles: Removed. 25573 * ForwardingHeaders/collector/handles/Global.h: Removed. 25574 25575 2011-04-08 Dimitri Glazkov <dglazkov (a] chromium.org> 25576 25577 Reviewed by Ojan Vafai. 25578 25579 Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries. 25580 https://bugs.webkit.org/show_bug.cgi?id=55515 25581 25582 This implements XBL 2.0's specified handling of mouseover/mouseout events: 25583 http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events 25584 25585 To do this, we: 25586 1) calculate lowest common ancestor between relatedTarget and target, and 25587 the nearest boundaries around them: the outer (common) boundary, and the 25588 inner (specific to relatedTarget) boundary. Then, we 25589 2) ensure that events only propagate up to the common boundary (or 25590 all the way if boundary is not found), while 25591 3) updating relatedTarget be the inner boundary. 25592 25593 We also detect the most common case when no common boundary could exist 25594 and provide a fast path to short-circuit most of the boundary detection 25595 logic. 25596 25597 Test: fast/events/shadow-boundary-crossing.html 25598 25599 * dom/EventDispatcher.cpp: 25600 (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest 25601 common ancestor, the boundaries around it, and compute adjustments 25602 to relatedTarget and event target ancestor chain. 25603 (WebCore::ancestorsCrossShadowBoundaries): Added. 25604 (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate 25605 inner/outer shadow DOM boundaries and adjust ancestors chain accordingly. 25606 (WebCore::EventDispatcher::EventDispatcher): Added flag initializer 25607 (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors, 25608 converted to use initialization flag, rather than testing for empty. 25609 * dom/EventDispatcher.h: Adjusted decls. 25610 * dom/MouseEvent.cpp: 25611 (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event 25612 to adjustRelatedTarget. 25613 25614 2011-04-08 Geoffrey Garen <ggaren (a] apple.com> 25615 25616 Reviewed by Oliver Hunt. 25617 25618 A few heap-related renames and file moves. 25619 25620 WeakGCPtr<T> => Weak<T> 25621 Global<T> => Strong<T> 25622 collector/ => heap/ 25623 collector/* => heap/* 25624 runtime/WeakGCPtr.h => heap/Weak.h 25625 25626 (Eventually, even more files should move into the heap directory. Like 25627 Heap.h and Heap.cpp, for example.) 25628 25629 * CMakeLists.txt: 25630 * ForwardingHeaders/collector: Removed. 25631 * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector. 25632 * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h. 25633 * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h. 25634 * ForwardingHeaders/runtime/WeakGCPtr.h: Removed. 25635 * WebCore.vcproj/WebCore.vcproj: 25636 * WebCore.vcproj/copyForwardingHeaders.cmd: 25637 * bindings/js/JSCallbackData.h: 25638 * bindings/js/JSCustomVoidCallback.h: 25639 * bindings/js/JSDOMWindowBase.h: 25640 * bindings/js/JSDOMWindowShell.cpp: 25641 (WebCore::JSDOMWindowShell::setWindow): 25642 * bindings/js/JSDataGridDataSource.h: 25643 * bindings/js/JSEventListener.h: 25644 * bindings/js/ScheduledAction.cpp: 25645 (WebCore::ScheduledAction::ScheduledAction): 25646 * bindings/js/ScheduledAction.h: 25647 * bindings/js/ScriptCachedFrameData.cpp: 25648 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 25649 * bindings/js/ScriptCachedFrameData.h: 25650 * bindings/js/ScriptController.cpp: 25651 (WebCore::ScriptController::createWindowShell): 25652 * bindings/js/ScriptController.h: 25653 * bindings/js/ScriptObject.h: 25654 * bindings/js/ScriptState.h: 25655 * bindings/js/ScriptValue.cpp: 25656 * bindings/js/ScriptValue.h: 25657 * bindings/js/ScriptWrappable.h: 25658 * bindings/js/WorkerScriptController.cpp: 25659 (WebCore::WorkerScriptController::initScript): 25660 * bindings/js/WorkerScriptController.h: 25661 * bridge/jsc/BridgeJSC.h: 25662 * bridge/qt/qt_runtime.h: 25663 * bridge/runtime_root.h: 25664 * xml/XMLHttpRequest.cpp: 25665 25666 2011-04-09 Keith Kyzivat <keith.kyzivat (a] nokia.com> 25667 25668 Reviewed by Laszlo Gombos. 25669 25670 [Qt] Don't link against fontconfig or X11 if embedded 25671 https://bugs.webkit.org/show_bug.cgi?id=58104 25672 25673 No functional change so no new tests. 25674 25675 * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform. 25676 25677 2011-04-09 Csaba Osztrogonc <ossy (a] webkit.org> 25678 25679 [Qt] Unreviewed trivial fix after r83344. 25680 25681 * WebCore.pro: Update HEADERS list. 25682 25683 2011-04-09 Jon Lee <jonlee (a] apple.com> 25684 25685 Reviewed by Beth Dakin. 25686 25687 Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180) 25688 https://bugs.webkit.org/show_bug.cgi?id=58180 25689 <rdar://problem/9047984> 25690 25691 * platform/mac/ScrollAnimatorMac.mm: 25692 (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting 25693 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX): 25694 (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY): 25695 25696 2011-04-09 Sreeram Ramachandran <sreeram (a] google.com> 25697 25698 Reviewed by Ryosuke Niwa. 25699 25700 Gather data on modal dialogs shown during unload events 25701 https://bugs.webkit.org/show_bug.cgi?id=58115 25702 25703 Add a new method to the ChromeClient API to allow clients to receive 25704 notifications of modal dialogs dispatched during page dismissal events. 25705 The new method has a default empty definition; only chromium overrides 25706 it to keep track of histograms. 25707 25708 No tests because this is a no-op for all ports except chromium (and it's 25709 not clear how to test chromium histograms from webkit). 25710 25711 * page/Chrome.cpp: 25712 (WebCore::isDuringPageDismissal): 25713 (WebCore::willRunModalDialog): 25714 (WebCore::Chrome::runJavaScriptAlert): 25715 (WebCore::Chrome::runJavaScriptConfirm): 25716 (WebCore::Chrome::runJavaScriptPrompt): 25717 (WebCore::Chrome::willRunModalHTMLDialog): 25718 * page/Chrome.h: 25719 * page/ChromeClient.h: 25720 (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal): 25721 * page/DOMWindow.cpp: 25722 (WebCore::DOMWindow::showModalDialog): 25723 25724 2011-04-08 David Humphrey <david.humphrey (a] senecac.on.ca> 25725 25726 Reviewed by Eric Carlson. 25727 25728 Fix call order of media element muted and play(), such that setting muted before play() works. 25729 https://bugs.webkit.org/show_bug.cgi?id=57673 25730 https://code.google.com/p/chromium/issues/detail?id=70777 25731 25732 Manual test added: manual-tests/media-muted.html 25733 25734 * html/HTMLMediaElement.cpp: 25735 (WebCore::HTMLMediaElement::updatePlayState): 25736 * manual-tests/media-muted.html: Added. 25737 25738 2011-04-08 Nat Duca <nduca (a] chromium.org> 25739 25740 Reviewed by David Levin. 25741 25742 [chromium] Fix windows assertion on ~CCThread 25743 https://bugs.webkit.org/show_bug.cgi?id=58153 25744 25745 Because ~CCThread uses waitForThreadCompletion, 25746 calling detachThread is not necessary. 25747 25748 * platform/graphics/chromium/cc/CCThread.cpp: 25749 (WebCore::CCThread::runLoop): 25750 25751 2011-04-08 Jian Li <jianli (a] chromium.org> 25752 25753 Unreviewed, rolling out r83348. 25754 http://trac.webkit.org/changeset/83348 25755 https://bugs.webkit.org/show_bug.cgi?id=49508 25756 25757 Breaks layout tests in QT, Win7 and Chromium. 25758 25759 * rendering/RenderText.cpp: 25760 (WebCore::RenderText::localCaretRect): 25761 25762 2011-04-08 MORITA Hajime <morrita (a] google.com> 25763 25764 Reviewed by Simon Fraser. 25765 25766 Negative spread should not make a sharp corner rounded 25767 https://bugs.webkit.org/show_bug.cgi?id=58162 25768 25769 Handled inset shadow path for rounded and non-rounded rect 25770 differently as normal shadow path is doing. 25771 25772 * rendering/RenderBoxModelObject.cpp: 25773 (WebCore::RenderBoxModelObject::paintBoxShadow): 25774 25775 2011-04-07 Simon Fraser <simon.fraser (a] apple.com> 25776 25777 Reviewed by Martin Robinson. 25778 25779 REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC 25780 https://bugs.webkit.org/show_bug.cgi?id=55180 25781 25782 The endianness #ifdef in ShadowBlur was unnecessary and harmful. The 25783 data we get back from ImageBuffer::getImageData() do not vary in 25784 endianness. 25785 25786 * platform/graphics/ShadowBlur.cpp: 25787 (WebCore::ShadowBlur::blurLayerImage): 25788 25789 2011-04-08 Erik Arvidsson <arv (a] chromium.org> 25790 25791 Reviewed by Dimitri Glazkov. 25792 25793 IFrame is getting the focus even though it is hidden 25794 https://bugs.webkit.org/show_bug.cgi?id=55861 25795 25796 Test: fast/dom/hidden-iframe-no-focus.html 25797 25798 * html/HTMLFrameOwnerElement.cpp: 25799 (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): 25800 * html/HTMLFrameOwnerElement.h: 25801 25802 2011-04-08 Jeff Timanus <twiz (a] chromium.org> 25803 25804 Reviewed by Kenneth Russell. 25805 25806 Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment. 25807 https://bugs.webkit.org/show_bug.cgi?id=57768 25808 25809 * html/canvas/CanvasRenderingContext2D.cpp: 25810 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 25811 (WebCore::CanvasRenderingContext2D::reset): 25812 * platform/graphics/gpu/DrawingBuffer.cpp: 25813 (WebCore::DrawingBuffer::reset): 25814 * platform/graphics/gpu/DrawingBuffer.h: 25815 25816 2011-04-08 Daniel Cheng <dcheng (a] chromium.org> 25817 25818 Reviewed by Dmitry Titov. 25819 25820 [chromium] Implement image/png support in DataTransferItems 25821 https://bugs.webkit.org/show_bug.cgi?id=58106 25822 25823 This patch implements DataTransferItem::getAsFile() using Blobs. In 25824 addition, plumbing for image/png has been added so image paste will be 25825 supported as long as the renderer makes that data available. 25826 25827 Tests: editing/pasteboard/data-transfer-items-image-png.html 25828 25829 * dom/DataTransferItem.h: 25830 * dom/DataTransferItem.idl: 25831 * platform/chromium/ClipboardMimeTypes.cpp: 25832 * platform/chromium/ClipboardMimeTypes.h: 25833 * platform/chromium/DataTransferItemChromium.cpp: 25834 (WebCore::DataTransferItemChromium::getAsString): 25835 (WebCore::DataTransferItemChromium::getAsFile): 25836 * platform/chromium/DataTransferItemChromium.h: 25837 * platform/chromium/PlatformBridge.h: 25838 25839 2011-04-08 MORITA Hajime <morrita (a] google.com> 25840 25841 Unreviewed windows build fix. 25842 25843 * editing/SpellingCorrectionController.h: 25844 (WebCore::SpellingCorrectionController::UNLESS_ENABLED): 25845 25846 2011-04-08 Enrica Casucci <enrica (a] apple.com> 25847 25848 Reviewed by Maciej Stachowiak. 25849 25850 Improve lifetime management of nodes in ReplaceNodeWithSpanCommand. 25851 https://bugs.webkit.org/show_bug.cgi?id=57595 25852 <rdar://problem/9222122> 25853 25854 Test: editing/style/bold-with-dom-changes.html 25855 25856 * editing/ReplaceNodeWithSpanCommand.cpp: 25857 (WebCore::swapInNodePreservingAttributesAndChildren): 25858 25859 2011-04-07 Roland Steiner <rolandsteiner (a] chromium.org> 25860 25861 Reviewed by Dimitri Glazkov. 25862 25863 Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData 25864 https://bugs.webkit.org/show_bug.cgi?id=58060 25865 25866 Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope. 25867 However, in case the containing scope is the document, this is not set, and the 25868 document pointer within Node is used instead. 25869 25870 In an object derived from TreeScope (currently Document), the tree scope pointer 25871 points to itself. Such objects also contain a parent tree scope pointer that 25872 points to the containing scope. For Document, this is 0. 25873 25874 Add new functions setTreeScope[Recursively] that replace setDocument[Recursively] 25875 in public usage. setDocument[Recursively] are now only used internally and are 25876 thererfore protected. 25877 25878 No new tests. (no new functionality) 25879 25880 * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes 25881 (WebCore::ContainerNode::insertBefore): 25882 (WebCore::ContainerNode::replaceChild): 25883 (WebCore::ContainerNode::appendChild): 25884 * dom/Document.cpp: 25885 (WebCore::Document::~Document): 25886 (WebCore::Document::setDocType): Ditto 25887 (WebCore::Document::adoptNode): Ditto 25888 * dom/Document.h: 25889 * dom/Node.cpp: 25890 (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set 25891 (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document 25892 (WebCore::Node::setTreeScopeRecursively): 25893 (WebCore::Node::setDocumentRecursively): 25894 * dom/Node.h: 25895 * dom/NodeRareData.h: add scope pointer 25896 (WebCore::NodeRareData::NodeRareData): 25897 (WebCore::NodeRareData::treeScope): 25898 (WebCore::NodeRareData::setTreeScope): 25899 * dom/TreeScope.cpp: add parentTreeScope pointer 25900 (WebCore::TreeScope::TreeScope): 25901 (WebCore::TreeScope::setParentTreeScope): 25902 * dom/TreeScope.h: 25903 (WebCore::TreeScope::parentTreeScope): 25904 25905 2011-04-08 Xiaomei Ji <xji (a] chromium.org> 25906 25907 Reviewed by David Hyatt. 25908 25909 Local caret rectangle calculation should be relative to its containing block. 25910 https://bugs.webkit.org/show_bug.cgi?id=49508. 25911 25912 InlineBox and caret rectangle are positioned relative to its containing block. 25913 So its left and right edge value should be relative to its containing block as well. 25914 25915 Test: fast/forms/cursor-at-editable-content-boundary.html 25916 25917 * rendering/RenderText.cpp: 25918 (WebCore::RenderText::localCaretRect): 25919 25920 2011-04-08 MORITA Hajime <morrita (a] google.com> 25921 25922 Unreviewed build fix. 25923 25924 * editing/Editor.cpp: 25925 (WebCore::Editor::markMisspellingsAfterTypingToWord): 25926 25927 2011-04-08 David Hyatt <hyatt (a] apple.com> 25928 25929 Reviewed by Simon Fraser. 25930 25931 https://bugs.webkit.org/show_bug.cgi?id=57971 25932 25933 Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose 25934 them when we throw away the visited style. Don't throw away the visited link style for pseudo elements 25935 either, so that the styles are consistent. 25936 25937 Added fast/history/visited-generated-content-test.html 25938 25939 * css/CSSStyleSelector.cpp: 25940 (WebCore::CSSStyleSelector::styleForElement): 25941 (WebCore::CSSStyleSelector::pseudoStyleForElement): 25942 25943 2011-04-06 MORITA Hajime <morrita (a] google.com> 25944 25945 Reviewed by Darin Adler. 25946 25947 [Refactoring] Auto correction panel should be handled by its own class. 25948 https://bugs.webkit.org/show_bug.cgi?id=55571 25949 25950 Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into 25951 SpellingCorrectionController class. 25952 This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if 25953 code paths inside the never reached without autocorrection support. 25954 Removing guards reduces unintentional build breakage. 25955 25956 No new tests, no behavior chagne. 25957 25958 * CMakeLists.txt: 25959 * GNUmakefile.am: 25960 * WebCore.gypi: 25961 * WebCore.pro: 25962 * WebCore.vcproj/WebCore.vcproj: 25963 * WebCore.xcodeproj/project.pbxproj: 25964 * editing/CorrectionPanelInfo.h: Removed. 25965 * editing/EditingAllInOne.cpp: 25966 * editing/Editor.cpp: 25967 (WebCore::Editor::respondToChangedSelection): 25968 (WebCore::Editor::respondToChangedContents): 25969 (WebCore::Editor::appliedEditing): 25970 (WebCore::Editor::Editor): 25971 (WebCore::Editor::~Editor): 25972 (WebCore::Editor::insertTextWithoutSendingTextEvent): 25973 (WebCore::Editor::insertLineBreak): 25974 (WebCore::Editor::insertParagraphSeparator): 25975 (WebCore::Editor::cut): 25976 (WebCore::Editor::paste): 25977 (WebCore::Editor::pasteAsPlainText): 25978 (WebCore::Editor::isAutomaticSpellingCorrectionEnabled): 25979 (WebCore::Editor::markMisspellingsAfterTypingToWord): 25980 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 25981 (WebCore::Editor::changeBackToReplacedString): 25982 (WebCore::Editor::unappliedSpellCorrection): 25983 (WebCore::Editor::updateMarkersForWordsAffectedByEditing): 25984 (WebCore::Editor::startCorrectionPanelTimer): 25985 (WebCore::Editor::handleCorrectionPanelResult): 25986 (WebCore::Editor::dismissCorrectionPanelAsIgnored): 25987 * editing/Editor.h: 25988 * editing/SpellingCorrectionCommand.cpp: 25989 * editing/SpellingCorrectionController.cpp: Added. 25990 (WebCore::markerTypesForAutocorrection): 25991 (WebCore::markerTypesForReplacement): 25992 (WebCore::markersHaveIdenticalDescription): 25993 (WebCore::SpellingCorrectionController::SpellingCorrectionController): 25994 (WebCore::SpellingCorrectionController::~SpellingCorrectionController): 25995 (WebCore::SpellingCorrectionController::startCorrectionPanelTimer): 25996 (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer): 25997 (WebCore::SpellingCorrectionController::stopPendingCorrection): 25998 (WebCore::SpellingCorrectionController::applyPendingCorrection): 25999 (WebCore::SpellingCorrectionController::hasPendingCorrection): 26000 (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed): 26001 (WebCore::SpellingCorrectionController::show): 26002 (WebCore::SpellingCorrectionController::handleCancelOperation): 26003 (WebCore::SpellingCorrectionController::dismiss): 26004 (WebCore::SpellingCorrectionController::dismissSoon): 26005 (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo): 26006 (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate): 26007 (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection): 26008 (WebCore::SpellingCorrectionController::correctionPanelTimerFired): 26009 (WebCore::SpellingCorrectionController::handleCorrectionPanelResult): 26010 (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled): 26011 (WebCore::SpellingCorrectionController::windowRectForRange): 26012 (WebCore::SpellingCorrectionController::respondToChangedSelection): 26013 (WebCore::SpellingCorrectionController::respondToAppliedEditing): 26014 (WebCore::SpellingCorrectionController::client): 26015 (WebCore::SpellingCorrectionController::textChecker): 26016 (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed): 26017 (WebCore::SpellingCorrectionController::markReversed): 26018 (WebCore::SpellingCorrectionController::markCorrection): 26019 (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection): 26020 * editing/SpellingCorrectionController.h: Added. 26021 (WebCore::SpellingCorrectionController::UNLESS_ENABLED): 26022 (WebCore::SpellingCorrectionController::shouldStartTimeFor): 26023 (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing): 26024 * editing/TypingCommand.cpp: 26025 (WebCore::TypingCommand::insertText): 26026 (WebCore::TypingCommand::markMisspellingsAfterTyping): 26027 (WebCore::TypingCommand::deleteKeyPressed): 26028 (WebCore::TypingCommand::forwardDeleteKeyPressed): 26029 * editing/htmlediting.h: 26030 (WebCore::isAmbiguousBoundaryCharacter): 26031 * page/EditorClient.h: 26032 * page/Frame.cpp: 26033 (WebCore::Frame::setPageAndTextZoomFactors): 26034 26035 2011-04-08 Alpha Lam <hclam (a] chromium.org> 26036 26037 Unreviewed, rolling out r83335. 26038 http://trac.webkit.org/changeset/83335 26039 https://bugs.webkit.org/show_bug.cgi?id=53556 26040 26041 GTK and QT bots are broken 26042 26043 * CMakeLists.txt: 26044 * Configurations/FeatureDefines.xcconfig: 26045 * DerivedSources.make: 26046 * GNUmakefile.am: 26047 * WebCore.gypi: 26048 * WebCore.xcodeproj/project.pbxproj: 26049 * features.pri: 26050 * html/HTMLAttributeNames.in: 26051 * html/HTMLTagNames.in: 26052 * html/HTMLTrackElement.cpp: Removed. 26053 * html/HTMLTrackElement.h: Removed. 26054 * html/HTMLTrackElement.idl: Removed. 26055 26056 2011-04-08 Brady Eidson <beidson (a] apple.com> 26057 26058 Reviewed by Adam Roben. 26059 26060 https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767> 26061 BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source. 26062 26063 * platform/graphics/cg/ImageCG.cpp: 26064 (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to 26065 make sure the frames are properly tallied first. 26066 26067 2011-04-08 Benjamin Poulain <benjamin.poulain (a] nokia.com> 26068 26069 Reviewed by Andreas Kling. 26070 26071 [Qt] Dragging and dropping an image in edit mode does not work 26072 https://bugs.webkit.org/show_bug.cgi?id=19385 26073 26074 When adding an image to the clipboard, we should also include the HTML code of that image so 26075 it can be used for internal drag and drop. 26076 26077 This HTML is expected by all clients of drop events so a fragment can be moved from one browser to 26078 another, or inside the same browser. 26079 26080 * platform/qt/ClipboardQt.cpp: 26081 (WebCore::ClipboardQt::declareAndWriteDragImage): 26082 26083 2011-04-07 Anna Cavender <annacc (a] chromium.org> 26084 26085 Reviewed by Eric Carlson. 26086 26087 Setup ENABLE(TRACK) feature define + initial HTMLTrackElement 26088 https://bugs.webkit.org/show_bug.cgi?id=53556 26089 26090 No new tests. No real functionality added just yet. 26091 26092 * CMakeLists.txt: 26093 * Configurations/FeatureDefines.xcconfig: 26094 * DerivedSources.make: 26095 * GNUmakefile.am: 26096 * WebCore.gypi: 26097 * WebCore.xcodeproj/project.pbxproj: 26098 * features.pri: 26099 * html/HTMLAttributeNames.in: 26100 * html/HTMLTagNames.in: 26101 * html/HTMLTrackElement.cpp: Added. 26102 (WebCore::HTMLTrackElement::HTMLTrackElement): 26103 (WebCore::HTMLTrackElement::create): 26104 (WebCore::HTMLTrackElement::insertedIntoTree): 26105 (WebCore::HTMLTrackElement::willRemove): 26106 (WebCore::HTMLTrackElement::src): 26107 (WebCore::HTMLTrackElement::setSrc): 26108 (WebCore::HTMLTrackElement::kind): 26109 (WebCore::HTMLTrackElement::setKind): 26110 (WebCore::HTMLTrackElement::srclang): 26111 (WebCore::HTMLTrackElement::setSrclang): 26112 (WebCore::HTMLTrackElement::label): 26113 (WebCore::HTMLTrackElement::setLabel): 26114 (WebCore::HTMLTrackElement::isDefault): 26115 (WebCore::HTMLTrackElement::setIsDefault): 26116 (WebCore::HTMLTrackElement::isURLAttribute): 26117 * html/HTMLTrackElement.h: Added. 26118 * html/HTMLTrackElement.idl: Added. 26119 26120 2011-04-07 Jer Noble <jer.noble (a] apple.com> 26121 26122 Reviewed by Eric Carlson. 26123 26124 Logic error in HTMLMediaElement::exitFullscreen() 26125 https://bugs.webkit.org/show_bug.cgi?id=58085 26126 26127 The new full screen API case could fall through to the legacy API case 26128 unintentionally if a script calls exitFullscreen on an element which is 26129 not the current full screen element. 26130 26131 * html/HTMLMediaElement.cpp: 26132 (WebCore::HTMLMediaElement::enterFullscreen): 26133 (WebCore::HTMLMediaElement::exitFullscreen): 26134 26135 2011-04-08 Mike Reed <reed (a] google.com> 26136 26137 Reviewed by Eric Seidel. 26138 26139 Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work 26140 https://bugs.webkit.org/show_bug.cgi?id=57782 26141 26142 No new tests. This change only affects print-preview and build option SKIA_GPU 26143 26144 * platform/graphics/skia/SkiaFontWin.cpp: 26145 (WebCore::paintSkiaText): 26146 26147 2011-04-08 Ryosuke Niwa <rniwa (a] webkit.org> 26148 26149 Reviewed by Tony Chang, Darin Adler, and Enrica Casucci. 26150 26151 REGRESSION(r81887): Crash in SplitElement 26152 https://bugs.webkit.org/show_bug.cgi?id=57743 26153 26154 The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition 26155 even when the position was after the last node in it container. Since all we are doing here is to splitting tree 26156 up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode 26157 and highestEnclosingNodeOfType. 26158 26159 Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor, 26160 which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that 26161 it incorrectly called deprecatedNode instead of containerNode. 26162 26163 Test: editing/inserting/insert-images-in-pre-x-crash.html 26164 26165 * editing/CompositeEditCommand.cpp: 26166 (WebCore::CompositeEditCommand::splitTreeToNode): 26167 * editing/ReplaceSelectionCommand.cpp: 26168 (WebCore::ReplaceSelectionCommand::doApply): 26169 * editing/htmlediting.cpp: 26170 (WebCore::highestEnclosingNodeOfType): 26171 26172 2011-04-08 Antti Koivisto <antti (a] apple.com> 26173 26174 Reviewed by Tony Gentilcore. 26175 26176 Incoming source should be preload scanned when the parser is blocked 26177 https://bugs.webkit.org/show_bug.cgi?id=58117 26178 26179 Scan the appended source if parser is blocked. 26180 26181 Test: http/tests/loading/preload-append-scan.php 26182 26183 * html/parser/HTMLDocumentParser.cpp: 26184 (WebCore::HTMLDocumentParser::append): 26185 26186 2011-04-08 Martin Robinson <mrobinson (a] igalia.com> 26187 26188 Reviewed by Xan Lopez. 26189 26190 [GTK] Fix the WebKit2 build for older versions of GTK+ 26191 https://bugs.webkit.org/show_bug.cgi?id=58095 26192 26193 No new tests. This is just a build fix. 26194 26195 * platform/gtk/GtkVersioning.c: 26196 (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK. 26197 * platform/gtk/GtkVersioning.h: Add the new method to the header. 26198 26199 2011-04-08 Misha Tyutyunik <michael.tyutyunik (a] nokia.com> 26200 26201 Reviewed by Laszlo Gombos. 26202 26203 [Qt] Plugin is not scrolled together with page content or jumping 26204 when content is rendered using cache (backing store). 26205 https://bugs.webkit.org/show_bug.cgi?id=56130 26206 26207 This is a Symbian portion of the fix. For Linux it looks like 26208 it's enough to call set geometry which should be addressed in 26209 https://bugs.webkit.org/show_bug.cgi?id=57179 26210 26211 No new tests required. This can be tested with manual tests from 26212 WebCore/manual-tests/qt and WebCore/manual-tests/plugins 26213 26214 * plugins/symbian/PluginViewSymbian.cpp: 26215 (WebCore::PluginView::updatePluginWidget): 26216 26217 2011-04-08 Abhishek Arya <inferno (a] chromium.org> 26218 26219 Unreviewed. Remove accidental printf added in r83306. 26220 26221 * page/EventHandler.cpp: 26222 (WebCore::EventHandler::sendContextMenuEvent): 26223 26224 2011-04-08 Enrica Casucci <enrica (a] apple.com> 26225 26226 Reviewed by Darin Adler. 26227 26228 Dragging text in a WebKit2 window results in a copy instead of a move. 26229 https://bugs.webkit.org/show_bug.cgi?id=56772 26230 <rdar://problem/9165140> 26231 26232 cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since 26233 the call to startDrag is asynchronous. 26234 26235 * page/mac/DragControllerMac.mm: 26236 (WebCore::DragController::cleanupAfterSystemDrag): 26237 26238 2011-04-05 Dimitri Glazkov <dglazkov (a] chromium.org> 26239 26240 Reviewed by Darin Adler. 26241 26242 Move WheelEvent-dispatching logic into WheelEventDispatchMediator. 26243 https://bugs.webkit.org/show_bug.cgi?id=57642 26244 26245 Covered by existing tests, no functional change. 26246 26247 * dom/Event.cpp: 26248 * dom/Event.h: 26249 (WebCore::EventDispatchMediator::EventDispatchMediator): Added default 26250 constructor. 26251 (WebCore::EventDispatchMediator::event): Inlined. 26252 (WebCore::EventDispatchMediator::setEvent): Added. 26253 * dom/EventDispatcher.cpp: Removed dispatchWheelEvent. 26254 * dom/EventDispatcher.h: Updated decls. 26255 * dom/Node.cpp: 26256 (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and 26257 return a bool, like other dispatch event functions. 26258 * dom/Node.h: Changed decl. 26259 * dom/WheelEvent.cpp: 26260 (WebCore::granularity): Moved from EventDispatcher. 26261 (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added. 26262 (WebCore::WheelEventDispatchMediator::event): Added. 26263 (WebCore::WheelEventDispatchMediator::dispatchEvent): Added. 26264 * dom/WheelEvent.h: Updated decls. 26265 * page/EventHandler.cpp: 26266 (WebCore::EventHandler::handleWheelEvent): Changed to receive and react 26267 to the return value. 26268 26269 2011-04-08 Jessie Berlin <jberlin (a] apple.com> 26270 26271 Windows build warning fix. 26272 26273 * WebCore.vcproj/WebCore.vcproj: 26274 Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from 26275 the build. 26276 26277 2011-04-07 Pavel Podivilov <podivilov (a] chromium.org> 26278 26279 Reviewed by Pavel Feldman. 26280 26281 Web Inspector: update breakpoints according to source frame decorations after live edit. 26282 https://bugs.webkit.org/show_bug.cgi?id=58029 26283 26284 * inspector/front-end/DebuggerPresentationModel.js: 26285 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): 26286 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): 26287 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource): 26288 (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent): 26289 * inspector/front-end/SourceFile.js: 26290 (WebInspector.SourceFile.prototype.set content): 26291 * inspector/front-end/SourceFrame.js: 26292 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): 26293 (WebInspector.SourceFrame.prototype._handleSave): 26294 26295 2011-04-08 Pavel Podivilov <podivilov (a] chromium.org> 26296 26297 Reviewed by Pavel Feldman. 26298 26299 Web Inspector: fix scripts concatenation in scripts panel. 26300 https://bugs.webkit.org/show_bug.cgi?id=58138 26301 26302 When there is just one script starting at 0:0 it should not be surrounded by <script> framing. 26303 26304 * inspector/front-end/SourceFile.js: 26305 (WebInspector.SourceFile.prototype._loadResourceContent): 26306 (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): 26307 26308 2011-04-08 Pavel Feldman <pfeldman (a] chromium.org> 26309 26310 Reviewed by Yury Semikhatsky. 26311 26312 Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements. 26313 https://bugs.webkit.org/show_bug.cgi?id=58118 26314 26315 This change reuses location for call frames in the protocol + structures script 26316 location <-> source lines interaction better. When we need UI columns, we will add 26317 them, but we should distinguish between script and UI terms on the type level, not naming. 26318 26319 * English.lproj/localizedStrings.js: 26320 * bindings/v8/DebuggerScript.js: 26321 * inspector/InjectedScriptSource.js: 26322 * inspector/Inspector.json: 26323 * inspector/front-end/CallStackSidebarPane.js: 26324 (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine): 26325 (WebInspector.CallStackSidebarPane.prototype.update): 26326 * inspector/front-end/DebuggerPresentationModel.js: 26327 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping): 26328 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage): 26329 (WebInspector.DebuggerPresentationModel.prototype.continueToLine): 26330 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping): 26331 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger): 26332 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): 26333 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 26334 (WebInspector.PresenationCallFrame): 26335 (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping): 26336 (WebInspector.PresenationCallFrame.prototype.sourceLine): 26337 * inspector/front-end/ScriptFormatter.js: 26338 (WebInspector.ScriptFormatter.locationToPosition): 26339 (WebInspector.ScriptFormatter.lineToPosition): 26340 * inspector/front-end/ScriptsPanel.js: 26341 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): 26342 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 26343 (WebInspector.ScriptsPanel.prototype.showAnchorLocation): 26344 (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation): 26345 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 26346 * inspector/front-end/SourceFile.js: 26347 (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine): 26348 (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation): 26349 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine): 26350 (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation): 26351 26352 2011-04-08 Pavel Podivilov <podivilov (a] chromium.org> 26353 26354 Reviewed by Pavel Feldman. 26355 26356 Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources. 26357 https://bugs.webkit.org/show_bug.cgi?id=58133 26358 26359 * inspector/front-end/DebuggerPresentationModel.js: 26360 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource): 26361 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 26362 (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused): 26363 (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript): 26364 (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId): 26365 (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId): 26366 (WebInspector.DebuggerPresentationModel.prototype._reset): 26367 26368 2011-04-07 Pavel Podivilov <podivilov (a] chromium.org> 26369 26370 Reviewed by Pavel Feldman. 26371 26372 Web Inspector: make SourceFrame TextViewer's delegate for editing operations. 26373 https://bugs.webkit.org/show_bug.cgi?id=58026 26374 26375 This is the first step of decoupling TextViewer from SourceFrame. 26376 26377 * inspector/front-end/SourceFrame.js: 26378 (WebInspector.SourceFrame): 26379 (WebInspector.SourceFrame.prototype.show): 26380 (WebInspector.SourceFrame.prototype.hide): 26381 (WebInspector.SourceFrame.prototype._ensureContentLoaded): 26382 (WebInspector.SourceFrame.prototype.contentEditable): 26383 (WebInspector.SourceFrame.prototype.startEditing): 26384 (WebInspector.SourceFrame.prototype.endEditing): 26385 (WebInspector.SourceFrame.prototype._createTextViewer): 26386 (WebInspector.SourceFrame.prototype._handleSave): 26387 (WebInspector.SourceFrame.prototype._handleRevertEditing): 26388 * inspector/front-end/TextViewer.js: 26389 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): 26390 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): 26391 (WebInspector.TextViewer.prototype._syncDecorationsForLine): 26392 (WebInspector.TextViewer.prototype._doubleClick): 26393 (WebInspector.TextViewerDelegate): 26394 (WebInspector.TextViewerDelegate.prototype.contentEditable): 26395 (WebInspector.TextViewerDelegate.prototype.startEditing): 26396 (WebInspector.TextViewerDelegate.prototype.endEditing): 26397 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): 26398 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 26399 * inspector/front-end/inspector.html: 26400 26401 2011-04-08 Leandro Gracia Gil <leandrogracia (a] chromium.org> 26402 26403 Reviewed by Steve Block. 26404 26405 Media Stream API: add the getUserMedia method and the Javascript bindings. 26406 https://bugs.webkit.org/show_bug.cgi?id=56586 26407 26408 Add the getUserMedia method to the navigator and its new Javascript types. 26409 Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication 26410 26411 Tests: fast/dom/MediaStream/argument-types.html 26412 fast/dom/MediaStream/enabled.html 26413 fast/dom/MediaStream/no-interface-object.html 26414 26415 * Android.derived.jscbindings.mk: 26416 * Android.derived.v8bindings.mk: 26417 * Android.v8bindings.mk: 26418 * CMakeLists.txt: 26419 * CodeGenerators.pri: 26420 * DerivedSources.cpp: 26421 * DerivedSources.make: 26422 * GNUmakefile.list.am: 26423 * WebCore.gypi: 26424 * WebCore.pro: 26425 * WebCore.vcproj/WebCore.vcproj: 26426 * WebCore.xcodeproj/project.pbxproj: 26427 * bindings/js/JSNavigatorCustom.cpp: 26428 (WebCore::JSNavigator::webkitGetUserMedia): 26429 * bindings/v8/custom/V8NavigatorCustom.cpp: Added. 26430 (WebCore::V8Navigator::webkitGetUserMediaCallback): 26431 * page/Navigator.cpp: 26432 (WebCore::Navigator::webkitGetUserMedia): 26433 * page/Navigator.h: 26434 * page/Navigator.idl: 26435 * page/NavigatorUserMediaError.h: Added. 26436 (WebCore::NavigatorUserMediaError::NavigatorUserMediaError): 26437 (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError): 26438 (WebCore::NavigatorUserMediaError::code): 26439 * page/NavigatorUserMediaError.idl: Added. 26440 * page/NavigatorUserMediaErrorCallback.h: Added. 26441 (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback): 26442 * page/NavigatorUserMediaErrorCallback.idl: Added. 26443 * page/NavigatorUserMediaSuccessCallback.h: Added. 26444 (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback): 26445 * page/NavigatorUserMediaSuccessCallback.idl: Added. 26446 26447 2011-04-08 Mikhail Naganov <mnaganov (a] chromium.org> 26448 26449 Reviewed by Pavel Feldman. 26450 26451 Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI. 26452 https://bugs.webkit.org/show_bug.cgi?id=58010 26453 https://bugs.webkit.org/show_bug.cgi?id=58011 26454 26455 Added tests for "Containment" view. Minor refactorings, bugs fixed. 26456 Split one large tests into smaller ones to avoid timing out in debug mode. 26457 26458 Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html 26459 inspector/profiler/detailed-heapshots-containment-show-all.html 26460 inspector/profiler/detailed-heapshots-containment-show-next.html 26461 inspector/profiler/detailed-heapshots-containment-sorting.html 26462 inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html 26463 inspector/profiler/detailed-heapshots-summary-show-all.html 26464 inspector/profiler/detailed-heapshots-summary-show-next.html 26465 inspector/profiler/detailed-heapshots-summary-sorting.html 26466 26467 * inspector/front-end/DetailedHeapshotGridNodes.js: 26468 (WebInspector.HeapSnapshotGridNode): 26469 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 26470 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort): 26471 (WebInspector.HeapSnapshotGridNode.prototype.sort): 26472 (WebInspector.HeapSnapshotGenericObjectNode): 26473 (WebInspector.HeapSnapshotObjectNode): 26474 (WebInspector.HeapSnapshotInstanceNode): 26475 (WebInspector.HeapSnapshotConstructorNode): 26476 (WebInspector.HeapSnapshotDiffNode): 26477 (WebInspector.HeapSnapshotDominatorObjectNode): 26478 * inspector/front-end/DetailedHeapshotView.js: 26479 (WebInspector.HeapSnapshotContainmentDataGrid): 26480 (WebInspector.HeapSnapshotDominatorsDataGrid): 26481 26482 2011-04-08 Andrey Adaikin <aandrey (a] google.com> 26483 26484 Reviewed by Pavel Feldman. 26485 26486 Web Inspector: Bugs in some corner cases in the text editor 26487 https://bugs.webkit.org/show_bug.cgi?id=58025 26488 26489 This solves the following bugs: 26490 1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor. 26491 2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow. 26492 26493 * inspector/front-end/TextViewer.js: 26494 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition): 26495 (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf): 26496 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 26497 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 26498 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): 26499 26500 2011-04-07 Pavel Podivilov <podivilov (a] chromium.org> 26501 26502 Reviewed by Pavel Feldman. 26503 26504 Web Inspector: add test for script formatter worker. 26505 https://bugs.webkit.org/show_bug.cgi?id=57447 26506 26507 Test: inspector/debugger/script-formatter.html 26508 26509 * GNUmakefile.am: 26510 * WebCore.xcodeproj/project.pbxproj: 26511 * gyp/streamline-inspector-source.sh: 26512 * inspector/front-end/DebuggerPresentationModel.js: 26513 (WebInspector.DebuggerPresentationModel.prototype._addScript): 26514 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 26515 (WebInspector.DebuggerPresentationModel.prototype._formatter): 26516 * inspector/front-end/ScriptFormatterWorker.js: 26517 26518 2011-04-08 Andrey Adaikin <aandrey (a] google.com> 26519 26520 Reviewed by Pavel Feldman. 26521 26522 Web Inspector: Tweak dynamically constants for the async highlighting in text editor 26523 https://bugs.webkit.org/show_bug.cgi?id=58035 26524 26525 * inspector/front-end/TextViewer.js: 26526 (WebInspector.TextEditorMainPanel.prototype._expandChunks): 26527 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines): 26528 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): 26529 (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit): 26530 (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue): 26531 26532 2011-04-08 Andrey Kosyakov <caseq (a] chromium.org> 26533 26534 Reviewed by Yury Semikhatsky. 26535 26536 Web Inspector: HAR compliance fixes 26537 https://bugs.webkit.org/show_bug.cgi?id=58124 26538 26539 - Always provide some values for queryString and cookies, even though arrays may be empty 26540 - Always provide an empty cache object 26541 - Added entire HARLog to test 26542 - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms) 26543 26544 * inspector/front-end/HAREntry.js: 26545 (WebInspector.HAREntry.prototype.build): 26546 (WebInspector.HAREntry.prototype._buildRequest): 26547 (WebInspector.HAREntry.prototype._buildResponse): 26548 26549 2011-04-08 Adam Barth <abarth (a] webkit.org> 26550 26551 Attempt to fix the Qt build. 26552 26553 * css/CSSStyleApplyProperty.cpp: 26554 26555 2011-04-07 Adam Barth <abarth (a] webkit.org> 26556 26557 Reviewed by Eric Seidel. 26558 26559 Refactor WebCore/GNUMakefile.am to separate list of files 26560 https://bugs.webkit.org/show_bug.cgi?id=58116 26561 26562 This change is similar to the cooresponding to change to 26563 JavaScriptCore. We hope to generate GNUmakefile.list.am automatically 26564 using GYP. 26565 26566 * GNUmakefile.am: 26567 * GNUmakefile.list.am: Added. 26568 26569 2011-04-07 Geoffrey Garen <ggaren (a] apple.com> 26570 26571 Not reviewed. 26572 26573 Rolled out some accidentally-committed changes in my last commit. 26574 26575 * dom/EventTarget.cpp: 26576 (WebCore::EventTarget::addEventListener): 26577 (WebCore::EventTarget::removeEventListener): 26578 * dom/EventTarget.h: 26579 26580 2011-04-07 Julien Chaffraix <jchaffraix (a] codeaurora.org> 26581 26582 Reviewed by Alexey Proskuryakov. 26583 26584 EventSource should only accept UTF-8 charset 26585 https://bugs.webkit.org/show_bug.cgi?id=56942 26586 26587 Following the discussion on bug 45372, this change implements the recommended 26588 way of handling "charset". We only accept UTF-8 but no other encoding. This matches 26589 the encoding of the EventSource and also may fix TomCat that automatically send this 26590 charset. 26591 26592 * page/EventSource.cpp: 26593 (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is 26594 not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type 26595 is wrong to the console to help debugging (only in the case of an HTTP 200 response though). 26596 26597 2011-04-07 Geoffrey Garen <ggaren (a] apple.com> 26598 26599 Reviewed by Maciej Stachowiak. 26600 26601 Some Handle<T> cleanup 26602 https://bugs.webkit.org/show_bug.cgi?id=58109 26603 26604 * bindings/js/ScriptValue.h: 26605 (WebCore::ScriptValue::ScriptValue): Updated for new null constructor. 26606 (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty(). 26607 26608 2011-04-07 Dominic Cooney <dominicc (a] google.com> 26609 26610 Reviewed by Dimitri Glazkov. 26611 26612 Let shadow DOM have a list of nodes at the top level of a shadow. 26613 https://bugs.webkit.org/show_bug.cgi?id=57813 26614 26615 Adds ShadowRoot, a list of nodes, to be a parent for top-level 26616 shadow children. Forwards rendering through the root and into the 26617 host's renderer. 26618 26619 Covered by existing tests of elements that use this style of shadow. 26620 26621 * Android.mk: add ShadowRoot.h/cpp 26622 * CMakeLists.txt: 26623 * GNUmakefile.am: 26624 * WebCore.exp.in: 26625 * WebCore.gypi: 26626 * WebCore.pro: 26627 * WebCore.vcproj/WebCore.vcproj: 26628 * WebCore.xcodeproj/project.pbxproj: 26629 * css/CSSStyleSelector.cpp: 26630 (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host 26631 * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive 26632 (WebCore::ContainerNode::insertBefore): 26633 (WebCore::ContainerNode::replaceChild): 26634 (WebCore::ContainerNode::removeChild): 26635 (WebCore::ContainerNode::appendChild): 26636 * dom/DocumentFragment.cpp: 26637 (WebCore::DocumentFragment::DocumentFragment): 26638 * dom/DocumentFragment.h: 26639 * dom/Element.cpp: 26640 (WebCore::Element::recalcStyle): look through ShadowRoots for host's style 26641 (WebCore::Element::shadowRoot): should be const 26642 (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot 26643 * dom/Element.h: 26644 * dom/ElementRareData.h: 26645 * dom/Node.cpp: 26646 (WebCore::Node::parentNodeForRenderingAndStyle): indirection so 26647 ShadowRoot can forward to the host's renderer 26648 (WebCore::Node::createRendererAndStyle): 26649 (WebCore::Node::createRendererIfNeeded): 26650 * dom/Node.h: 26651 (WebCore::Node::isShadowBoundary): temporary, to differentiate 26652 old- and new-style, until all roots are ShadowRoot instances 26653 * dom/ShadowRoot.cpp: Added. 26654 (WebCore::ShadowRoot::ShadowRoot): 26655 (WebCore::ShadowRoot::recalcStyle): forward recalc to children 26656 * dom/ShadowRoot.h: Added. 26657 (WebCore::ShadowRoot::isShadowBoundary): 26658 (WebCore::ShadowRoot::create): 26659 * html/HTMLKeygenElement.cpp: use ensureShadowRoot 26660 (WebCore::HTMLKeygenElement::HTMLKeygenElement): 26661 (WebCore::HTMLKeygenElement::parseMappedAttribute): 26662 (WebCore::HTMLKeygenElement::appendFormData): 26663 (WebCore::HTMLKeygenElement::reset): 26664 (WebCore::HTMLKeygenElement::shadowSelect): 26665 * html/HTMLKeygenElement.h: 26666 * html/HTMLMeterElement.cpp: use ensureShadowRoot 26667 (WebCore::HTMLMeterElement::createShadowSubtree): 26668 * html/HTMLProgressElement.cpp: use ensureShadowRoot 26669 (WebCore::HTMLProgressElement::createShadowSubtree): 26670 * html/InputType.cpp: use ensureShadowRoot 26671 (WebCore::InputType::destroyShadowSubtree): 26672 * html/RangeInputType.cpp: use ensureShadowRoot 26673 (WebCore::RangeInputType::handleMouseDownEvent): 26674 (WebCore::RangeInputType::createShadowSubtree): 26675 (WebCore::RangeInputType::valueChanged): 26676 (WebCore::RangeInputType::shadowSliderThumb): 26677 * html/RangeInputType.h: 26678 * html/ValidationMessage.cpp: use ensureShadowRoot 26679 (WebCore::ValidationMessage::buildBubbleTree): 26680 (WebCore::ValidationMessage::deleteBubbleTree): 26681 * html/shadow/SliderThumbElement.cpp: 26682 (WebCore::SliderThumbElement::setPositionFromPoint): 26683 (WebCore::SliderThumbElement::hostInput): 26684 * html/shadow/SliderThumbElement.h: 26685 * rendering/MediaControlElements.cpp: use ensureShadowRoot 26686 (WebCore::MediaControlInputElement::attach): 26687 (WebCore::MediaControlInputElement::updateStyle): 26688 * rendering/RenderSlider.cpp: use ensureShadowRoot 26689 (WebCore::RenderSlider::thumbRect): 26690 (WebCore::RenderSlider::layout): 26691 (WebCore::RenderSlider::shadowSliderThumb): 26692 (WebCore::RenderSlider::inDragMode): 26693 * rendering/RenderSlider.h: 26694 26695 2011-04-07 Maciej Stachowiak <mjs (a] apple.com> 26696 26697 Reviewed by Simon Fraser. 26698 26699 REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/ 26700 https://bugs.webkit.org/show_bug.cgi?id=56297 26701 <rdar://problem/9131597> 26702 26703 Test: fast/css-generated-content/table-row-after-no-crash.html 26704 26705 * rendering/RenderTableRow.cpp: 26706 (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after 26707 content, and only do it if the row already has a parent. For construction of 26708 anonymous cells to work correctly, the row needs to already have a parent, so 26709 in that case wait a bit. 26710 (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here. 26711 * rendering/RenderTableRow.h: 26712 * rendering/RenderTableSection.cpp: 26713 (WebCore::RenderTableSection::addChild): When adding a row, update its 26714 before/after content, in case it had any. 26715 26716 2011-04-07 Beth Dakin <bdakin (a] apple.com> 26717 26718 Reviewed by Simon Fraser. 26719 26720 Probable fix for <rdar://problem/9251443> Crashing on exception: - 26721 [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 26722 selector sent to instance ADDRESS. 26723 26724 Need to implement new delegate method. 26725 * platform/mac/ScrollAnimatorMac.mm: 26726 (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]): 26727 26728 2011-04-07 Ian Henderson <ianh (a] apple.com> 26729 26730 Reviewed by Simon Fraser. 26731 26732 Optimize filling rounded rects that are actually ellipses 26733 https://bugs.webkit.org/show_bug.cgi?id=58098 26734 26735 In CG, drawing an ellipse directly is faster than constructing and 26736 filling a rounded rect path. Detect when the given rounded rect is 26737 actually an ellipse and draw it directly in this case. 26738 26739 * platform/graphics/cg/GraphicsContextCG.cpp: 26740 (WebCore::GraphicsContext::fillRoundedRect): 26741 26742 2011-04-07 Ned Holbrook <nholbrook (a] apple.com> 26743 26744 Reviewed by Dan Bernstein. 26745 26746 CTLine objects should outlive their CTRuns 26747 https://bugs.webkit.org/show_bug.cgi?id=58063 26748 26749 * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns. 26750 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 26751 (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun. 26752 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines. 26753 26754 2011-04-07 Nat Duca <nduca (a] chromium.org> 26755 26756 Reviewed by David Levin. 26757 26758 [chromium] Compositor thread infrastructure 26759 https://bugs.webkit.org/show_bug.cgi?id=56131 26760 26761 Introduce chrome compositor thread and related 26762 infrastructure. 26763 26764 * WebCore.gypi: 26765 * platform/graphics/chromium/cc/CCMainThread.cpp: Added. 26766 (WebCore::CCMainThread::performTask): 26767 (WebCore::CCMainThread::postTask): 26768 * platform/graphics/chromium/cc/CCMainThread.h: Added. 26769 (WebCore::CCMainThread::Task::~Task): 26770 (WebCore::CCMainThread::Task::instance): 26771 (WebCore::CCMainThread::Task::Task): 26772 * platform/graphics/chromium/cc/CCMainThreadTask.h: Added. 26773 (WebCore::MainThreadTask0::create): 26774 (WebCore::MainThreadTask0::MainThreadTask0): 26775 (WebCore::MainThreadTask0::performTask): 26776 (WebCore::MainThreadTask1::create): 26777 (WebCore::MainThreadTask1::MainThreadTask1): 26778 (WebCore::MainThreadTask1::performTask): 26779 (WebCore::MainThreadTask2::create): 26780 (WebCore::MainThreadTask2::MainThreadTask2): 26781 (WebCore::MainThreadTask2::performTask): 26782 (WebCore::MainThreadTask3::create): 26783 (WebCore::MainThreadTask3::MainThreadTask3): 26784 (WebCore::MainThreadTask3::performTask): 26785 (WebCore::createMainThreadTask): 26786 * platform/graphics/chromium/cc/CCThread.cpp: Added. 26787 (WebCore::CCThread::create): 26788 (WebCore::CCThread::CCThread): 26789 (WebCore::CCThread::~CCThread): 26790 (WebCore::CCThread::postTask): 26791 (WebCore::CCThread::compositorThreadStart): 26792 (WebCore::CCThread::runLoop): 26793 * platform/graphics/chromium/cc/CCThread.h: Added. 26794 (WebCore::CCThread::Task::~Task): 26795 (WebCore::CCThread::Task::instance): 26796 (WebCore::CCThread::Task::Task): 26797 (WebCore::CCThread::threadID): 26798 (WebCore::CCCompletionEvent::CCCompletionEvent): 26799 (WebCore::CCCompletionEvent::~CCCompletionEvent): 26800 (WebCore::CCCompletionEvent::wait): 26801 (WebCore::CCCompletionEvent::signal): 26802 * platform/graphics/chromium/cc/CCThreadTask.h: Added. 26803 (WebCore::CCThreadTask0::create): 26804 (WebCore::CCThreadTask0::CCThreadTask0): 26805 (WebCore::CCThreadTask0::performTask): 26806 (WebCore::CCThreadTask1::create): 26807 (WebCore::CCThreadTask1::CCThreadTask1): 26808 (WebCore::CCThreadTask1::performTask): 26809 (WebCore::CCThreadTask2::create): 26810 (WebCore::CCThreadTask2::CCThreadTask2): 26811 (WebCore::CCThreadTask2::performTask): 26812 (WebCore::CCThreadTask3::create): 26813 (WebCore::CCThreadTask3::CCThreadTask3): 26814 (WebCore::CCThreadTask3::performTask): 26815 (WebCore::createCCThreadTask): 26816 26817 2011-04-07 Ryosuke Niwa <rniwa (a] webkit.org> 26818 26819 Reviewed by Eric Seidel. 26820 26821 REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words 26822 https://bugs.webkit.org/show_bug.cgi?id=57872 26823 26824 r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition 26825 because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition. 26826 26827 r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without 26828 avoiding the tab span. 26829 26830 Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy. 26831 Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when 26832 we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block 26833 before moving the nodes. 26834 26835 Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html 26836 editing/inserting/insert-paragraph-separator-tab-span.html 26837 26838 * editing/DeleteSelectionCommand.cpp: 26839 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span, 26840 no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor. 26841 * editing/EditingStyle.cpp: 26842 (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style. 26843 * editing/InsertParagraphSeparatorCommand.cpp: 26844 (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph 26845 separator into a paragraph separator. 26846 * editing/htmlediting.cpp: 26847 (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent 26848 node after the tab span if the position was at the end of the tab span. 26849 * editing/htmlediting.h: 26850 26851 2011-04-07 Jia Pu <jpu (a] apple.com> 26852 26853 Reviewed by Darin Adler. 26854 26855 [Mac] Editor::setComposition() should not trigger correction panel timer. 26856 https://bugs.webkit.org/show_bug.cgi?id=58049 26857 <rdar://problem/9226305> 26858 26859 On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input) 26860 should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. 26861 When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand(). 26862 m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition(). 26863 26864 No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing 26865 autocorrection panel timer, which can not be easily done in automated fashion. 26866 26867 * editing/Editor.cpp: 26868 (WebCore::Editor::deleteWithDirection): 26869 (WebCore::Editor::insertTextWithoutSendingTextEvent): 26870 (WebCore::Editor::confirmComposition): 26871 (WebCore::Editor::setComposition): 26872 * editing/EditorCommand.cpp: 26873 (WebCore::executeDelete): 26874 * editing/TypingCommand.cpp: 26875 (WebCore::TypingCommand::TypingCommand): 26876 (WebCore::TypingCommand::deleteSelection): 26877 (WebCore::TypingCommand::deleteKeyPressed): 26878 (WebCore::TypingCommand::forwardDeleteKeyPressed): 26879 (WebCore::TypingCommand::insertText): 26880 (WebCore::TypingCommand::insertLineBreak): 26881 (WebCore::TypingCommand::insertParagraphSeparator): 26882 (WebCore::TypingCommand::typingAddedToOpenCommand): 26883 * editing/TypingCommand.h: 26884 (WebCore::TypingCommand::create): 26885 (WebCore::TypingCommand::setShouldPreventSpellChecking): 26886 26887 2011-04-07 John Bauman <jbauman (a] chromium.org> 26888 26889 Reviewed by Kenneth Russell. 26890 26891 clearIfComposited call is really slow 26892 https://bugs.webkit.org/show_bug.cgi?id=57999 26893 26894 Move getContextAttributes call after the if, so it isn't called nearly as often. 26895 26896 No new tests. 26897 26898 * html/canvas/WebGLRenderingContext.cpp: 26899 (WebCore::WebGLRenderingContext::clearIfComposited): 26900 26901 2011-04-07 Luke Macpherson <macpherson (a] chromium.org> 26902 26903 Reviewed by Dimitri Glazkov. 26904 26905 Implement Backgroun and Mask properties in CSSStyleApplyProperty 26906 https://bugs.webkit.org/show_bug.cgi?id=57922 26907 26908 No tests added as no behavioral changes. 26909 26910 * css/CSSStyleApplyProperty.cpp: 26911 Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties. 26912 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 26913 Added constructor calls to set up: 26914 CSSPropertyBackgroundAttachment 26915 CSSPropertyBackgroundClip 26916 CSSPropertyWebkitBackgroundClip 26917 CSSPropertyWebkitBackgroundComposite 26918 CSSPropertyBackgroundOrigin 26919 CSSPropertyWebkitBackgroundOrigin 26920 CSSPropertyBackgroundSize 26921 CSSPropertyWebkitBackgroundSize 26922 CSSPropertyWebkitMaskAttachment 26923 CSSPropertyWebkitMaskClip 26924 CSSPropertyWebkitMaskComposite 26925 CSSPropertyWebkitMaskOrigin 26926 CSSPropertyWebkitMaskSize 26927 * css/CSSStyleApplyProperty.h: 26928 (WebCore::CSSStyleApplyProperty::setPropertyValue): 26929 Add function to specify an equivalent property value in the lookup table. 26930 * css/CSSStyleSelector.cpp: 26931 (WebCore::CSSStyleSelector::applyProperty): 26932 Remove sections now implemented by CSSStyleApplyProperty. 26933 * css/CSSStyleSelector.h: 26934 Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible. 26935 26936 2011-04-04 Eric Seidel <eric (a] webkit.org> 26937 26938 Reviewed by Ryosuke Niwa. 26939 26940 Split run storage out from BidiResolver into a new BidiRunList class 26941 https://bugs.webkit.org/show_bug.cgi?id=57764 26942 26943 Part of what makes BidiResolver and InlineIterator so difficult to understand 26944 (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine 26945 for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting 26946 BidiRuns from the algorithm. This patch breaks the storage aspect off 26947 into its own class BidiRunList. 26948 26949 This patch is only a start. It does not actually fix the problematic ownership 26950 relationship, but it does make it possible to fix such in a second patch. 26951 26952 The run pointers and addRun/prependRun, etc. were already a tightly coupled 26953 logical subset of the BidiResolver class, so moving them into their own class 26954 was both obvious and easy. The only piece of logic I had to move was that 26955 deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver. 26956 26957 I believe this deleteRuns side-effect was only ever used for one place 26958 (right after findNextLineBreak) and that it's only needed because 26959 findNextLineBreak can sometimes create bidi runs. Run creation appears to be 26960 an unintentional side-effect of how InlineIterator calls through to BidiResolver 26961 as part of bidiNext and not a desired effect of the code. I have added the call 26962 to markCurrentRunEmpty to both places deleteRuns was called (where the resolver 26963 could get re-used) as a safety precaution. We could replace both with ASSERTs 26964 in a later patch. 26965 26966 I suspect there may be a small performance win from further refactoring so that 26967 findNextLineBreak does not need to create BidiRuns. 26968 26969 As I commented in the code, callers should own their own BidiRunList which they 26970 pass to BidiResolver::createBidiRunsForLine. I attempted to implement that in 26971 an earlier version of this patch, but it was too complicated with the current 26972 twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver. 26973 raise/lowerExplicitEmbeddingLevel are called unconditionally 26974 from commitExplicitEmbedding (which is called by bidiNext) and expect to have 26975 access to a runs list even in cases where we don't want any runs (findNextLineBreak). 26976 26977 I also cleaned up some of the callers to pass around BidiRunList objects instead 26978 of InlineBidiResolvers now that they're separate objects. 26979 26980 * GNUmakefile.am: 26981 * WebCore.gypi: 26982 * WebCore.pro: 26983 * WebCore.vcproj/WebCore.vcproj: 26984 * WebCore.xcodeproj/project.pbxproj: 26985 * platform/graphics/GraphicsContext.cpp: 26986 (WebCore::GraphicsContext::drawBidiText): 26987 * platform/text/BidiResolver.h: 26988 (WebCore::BidiResolver::BidiResolver): 26989 (WebCore::BidiResolver::runs): 26990 (WebCore::BidiResolver::markCurrentRunEmpty): 26991 (WebCore::::appendRun): 26992 (WebCore::::lowerExplicitEmbeddingLevel): 26993 (WebCore::::raiseExplicitEmbeddingLevel): 26994 (WebCore::::reorderRunsFromLevels): 26995 (WebCore::::createBidiRunsForLine): 26996 * rendering/InlineIterator.h: 26997 (WebCore::InlineBidiResolver::appendRun): 26998 * rendering/RenderBlock.h: 26999 * rendering/RenderBlockLineLayout.cpp: 27000 (WebCore::createRun): 27001 (WebCore::RenderBlock::appendRunsForObject): 27002 (WebCore::reachedEndOfTextRenderer): 27003 (WebCore::RenderBlock::handleTrailingSpaces): 27004 (WebCore::RenderBlock::layoutInlineChildren): 27005 27006 2011-04-07 Naoki Takano <takano.naoki (a] gmail.com> 27007 27008 Reviewed by Adam Barth. 27009 27010 [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner. 27011 https://bugs.webkit.org/show_bug.cgi?id=57911 27012 http://code.google.com/p/chromium/issues/detail?id=78073 27013 27014 Manual test added: manual-tests/autofill-popup-location.html 27015 27016 Originally only height is checked so that it introduces the bug. 27017 So I changed it to check both width and height as size. 27018 27019 * manual-tests/autofill-popup-location.html: Added. 27020 * platform/chromium/PopupMenuChromium.cpp: 27021 (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect(). 27022 27023 2011-04-07 Adam Barth <abarth (a] webkit.org> 27024 27025 Reviewed by Eric Seidel. 27026 27027 Implement img-src style-src and font-src 27028 https://bugs.webkit.org/show_bug.cgi?id=58018 27029 27030 These are pretty straight forward given the rest of the infrastructure 27031 we've built so far. 27032 27033 Tests: http/tests/security/contentSecurityPolicy/image-allowed.html 27034 http/tests/security/contentSecurityPolicy/image-blocked.html 27035 http/tests/security/contentSecurityPolicy/style-allowed.html 27036 http/tests/security/contentSecurityPolicy/style-blocked.html 27037 http/tests/security/contentSecurityPolicy/xsl-allowed.php 27038 http/tests/security/contentSecurityPolicy/xsl-blocked.php 27039 27040 * loader/cache/CachedResourceLoader.cpp: 27041 (WebCore::CachedResourceLoader::canRequest): 27042 * page/ContentSecurityPolicy.cpp: 27043 (WebCore::ContentSecurityPolicy::allowImageFromSource): 27044 (WebCore::ContentSecurityPolicy::allowStyleFromSource): 27045 (WebCore::ContentSecurityPolicy::allowFontFromSource): 27046 (WebCore::ContentSecurityPolicy::addDirective): 27047 * page/ContentSecurityPolicy.h: 27048 27049 2011-04-07 David Levin <levin (a] chromium.org> 27050 27051 Reviewed by Darin Adler. 27052 27053 Make IconSnapshot and PageURLRecord member variables private. 27054 https://bugs.webkit.org/show_bug.cgi?id=58080 27055 27056 No change in functionality so no new tests. 27057 27058 * loader/icon/IconDatabase.cpp: 27059 (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions. 27060 (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto. 27061 * loader/icon/IconRecord.h: 27062 (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names. 27063 (WebCore::IconSnapshot::iconURL): Expose the property. 27064 (WebCore::IconSnapshot::timestamp): Ditto. 27065 (WebCore::IconSnapshot::data): Ditto. 27066 * loader/icon/PageURLRecord.h: 27067 (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names. 27068 (WebCore::PageURLSnapshot::pageURL): Expose the property. 27069 (WebCore::PageURLSnapshot::iconURL): Ditto. 27070 27071 2011-04-07 Dan Bernstein <mitz (a] apple.com> 27072 27073 Build fix. 27074 27075 * platform/graphics/cairo/GraphicsContextCairo.cpp: 27076 (WebCore::GraphicsContext::roundToDevicePixels): 27077 27078 2011-04-07 Eric Seidel <eric (a] webkit.org> 27079 27080 Reviewed by Adam Barth. 27081 27082 Add stub support for generating Gtk build system from gyp 27083 https://bugs.webkit.org/show_bug.cgi?id=58086 27084 27085 This does not produce a buildable WebCore, but it 27086 does allow running gyp/configure --port=gtk and having 27087 it generate a gtk.Makefile which we can use for testing 27088 the rest of the plumbing. 27089 27090 * gyp/gtk.gyp: Added. 27091 27092 2011-04-07 David Hyatt <hyatt (a] apple.com> 27093 27094 Reviewed by Dan Bernstein. 27095 27096 https://bugs.webkit.org/show_bug.cgi?id=57736 27097 27098 Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout 27099 optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when 27100 layout finished. This would eventually lead to an inability to properly determine the correct layout root and 27101 would cause a deleted root to be used later on. 27102 27103 Added fast/block/positioning/complex-positioned-movement.html. 27104 27105 * page/FrameView.cpp: 27106 (WebCore::FrameView::scheduleRelayoutOfSubtree): 27107 Add asserts to catch cases in the future where a layout root is set that has a dirty containing block. 27108 27109 * rendering/RenderBlock.cpp: 27110 (WebCore::RenderBlock::simplifiedLayout): 27111 Change simplified layout so that the positioned movement optimization no longer clears the other layout 27112 flags. This will ensure that we still lay out our descendants if they need it. 27113 27114 (WebCore::RenderBlock::layoutPositionedObjects): 27115 Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly 27116 no longer does the clear. 27117 27118 * rendering/RenderBox.h: 27119 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): 27120 tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure. On success it no longer 27121 does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at 27122 the other flags in case other kinds of layout are still needed. 27123 27124 * rendering/RenderObject.h: 27125 (WebCore::RenderObject::setNeedsPositionedMovementLayout): 27126 (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): 27127 Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation. 27128 27129 2011-04-07 Andrew Scherkus <scherkus (a] chromium.org> 27130 27131 Revert ENABLE_TRACK patch due to compile failures. 27132 27133 * CMakeLists.txt: 27134 * Configurations/FeatureDefines.xcconfig: 27135 * DerivedSources.make: 27136 * GNUmakefile.am: 27137 * WebCore.gypi: 27138 * WebCore.xcodeproj/project.pbxproj: 27139 * features.pri: 27140 * html/HTMLAttributeNames.in: 27141 * html/HTMLTagNames.in: 27142 * html/HTMLTrackElement.cpp: Removed. 27143 * html/HTMLTrackElement.h: Removed. 27144 * html/HTMLTrackElement.idl: Removed. 27145 27146 2011-04-07 Dan Bernstein <mitz (a] apple.com> 27147 27148 Reviewed by Simon Fraser. 27149 27150 <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor 27151 https://bugs.webkit.org/show_bug.cgi?id=58083 27152 27153 Test: fast/text/decorations-transformed.html 27154 27155 * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides 27156 is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel 27157 gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds 27158 the width and the height. In this new mode, translating a rectangle in user space never changes 27159 its dimensions in device pixels. 27160 * platform/graphics/cg/GraphicsContextCG.cpp: 27161 (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions. 27162 (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that 27163 all underlines have the same thickness in device pixels. 27164 * platform/graphics/openvg/GraphicsContextOpenVG.cpp: 27165 (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it. 27166 * platform/graphics/qt/GraphicsContextQt.cpp: 27167 (WebCore::GraphicsContext::roundToDevicePixels): Ditto. 27168 * platform/graphics/skia/GraphicsContextSkia.cpp: 27169 (WebCore::GraphicsContext::roundToDevicePixels): Ditto. 27170 * platform/graphics/wince/GraphicsContextWinCE.cpp: 27171 (WebCore::GraphicsContext::roundToDevicePixels): Ditto. 27172 * platform/graphics/wx/GraphicsContextWx.cpp: 27173 (WebCore::GraphicsContext::roundToDevicePixels): Ditto. 27174 * rendering/InlineTextBox.cpp: 27175 (WebCore::InlineTextBox::paintDecoration): 27176 27177 2011-04-06 Vitaly Repeshko <vitalyr (a] chromium.org> 27178 27179 Reviewed by Nate Chapin. 27180 27181 [V8] Remove custom DOMImplementation getter on Document. 27182 https://bugs.webkit.org/show_bug.cgi?id=57991 27183 27184 The custom getter is no longer required because DOMImplementation 27185 objects are now created per document. 27186 27187 Test: fast/dom/DOMImplementation/implementation-identity.html 27188 27189 * bindings/scripts/CodeGeneratorV8.pm: 27190 * bindings/v8/custom/V8DocumentCustom.cpp: 27191 * dom/Document.idl: 27192 27193 2011-04-07 Sergey Glazunov <serg.glazunov (a] gmail.com> 27194 27195 Reviewed by Dimitri Glazkov. 27196 27197 setHasID() is only called for styled elements 27198 https://bugs.webkit.org/show_bug.cgi?id=57267 27199 27200 Test: fast/dom/non-styled-element-id-crash.html 27201 27202 * dom/Element.cpp: 27203 (WebCore::Element::attributeChanged): 27204 (WebCore::Element::idAttributeChanged): 27205 * dom/Element.h: 27206 * dom/StyledElement.cpp: 27207 (WebCore::StyledElement::parseMappedAttribute): 27208 27209 2011-04-07 Jer Noble <jer.noble (a] apple.com> 27210 27211 Reviewed by Eric Carlson. 27212 27213 HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available. 27214 https://bugs.webkit.org/show_bug.cgi?id=58070 27215 27216 Make the HTMLMediaElement full screen functions call into the new Full Screen API when 27217 FULLSCREEN_API is enabled. 27218 27219 * html/HTMLMediaElement.cpp: 27220 (WebCore::HTMLMediaElement::enterFullscreen): 27221 (WebCore::HTMLMediaElement::exitFullscreen): 27222 27223 2011-04-07 Adam Barth <abarth (a] webkit.org> 27224 27225 Reviewed by Eric Seidel. 27226 27227 Implement CSP's options directive 27228 https://bugs.webkit.org/show_bug.cgi?id=58014 27229 27230 This patch contains the full options parser, but we only have enough of 27231 CSP implemented to see the effects of disable-xss-protection. Will 27232 need to do some more work before we can see eval-script in action. 27233 27234 Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html 27235 http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html 27236 27237 * page/ContentSecurityPolicy.cpp: 27238 (WebCore::CSPOptions::CSPOptions): 27239 (WebCore::CSPOptions::disableXSSProtection): 27240 (WebCore::CSPOptions::evalScript): 27241 (WebCore::CSPOptions::parse): 27242 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 27243 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 27244 (WebCore::ContentSecurityPolicy::allowInlineScript): 27245 (WebCore::ContentSecurityPolicy::addDirective): 27246 * page/ContentSecurityPolicy.h: 27247 27248 2011-04-07 Alexey Proskuryakov <ap (a] apple.com> 27249 27250 Reviewed by Anders Carlsson. 27251 27252 REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri 27253 https://bugs.webkit.org/show_bug.cgi?id=58066 27254 <rdar://problem/8965302> 27255 27256 * platform/mac/HTMLConverter.h: 27257 * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]): 27258 Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since 27259 it's now used in WebKit2. 27260 27261 2011-04-07 Andy Estes <aestes (a] apple.com> 27262 27263 Reviewed by Darin Adler. 27264 27265 REGRESSION (r64712): Microsoft Outlook 2011: original message contents 27266 not included when replying to an email. 27267 https://bugs.webkit.org/show_bug.cgi?id=57794 27268 27269 * WebCore.exp.in: 27270 * loader/FrameLoader.cpp: 27271 (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts() 27272 before checking if the FrameLoader is parsing the initial empty document. 27273 This allows user scripts to be injected at the end of document parsing 27274 (if the setting is enabled). 27275 * page/Frame.cpp: 27276 (WebCore::Frame::injectUserScripts): Do not inject scripts if this 27277 feature is disabled on the initial empty document. 27278 * page/Settings.cpp: 27279 (WebCore::Settings::Settings): 27280 * page/Settings.h: Add a setting for injecting user scripts into the 27281 initial empty document (defaults to false). 27282 (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument): 27283 (WebCore::Settings::injectUserScriptsInInitialEmptyDocument): 27284 * platform/mac/RuntimeApplicationChecks.h: 27285 * platform/mac/RuntimeApplicationChecks.mm: 27286 (WebCore::applicationIsMicrosoftOutlook): Check if the embedding 27287 application is Microsoft Outlook. 27288 27289 2011-04-06 Jer Noble <jer.noble (a] apple.com> 27290 27291 Reviewed by Maciej Stachowiak. 27292 27293 AVF: MediaPlayerPrivateAVFoundation never reaches playable state. 27294 https://bugs.webkit.org/show_bug.cgi?id=57962 27295 27296 Add support for a new AVPlayerItem API which will notify clients when their 27297 seek completes. This requires a new Notification type to be passed to the main 27298 thread in MediaPlayerPrivateAVFoundation. 27299 27300 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 27301 (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added. 27302 (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new 27303 overloaded functions which take a Notification; and a Notification::Type and boolean. 27304 (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted 27305 Notification type. 27306 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 27307 (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor. 27308 (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor. 27309 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 27310 (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API. 27311 (-[WebCoreAVFMovieObserver seekCompleted:]): Added. 27312 27313 2011-04-07 Nancy Piedra <nancy.piedra (a] nokia.com> 27314 27315 Reviewed by Eric Carlson. 27316 27317 Parse quotes from content type parameters 27318 https://bugs.webkit.org/show_bug.cgi?id=53275 27319 27320 This functionality is tested in video-can-play-type.html layout test 27321 where I've added codecs parameter with good and bad formatting. 27322 27323 * platform/ContentType.cpp: 27324 (WebCore::ContentType::parameter): 27325 27326 2011-04-07 Pavel Feldman <pfeldman (a] google.com> 27327 27328 Reviewed by Yury Semikhatsky. 27329 27330 Web Inspector: remove "enabled" from the setBreakpoint protocol. 27331 https://bugs.webkit.org/show_bug.cgi?id=58047 27332 27333 * bindings/js/ScriptDebugServer.cpp: 27334 (WebCore::ScriptDebugServer::hasBreakpoint): 27335 * bindings/v8/DebuggerScript.js: 27336 (): 27337 * bindings/v8/ScriptDebugServer.cpp: 27338 (WebCore::ScriptDebugServer::setBreakpoint): 27339 * inspector/Inspector.json: 27340 * inspector/InspectorDebuggerAgent.cpp: 27341 (WebCore::buildObjectForBreakpointCookie): 27342 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): 27343 (WebCore::InspectorDebuggerAgent::setBreakpoint): 27344 (WebCore::InspectorDebuggerAgent::continueToLocation): 27345 (WebCore::InspectorDebuggerAgent::didParseSource): 27346 * inspector/InspectorDebuggerAgent.h: 27347 * inspector/ScriptBreakpoint.h: 27348 (WebCore::ScriptBreakpoint::ScriptBreakpoint): 27349 * inspector/front-end/DebuggerModel.js: 27350 (WebInspector.DebuggerModel.prototype.setBreakpoint): 27351 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 27352 * inspector/front-end/DebuggerPresentationModel.js: 27353 (WebInspector.DebuggerPresentationModel): 27354 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 27355 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): 27356 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback): 27357 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 27358 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger): 27359 (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping): 27360 (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger): 27361 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate): 27362 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): 27363 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): 27364 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): 27365 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): 27366 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 27367 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 27368 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 27369 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings): 27370 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): 27371 (WebInspector.DebuggerPresentationModel.prototype._reset): 27372 (WebInspector.PresentationBreakpoint): 27373 27374 2011-04-07 Dan Bernstein <mitz (a] apple.com> 27375 27376 Reviewed by Adam Roben. 27377 27378 Removed a redundant line of code. 27379 27380 * rendering/RenderInline.cpp: 27381 (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as 27382 this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check. 27383 27384 2011-04-07 Liang Qi <liang.qi (a] nokia.com> 27385 27386 Reviewed by Laszlo Gombos. 27387 27388 [Qt][Symbian] Enable webkit build with GCCE on Symbian. 27389 https://bugs.webkit.org/show_bug.cgi?id=57841 27390 27391 * WebCore.pri: Thanks for Norbert Leser <norbert.leser (a] nokia.com> who checked RVCT part. 27392 --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated 27393 to 0x1000000 together. They need to be updated in the future when WebKit grows. 27394 27395 2011-04-06 Pavel Feldman <pfeldman (a] google.com> 27396 27397 Reviewed by Yury Semikhatsky. 27398 27399 Web Inspector: get rid of Breakpoint.js. 27400 https://bugs.webkit.org/show_bug.cgi?id=57949 27401 27402 * WebCore.gypi: 27403 * WebCore.vcproj/WebCore.vcproj: 27404 * inspector/front-end/Breakpoint.js: Removed. 27405 * inspector/front-end/BreakpointsSidebarPane.js: 27406 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint): 27407 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet): 27408 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint): 27409 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints): 27410 * inspector/front-end/DebuggerModel.js: 27411 (WebInspector.DebuggerModel): 27412 (WebInspector.DebuggerModel.prototype._debuggerWasDisabled): 27413 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): 27414 (WebInspector.DebuggerModel.prototype.setBreakpoint): 27415 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 27416 (WebInspector.DebuggerModel.prototype.removeBreakpoint): 27417 (WebInspector.DebuggerModel.prototype._breakpointResolved): 27418 (WebInspector.DebuggerModel.prototype.reset): 27419 * inspector/front-end/DebuggerPresentationModel.js: 27420 (WebInspector.DebuggerPresentationModel): 27421 (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints): 27422 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): 27423 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 27424 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint): 27425 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 27426 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): 27427 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): 27428 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): 27429 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): 27430 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 27431 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 27432 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 27433 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 27434 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint): 27435 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): 27436 (WebInspector.DebuggerPresentationModel.prototype._reset): 27437 (WebInspector.PresentationBreakpoint): 27438 (WebInspector.PresentationBreakpoint.prototype.get sourceFile): 27439 (WebInspector.PresentationBreakpoint.prototype.get url): 27440 (WebInspector.PresentationBreakpoint.prototype.get resolved): 27441 (WebInspector.PresentationBreakpoint.prototype.loadSnippet): 27442 * inspector/front-end/ResourceTreeModel.js: 27443 (WebInspector.ResourceTreeModel): 27444 (WebInspector.ResourceTreeModel.prototype._onResourceStarted): 27445 (WebInspector.ResourceTreeModel.prototype._addResourceToFrame): 27446 * inspector/front-end/ScriptsPanel.js: 27447 (WebInspector.ScriptsPanel): 27448 (WebInspector.ScriptsPanel.prototype._breakpointUpdated): 27449 (WebInspector.ScriptsPanel.prototype.reset): 27450 * inspector/front-end/WebKit.qrc: 27451 * inspector/front-end/inspector.html: 27452 27453 2011-04-07 Yury Semikhatsky <yurys (a] chromium.org> 27454 27455 Reviewed by Pavel Feldman. 27456 27457 Web Inspector: console messages names should adhere to the common naming style 27458 https://bugs.webkit.org/show_bug.cgi?id=58042 27459 27460 * inspector/ConsoleMessage.cpp: 27461 (WebCore::ConsoleMessage::addToFrontend): 27462 (WebCore::ConsoleMessage::updateRepeatCountInConsole): 27463 * inspector/Inspector.json: 27464 * inspector/InspectorConsoleAgent.cpp: 27465 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 27466 * inspector/front-end/ConsoleView.js: 27467 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded): 27468 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated): 27469 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared): 27470 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher): 27471 27472 2011-04-06 Ilya Tikhonovsky <loislo (a] chromium.org> 27473 27474 Reviewed by Yury Semikhatsky. 27475 27476 Web Inspector: migrate Inspector protocol messages format to JSON-RPC. 27477 https://bugs.webkit.org/show_bug.cgi?id=57957 27478 27479 There is not a significant difference between inspector messages spec and and JSON-RPC 2.0 messages spec. 27480 Also JSON-RPC has a pretty clear specification for error descriptions which we haven't. 27481 It was decided that we will use it. 27482 27483 the list of renames: 27484 1) type-> /dev/null 27485 2) domain + '.' + event => method // for events 27486 3) domain + '.' + command => method // for requests 27487 4) requestId => id // for responses 27488 5) arguments => params // for requests 27489 6) data => params // for events 27490 7) body => result // for responses 27491 27492 protocolErrors and error properties will be converted to JSON-RPC error format. 27493 The order of properties in messages also will be adjusted. 27494 The only thing that looks unnecessary is jsonrpc property. 27495 27496 * inspector/CodeGeneratorInspector.pm: 27497 27498 2011-04-07 Ryosuke Niwa <rniwa (a] webkit.org> 27499 27500 Reviewed by Eric Seidel. 27501 27502 Add functions to update left and right offsets to LineOffsets 27503 https://bugs.webkit.org/show_bug.cgi?id=58028 27504 27505 Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets, 27506 which are used to update m_left and m_right. Also added m_block and m_isFirstLine 27507 member variables to LineOffsets so that users of LineOffsets don't have to pass them around. 27508 27509 * rendering/RenderBlock.h: 27510 * rendering/RenderBlockLineLayout.cpp: 27511 (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine. 27512 (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets. 27513 (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine. 27514 (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine. 27515 (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine. 27516 (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and 27517 no longer passes firstLine around. 27518 27519 2011-04-06 Pavel Feldman <pfeldman (a] google.com> 27520 27521 Reviewed by Yury Semikhatsky. 27522 27523 Web Inspector: migrate debugger domain to the unified breakpoint location notion. 27524 https://bugs.webkit.org/show_bug.cgi?id=57928 27525 27526 * inspector/Inspector.json: 27527 * inspector/InspectorDebuggerAgent.cpp: 27528 (WebCore::buildObjectForBreakpointCookie): 27529 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): 27530 (WebCore::InspectorDebuggerAgent::setBreakpoint): 27531 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 27532 (WebCore::InspectorDebuggerAgent::didParseSource): 27533 * inspector/InspectorDebuggerAgent.h: 27534 * inspector/front-end/Breakpoint.js: 27535 (WebInspector.Breakpoint): 27536 * inspector/front-end/DebuggerModel.js: 27537 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 27538 (WebInspector.DebuggerModel.prototype._breakpointResolved): 27539 27540 2011-04-07 Andreas Kling <andreas.kling (a] nokia.com> 27541 27542 Reviewed by Benjamin Poulain. 27543 27544 [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars. 27545 27546 When initializing a QStyleOptionSlider from a widget, the State_Horizontal 27547 hint may get set depending on how that widget is laid out in its parent. 27548 If this happens when drawing a vertical scrollbar, the hint is never 27549 cleared and we end up painting a vertical scrollbar with horizontal arrows. 27550 27551 Covered by pixel tests which should no longer paint silly scrollbars. 27552 27553 * platform/qt/ScrollbarThemeQt.cpp: 27554 (WebCore::styleOptionSlider): 27555 27556 2011-04-07 Adam Barth <abarth (a] webkit.org> 27557 27558 Reviewed by Eric Seidel. 27559 27560 script-src should block inline script 27561 https://bugs.webkit.org/show_bug.cgi?id=58012 27562 27563 Block inline scripts at the ScriptElement layer. This should catch 27564 exactly the scripts we want to catch. 27565 27566 Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html 27567 27568 * dom/Document.cpp: 27569 (WebCore::Document::processHttpEquiv): 27570 - This patch also adds the ability to supply a CSP policy via a 27571 <meta> tag. We'll update the name of the header once we've 27572 finished implementing the spec. 27573 * dom/ScriptElement.cpp: 27574 (WebCore::ScriptElement::executeScript): 27575 * page/ContentSecurityPolicy.cpp: 27576 (WebCore::ContentSecurityPolicy::allowInlineScript): 27577 * page/ContentSecurityPolicy.h: 27578 27579 2011-04-07 Alice Boxhall <aboxhall (a] chromium.org> 27580 27581 Reviewed by Ryosuke Niwa. 27582 27583 Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler. 27584 https://bugs.webkit.org/show_bug.cgi?id=57921 27585 27586 Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so 27587 that the same logic can be used for a HitTestResult. 27588 27589 No visible changes, just cleanup, so no tests. 27590 27591 * page/EventHandler.cpp: 27592 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 27593 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): 27594 (WebCore::EventHandler::handleMousePressEventTripleClick): 27595 (WebCore::EventHandler::handleMousePressEventSingleClick): 27596 (WebCore::EventHandler::handleMousePressEvent): 27597 (WebCore::EventHandler::handleMouseDraggedEvent): 27598 (WebCore::EventHandler::handleMouseReleaseEvent): 27599 (WebCore::EventHandler::subframeForHitTestResult): 27600 Made public static member, so that it can access targetNode(), and be accessed by 27601 webkitwebview in gtk. 27602 (WebCore::EventHandler::selectCursor): 27603 (WebCore::EventHandler::targetNode): 27604 (WebCore::EventHandler::handleMouseDoubleClickEvent): 27605 (WebCore::EventHandler::handleMouseMoveEvent): 27606 (WebCore::EventHandler::updateDragAndDrop): 27607 (WebCore::EventHandler::sendContextMenuEvent): 27608 * page/EventHandler.h: 27609 * page/MouseEventWithHitTestResults.cpp: 27610 (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults): 27611 * page/MouseEventWithHitTestResults.h: 27612 * page/android/EventHandlerAndroid.cpp: 27613 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27614 * page/brew/EventHandlerBrew.cpp: 27615 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27616 * page/chromium/EventHandlerChromium.cpp: 27617 (WebCore::EventHandler::passMousePressEventToSubframe): 27618 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27619 * page/efl/EventHandlerEfl.cpp: 27620 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27621 * page/gtk/EventHandlerGtk.cpp: 27622 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27623 * page/haiku/EventHandlerHaiku.cpp: 27624 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27625 * page/mac/EventHandlerMac.mm: 27626 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27627 (WebCore::EventHandler::passSubframeEventToSubframe): 27628 * page/wx/EventHandlerWx.cpp: 27629 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 27630 27631 2011-04-07 Pavel Podivilov <podivilov (a] chromium.org> 27632 27633 Reviewed by Pavel Feldman. 27634 27635 Web Inspector: build mapping for formatted scripts based on keywords positions. 27636 https://bugs.webkit.org/show_bug.cgi?id=57936 27637 27638 Mapping based on [\$\.\w]+ was not accurate because string literals representation 27639 may be different in original and formatted scripts. 27640 27641 * inspector/front-end/ScriptFormatterWorker.js: 27642 (buildMapping.regexp.b): 27643 (buildMapping): 27644 27645 2011-04-07 Kent Tamura <tkent (a] chromium.org> 27646 27647 Reviewed by Dimitri Glazkov. 27648 27649 Spinbuttons become unclickable if right padding is large. 27650 https://bugs.webkit.org/show_bug.cgi?id=56298 27651 27652 An inner-spin-button is put on the right border and ignores right 27653 padding in RenderTextControlSingleLine::layout(), but forwardEvent() 27654 checks if a point is in an area just right of an internal text block. 27655 This inconsistency caused a bug that an inner-spin-button with large 27656 padding didn't receive mouse events. 27657 27658 To fix this bug, we render spin buttons as layers, and remove manual 27659 event forwarding code. 27660 27661 Test: fast/forms/input-number-large-padding.html 27662 27663 * css/html.css: Add "position:relative" to make a spin-button a layer. 27664 (input::-webkit-inner-spin-button): 27665 (input::-webkit-outer-spin-button): 27666 * rendering/RenderTextControlSingleLine.cpp: 27667 (WebCore::RenderTextControlSingleLine::forwardEvent): 27668 Remove manual event forwarding code. 27669 27670 2011-04-06 Adam Barth <abarth (a] webkit.org> 27671 27672 Reviewed by Eric Seidel. 27673 27674 CSP object-src should block plugin loads 27675 https://bugs.webkit.org/show_bug.cgi?id=57283 27676 27677 This change is pretty straight-forward. It's slighly unclear to me 27678 whether this patch is correct w.r.t. the code in DocumentWriter. I've 27679 added a FIXME comment, and I'll investigate that case more in the future. 27680 27681 Test: http/tests/security/contentSecurityPolicy/object-src-none.html 27682 27683 * loader/DocumentWriter.cpp: 27684 (WebCore::DocumentWriter::begin): 27685 * loader/SubframeLoader.cpp: 27686 (WebCore::SubframeLoader::requestPlugin): 27687 * page/ContentSecurityPolicy.cpp: 27688 (WebCore::ContentSecurityPolicy::allowObjectFromSource): 27689 (WebCore::ContentSecurityPolicy::addDirective): 27690 * page/ContentSecurityPolicy.h: 27691 27692 2011-04-06 Beth Dakin <bdakin (a] apple.com> 27693 27694 Reviewed by Dan Bernstein. 27695 27696 https://bugs.webkit.org/show_bug.cgi?id=58009 27697 Frame::scalePage() results in visual artifacts with scale factors less than 1 27698 -and corresponding- 27699 <rdar://problem/8683230> 27700 27701 Fall into the case where we fill with a background base color when there is a page 27702 scale factor that is less than 1. 27703 * rendering/RenderView.cpp: 27704 (WebCore::RenderView::paintBoxDecorations): 27705 27706 2011-04-06 Jer Noble <jer.noble (a] apple.com> 27707 27708 Reviewed by Darin Adler. 27709 27710 AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty] 27711 https://bugs.webkit.org/show_bug.cgi?id=57982 27712 27713 Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty. 27714 27715 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 27716 (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): 27717 27718 2011-04-06 Jer Noble <jer.noble (a] apple.com> 27719 27720 Reviewed by Eric Carlson. 27721 27722 MediaPlayerPrivateAVFoundation does not change rate due to setRate(). 27723 https://bugs.webkit.org/show_bug.cgi?id=57919 27724 27725 Test: media/video-set-rate-from-pause.html 27726 27727 The base class of MediaPlayerPrivateAVFoundation does not actually change the rate 27728 of the media; instead a subclass must do that work. So when setRate() is called, 27729 inform a subclass through a new pure virtual updateRate() function that there's 27730 work to be done. 27731 27732 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 27733 (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate() 27734 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 27735 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 27736 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 27737 (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added. Set the requested rate. 27738 27739 2011-04-06 Dai Mikurube <dmikurube (a] chromium.org> 27740 27741 Reviewed by David Levin. 27742 27743 Add QUOTA build flag for unified quota API 27744 https://bugs.webkit.org/show_bug.cgi?id=57918 27745 27746 * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag 27747 * GNUmakefile.am: Added QUOTA build flag 27748 * WebCore.pri: Added QUOTA build flag 27749 27750 2011-04-06 Stephanie Lewis <slewis (a] apple.com> 27751 27752 Reviewed by Darin Adler. 27753 27754 https://bugs.webkit.org/show_bug.cgi?id=57997 27755 <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs 27756 Navigating away from a Scrolled page which queues a scroll event that is never dispatched. 27757 Cancel all enqueued events when detaching the Document the events cannot keep the Document 27758 alive. 27759 27760 No change in functionality so no new tests. 27761 27762 * dom/Document.cpp: 27763 (WebCore::Document::detach): 27764 * dom/EventQueue.cpp: 27765 (WebCore::EventQueue::cancelQueuedEvents): 27766 * dom/EventQueue.h: 27767 27768 2011-04-06 Dan Bernstein <mitz (a] apple.com> 27769 27770 Reviewed by Darin Adler. 27771 27772 <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic 27773 https://bugs.webkit.org/show_bug.cgi?id=58002 27774 27775 * platform/graphics/mac/SimpleFontDataMac.mm: 27776 (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard 27777 does not require the vertical metrics tweaks that were needed in Leopard. That the 27778 tweaks were being applied went mostly unnoticed until r73993, because until then it 27779 only affected cases where Geeza Pro was specified, not when it occurred as a fallback 27780 font. 27781 27782 2011-04-06 Roland Steiner <rolandsteiner (a] chromium.org> 27783 27784 Reviewed by Dimitri Glazkov. 27785 27786 Bug 57994 - Move guardRef functionality back to Document 27787 https://bugs.webkit.org/show_bug.cgi?id=57994 27788 27789 Move the relevant code parts from TreeScope back into Document. 27790 27791 No new tests. (no new functionality) 27792 27793 * dom/Document.cpp: 27794 (WebCore::Document::removedLastRef): 27795 * dom/Document.h: 27796 * dom/TreeScope.cpp: 27797 (WebCore::TreeScope::destroyTreeScopeData): 27798 * dom/TreeScope.h: 27799 27800 2011-04-06 Ian Henderson <ianh (a] apple.com> 27801 27802 Reviewed by Simon Fraser, Antti Koivisto. 27803 27804 Fast path for parsing simple CSS values 27805 https://bugs.webkit.org/show_bug.cgi?id=57964 27806 27807 Add functions to parse simple color or dimension values, skipping the 27808 overhead of full CSS parsing. 27809 27810 Change parseValue to a static method to avoid unnecessary allocation 27811 of a CSSParser in the fast case. 27812 27813 * css/CSSMutableStyleDeclaration.cpp: 27814 (WebCore::CSSMutableStyleDeclaration::setProperty): 27815 Changed to use the new, static parseValue method. 27816 * css/CSSParser.cpp: 27817 (WebCore::isColorPropertyID): 27818 (WebCore::parseColorValue): 27819 Parses any color accepted by the existing parseColor() static method. 27820 We must handle color identifiers separately, since parseColor() will 27821 change 'red' into 'rgb(255, 0, 0)'. 27822 (WebCore::isSimpleLengthPropertyID): 27823 (WebCore::parseSimpleLengthValue): 27824 Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is 27825 false, or 'NN' is '0'). Returns false to fall back to the slow path. 27826 (WebCore::CSSParser::parseValue): 27827 * css/CSSParser.h: 27828 * css/WebKitCSSMatrix.cpp: 27829 (WebCore::WebKitCSSMatrix::setMatrixValue): 27830 Changed to use the new, static parseValue method. 27831 27832 2011-04-06 Kevin Ollivier <kevino (a] theolliviers.com> 27833 27834 Reviewed by Darin Adler. 27835 27836 Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros. 27837 27838 https://bugs.webkit.org/show_bug.cgi?id=27551 27839 27840 * config.h: 27841 27842 2011-04-06 Simon Fraser <simon.fraser (a] apple.com> 27843 27844 Reviewed by Antti Koivisto. 27845 27846 Some minor style resolution optimizations 27847 https://bugs.webkit.org/show_bug.cgi?id=57996 27848 27849 A couple of minor optimizations to style-related code. 27850 27851 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 27852 (WebCore::isCSSPropertyName): 27853 (WebCore::JSCSSStyleDeclaration::putDelegate): 27854 Avoid calling cssPropertyName() twice when setting style on an element. 27855 27856 * css/CSSStyleSelector.cpp: 27857 (WebCore::useSVGZoomRules): 27858 (WebCore::CSSStyleSelector::applyProperty): 27859 Avoid calling isSVGElement() for every property, since only a two properties 27860 care about it. 27861 27862 2011-04-06 Ian Henderson <ianh (a] apple.com> 27863 27864 Reviewed by Antti Koivisto. 27865 27866 Unnecessary string allocation in CSSStyleDeclaration::setProperty 27867 https://bugs.webkit.org/show_bug.cgi?id=57995 27868 27869 Pass the bool representing the property's importance directly instead 27870 of constructing a string. 27871 27872 * css/CSSStyleDeclaration.cpp: 27873 (WebCore::CSSStyleDeclaration::setProperty): 27874 27875 2011-04-06 Leandro Gracia Gil <leandrogracia (a] chromium.org> 27876 27877 Reviewed by Steve Block. 27878 27879 Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version. 27880 https://bugs.webkit.org/show_bug.cgi?id=57963 27881 27882 No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html 27883 27884 * bindings/v8/V8Utilities.h: 27885 (WebCore::createFunctionOnlyCallback): 27886 * bindings/v8/custom/V8GeolocationCustom.cpp: 27887 (WebCore::V8Geolocation::getCurrentPositionCallback): 27888 (WebCore::V8Geolocation::watchPositionCallback): 27889 27890 2011-04-06 Brian Weinstein <bweinstein (a] apple.com> 27891 27892 Reviewed by Adam Roben. 27893 27894 WebKit2: Support Windows 7 Gestures 27895 https://bugs.webkit.org/show_bug.cgi?id=49824 27896 <rdar://problem/8689728> 27897 27898 Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2. 27899 27900 * WebCore.vcproj/WebCore.vcproj: 27901 * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h. 27902 27903 2011-04-06 Alexis Menard <alexis.menard (a] openbossa.org> 27904 27905 Reviewed by Andreas Kling. 27906 27907 [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA). 27908 https://bugs.webkit.org/show_bug.cgi?id=57974 27909 27910 We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA). 27911 27912 No new tests needed, just a config flag rename. 27913 27914 * features.pri: 27915 27916 2011-04-06 Tyler Close <tjclose (a] chromium.org> 27917 27918 Reviewed by Nate Chapin. 27919 27920 run-bindings-tests reference files out of sync with CodeGenerator*.pm 27921 https://bugs.webkit.org/show_bug.cgi?id=57967 27922 27923 * bindings/scripts/test/V8/V8TestCallback.cpp: 27924 27925 2011-04-06 Asanka Herath <asanka (a] chromium.org> 27926 27927 Reviewed by Darin Fisher. 27928 27929 Add new TargetType: TargetIsFavicon 27930 27931 https://bugs.webkit.org/show_bug.cgi?id=57659 27932 27933 No new functionality added, so no additional tests. 27934 27935 * platform/network/ResourceRequestBase.h: 27936 27937 2011-04-06 David Hyatt <hyatt (a] apple.com> 27938 27939 Reviewed by Simon Fraser. 27940 27941 https://bugs.webkit.org/show_bug.cgi?id=57981 27942 27943 Update the column count and width computation algorithm for CSS3 multi-column layout 27944 to match the revised pseudo-algorithm in the latest draft of the spec. 27945 27946 * rendering/RenderBlock.cpp: 27947 (WebCore::RenderBlock::calcColumnWidth): 27948 27949 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 27950 27951 Reviewed by Eric Seidel. 27952 27953 borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline 27954 https://bugs.webkit.org/show_bug.cgi?id=57965 27955 27956 Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd 27957 from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd 27958 instead of marginStartForChild and marginEndForChild respectively. 27959 27960 Calling these two functions on RenderInline is okay because writing-mode cannot differ 27961 from that of the containing block. 27962 27963 * rendering/RenderBlockLineLayout.cpp: 27964 (WebCore::borderPaddingMarginStart): 27965 (WebCore::borderPaddingMarginEnd): 27966 (WebCore::inlineLogicalWidth): 27967 27968 2011-04-06 Sheriff Bot <webkit.review.bot (a] gmail.com> 27969 27970 Unreviewed, rolling out r83039. 27971 http://trac.webkit.org/changeset/83039 27972 https://bugs.webkit.org/show_bug.cgi?id=57978 27973 27974 introduced a new regression in conjunction to 27975 ReplaceSelectionCommand (Requested by rniwa on #webkit). 27976 27977 * editing/EditingStyle.cpp: 27978 (WebCore::EditingStyle::init): 27979 * editing/InsertParagraphSeparatorCommand.cpp: 27980 (WebCore::InsertParagraphSeparatorCommand::doApply): 27981 27982 2011-04-06 Naoki Takano <takano.naoki (a] gmail.com> 27983 27984 Reviewed by David Levin. 27985 27986 Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects 27987 https://bugs.webkit.org/show_bug.cgi?id=27658 27988 27989 Test: fast/events/select-element.html 27990 27991 * dom/SelectElement.cpp: 27992 (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines. 27993 (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index. 27994 (WebCore::nextSelectableListIndex): Implemented with nextValidIndex. 27995 And converted to a normal static function from a private function of SelectElement. 27996 (WebCore::previousSelectableListIndex): Implemented with nextValidIndex. 27997 And converted to a normal static function from a private function of SelectElement. 27998 (WebCore::firstSelectableListIndex): Returns the first selectable index. 27999 (WebCore::lastSelectableListIndex): Returns the last selectable index. 28000 (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast. 28001 (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection. 28002 28003 * dom/SelectElement.h: 28004 (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex(). 28005 28006 * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML. 28007 They can differ due to the minimum size imposed by RenderListBox. 28008 28009 2011-04-06 David Hyatt <hyatt (a] apple.com> 28010 28011 Reviewed by Dan Bernstein. 28012 28013 https://bugs.webkit.org/show_bug.cgi?id=57975 28014 28015 The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check 28016 to just look at the style, so that it can find the InlineTextBox and not care that it's a child 28017 of the link element and not the line box for the link element itself (since that line box got 28018 culled). 28019 28020 * rendering/RenderFlexibleBox.cpp: 28021 (WebCore::RenderFlexibleBox::applyLineClamp): 28022 28023 2011-04-06 Brady Eidson <beidson (a] apple.com> 28024 28025 Reviewed by Anders Carlsson. 28026 28027 https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973 28028 WK2 icon database should be able to get a CGImage of a specific size 28029 28030 * platform/graphics/BitmapImage.h: 28031 * platform/graphics/Image.h: 28032 (WebCore::Image::getFirstCGImageRefOfSize): 28033 28034 * platform/graphics/cg/ImageCG.cpp: 28035 (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the 28036 first frame of the requested size. 28037 28038 2011-04-06 Malcolm MacLeod <malcolm.macleod (a] tshwanedje.com> 28039 28040 Reviewed by Kevin Ollivier. 28041 28042 [wx] Fix cursor handling so that we always call the chrome to set it. 28043 28044 https://bugs.webkit.org/show_bug.cgi?id=57972 28045 28046 * platform/wx/WidgetWx.cpp: 28047 (WebCore::Widget::setCursor): 28048 28049 2011-04-06 David Hyatt <hyatt (a] apple.com> 28050 28051 Reviewed by Dan Bernstein. 28052 28053 https://bugs.webkit.org/show_bug.cgi?id=41445 28054 28055 Visited links painting with black background. Make sure that if the visited style has 28056 the initial background color (transparent) set that we just use the unvisited color. 28057 28058 Added fast/history/visited-link-background-color.html 28059 28060 * rendering/style/RenderStyle.cpp: 28061 (WebCore::RenderStyle::visitedDependentColor): 28062 28063 2011-04-06 Csaba Osztrogonc <ossy (a] webkit.org> 28064 28065 Unreviewed Qt buildfix after r83079. 28066 28067 * WebCore.pro: 28068 28069 2011-04-06 Dean Jackson <dino (a] apple.com> 28070 28071 Reviewed by Chris Marrin. 28072 28073 https://bugs.webkit.org/show_bug.cgi?id=56936 28074 Crash in ImplicitAnimation::~ImplicitAnimation 28075 28076 Make sure the style and start time waiting lists 28077 are cleared in the CompositeAnimation destructor. This 28078 way, no running transitions can be left in a state 28079 where they are destroyed as the AnimationControllerPrivate 28080 cleans up. 28081 28082 * page/animation/CompositeAnimation.cpp: 28083 (WebCore::CompositeAnimation::~CompositeAnimation): 28084 28085 2011-04-06 Robert Sesek <rsesek (a] chromium.org> 28086 28087 Reviewed by Alexey Proskuryakov. 28088 28089 Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too 28090 https://bugs.webkit.org/show_bug.cgi?id=54969 28091 28092 No change in behavior; no new tests. 28093 28094 * editing/TextIterator.cpp: 28095 (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits 28096 * editing/TextIterator.h: 28097 * page/Frame.cpp: 28098 (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits 28099 28100 2011-04-06 Leandro Gracia Gil <leandrogracia (a] chromium.org> 28101 28102 Reviewed by Steve Block. 28103 28104 Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore. 28105 https://bugs.webkit.org/show_bug.cgi?id=57770 28106 28107 Create a template from an existing functionality in JSGeolocationCustom.cpp 28108 to be used by the custom bindings of both Geolocation and the Media Stream API. 28109 V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760 28110 28111 No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html 28112 28113 * Android.jscbindings.mk: 28114 * CMakeLists.txt: 28115 * GNUmakefile.am: 28116 * WebCore.gypi: 28117 * WebCore.pro: 28118 * WebCore.vcproj/WebCore.vcproj: 28119 * WebCore.xcodeproj/project.pbxproj: 28120 * bindings/js/CallbackFunction.cpp: Added. 28121 (WebCore::checkFunctionOnlyCallback): 28122 * bindings/js/CallbackFunction.h: Added. 28123 (WebCore::createFunctionOnlyCallback): 28124 * bindings/js/JSBindingsAllInOne.cpp: 28125 * bindings/js/JSGeolocationCustom.cpp: 28126 (WebCore::JSGeolocation::getCurrentPosition): 28127 (WebCore::JSGeolocation::watchPosition): 28128 28129 2011-04-06 Alexis Menard <alexis.menard (a] openbossa.org> 28130 28131 Reviewed by Andreas Kling. 28132 28133 [Qt] Implement fullscreen playback for the GStreamer backend. 28134 https://bugs.webkit.org/show_bug.cgi?id=56826 28135 28136 Implement support for fullscreen playback when building the 28137 Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1). 28138 The implementation is done in FullScreenVideoQt alongside with 28139 the Qt Multimedia support. 28140 28141 No new tests because layout tests cover it. They are not yet activated 28142 but will be any time soon. 28143 28144 * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h: 28145 * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp: 28146 (FullScreenVideoWindow::FullScreenVideoWindow): 28147 (FullScreenVideoWindow::setVideoElement): 28148 (FullScreenVideoWindow::closeEvent): 28149 (FullScreenVideoWindow::keyPressEvent): 28150 (FullScreenVideoWindow::event): 28151 (FullScreenVideoWindow::showFullScreen): 28152 (FullScreenVideoWindow::hideCursor): 28153 (FullScreenVideoWindow::showCursor): 28154 28155 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 28156 28157 Reviewed by Dimitri Glazkov. 28158 28159 Bundle lineLeftOffset and lineRightOffset as a class 28160 https://bugs.webkit.org/show_bug.cgi?id=57851 28161 28162 Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset. 28163 The patch makes clear that lineLeftOffset and lineRightOffset are never read individually 28164 and only the difference is used to compute the width. 28165 28166 * rendering/RenderBlock.h: 28167 * rendering/RenderBlockLineLayout.cpp: 28168 (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers. 28169 (WebCore::LineOffsets::LineOffsets): Added. 28170 (WebCore::LineOffsets::width): Added. 28171 (WebCore::LineOffsets::setLeft): Added. 28172 (WebCore::LineOffsets::setRight): Added. 28173 (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine. 28174 (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers. 28175 28176 2011-04-06 David Hyatt <hyatt (a] apple.com> 28177 28178 Reviewed by Dan Bernstein. 28179 28180 https://bugs.webkit.org/show_bug.cgi?id=57916 28181 28182 Implement an optimization to the line box tree to cull out most of the intermediate 28183 line boxes that can occur between the root line box and the leaves of the tree (images 28184 and text). 28185 28186 RenderInlines now have a boolean member, m_alwaysCreateLineBoxes, 28187 that starts off as false. Only if it gets flipped to true will there be any line boxes 28188 created for that RenderInline. 28189 28190 * page/FocusController.cpp: 28191 (WebCore::FocusController::advanceFocusDirectionally): 28192 Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout 28193 is up to date. 28194 28195 * page/SpatialNavigation.cpp: 28196 (WebCore::hasOffscreenRect): 28197 (WebCore::nodeRectInAbsoluteCoordinates): 28198 Add asserts in spatial navigation code to catch any future bad queries that might be made 28199 for rectangles without layout being up to date. 28200 28201 * platform/graphics/FloatRect.cpp: 28202 (WebCore::FloatRect::uniteIfNonZero): 28203 * platform/graphics/FloatRect.h: 28204 * platform/graphics/IntRect.cpp: 28205 (WebCore::IntRect::uniteIfNonZero): 28206 * platform/graphics/IntRect.h: 28207 Add a new unite function that is useful for the render tree to FloatRect and IntRect. This 28208 version allows rect unites to happen if either width or height is nonzero. 28209 28210 * rendering/HitTestResult.cpp: 28211 (WebCore::HitTestResult::addNodeToRectBasedTestResult): 28212 Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes 28213 if content inside those inlines is hit. 28214 28215 * rendering/InlineBox.h: 28216 (WebCore::InlineBox::logicalFrameRect): 28217 Fix a bug in this function for obtaining the logical frame rect of an inline box. 28218 28219 * rendering/InlineFlowBox.cpp: 28220 (WebCore::InlineFlowBox::addToLine): 28221 addToLine now also checks line gap in the line box tree optimization checks. 28222 28223 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 28224 (WebCore::InlineFlowBox::computeOverflow): 28225 * rendering/InlineFlowBox.h: 28226 Rewritten to add the text box overflow to the text box itself. 28227 28228 * rendering/InlineTextBox.cpp: 28229 (WebCore::InlineTextBox::destroy): 28230 Destroy has been changed to call a helper function to remove and destroy the line boxes that 28231 is now called from one additional spot. 28232 28233 (WebCore::InlineTextBox::logicalOverflowRect): 28234 (WebCore::InlineTextBox::setLogicalOverflowRect): 28235 Text boxes now cache their own overflow in a global hash table. 28236 28237 (WebCore::InlineTextBox::baselinePosition): 28238 (WebCore::InlineTextBox::lineHeight): 28239 Changed to not assume that the parent line box's renderer is the RenderText's immediate 28240 parent, since intermediate line boxes may have been culled. 28241 28242 (WebCore::InlineTextBox::paint): 28243 Paint now properly checks only the text box overflow instead of the parent line box's overflow. 28244 28245 * rendering/InlineTextBox.h: 28246 (WebCore::InlineTextBox::logicalTopVisualOverflow): 28247 (WebCore::InlineTextBox::logicalBottomVisualOverflow): 28248 (WebCore::InlineTextBox::logicalLeftVisualOverflow): 28249 (WebCore::InlineTextBox::logicalRightVisualOverflow): 28250 New accessors to obtain overflow for inline text boxes. 28251 28252 * rendering/RenderBlock.cpp: 28253 (WebCore::RenderBlock::updateFirstLetter): 28254 updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those 28255 text boxes may not have anything in between them and the block that contains the inline first letter 28256 container. 28257 28258 * rendering/RenderBlockLineLayout.cpp: 28259 (WebCore::RenderBlock::createLineBoxes): 28260 The culling optimization is done here. Only if the RenderInline says that boxes are allowed will they 28261 be created. 28262 28263 (WebCore::RenderBlock::layoutInlineChildren): 28264 The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed. 28265 This is done before any lines are built. 28266 28267 * rendering/RenderInline.cpp: 28268 (WebCore::RenderInline::RenderInline): 28269 The new m_alwaysCreateLineBoxes flag has been added to the constructor. 28270 28271 (WebCore::RenderInline::styleDidChange): 28272 An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately 28273 (like having a layer, borders, padding, margins or backgrounds). Some checks that depend on examining 28274 the RenderInline's parent (including first line styles) happen later in layoutInlineChildren. 28275 28276 (WebCore::RenderInline::updateAlwaysCreateLineBoxes): 28277 The function called by layoutInlineChildren to check parent and child style differences (e.g., font, 28278 vertical alignment, line height, etc.). 28279 28280 (WebCore::RenderInline::absoluteRects): 28281 (WebCore::RenderInline::culledInlineAbsoluteRects): 28282 absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false. 28283 28284 (WebCore::RenderInline::absoluteQuads): 28285 (WebCore::RenderInline::culledInlineAbsoluteQuads): 28286 absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false. 28287 28288 (WebCore::RenderInline::offsetLeft): 28289 (WebCore::RenderInline::offsetTop): 28290 offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false. 28291 28292 (WebCore::RenderInline::linesBoundingBox): 28293 (WebCore::RenderInline::culledInlineBoundingBox): 28294 lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false. 28295 28296 (WebCore::RenderInline::culledInlineFirstLineBox): 28297 (WebCore::RenderInline::culledInlineLastLineBox): 28298 Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and 28299 lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop). 28300 28301 (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox): 28302 (WebCore::RenderInline::linesVisualOverflowBoundingBox): 28303 linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false. 28304 28305 (WebCore::RenderInline::clippedOverflowRectForRepaint): 28306 The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox. 28307 28308 (WebCore::RenderInline::dirtyLineBoxes): 28309 dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when 28310 m_alwaysCreateLineBoxes is false. 28311 28312 (WebCore::RenderInline::createAndAppendInlineFlowBox): 28313 Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also 28314 when line-box-contain is set to an unusual value. 28315 28316 (WebCore::RenderInline::addFocusRingRects): 28317 Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false. 28318 28319 * rendering/RenderInline.h: 28320 (WebCore::RenderInline::firstLineBoxIncludingCulling): 28321 (WebCore::RenderInline::lastLineBoxIncludingCulling): 28322 Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box 28323 is all that needs checking. 28324 28325 (WebCore::RenderInline::alwaysCreateLineBoxes): 28326 (WebCore::RenderInline::setAlwaysCreateLineBoxes): 28327 Functions for getting and setting the m_alwaysCreateLineBoxes flag. 28328 28329 * rendering/RenderLineBoxList.cpp: 28330 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 28331 Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of 28332 lines get dirtied. 28333 28334 * rendering/RenderText.cpp: 28335 (WebCore::RenderText::removeAndDestroyTextBoxes): 28336 New helper invoked by destroy and also from updateFirstLetter. 28337 28338 (WebCore::RenderText::destroy): 28339 Changed to call removeAndDestroyTextBoxes. 28340 28341 (WebCore::RenderText::absoluteRects): 28342 Fixed to be properly physical instead of logical. 28343 28344 (WebCore::RenderText::linesVisualOverflowBoundingBox): 28345 New implementation for RenderText that gives the bounding box of the text boxes including overflow from 28346 shadows, glyphs, text-stroke, etc. Used by RenderInline::culledInlineVisualOverflowBoundingBox. 28347 28348 * rendering/RenderText.h: 28349 * rendering/svg/RenderSVGInline.cpp: 28350 (WebCore::RenderSVGInline::RenderSVGInline): 28351 RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization. 28352 28353 * rendering/svg/SVGRootInlineBox.cpp: 28354 (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): 28355 (WebCore::SVGRootInlineBox::layoutChildBoxes): 28356 Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are 28357 now InlineTextBoxes (the enclosing InlineFlowBoxes got culled). 28358 28359 2011-04-05 Enrica Casucci <enrica (a] apple.com> 28360 28361 Reviewed by Darin Adler. 28362 28363 REGRESSION: Drag & Drop Gmail Attachments doesn't work. 28364 https://bugs.webkit.org/show_bug.cgi?id=57909 28365 <rdar://problem/9103220> 28366 28367 In WebKit2 we cannot rely on the value returned by platformData() that 28368 on Mac returns an NSDraggingInfo object. This is available only in the UI 28369 process. Therefore we should use m_pasteboard instead. 28370 We cannot change what platformData() returns on Mac, since there are 28371 delegate methods that receive a NSDraggingInfo object (only in WebKit). 28372 28373 * platform/DragData.h: 28374 (WebCore::DragData::pasteboard): Added. 28375 * platform/mac/ClipboardMac.mm: 28376 (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData(). 28377 * platform/mac/DragDataMac.mm: 28378 (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard. 28379 (WebCore::DragData::asURL): Same as above. 28380 28381 2011-04-06 Benjamin Poulain <benjamin.poulain (a] nokia.com> 28382 28383 Reviewed by Darin Adler. 28384 28385 ClipboardWin has unused variables "ExceptionCode ec" 28386 https://bugs.webkit.org/show_bug.cgi?id=57952 28387 28388 Remove the unused variable. 28389 28390 * platform/win/ClipboardWin.cpp: 28391 (WebCore::ClipboardWin::declareAndWriteDragImage): 28392 (WebCore::ClipboardWin::writePlainText): 28393 28394 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 28395 28396 Reviewed by Dimitri Glazkov. 28397 28398 Split getBorderPaddingMargin into two functions 28399 https://bugs.webkit.org/show_bug.cgi?id=57947 28400 28401 * rendering/RenderBlockLineLayout.cpp: 28402 (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin. 28403 (WebCore::borderPaddingMarginEnd): Ditto. 28404 (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd. 28405 (WebCore::RenderBlock::findNextLineBreak): Ditto. 28406 28407 2011-04-06 MORITA Hajime <morrita (a] google.com> 28408 28409 Reviewed by Dimitri Glazkov. 28410 28411 [Refactoring] <progress> should not have manual layout code. 28412 https://bugs.webkit.org/show_bug.cgi?id=57801 28413 28414 - Simplified RenderProgress, removing its custom layout code 28415 - Introducing ProgressValueElement and ProgressBarElement, replacing 28416 ProgressBarValueElement. 28417 28418 Now the structure is almost identical to <meter>, 28419 other than: 28420 - RenderProgress has animated painting, thus manages its own timer. 28421 - Both ProgressValueElement and ProgressBarElement has pseudo classes 28422 which don't changes during its lifetime. 28423 28424 * Android.mk: 28425 * CMakeLists.txt: 28426 * GNUmakefile.am: 28427 * WebCore.gypi: 28428 * WebCore.pro: 28429 * WebCore.vcproj/WebCore.vcproj: 28430 * WebCore.xcodeproj/project.pbxproj: 28431 * css/html.css: 28432 (progress): 28433 (progress::-webkit-progress-bar): 28434 (progress::-webkit-progress-value): 28435 * html/HTMLProgressElement.cpp: 28436 (WebCore::HTMLProgressElement::~HTMLProgressElement): 28437 (WebCore::HTMLProgressElement::create): 28438 (WebCore::HTMLProgressElement::attach): 28439 (WebCore::HTMLProgressElement::didElementStateChange): 28440 (WebCore::HTMLProgressElement::createShadowSubtree): 28441 * html/HTMLProgressElement.h: 28442 * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h. 28443 (WebCore::ProgressShadowElement::ProgressShadowElement): 28444 (WebCore::ProgressShadowElement::progressElement): 28445 (WebCore::ProgressShadowElement::rendererIsNeeded): 28446 (WebCore::ProgressBarElement::shadowPseudoId): 28447 (WebCore::ProgressValueElement::shadowPseudoId): 28448 (WebCore::ProgressValueElement::setWidthPercentage): 28449 * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h. 28450 (WebCore::ProgressBarElement::ProgressBarElement): 28451 (WebCore::ProgressBarElement::create): 28452 (WebCore::ProgressValueElement::ProgressValueElement): 28453 (WebCore::ProgressValueElement::create): 28454 * rendering/RenderProgress.cpp: 28455 (WebCore::RenderProgress::RenderProgress): 28456 (WebCore::RenderProgress::updateFromElement): 28457 (WebCore::RenderProgress::animationTimerFired): 28458 * rendering/RenderProgress.h: 28459 (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation): 28460 (WebCore::RenderProgress::canHaveChildren): 28461 28462 2011-04-06 Mario Sanchez Prada <msanchez (a] igalia.com> 28463 28464 Reviewed by Chris Fleizach. 28465 28466 [GTK] Do not reference AccessibilityRenderObject from platform dependent code 28467 https://bugs.webkit.org/show_bug.cgi?id=57955 28468 28469 Do not reference AccessibilityRenderObject from platform specific code 28470 28471 Added new virtual functions to AccessibilityObject.h and removed 28472 explicit references to AccessibilityRenderObject from GTK code. 28473 28474 * accessibility/AccessibilityObject.h: 28475 (WebCore::AccessibilityObject::renderer): New virtual method, 28476 returning 0 by default. Overriden by AccessibilityRenderObject. 28477 (WebCore::AccessibilityObject::correspondingLabelForControlElement): 28478 New virtual method, returning 0 by default. It complements the 28479 already present method correspondingControlForLabelElement(). 28480 28481 * accessibility/AccessibilityRenderObject.h: 28482 (WebCore::AccessibilityRenderObject::renderer): Made virtual. 28483 28484 * accessibility/gtk/AXObjectCacheAtk.cpp: 28485 (WebCore::emitTextChanged): Reference AccessibilityObject, 28486 instead of AccessibilityRenderObject. 28487 (WebCore::AXObjectCache::nodeTextChangePlatformNotification): 28488 Ditto. 28489 28490 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 28491 (webkit_accessible_get_name): Do not reference 28492 AccessibilityRenderObject. 28493 (webkit_accessible_get_description): Ditto. 28494 (setAtkRelationSetFromCoreObject): Ditto. 28495 (optionFromList): Ditto. 28496 (optionFromSelection): Ditto. 28497 (webkit_accessible_selection_clear_selection): Ditto. 28498 (webkit_accessible_selection_get_selection_count): Ditto. 28499 (webkit_accessible_selection_select_all_selection): Ditto. 28500 (textForObject): Ditto. 28501 (webkit_accessible_text_get_text): Ditto. 28502 (getPangoLayoutForAtk): Ditto. 28503 (webkit_accessible_text_get_caret_offset): Ditto. 28504 (baselinePositionForRenderObject): Ditto. 28505 (getAttributeSetForAccessibilityObject): Ditto. 28506 (accessibilityObjectLength): Ditto. 28507 (getSelectionOffsetsForObject): Ditto. 28508 (webkit_accessible_text_set_selection): Ditto. 28509 (webkit_accessible_text_set_caret_offset): Ditto. 28510 (webkit_accessible_table_get_caption): Ditto. 28511 (getInterfaceMaskFromObject): Ditto. 28512 28513 * accessibility/gtk/WebKitAccessibleHyperlink.cpp: 28514 (getRangeLengthForObject): Ditto. 28515 28516 Removed unused renderer() method from AccessibilityMenuList. 28517 28518 * accessibility/AccessibilityMenuList.h: Removed unused method. 28519 * accessibility/AccessibilityMenuList.cpp: Removed unused method. 28520 28521 2011-04-06 Alexander Pavlov <apavlov (a] chromium.org> 28522 28523 Reviewed by Pavel Feldman. 28524 28525 Web Inspector: Javascipt warning link expand and overlap with icons in js console 28526 https://bugs.webkit.org/show_bug.cgi?id=57939 28527 28528 * inspector/front-end/inspector.js: 28529 (WebInspector.linkifyURLAsNode): 28530 28531 2011-04-06 Alexander Pavlov <apavlov (a] chromium.org> 28532 28533 Reviewed by Pavel Feldman. 28534 28535 Web Inspector: Beautify parameter names in Inspector.json (CSS domain) 28536 https://bugs.webkit.org/show_bug.cgi?id=57931 28537 28538 * inspector/Inspector.json: 28539 28540 2011-04-06 Jia Pu <jpu (a] apple.com> 28541 28542 Reviewed by Darin Adler. 28543 28544 [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text. 28545 https://bugs.webkit.org/show_bug.cgi?id=57665 28546 <rdar://problem/7350477> 28547 28548 We need to track how user modified an autocorrected word. If he changed it back to original 28549 text, we want to record AutocorrectionReverted response. And if he changed it to something 28550 else, we want to record AutocorrectionEdited response. 28551 28552 To achieve this, we need to distringuish between text replacement caused by autocorrection 28553 from that due to other causes, such as reversion, text substitution, etc. So we added a new 28554 marker type "Autocorrected". We also need to be able to check for correction, even when we 28555 don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption 28556 value, "CheckForCorrection". 28557 28558 We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in 28559 specified range, and of specified type. 28560 28561 * dom/DocumentMarker.h: 28562 * dom/DocumentMarkerController.cpp: 28563 (WebCore::DocumentMarkerController::markersInRange): 28564 (WebCore::DocumentMarkerController::hasMarkers): 28565 * dom/DocumentMarkerController.h: 28566 * editing/Editor.cpp: 28567 (WebCore::markerTypesForAutocorrection): 28568 (WebCore::markersHaveIdenticalDescription): 28569 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 28570 (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection): 28571 (WebCore::Editor::changeBackToReplacedString): 28572 (WebCore::Editor::markMisspellingsAndBadGrammar): 28573 (WebCore::Editor::applyCorrectionPanelInfo): 28574 (WebCore::Editor::unappliedSpellCorrection): 28575 (WebCore::Editor::textCheckingTypeMaskFor): 28576 * editing/Editor.h: 28577 * editing/SpellingCorrectionCommand.cpp: 28578 (WebCore::SpellingCorrectionCommand::doApply): 28579 28580 2011-04-06 Sheriff Bot <webkit.review.bot (a] gmail.com> 28581 28582 Unreviewed, rolling out r83045. 28583 http://trac.webkit.org/changeset/83045 28584 https://bugs.webkit.org/show_bug.cgi?id=57953 28585 28586 Broke win layout tests (Requested by podivilov on #webkit). 28587 28588 * GNUmakefile.am: 28589 * inspector/front-end/DebuggerPresentationModel.js: 28590 (WebInspector.DebuggerPresentationModel.prototype._addScript): 28591 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 28592 28593 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 28594 28595 Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042. 28596 28597 * rendering/RenderBlock.h: 28598 28599 2011-03-27 Diego Gonzalez <diegohcg (a] webkit.org> 28600 28601 Reviewed by Kenneth Rohde Christiansen. 28602 28603 [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled. 28604 https://bugs.webkit.org/show_bug.cgi?id=57007 28605 28606 * CodeGenerators.pri: 28607 * css/themeQtMobile.css: Removed. 28608 * platform/qt/QtMobileWebStyle.cpp: 28609 (drawRectangularControlBackground): 28610 (QtMobileWebStyle::drawPrimitive): 28611 (QtMobileWebStyle::drawComplexControl): 28612 * platform/qt/QtMobileWebStyle.h: 28613 * platform/qt/RenderThemeQt.cpp: 28614 (WebCore::RenderThemeQt::isControlStyled): 28615 (WebCore::RenderThemeQt::paintTextField): 28616 28617 2011-04-06 Jia Pu <jpu (a] apple.com> 28618 28619 Reviewed by Darin Adler. 28620 28621 [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification. 28622 https://bugs.webkit.org/show_bug.cgi?id=57800 28623 <rdar://problem/9218223> 28624 28625 Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges() 28626 now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place. 28627 28628 * accessibility/AXObjectCache.h: 28629 * accessibility/chromium/AXObjectCacheChromium.cpp: 28630 (WebCore::AXObjectCache::postPlatformNotification): 28631 * accessibility/mac/AXObjectCacheMac.mm: 28632 (WebCore::AXObjectCache::postPlatformNotification): 28633 * editing/Editor.cpp: 28634 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 28635 28636 2011-04-06 Martin Robinson <mrobinson (a] igalia.com> 28637 28638 Build fix for debug Cairo builds. 28639 28640 * platform/graphics/cairo/PlatformContextCairo.cpp: 28641 (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation. 28642 28643 2011-04-06 Diego Gonzalez <diegohcg (a] webkit.org> 28644 28645 Reviewed by Antonio Gomes. 28646 28647 [Qt] Style fix for QtMobileWebStyle.h 28648 https://bugs.webkit.org/show_bug.cgi?id=57708 28649 28650 * platform/qt/QtMobileWebStyle.h: 28651 28652 2011-04-06 Andras Becsi <abecsi (a] webkit.org> 28653 28654 Reviewed by Darin Adler. 28655 28656 Invalid color #{predefined colorName} is accepted by the CSS parser. 28657 https://bugs.webkit.org/show_bug.cgi?id=15360 28658 28659 Test: fast/css/invalid-predefined-color.html 28660 28661 * css/CSSGrammar.y: Remove superfluous hexcolor production. 28662 * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}). 28663 28664 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 28665 28666 Reviewed by Pavel Feldman. 28667 28668 Web Inspector: add test for script formatter worker. 28669 https://bugs.webkit.org/show_bug.cgi?id=57447 28670 28671 Test: inspector/debugger/script-formatter.html 28672 28673 * GNUmakefile.am: 28674 * inspector/front-end/DebuggerPresentationModel.js: 28675 (WebInspector.DebuggerPresentationModel): 28676 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 28677 28678 2011-04-06 Martin Robinson <mrobinson (a] igalia.com> 28679 28680 Reviewed by Xan Lopez. 28681 28682 [Cairo] Hide the details of image masking in PlatformContextCairo 28683 https://bugs.webkit.org/show_bug.cgi?id=57878 28684 28685 No new tests. This is just a refactor. 28686 28687 * platform/graphics/GraphicsContext.h: 28688 * platform/graphics/cairo/GraphicsContextCairo.cpp: 28689 (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to 28690 do the actual cairo_save. Remove information about image masking. 28691 (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to 28692 do the actual cairo_restore. Remove information about image masking. 28693 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 28694 * platform/graphics/cairo/ImageBufferCairo.cpp: 28695 (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now. 28696 * platform/graphics/cairo/PlatformContextCairo.cpp: 28697 (WebCore::PlatformContextCairo::restore): Added. 28698 (WebCore::PlatformContextCairo::save): Added. 28699 (WebCore::PlatformContextCairo::pushImageMask): Added. 28700 * platform/graphics/cairo/PlatformContextCairo.h: 28701 (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h. 28702 (WebCore::ImageMaskInformation::isValid): Ditto. 28703 (WebCore::ImageMaskInformation::maskSurface): Ditto. 28704 (WebCore::ImageMaskInformation::maskRect): Ditto. 28705 28706 2011-04-02 Diego Gonzalez <diegohcg (a] webkit.org> 28707 28708 Reviewed by Csaba Osztrogonc. 28709 28710 [Qt] Radio buttons are showing wrong with mobile theme 28711 https://bugs.webkit.org/show_bug.cgi?id=57706 28712 28713 * platform/qt/QtMobileWebStyle.cpp: 28714 (QtMobileWebStyle::drawRadio): 28715 28716 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 28717 28718 Reviewed by Eric Seidel. 28719 28720 Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp 28721 https://bugs.webkit.org/show_bug.cgi?id=57943 28722 28723 * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine. 28724 * rendering/RenderBlockLineLayout.cpp: 28725 (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp 28726 28727 2011-04-05 Diego Gonzalez <diegohcg (a] webkit.org> 28728 28729 Buildfix after r82125. 28730 28731 [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled 28732 https://bugs.webkit.org/show_bug.cgi?id=57087 28733 28734 * platform/qt/QtMobileWebStyle.cpp: 28735 (QtMobileWebStyle::findChecker): 28736 (QtMobileWebStyle::findRadio): 28737 (QtMobileWebStyle::findComboButton): 28738 28739 2011-04-06 Pavel Podivilov <podivilov (a] chromium.org> 28740 28741 Reviewed by Yury Semikhatsky. 28742 28743 Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release. 28744 https://bugs.webkit.org/show_bug.cgi?id=57641 28745 28746 * WebCore.xcodeproj/project.pbxproj: 28747 * gyp/streamline-inspector-source.sh: 28748 * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources. 28749 * inspector/inline-javascript-imports.py: Added. 28750 28751 2011-04-06 Ryosuke Niwa <rniwa (a] webkit.org> 28752 28753 Reviewed by Eric Seidel. 28754 28755 REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words 28756 https://bugs.webkit.org/show_bug.cgi?id=57872 28757 28758 r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition 28759 because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition. 28760 28761 r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without 28762 avoiding the tab span. 28763 28764 Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy. 28765 28766 Test: editing/inserting/insert-paragraph-separator-tab-span.html 28767 28768 * editing/EditingStyle.cpp: 28769 (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style. 28770 * editing/InsertParagraphSeparatorCommand.cpp: 28771 (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph 28772 separator into a paragraph separator. 28773 28774 2011-04-06 Levi Weintraub <leviw (a] chromium.org> 28775 28776 Reviewed by Ryosuke Niwa. 28777 28778 Add member functions for determining line/paragraph separation to InlineIterator 28779 https://bugs.webkit.org/show_bug.cgi?id=57938 28780 28781 Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to 28782 InlineIterator, where it makes far more sense for them to be. Also moving 28783 shouldPreserveNewline to RenderObject and renaming it preservesNewline. 28784 28785 No new tests as this provides no new functionality. 28786 28787 * rendering/InlineIterator.h: 28788 (WebCore::InlineIterator::atTextParagraphSeparator): 28789 (WebCore::InlineIterator::atParagraphSeparator): 28790 * rendering/RenderBlockLineLayout.cpp: 28791 (WebCore::RenderBlock::requiresLineBox): 28792 (WebCore::RenderBlock::findNextLineBreak): 28793 * rendering/RenderObject.h: 28794 (WebCore::RenderObject::preservesNewline): 28795 28796 2011-04-05 Alexander Pavlov <apavlov (a] chromium.org> 28797 28798 Reviewed by Pavel Feldman. 28799 28800 Web Inspector: Range insertNode function does not update content in the inspector 28801 https://bugs.webkit.org/show_bug.cgi?id=57829 28802 28803 * inspector/InspectorDOMAgent.cpp: 28804 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 28805 (WebCore::InspectorDOMAgent::buildArrayForContainerChildren): 28806 28807 2011-04-06 Alejandro G. Castro <alex (a] igalia.com> 28808 28809 Fix GTK3 compilation after r82962. 28810 28811 * platform/gtk/RenderThemeGtk3.cpp: 28812 (WebCore::paintToggle): 28813 (WebCore::renderButton): 28814 (WebCore::RenderThemeGtk::paintMenuList): 28815 (WebCore::RenderThemeGtk::paintTextField): 28816 (WebCore::RenderThemeGtk::paintSliderTrack): 28817 (WebCore::RenderThemeGtk::paintSliderThumb): 28818 (WebCore::RenderThemeGtk::paintProgressBar): 28819 (WebCore::paintSpinArrowButton): 28820 * platform/gtk/ScrollbarThemeGtk3.cpp: 28821 (WebCore::ScrollbarThemeGtk::paintTrackBackground): 28822 (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): 28823 (WebCore::ScrollbarThemeGtk::paintThumb): 28824 (WebCore::ScrollbarThemeGtk::paintButton): 28825 28826 2011-04-06 Andrey Kosyakov <caseq (a] chromium.org> 28827 28828 Reviewed by Yury Semikhatsky. 28829 28830 Web Inspector: [Extensions API] remove inspectedPage.* events 28831 https://bugs.webkit.org/show_bug.cgi?id=57763 28832 28833 - Removed webInspector.inspectedPage.* events 28834 - moved onNavigated to webInspector.resources 28835 28836 * inspector/front-end/ExtensionAPI.js: 28837 (WebInspector.injectedExtensionAPI): 28838 (WebInspector.injectedExtensionAPI.InspectedWindow): 28839 * inspector/front-end/ExtensionAPISchema.json: 28840 * inspector/front-end/ExtensionServer.js: 28841 (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged): 28842 * inspector/front-end/inspector.js: 28843 (WebInspector.domContentEventFired): 28844 (WebInspector.loadEventFired): 28845 (WebInspector.inspectedURLChanged): 28846 28847 2011-04-06 Joseph Pecoraro <joepeck (a] webkit.org> 28848 28849 Reviewed by Antti Koivisto. 28850 28851 Add <head> to the simpleUserAgentStyleSheet 28852 https://bugs.webkit.org/show_bug.cgi?id=57915 28853 28854 * css/CSSStyleSelector.cpp: 28855 (WebCore::elementCanUseSimpleDefaultStyle): add head to the 28856 simple stylesheet, display:none. 28857 28858 2011-04-05 Mikhail Naganov <mnaganov (a] chromium.org> 28859 28860 Reviewed by Pavel Feldman. 28861 28862 Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots. 28863 https://bugs.webkit.org/show_bug.cgi?id=57856 28864 28865 Test: inspector/profiler/detailed-heapshots-summary.html 28866 28867 * inspector/front-end/DataGrid.js: 28868 (WebInspector.DataGrid): 28869 * inspector/front-end/DetailedHeapshotGridNodes.js: 28870 (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate): 28871 (WebInspector.HeapSnapshotGridNode.prototype._populate): 28872 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 28873 (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort): 28874 (WebInspector.HeapSnapshotGridNode.prototype.sort): 28875 (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren): 28876 * inspector/front-end/DetailedHeapshotView.js: 28877 (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged): 28878 * inspector/front-end/ProfilesPanel.js: 28879 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): 28880 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 28881 28882 2011-04-06 Anders Bakken <agbakken (a] gmail.com> 28883 28884 Reviewed by David Levin. 28885 28886 [Qt] SmartReplaceQt.cpp has coding-style errors 28887 https://bugs.webkit.org/show_bug.cgi?id=40261 28888 28889 This patch does not require new test cases. 28890 28891 * editing/qt/SmartReplaceQt.cpp: 28892 (WebCore::isCharacterSmartReplaceExempt): 28893 28894 2011-04-06 Naoki Takano <takano.naoki (a] gmail.com> 28895 28896 Reviewed by Ryosuke Niwa. 28897 28898 REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element 28899 https://bugs.webkit.org/show_bug.cgi?id=57755 28900 28901 Test: editing/execCommand/insert-line-break-onload.html 28902 28903 * editing/TypingCommand.cpp: 28904 (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement(). 28905 28906 2011-04-05 Antti Koivisto <antti (a] apple.com> 28907 28908 Reviewed by Cameron Zwarich. 28909 28910 Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred 28911 https://bugs.webkit.org/show_bug.cgi?id=57914 28912 28913 Don't call adjustedDeferredRepaintDelay unnecessarily. 28914 28915 * page/FrameView.cpp: 28916 (WebCore::FrameView::repaintContentRectangle): 28917 (WebCore::FrameView::adjustedDeferredRepaintDelay): 28918 28919 2011-04-05 Steve VanDeBogart <vandebo (a] chromium.org> 28920 28921 Reviewed by David Levin. 28922 28923 Update call to SkAdvancedTypefaceMetrics to new API. 28924 https://bugs.webkit.org/show_bug.cgi?id=57887 28925 28926 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 28927 (WebCore::FontPlatformData::emSizeInFontUnits): 28928 28929 2011-04-05 Alexey Proskuryakov <ap (a] apple.com> 28930 28931 Reviewed by Darin Adler. 28932 28933 Rename event dispatching functions after form event removal 28934 https://bugs.webkit.org/show_bug.cgi?id=57908 28935 28936 * dom/InputElement.cpp: 28937 (WebCore::InputElement::setValueFromRenderer): 28938 * dom/Node.cpp: 28939 (WebCore::Node::dispatchChangeEvent): 28940 (WebCore::Node::dispatchInputEvent): 28941 (WebCore::Node::defaultEventHandler): 28942 * dom/Node.h: 28943 * html/HTMLFormControlElement.cpp: 28944 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): 28945 (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): 28946 (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent): 28947 Renamed "events" to "event", since there is only one event to dispatch now. 28948 28949 2011-04-05 Anders Bakken <agbakken (a] gmail.com> 28950 28951 Reviewed by David Levin. 28952 28953 [Qt] DragControllerQt.cpp has coding-style errors 28954 https://bugs.webkit.org/show_bug.cgi?id=40258 28955 28956 This patch does not require new test cases. 28957 28958 * page/qt/DragControllerQt.cpp: 28959 (WebCore::DragController::dragOperation): 28960 28961 2011-04-05 Steve VanDeBogart <vandebo (a] chromium.org> 28962 28963 Reviewed by David Levin. 28964 28965 Update deprecated include: platform_canvas_win.h to platform_canvas.h. 28966 https://bugs.webkit.org/show_bug.cgi?id=57896 28967 28968 * platform/graphics/chromium/FontChromiumWin.cpp: 28969 28970 2011-04-05 Darin Adler <darin (a] apple.com> 28971 28972 Try to fix Leopard bots. 28973 28974 * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems 28975 to have intended it. 28976 28977 2011-04-05 Darin Adler <darin (a] apple.com> 28978 28979 Try to fix Leopard bots. 28980 28981 * platform/mac/HTMLConverter.mm: Move declarations of new functions 28982 inside the appropriate #if. 28983 28984 2011-04-05 Adrienne Walker <enne (a] google.com> 28985 28986 Reviewed by Tony Chang. 28987 28988 Correctly set color when using skia's fillRoundedRect. 28989 https://bugs.webkit.org/show_bug.cgi?id=57907 28990 28991 * platform/graphics/skia/GraphicsContextSkia.cpp: 28992 (WebCore::GraphicsContext::fillRoundedRect): 28993 28994 2011-04-05 Alexey Proskuryakov <ap (a] apple.com> 28995 28996 Reviewed by Darin Adler. 28997 28998 Move attributedStringFromRange down to WebCore 28999 https://bugs.webkit.org/show_bug.cgi?id=57905 29000 29001 No change in behavior, so no new tests. 29002 29003 Also tweaked HTMLConverter to not use methods defined in WebKit. 29004 29005 * WebCore.exp.in: 29006 * WebCore.xcodeproj/project.pbxproj: 29007 * platform/mac/HTMLConverter.h: 29008 * platform/mac/HTMLConverter.mm: 29009 (-[WebHTMLConverter _newTabForElement:]): 29010 (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]): 29011 (+[WebHTMLConverter editingAttributedStringFromRange:]): 29012 (fileWrapperForURL): 29013 (fileWrapperForElement): 29014 * platform/mac/PasteboardMac.mm: 29015 (WebCore::Pasteboard::writeSelection): 29016 * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h. 29017 * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm. 29018 (WebCore::attributedStringByStrippingAttachmentCharacters): 29019 29020 2011-04-05 Simon Fraser <simon.fraser (a] apple.com> 29021 29022 Reviewed by Darin Adler. 29023 29024 Rename variables in border drawing code for readability 29025 https://bugs.webkit.org/show_bug.cgi?id=57894 29026 29027 * rendering/RenderObject.cpp: 29028 (WebCore::RenderObject::drawLineForBoxSide): 29029 (WebCore::RenderObject::drawBoxSideFromPath): 29030 (WebCore::RenderObject::drawArcForBoxSide): 29031 29032 2011-04-05 Antti Koivisto <antti (a] apple.com> 29033 29034 Reviewed by Darin Adler. 29035 29036 Defer repaints during style recalc 29037 https://bugs.webkit.org/show_bug.cgi?id=57886 29038 29039 This reduces the need to do (often expensive) platform surface invalidation. 29040 We already do this during layout but style recalculation may trigger 29041 invalidation as well. 29042 29043 * dom/Document.cpp: 29044 (WebCore::Document::recalcStyle): 29045 29046 2011-04-05 Jer Noble <jer.noble (a] apple.com> 29047 29048 Reviewed by Darin Adler. 29049 29050 HTML5 Player Has no Fullscreen Mode 29051 https://bugs.webkit.org/show_bug.cgi?id=57795 29052 29053 * html/HTMLVideoElement.cpp: 29054 (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API 29055 supportsFullScreenForElement() before the old supportsFullScreenForNode() API. 29056 29057 2011-04-05 Vsevolod Vlasov <vsevik (a] chromium.org> 29058 29059 Reviewed by Pavel Feldman. 29060 29061 Web Inspector: fix data url's status and timing the network panel. 29062 https://bugs.webkit.org/show_bug.cgi?id=53066 29063 29064 Added data url support for status of network resources. 29065 29066 * English.lproj/localizedStrings.js: 29067 * inspector/front-end/NetworkPanel.js: 29068 (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): 29069 * inspector/front-end/Resource.js: 29070 (WebInspector.Resource.prototype.isDataURL): 29071 29072 2011-04-04 Vitaly Repeshko <vitalyr (a] chromium.org> 29073 29074 Reviewed by Adam Barth. 29075 29076 [V8] Keep dirty primitive CSS values alive. 29077 https://bugs.webkit.org/show_bug.cgi?id=57810 29078 29079 * bindings/v8/V8GCController.cpp: 29080 (WebCore::GrouperVisitor::visitDOMWrapper): 29081 29082 2011-04-05 Simon Fraser <simon.fraser (a] apple.com> 29083 29084 Reviewed by Adele Peterson. 29085 29086 Add a fast path for simple color backgrounds 29087 https://bugs.webkit.org/show_bug.cgi?id=57773 29088 29089 Add a fast path for drawing simple color backgrounds. It's 29090 faster to fill a path or rect than it is to set up a clip, 29091 and then paint the rect. 29092 29093 No visible behavior change so no new tests. 29094 29095 * rendering/RenderBoxModelObject.cpp: 29096 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 29097 29098 2011-04-05 Patrick Gansterer <paroga (a] webkit.org> 29099 29100 Unreviewed EFL build fix for r82962. 29101 29102 * CMakeListsEfl.txt: 29103 29104 2011-04-05 Chris Rogers <crogers (a] google.com> 29105 29106 Reviewed by Kenneth Russell. 29107 29108 Add support for offline audio rendering to AudioContext API 29109 https://bugs.webkit.org/show_bug.cgi?id=57676 29110 29111 No new tests since audio API is not yet implemented. 29112 29113 * DerivedSources.make: 29114 * WebCore.gypi: 29115 * WebCore.xcodeproj/project.pbxproj: 29116 * bindings/js/JSAudioContextCustom.cpp: 29117 (WebCore::JSAudioContextConstructor::constructJSAudioContext): 29118 * bindings/js/JSEventCustom.cpp: 29119 (WebCore::toJS): 29120 * bindings/js/JSEventTarget.cpp: 29121 (WebCore::toJS): 29122 * bindings/v8/V8DOMWrapper.cpp: 29123 (WebCore::V8DOMWrapper::convertEventTargetToV8Object): 29124 * bindings/v8/custom/V8AudioContextCustom.cpp: 29125 (WebCore::V8AudioContext::constructorCallback): 29126 * bindings/v8/custom/V8EventCustom.cpp: 29127 (WebCore::toV8): 29128 * dom/Event.cpp: 29129 (WebCore::Event::isOfflineAudioCompletionEvent): 29130 * dom/Event.h: 29131 * dom/EventTarget.cpp: 29132 (WebCore::EventTarget::toAudioContext): 29133 * dom/EventTarget.h: 29134 * platform/audio/HRTFDatabaseLoader.cpp: 29135 (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion): 29136 * platform/audio/HRTFDatabaseLoader.h: 29137 (WebCore::HRTFDatabaseLoader::loader): 29138 * webaudio/AudioContext.cpp: 29139 (WebCore::AudioContext::createOfflineContext): 29140 (WebCore::AudioContext::AudioContext): 29141 (WebCore::AudioContext::constructCommon): 29142 (WebCore::AudioContext::document): 29143 (WebCore::AudioContext::scriptExecutionContext): 29144 (WebCore::AudioContext::toAudioContext): 29145 (WebCore::AudioContext::startRendering): 29146 (WebCore::AudioContext::fireCompletionEvent): 29147 * webaudio/AudioContext.h: 29148 (WebCore::AudioContext::isOfflineContext): 29149 (WebCore::AudioContext::eventTargetData): 29150 (WebCore::AudioContext::ensureEventTargetData): 29151 (WebCore::AudioContext::refEventTarget): 29152 (WebCore::AudioContext::derefEventTarget): 29153 * webaudio/AudioContext.idl: 29154 * webaudio/AudioDestinationNode.cpp: 29155 (WebCore::AudioDestinationNode::AudioDestinationNode): 29156 * webaudio/AudioDestinationNode.h: 29157 (WebCore::AudioDestinationNode::reset): 29158 (WebCore::AudioDestinationNode::numberOfChannels): 29159 * webaudio/ConvolverNode.cpp: 29160 (WebCore::ConvolverNode::setBuffer): 29161 * webaudio/DefaultAudioDestinationNode.cpp: Added. 29162 (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode): 29163 (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode): 29164 (WebCore::DefaultAudioDestinationNode::initialize): 29165 (WebCore::DefaultAudioDestinationNode::uninitialize): 29166 (WebCore::DefaultAudioDestinationNode::startRendering): 29167 * webaudio/DefaultAudioDestinationNode.h: Added. 29168 (WebCore::DefaultAudioDestinationNode::create): 29169 (WebCore::DefaultAudioDestinationNode::sampleRate): 29170 * webaudio/OfflineAudioCompletionEvent.cpp: Added. 29171 (WebCore::OfflineAudioCompletionEvent::create): 29172 (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent): 29173 (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent): 29174 (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent): 29175 * webaudio/OfflineAudioCompletionEvent.h: Added. 29176 (WebCore::OfflineAudioCompletionEvent::renderedBuffer): 29177 * webaudio/OfflineAudioCompletionEvent.idl: Added. 29178 * webaudio/OfflineAudioDestinationNode.cpp: Added. 29179 (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode): 29180 (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode): 29181 (WebCore::OfflineAudioDestinationNode::initialize): 29182 (WebCore::OfflineAudioDestinationNode::uninitialize): 29183 (WebCore::OfflineAudioDestinationNode::startRendering): 29184 (WebCore::OfflineAudioDestinationNode::renderEntry): 29185 (WebCore::OfflineAudioDestinationNode::render): 29186 (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch): 29187 (WebCore::OfflineAudioDestinationNode::notifyComplete): 29188 * webaudio/OfflineAudioDestinationNode.h: Added. 29189 (WebCore::OfflineAudioDestinationNode::create): 29190 (WebCore::OfflineAudioDestinationNode::sampleRate): 29191 29192 2011-04-05 Martin Robinson <mrobinson (a] igalia.com> 29193 29194 Reviewed by Eric Seidel. 29195 29196 [Cairo] Better separate the concerns of GraphicsContextCairo 29197 https://bugs.webkit.org/show_bug.cgi?id=55150 29198 29199 Add a PlatformContextCairo which right now stores the cairo_t* for a 29200 GraphicsContextCairo. Later patches will move logic for tracking ContextShadow 29201 and image masking layers into this PlatformContextCairo class. 29202 29203 No new tests. This patch is only a code cleanup. 29204 29205 * GNUmakefile.am: 29206 * platform/graphics/GraphicsContext.h: The platform context is no longer a 29207 cairo_t, but our new class the PlatformContextCairo. 29208 * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j 29209 * platform/graphics/cairo/FontCairo.cpp: Ditto. 29210 * platform/graphics/cairo/GradientCairo.cpp: Ditto. 29211 * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical 29212 changes which now reference platformContext()->cr() to get the cairo_t. 29213 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the 29214 PlatformContextCairo instead of the cairo_t. 29215 * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class. 29216 * platform/graphics/cairo/ImageCairo.cpp: Ditto. 29217 * platform/graphics/cairo/PathCairo.cpp: Ditto. 29218 * platform/graphics/cairo/PlatformContextCairo.cpp: Added. 29219 * platform/graphics/cairo/PlatformContextCairo.h: Added. 29220 * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class. 29221 * platform/graphics/gtk/IconGtk.cpp: Ditto. 29222 * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out 29223 m_data with a private section containing the platform context instead of 29224 just a cairo_t. 29225 * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class. 29226 * platform/gtk/WidgetRenderingContext.cpp: Ditto. 29227 (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto. 29228 * plugins/gtk/PluginViewGtk.cpp: Ditto. 29229 29230 2011-04-05 David Dorwin <ddorwin (a] chromium.org> 29231 29232 Reviewed by David Levin. 29233 29234 Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING) 29235 https://bugs.webkit.org/show_bug.cgi?id=57400 29236 29237 Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid. 29238 Accelerated compositing may be compiled in but disabled at runtime or for some elements. 29239 29240 Tests: Fullscreen layout tests on Chromium. 29241 29242 * dom/Document.cpp: 29243 (WebCore::Document::webkitWillEnterFullScreenForElement): 29244 (WebCore::Document::webkitDidEnterFullScreenForElement): 29245 (WebCore::Document::webkitWillExitFullScreenForElement): 29246 29247 2011-04-05 Nikolas Zimmermann <nzimmermann (a] rim.com> 29248 29249 Reviewed by Dirk Schulze. 29250 29251 Regression: Invalid write in SVGTextLayoutEngine 29252 https://bugs.webkit.org/show_bug.cgi?id=57721 29253 29254 Properly stop layout if all metrics object refer to zero-width/height characters, 29255 which can happen for instance when using <text font-size="0">. 29256 29257 Test: svg/text/font-size-null-assertion.svg 29258 29259 * rendering/svg/SVGTextLayoutEngine.cpp: 29260 (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes): 29261 (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): 29262 29263 2011-04-04 MORITA Hajime <morrita (a] google.com> 29264 29265 Reviewed by Ryosuke Niwa. 29266 29267 [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult 29268 https://bugs.webkit.org/show_bug.cgi?id=56085 29269 29270 Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult. 29271 This change also added TextCheckerClient::requestCheckingOfString() should have 29272 TextCheckingTypeMask as a parameter to control text checking type. 29273 29274 * WebCore.exp.in: 29275 * editing/Editor.cpp: 29276 (WebCore::Editor::replaceSelectionWithFragment): 29277 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 29278 (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges() 29279 * editing/SpellChecker.cpp: 29280 (WebCore::SpellChecker::requestCheckingFor): Added a parameter. 29281 (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object. 29282 (WebCore::SpellChecker::didCheck): 29283 * editing/SpellChecker.h: 29284 * loader/EmptyClients.h: 29285 (WebCore::EmptyTextCheckerClient::checkTextOfParagraph): 29286 (WebCore::EmptyTextCheckerClient::requestCheckingOfString): 29287 * platform/text/TextCheckerClient.h: 29288 29289 2011-04-04 Antti Koivisto <antti (a] apple.com> 29290 29291 Reviewed by Sam Weinig. 29292 29293 Print stylesheet on nytimes.com loads too early 29294 https://bugs.webkit.org/show_bug.cgi?id=57814 29295 29296 Don't load resources with Very Low priority until there are no other resources to 29297 load for the host (or until document is complete enough that we stop limiting requests). 29298 29299 No tests, this is difficult to observe reliably with our current testing infrastructure. 29300 Verified working with Wireshark. 29301 29302 * loader/ResourceLoadScheduler.cpp: 29303 (WebCore::ResourceLoadScheduler::servePendingRequests): 29304 (WebCore::ResourceLoadScheduler::HostInformation::limitRequests): 29305 * loader/ResourceLoadScheduler.h: 29306 29307 2011-04-04 Steve Block <steveblock (a] google.com> 29308 29309 Reviewed by Dimitri Glazkov. 29310 29311 JavaInstance should be a pure interface 29312 https://bugs.webkit.org/show_bug.cgi?id=55383 29313 29314 This patch fixes JavaInstance for V8 only. 29315 29316 It factors out a JavaInstance interface which does not use JNI 29317 types. This will allow the Java bridge to be used with objects 29318 that don't use JNI directly. The existing jobject-backed 29319 implementation is moved to a new JavaInstanceJobject class which 29320 implements the interface. 29321 29322 No new tests, refactoring only. 29323 29324 * Android.v8bindings.mk: 29325 * WebCore.gypi: 29326 * bridge/jni/JobjectWrapper.h: 29327 * bridge/jni/v8/JNIUtilityPrivate.cpp: 29328 (JSC::Bindings::jvalueToJavaValue): 29329 (JSC::Bindings::javaValueToJvalue): 29330 * bridge/jni/v8/JavaInstanceJobjectV8.cpp: 29331 (JavaInstanceJobject::JavaInstanceJobject): 29332 (JavaInstanceJobject::~JavaInstanceJobject): 29333 (JavaInstanceJobject::begin): 29334 (JavaInstanceJobject::end): 29335 (JavaInstanceJobject::getClass): 29336 (JavaInstanceJobject::invokeMethod): 29337 (JavaInstanceJobject::getField): 29338 * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h. 29339 (JSC::Bindings::JavaInstanceJobject::javaInstance): 29340 * bridge/jni/v8/JavaInstanceV8.h: 29341 (JSC::Bindings::JavaInstance::~JavaInstance): 29342 29343 2011-04-05 Dimitri Glazkov <dglazkov (a] chromium.org> 29344 29345 Reviewed by Darin Adler. 29346 29347 Move MouseEvent-dispatching logic into MouseEventDispatchMediator. 29348 https://bugs.webkit.org/show_bug.cgi?id=57639 29349 29350 Refactoring, covered by existing tests. 29351 29352 * dom/EventDispatcher.cpp: 29353 (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here 29354 from dispatchMouseEvent. 29355 (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method. 29356 * dom/EventDispatcher.h: Adjusted decls. 29357 (WebCore::EventDispatcher::node): Added. 29358 * dom/MouseEvent.cpp: 29359 (WebCore::MouseEvent::create): Moved useful assertion here from 29360 dispatchMouseEvent. 29361 (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added. 29362 (WebCore::MouseEventDispatchMediator::event): Added. 29363 (WebCore::MouseEventDispatchMediator::dispatchEvent): Added. 29364 * dom/MouseEvent.h: 29365 (WebCore::MouseEvent::setRelatedTarget): Added. 29366 * dom/Node.cpp: 29367 (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator. 29368 29369 2011-04-05 Nikolas Zimmermann <nzimmermann (a] rim.com> 29370 29371 Reviewed by Adam Roben & Dirk Schulze. 29372 29373 text-tspan-02-b.svg from SVG 1.1 2nd edition fails 29374 https://bugs.webkit.org/show_bug.cgi?id=57831 29375 29376 We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering. 29377 While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and 29378 should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler 29379 to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the 29380 required memory. 29381 29382 Example: 29383 <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text> 29384 29385 text: A B C D E F G H 29386 rotate="10 20 30 30 30 50 50 50" 29387 29388 Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg 29389 svg/text/text-midpoint-split-bug.svg 29390 29391 * rendering/RenderBlockLineLayout.cpp: Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an 29392 (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase. 29393 * rendering/svg/SVGTextLayoutAttributes.cpp: 29394 (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization). 29395 (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder. 29396 (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto. 29397 (WebCore::safeValueAtPosition): Ditto. (Inline helper) 29398 (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto. 29399 * rendering/svg/SVGTextLayoutAttributes.h: Ditto. 29400 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above. 29401 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): 29402 (WebCore::processRenderSVGInlineText): 29403 (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements): 29404 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters): 29405 (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): 29406 (WebCore::fillListAtPosition): 29407 (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition): 29408 * rendering/svg/SVGTextLayoutAttributesBuilder.h: 29409 (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition): 29410 29411 2011-04-05 Levi Weintraub <leviw (a] chromium.org> 29412 29413 Reviewed by Ryosuke Niwa. 29414 29415 DeleteButtonController is given invalid style 29416 https://bugs.webkit.org/show_bug.cgi?id=57853 29417 29418 DeleteButtonController was assigned an invalid style that can lead to assertions 29419 in debug builds. This matches up the code with its intent. 29420 29421 No new tests as this changes nothing on release builds. 29422 29423 * editing/DeleteButtonController.cpp: 29424 (WebCore::DeleteButtonController::createDeletionUI): 29425 29426 2011-04-05 Anders Bakken <agbakken (a] gmail.com> 29427 29428 Reviewed by Laszlo Gombos. 29429 29430 [Qt] EditorQt.cpp has coding-style errors 29431 https://bugs.webkit.org/show_bug.cgi?id=40260 29432 29433 This patch does not require new test cases. 29434 29435 * editing/qt/EditorQt.cpp: 29436 29437 2011-04-05 Pavel Podivilov <podivilov (a] chromium.org> 29438 29439 Reviewed by Pavel Feldman. 29440 29441 Web Inspector: go to line dialog highlights wrong line. 29442 https://bugs.webkit.org/show_bug.cgi?id=57845 29443 29444 * inspector/front-end/GoToLineDialog.js: 29445 (WebInspector.GoToLineDialog.prototype._highlightSelectedLine): 29446 29447 2011-04-05 Luke Macpherson <macpherson (a] chromium.org> 29448 29449 Reviewed by Dimitri Glazkov. 29450 29451 Implement CSSPropertyDirection in CSSStyleApplyProperty 29452 https://bugs.webkit.org/show_bug.cgi?id=57608 29453 29454 No new tests required as no new functionality introduced. 29455 29456 * css/CSSStyleApplyProperty.cpp: 29457 Add implementation class for CSSPropertyDirection 29458 * css/CSSStyleSelector.cpp: 29459 Remove existing implementation for CSSPropertyDirection 29460 * css/CSSStyleSelector.h: 29461 Add getter for element 29462 29463 2011-04-05 Leandro Gracia Gil <leandrogracia (a] chromium.org> 29464 29465 Reviewed by Steve Block. 29466 29467 Factoring the creation of 'FunctionOnly' callbacks in V8. 29468 https://bugs.webkit.org/show_bug.cgi?id=57760 29469 29470 This method creates a template from an existing functionality in V8GeolocationCustom.cpp 29471 to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API. 29472 29473 No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html 29474 29475 * bindings/v8/V8Utilities.cpp: 29476 (WebCore::throwTypeMismatchException): 29477 * bindings/v8/V8Utilities.h: 29478 (WebCore::createFunctionOnlyCallback): 29479 * bindings/v8/custom/V8GeolocationCustom.cpp: 29480 (WebCore::V8Geolocation::getCurrentPositionCallback): 29481 (WebCore::V8Geolocation::watchPositionCallback): 29482 29483 2011-04-05 Nikolas Zimmermann <nzimmermann (a] rim.com> 29484 29485 Reviewed by Andreas Kling. 29486 29487 Switch from Vector<UChar> to StringBuilder in bindings/ 29488 https://bugs.webkit.org/show_bug.cgi?id=57838 29489 29490 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 29491 (WebCore::cssPropertyName): 29492 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 29493 (WebCore::cssPropertyInfo): 29494 29495 2011-04-05 Nikolas Zimmermann <nzimmermann (a] rim.com> 29496 29497 Reviewed by Andreas Kling. 29498 29499 Switch from Vector<UChar> to StringBuilder in accessibility/ 29500 https://bugs.webkit.org/show_bug.cgi?id=57837 29501 29502 * accessibility/AccessibilityObject.cpp: 29503 (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition): 29504 (WebCore::AccessibilityObject::stringForVisiblePositionRange): 29505 * accessibility/AccessibilityRenderObject.cpp: 29506 (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements): 29507 29508 2011-04-05 Andrey Adaikin <aandrey (a] google.com> 29509 29510 Reviewed by Pavel Feldman. 29511 29512 Web Inspector: Scripts with syntax errors are cropped in the UI 29513 https://bugs.webkit.org/show_bug.cgi?id=57828 29514 29515 * inspector/front-end/SourceFrame.js: 29516 (WebInspector.SourceFrame.prototype.addMessageToSource): 29517 29518 2011-04-05 Alexey Proskuryakov <ap (a] apple.com> 29519 29520 Reviewed by Darin Adler. 29521 29522 Remove onformchange and onforminput events/event handlers 29523 https://bugs.webkit.org/show_bug.cgi?id=55755 29524 <rdar://problem/9087969> 29525 29526 Covered by existing tests. 29527 29528 * dom/Document.h: 29529 * dom/Document.idl: 29530 * dom/Element.h: 29531 * dom/Element.idl: 29532 * dom/Event.cpp: 29533 (WebCore::Event::fromUserGesture): 29534 * dom/EventNames.h: 29535 * html/FormAssociatedElement.h: 29536 * html/HTMLAttributeNames.in: 29537 * html/HTMLElement.cpp: 29538 (WebCore::HTMLElement::parseMappedAttribute): 29539 * html/HTMLElement.h: 29540 * html/HTMLFormControlElement.h: 29541 (WebCore::HTMLFormControlElement::isEnumeratable): 29542 * html/HTMLFormElement.cpp: 29543 * html/HTMLFormElement.h: 29544 * html/HTMLFormElement.idl: 29545 * html/HTMLInputElement.h: 29546 * html/HTMLKeygenElement.h: 29547 * html/HTMLObjectElement.h: 29548 (WebCore::HTMLObjectElement::isEnumeratable): 29549 * html/HTMLOutputElement.h: 29550 (WebCore::HTMLOutputElement::isEnumeratable): 29551 * html/HTMLSelectElement.h: 29552 (WebCore::HTMLSelectElement::isEnumeratable): 29553 * html/HTMLTextAreaElement.h: 29554 (WebCore::HTMLTextAreaElement::isEnumeratable): 29555 * page/DOMWindow.h: 29556 * page/DOMWindow.idl: 29557 29558 2011-04-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 29559 29560 Unreviewed, rolling out r82915. 29561 http://trac.webkit.org/changeset/82915 29562 https://bugs.webkit.org/show_bug.cgi?id=57825 29563 29564 Broke 270 chromium tests on win and linux (Requested by 29565 podivilov on #webkit). 29566 29567 * rendering/RenderThemeChromiumSkia.cpp: 29568 (WebCore::RenderThemeChromiumSkia::defaultGUIFont): 29569 29570 2011-04-05 James Simonsen <simonjam (a] chromium.org> 29571 29572 Reviewed by Adam Barth. 29573 29574 Stop preload scanning CSS when it's impossible to have another @import. 29575 https://bugs.webkit.org/show_bug.cgi?id=57664 29576 29577 @import statements are only allowed at the beginning of a CSS file. 29578 Only comments or @charset can precede them. After seeing anything else, 29579 abort early so that we: 29580 - don't have to parse the rest of the CSS. 29581 - don't preload something that the regular parser won't load. 29582 29583 * html/parser/CSSPreloadScanner.cpp: 29584 (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports. 29585 (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule. 29586 (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import. 29587 * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state. 29588 29589 2011-04-05 Takayoshi Kochi <kochi (a] chromium.org> 29590 29591 Reviewed by Tony Chang. 29592 29593 [chromium] Specify 'sans-serif' as a fallback to the default UI font 29594 'Arial' for non-latin UI scripts (e.g. CJK). 29595 https://bugs.webkit.org/show_bug.cgi?id=55035 29596 29597 No new tests, because it may still fail if the system is not configured 29598 properly to resolve 'sans-serif' to existing real font file, thus even 29599 manual test is hard to systematically tell it is working properly. 29600 29601 * rendering/RenderThemeChromiumSkia.cpp 29602 29603 2011-04-05 Kent Tamura <tkent (a] chromium.org> 29604 29605 Reviewed by Dimitri Glazkov. 29606 29607 Setting defaultValue on a textarea with a modified value still clobbers the value 29608 https://bugs.webkit.org/show_bug.cgi?id=57636 29609 29610 If the dirty flag is true, we shouldn't update the value when the 29611 defaultValue is updated 29612 29613 Test: fast/forms/textarea-set-defaultvalue-after-value.html 29614 29615 * html/HTMLTextAreaElement.cpp: 29616 (WebCore::HTMLTextAreaElement::childrenChanged): 29617 (WebCore::HTMLTextAreaElement::setDefaultValue): 29618 29619 2011-04-04 Kent Tamura <tkent (a] chromium.org> 29620 29621 Add a case label which was unexpectedly removed in r82899. 29622 https://bugs.webkit.org/show_bug.cgi?id=50661 29623 29624 * css/CSSSelector.cpp: 29625 (WebCore::CSSSelector::extractPseudoType): 29626 29627 2011-04-04 Dan Bernstein <mitz (a] apple.com> 29628 29629 Reviewed by Simon Fraser. 29630 29631 <rdar://problem/7709452> Implement Default Ruby Overhang Behavior 29632 https://bugs.webkit.org/show_bug.cgi?id=49334 29633 29634 Tests: fast/ruby/overhang-horizontal.html 29635 fast/ruby/overhang-vertical.html 29636 29637 This is a first cut at ruby overhang. It allows ruby text to hang over other 29638 text of equal or smaller size. Two notable omissions are that max preferred 29639 width computation was not patched, so it will overshoot, and that overhang 29640 ignores the width of the adjoining text runs. 29641 29642 * rendering/RenderBlock.h: 29643 * rendering/RenderBlockLineLayout.cpp: 29644 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins 29645 of ruby runs for overhang. 29646 (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to 29647 compensate for overhang. 29648 (WebCore::RenderBlock::findNextLineBreak): When encountering 29649 a ruby run, increase the line width to account for the fact that overhang will be 29650 collapsed. 29651 * rendering/RenderRubyRun.cpp: 29652 (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if 29653 the adjoining renderer is text with equal or smaller font size. 29654 * rendering/RenderRubyRun.h: 29655 (WebCore::toRenderRubyRun): 29656 29657 2011-04-04 David Kilzer <ddkilzer (a] apple.com> 29658 29659 <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match 29660 29661 Reviewed by Alexey Proskuryakov. 29662 29663 * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority(). 29664 * platform/mac/WebCoreSystemInterface.h: 29665 (wkSetHTTPPipeliningMaximumPriority): Added function pointer 29666 declaration. 29667 * platform/mac/WebCoreSystemInterface.mm: 29668 (wkSetHTTPPipeliningMaximumPriority): Added function pointer. 29669 * platform/network/cf/ResourceRequestCFNet.cpp: 29670 (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call 29671 wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP 29672 pipelining priority. 29673 * platform/network/cf/ResourceRequestCFNet.h: 29674 (WebCore::toResourceLoadPriority): Renamed from 29675 mapHTTPPipeliningPriorityToResourceLoadPriority(). Updated to 29676 to handle Unresolved case. 29677 (WebCore::toHTTPPipeliningPriority): Renamed from 29678 mapResourceLoadPriorityToHTTPPipeliningPriority(). Updated to 29679 handle Unresolved case. 29680 * platform/network/mac/ResourceRequestMac.mm: 29681 (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to 29682 use toResourceLoadPriority(). 29683 (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to 29684 use toHTTPPipeliningPriority(). Moved 29685 shouldForceHTTPPipeliningPriorityHigh() check into the argument 29686 of toHTTPPipeliningPriority() instead of hard-coding a 29687 now-incorrect value. 29688 29689 2011-04-04 MORITA Hajime <morrita (a] google.com> 29690 29691 Reviewed by Kent Tamura. 29692 29693 Convert <meter> shadow DOM to a DOM-based shadow. 29694 https://bugs.webkit.org/show_bug.cgi?id=50661 29695 29696 Eliminated a large part of <meter> custom layout code, 29697 which is replaced by a shadow tree. 29698 Note that the shadow tree is created on construction time and 29699 will remain during the host HTMLMeterElement lifecycle. 29700 29701 * Android.mk: 29702 * CMakeLists.txt: 29703 * GNUmakefile.am: 29704 * WebCore.gypi: 29705 * WebCore.pro: 29706 * WebCore.vcproj/WebCore.vcproj: 29707 * WebCore.xcodeproj/project.pbxproj: 29708 * css/CSSMutableStyleDeclaration.cpp: 29709 (WebCore::CSSMutableStyleDeclaration::setProperty): 29710 * css/CSSMutableStyleDeclaration.h: 29711 * css/CSSSelector.cpp: 29712 (WebCore::CSSSelector::pseudoId): 29713 (WebCore::nameToPseudoTypeMap): 29714 (WebCore::CSSSelector::extractPseudoType): 29715 * css/CSSSelector.h: 29716 * css/html.css: 29717 (meter): 29718 (meter::-webkit-meter-bar): 29719 (meter::-webkit-meter-optimum-value): 29720 (meter::-webkit-meter-suboptimum-value): 29721 (meter::-webkit-meter-even-less-good-value): 29722 * html/HTMLMeterElement.cpp: 29723 (WebCore::HTMLMeterElement::~HTMLMeterElement): 29724 (WebCore::HTMLMeterElement::parseMappedAttribute): 29725 (WebCore::HTMLMeterElement::attach): 29726 (WebCore::HTMLMeterElement::valueRatio): 29727 (WebCore::HTMLMeterElement::didElementStateChange): 29728 (WebCore::HTMLMeterElement::createShadowSubtree): 29729 * html/HTMLMeterElement.h: 29730 * html/shadow/MeterShadowElement.cpp: Added. 29731 (WebCore::MeterShadowElement::MeterShadowElement): 29732 (WebCore::MeterShadowElement::meterElement): 29733 (WebCore::MeterShadowElement::rendererIsNeeded): 29734 (WebCore::MeterBarElement::shadowPseudoId): 29735 (WebCore::MeterValueElement::shadowPseudoId): 29736 (WebCore::MeterValueElement::setWidthPercentage): 29737 * html/shadow/MeterShadowElement.h: Added. 29738 (WebCore::MeterBarElement::MeterBarElement): 29739 (WebCore::MeterBarElement::create): 29740 (WebCore::MeterValueElement::MeterValueElement): 29741 (WebCore::MeterValueElement::create): 29742 * rendering/RenderMeter.cpp: 29743 (WebCore::RenderMeter::RenderMeter): 29744 (WebCore::RenderMeter::~RenderMeter): 29745 (WebCore::RenderMeter::valueRatio): 29746 * rendering/RenderMeter.h: 29747 (WebCore::RenderMeter::renderName): 29748 (WebCore::RenderMeter::isMeter): 29749 (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation): 29750 (WebCore::RenderMeter::canHaveChildren): 29751 29752 2011-04-04 Dimitri Glazkov <dglazkov (a] chromium.org> 29753 29754 Reviewed by Adam Barth. 29755 29756 Introduce EventDispatchMediator abstraction, which encapsulate all 29757 non-trivial logic around firing a specific type of an event. 29758 https://bugs.webkit.org/show_bug.cgi?id=57562 29759 29760 Refactoring, covered by existing tests. 29761 29762 * dom/Event.cpp: 29763 (WebCore::EventDispatchMediator::EventDispatchMediator): Added. 29764 (WebCore::EventDispatchMediator::~EventDispatchMediator): Added. 29765 (WebCore::EventDispatchMediator::dispatchEvent): Added. 29766 (WebCore::EventDispatchMediator::event): Added. 29767 * dom/Event.h: Added decl. 29768 * dom/EventDispatcher.cpp: 29769 (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator. 29770 * dom/EventDispatcher.h: Updated decls. 29771 * dom/KeyboardEvent.cpp: 29772 (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added. 29773 (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added. 29774 * dom/KeyboardEvent.h: Updated decls 29775 * dom/Node.cpp: 29776 (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator. 29777 (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator. 29778 29779 2011-04-04 Martin Robinson <mrobinson (a] igalia.com> 29780 29781 Reviewed by Xan Lopez. 29782 29783 [Cairo] Memory leak in RefPtrCairo 29784 https://bugs.webkit.org/show_bug.cgi?id=57758 29785 29786 No new tests. This just fixes a memory leak. 29787 29788 * platform/graphics/cairo/RefPtrCairo.cpp: 29789 (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it. 29790 29791 2011-04-04 Adrienne Walker <enne (a] google.com> 29792 29793 Unreviewed, rolling out r82880. 29794 http://trac.webkit.org/changeset/82880 29795 https://bugs.webkit.org/show_bug.cgi?id=50661 29796 29797 Meter elements not rendered in Chromium Linux layout tests 29798 29799 * Android.mk: 29800 * CMakeLists.txt: 29801 * GNUmakefile.am: 29802 * WebCore.gypi: 29803 * WebCore.pro: 29804 * WebCore.vcproj/WebCore.vcproj: 29805 * WebCore.xcodeproj/project.pbxproj: 29806 * css/CSSMutableStyleDeclaration.cpp: 29807 * css/CSSMutableStyleDeclaration.h: 29808 * css/CSSSelector.cpp: 29809 (WebCore::CSSSelector::pseudoId): 29810 (WebCore::nameToPseudoTypeMap): 29811 (WebCore::CSSSelector::extractPseudoType): 29812 * css/CSSSelector.h: 29813 * css/html.css: 29814 (meter): 29815 (meter::-webkit-meter): 29816 (meter::-webkit-meter-bar): 29817 (meter::-webkit-meter-optimum-value): 29818 (meter::-webkit-meter-suboptimal-value): 29819 (meter::-webkit-meter-even-less-good-value): 29820 * html/HTMLMeterElement.cpp: 29821 (WebCore::HTMLMeterElement::create): 29822 (WebCore::HTMLMeterElement::parseMappedAttribute): 29823 (WebCore::HTMLMeterElement::attach): 29824 * html/HTMLMeterElement.h: 29825 * html/shadow/MeterShadowElement.cpp: Removed. 29826 * html/shadow/MeterShadowElement.h: Removed. 29827 * rendering/RenderMeter.cpp: 29828 (WebCore::RenderMeter::RenderMeter): 29829 (WebCore::RenderMeter::~RenderMeter): 29830 (WebCore::RenderMeter::createPart): 29831 (WebCore::RenderMeter::updateFromElement): 29832 (WebCore::RenderMeter::layoutParts): 29833 (WebCore::RenderMeter::styleDidChange): 29834 (WebCore::RenderMeter::shouldHaveParts): 29835 (WebCore::RenderMeter::valueRatio): 29836 (WebCore::RenderMeter::barPartRect): 29837 (WebCore::RenderMeter::valuePartRect): 29838 (WebCore::RenderMeter::valuePseudoId): 29839 (WebCore::RenderMeter::barPseudoId): 29840 (WebCore::RenderMeter::detachShadows): 29841 (WebCore::RenderMeter::updateShadows): 29842 * rendering/RenderMeter.h: 29843 (WebCore::RenderMeter::renderName): 29844 (WebCore::RenderMeter::isMeter): 29845 (WebCore::RenderMeter::shadowAttached): 29846 29847 2011-04-04 Chang Shu <cshu (a] webkit.org> 29848 29849 Reviewed by Ryosuke Niwa. 29850 29851 setContentEditable with true/false/inherit string is not working properly 29852 https://bugs.webkit.org/show_bug.cgi?id=52058 29853 29854 Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for 29855 checking editability: rendererIsEditable and isContentEdiable. The former is a fast path, 29856 which does NOT trigger layout and only checks the render style of usermodify. The latter 29857 updates the layout first to make sure the render style syncs with DOM contenteditable 29858 attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable 29859 are also updated in the patch. But a complete fix will follow up in bug 57244. 29860 29861 This patch fixes all the failed layout tests related to set contenteditable. 29862 29863 * accessibility/AccessibilityRenderObject.cpp: 29864 (WebCore::AccessibilityRenderObject::isReadOnly): 29865 * dom/Node.cpp: 29866 (WebCore::Node::isContentEditable): 29867 (WebCore::Node::shouldUseInputMethod): 29868 * dom/Node.h: 29869 * html/HTMLElement.cpp: 29870 * html/HTMLElement.h: 29871 29872 2011-04-04 Roland Steiner <rolandsteiner (a] chromium.org> 29873 29874 Reviewed by Dimitri Glazkov. 29875 29876 Bug 57689 - Extract scoping functionality from Document 29877 https://bugs.webkit.org/show_bug.cgi?id=57689 29878 29879 Moved selfOnlyRef (renamed to guardRef), element ID, image map 29880 and accesss key functionalities from Document to a new base 29881 class TreeScope. 29882 29883 TreeShared: made removedLastRef protected 29884 29885 No new tests. (refactoring) 29886 29887 * Android.mk: 29888 * CMakeLists.txt: 29889 * GNUmakefile.am: 29890 * WebCore.gypi: 29891 * WebCore.pro: 29892 * WebCore.vcproj/WebCore.vcproj: 29893 * WebCore.xcodeproj/project.pbxproj: 29894 * dom/Document.cpp: 29895 (WebCore::Document::Document): 29896 (WebCore::Document::destroyScope): 29897 (WebCore::Document::getElementById): 29898 (WebCore::Document::childrenChanged): 29899 (WebCore::Document::scheduleStyleRecalc): 29900 (WebCore::Document::attach): 29901 (WebCore::Document::detach): 29902 * dom/Document.h: 29903 (WebCore::Node::Node): 29904 * dom/DocumentOrderedMap.cpp: 29905 (WebCore::DocumentOrderedMap::get): 29906 (WebCore::DocumentOrderedMap::getElementById): 29907 (WebCore::DocumentOrderedMap::getElementByMapName): 29908 (WebCore::DocumentOrderedMap::getElementByLowercasedMapName): 29909 * dom/DocumentOrderedMap.h: 29910 * dom/DOMAllInOne.cpp: 29911 * dom/Node.cpp: 29912 (WebCore::Node::~Node): 29913 (WebCore::Node::setDocument): 29914 * dom/Node.h: 29915 * dom/TreeScope.cpp: Added. 29916 * dom/TreeScope.h: Added. 29917 * platform/TreeShared.h: 29918 (WebCore::TreeShared::removedLastRef): made protected 29919 29920 2011-04-04 MORITA Hajime <morrita (a] google.com> 29921 29922 Reviewed by Dimitri Glazkov. 29923 29924 Convert <meter> shadow DOM to a DOM-based shadow. 29925 https://bugs.webkit.org/show_bug.cgi?id=50661 29926 29927 Eliminated a large part of <meter> custom layout code, 29928 which is replaced by a shadow tree. 29929 Note that the shadow tree is created on construction time and 29930 will remain during the host HTMLMeterElement lifecycle. 29931 29932 * Android.mk: 29933 * CMakeLists.txt: 29934 * GNUmakefile.am: 29935 * WebCore.gypi: 29936 * WebCore.pro: 29937 * WebCore.vcproj/WebCore.vcproj: 29938 * WebCore.xcodeproj/project.pbxproj: 29939 * css/CSSMutableStyleDeclaration.cpp: 29940 (WebCore::CSSMutableStyleDeclaration::setProperty): 29941 * css/CSSMutableStyleDeclaration.h: 29942 * css/CSSSelector.cpp: 29943 (WebCore::CSSSelector::pseudoId): 29944 (WebCore::nameToPseudoTypeMap): 29945 (WebCore::CSSSelector::extractPseudoType): 29946 * css/CSSSelector.h: 29947 * css/html.css: 29948 (meter): 29949 (meter::-webkit-meter-bar): 29950 (meter::-webkit-meter-optimum-value): 29951 (meter::-webkit-meter-suboptimum-value): 29952 (meter::-webkit-meter-even-less-good-value): 29953 * html/HTMLMeterElement.cpp: 29954 (WebCore::HTMLMeterElement::~HTMLMeterElement): 29955 (WebCore::HTMLMeterElement::parseMappedAttribute): 29956 (WebCore::HTMLMeterElement::attach): 29957 (WebCore::HTMLMeterElement::valueRatio): 29958 (WebCore::HTMLMeterElement::didElementStateChange): 29959 (WebCore::HTMLMeterElement::createShadowSubtree): 29960 * html/HTMLMeterElement.h: 29961 * html/shadow/MeterShadowElement.cpp: Added. 29962 (WebCore::MeterShadowElement::MeterShadowElement): 29963 (WebCore::MeterShadowElement::meterElement): 29964 (WebCore::MeterShadowElement::rendererIsNeeded): 29965 (WebCore::MeterBarElement::shadowPseudoId): 29966 (WebCore::MeterValueElement::shadowPseudoId): 29967 (WebCore::MeterValueElement::setWidthPercentage): 29968 * html/shadow/MeterShadowElement.h: Added. 29969 (WebCore::MeterBarElement::MeterBarElement): 29970 (WebCore::MeterBarElement::create): 29971 (WebCore::MeterValueElement::MeterValueElement): 29972 (WebCore::MeterValueElement::create): 29973 * rendering/RenderMeter.cpp: 29974 (WebCore::RenderMeter::RenderMeter): 29975 (WebCore::RenderMeter::~RenderMeter): 29976 (WebCore::RenderMeter::valueRatio): 29977 * rendering/RenderMeter.h: 29978 (WebCore::RenderMeter::renderName): 29979 (WebCore::RenderMeter::isMeter): 29980 (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation): 29981 (WebCore::RenderMeter::canHaveChildren): 29982 29983 2011-04-04 Martin Robinson <mrobinson (a] igalia.com> 29984 29985 Reviewed by Gustavo Noronha Silva. 29986 29987 [GTK] WebGL support 29988 https://bugs.webkit.org/show_bug.cgi?id=31517 29989 29990 Add WebGL support for the GTK+ bits of WebCore. 29991 29992 No new tests. This will be covered by the existing WebGL tests once 29993 the bots are capable of running WebGL tests. 29994 29995 * GNUmakefile.am: Added new files required for WebGL support. 29996 * html/HTMLCanvasElement.cpp: 29997 (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not 29998 yet support accelerated compositing. 29999 * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as 30000 a framework for GTK+. 30001 * platform/graphics/GraphicsContext3D.h: 30002 (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo. 30003 (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto. 30004 * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added. 30005 (WebCore::GraphicsContext3D::getImageData): Added. 30006 (WebCore::GraphicsContext3D::paintToCanvas): Added. 30007 * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension 30008 functions dynamically. They have different names across the different vendors' GL implementations. 30009 (WebCore::lookupOpenGLFunctionAddress): Added 30010 (WebCore::openGLFunctionTable): Added 30011 (WebCore::initializeOpenGLShims): Added 30012 * platform/graphics/cairo/OpenGLShims.h: Added. 30013 * platform/graphics/gtk/DrawingBufferGtk.cpp: Added. 30014 (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo. 30015 (WebCore::DrawingBuffer::~DrawingBuffer): Ditto. 30016 (WebCore::DrawingBuffer::didReset): Ditto. 30017 (WebCore::DrawingBuffer::platformColorBuffer): Ditto. 30018 * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added. 30019 (WebCore::GraphicsContext3D::create): Initial implementation. 30020 (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto. 30021 (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto. 30022 (WebCore::GraphicsContext3D::makeContextCurrent): Ditto. 30023 (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto. 30024 (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto. 30025 * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added. 30026 (sharedDisplay): Added this shared display which is required by some 30027 display drivers. 30028 (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D 30029 contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers. 30030 (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto. 30031 (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto. 30032 (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto. 30033 (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL 30034 context given the current environment. 30035 (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer. 30036 (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer. 30037 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation. 30038 (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto. 30039 (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto. 30040 * platform/graphics/gtk/GraphicsContext3DInternal.h: Added. 30041 * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation. 30042 (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto. 30043 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 30044 (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than 30045 the private bits that are specific to the Apple port. 30046 30047 2011-04-04 Alexey Proskuryakov <ap (a] apple.com> 30048 30049 Reviewed by Dan Bernstein. 30050 30051 REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2 30052 https://bugs.webkit.org/show_bug.cgi?id=51230 30053 <rdar://problem/8780989> 30054 30055 <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys 30056 30057 * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from 30058 WebKits to WebCore, because WebKit shouldn't be smart. 30059 30060 2011-04-04 Steve Falkenburg <sfalken (a] apple.com> 30061 30062 Fix Windows build warning. 30063 30064 * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build. 30065 30066 2011-04-04 Adam Roben <aroben (a] apple.com> 30067 30068 Attempted Mac build fix, part III 30069 30070 * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols. 30071 30072 2011-04-04 Andy Estes <aestes (a] apple.com> 30073 30074 Fix the Mac build. 30075 30076 * WebCore.exp.in: 30077 30078 2011-04-04 David Dorwin <ddorwin (a] chromium.org> 30079 30080 Reviewed by David Levin. 30081 30082 Chromium Mac crashes when entering fullscreen 30083 https://bugs.webkit.org/show_bug.cgi?id=57483 30084 30085 Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac. 30086 30087 * WebCore.gyp/WebCore.gyp: 30088 * rendering/RenderThemeChromiumMac.h: 30089 * rendering/RenderThemeChromiumMac.mm: 30090 (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet): 30091 30092 2011-04-04 Adam Roben <aroben (a] apple.com> 30093 30094 Attempted Mac build fix, part II 30095 30096 * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and 30097 PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively). 30098 30099 2011-04-04 Steve Falkenburg <sfalken (a] apple.com> 30100 30101 Reviewed by Adam Roben. 30102 30103 Remove unused AnalyzeWithLargeStack code from Windows build files 30104 https://bugs.webkit.org/show_bug.cgi?id=57771 30105 30106 This was used for us to build with prefast automatically, 30107 but it is out-of-date and hasn't been used for some time. 30108 Removing completely for now. 30109 30110 * WebCore.vcproj/WebCore.vcproj: 30111 * WebCore.vcproj/WebCorePreBuild.cmd: 30112 30113 2011-04-01 Matthew Delaney <mdelaney (a] apple.com> 30114 30115 Reviewed by Simon Fraser. 30116 30117 [CG] Do not accelerate small canvases 30118 https://bugs.webkit.org/show_bug.cgi?id=57596 30119 30120 No new tests. No outward behavior changes. 30121 30122 * platform/graphics/cg/ImageBufferCG.cpp: 30123 30124 2011-04-04 Adam Roben <aroben (a] apple.com> 30125 30126 Attempted Mac build fix 30127 30128 * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private 30129 so that WebKit can #include them. 30130 30131 2011-04-04 Malcolm MacLeod <mmacleod (a] webmail.co.za> 30132 30133 Reviewed by Kevin Ollivier. 30134 30135 [wx] Implement support for temporary files. 30136 30137 https://bugs.webkit.org/show_bug.cgi?id=57772 30138 30139 * platform/FileSystem.h: 30140 * platform/wx/FileSystemWx.cpp: 30141 (WebCore::getFileModificationTime): 30142 (WebCore::openTemporaryFile): 30143 (WebCore::closeFile): 30144 (WebCore::writeToFile): 30145 30146 2011-04-01 Oliver Hunt <oliver (a] apple.com> 30147 30148 Reviewed by Geoffrey Garen. 30149 30150 Make StructureChain GC allocated 30151 https://bugs.webkit.org/show_bug.cgi?id=56695 30152 30153 Update for new Structure marking function 30154 30155 * bindings/js/JSDOMGlobalObject.cpp: 30156 (WebCore::JSDOMGlobalObject::markChildren): 30157 30158 2011-04-04 Pavel Feldman <pfeldman (a] google.com> 30159 30160 Reviewed by Yury Semikhatsky. 30161 30162 Web Inspector: add support for the enumerated types in the protocol. 30163 https://bugs.webkit.org/show_bug.cgi?id=57761 30164 30165 * inspector/Inspector.json: 30166 * inspector/InspectorDebuggerAgent.cpp: 30167 (WebCore::InspectorDebuggerAgent::setPauseOnExceptions): 30168 * inspector/InspectorDebuggerAgent.h: 30169 * inspector/InspectorInstrumentation.cpp: 30170 (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl): 30171 (WebCore::InspectorInstrumentation::scriptImportedImpl): 30172 * inspector/InspectorResourceAgent.cpp: 30173 (WebCore::cachedResourceTypeString): 30174 (WebCore::InspectorResourceAgent::didReceiveResponse): 30175 (WebCore::InspectorResourceAgent::setInitialScriptContent): 30176 (WebCore::InspectorResourceAgent::setInitialXHRContent): 30177 * inspector/InspectorResourceAgent.h: 30178 * inspector/front-end/ScriptsPanel.js: 30179 * inspector/generate-inspector-idl: 30180 30181 2011-04-04 Yury Semikhatsky <yurys (a] chromium.org> 30182 30183 Reviewed by Pavel Feldman. 30184 30185 Web Inspector: InspectorRuntimeAgent should not depend on Page 30186 https://bugs.webkit.org/show_bug.cgi?id=57759 30187 30188 Descendants of InspectorRuntimeAgent should implement a method providing access to the default 30189 inspected state used for console evaluations. 30190 30191 * inspector/InspectorAgent.cpp: 30192 (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents. 30193 (WebCore::InspectorAgent::setFrontend): 30194 * inspector/InspectorAgent.h: 30195 * inspector/InspectorRuntimeAgent.cpp: 30196 (WebCore::InspectorRuntimeAgent::create): 30197 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): 30198 (WebCore::InspectorRuntimeAgent::evaluate): 30199 * inspector/InspectorRuntimeAgent.h: 30200 (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider): 30201 30202 2011-04-04 Yong Li <yoli (a] rim.com> 30203 30204 Reviewed by Antonio Gomes. 30205 30206 https://bugs.webkit.org/show_bug.cgi?id=55969 30207 Fix the issue that document state is not saved when 30208 going backward and ending up with error page. 30209 30210 Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html 30211 30212 (For manual test, load a non-existent html first, then load 30213 fast/history/resources/check-scroll-position.html, then go 30214 back and go forward. If it doesn't show "SUCCESS" at the bottom 30215 of the page, your browser has failed the test) 30216 30217 * loader/FrameLoader.cpp: 30218 (WebCore::FrameLoader::load): 30219 30220 2011-04-04 Sergio Villar Senin <svillar (a] igalia.com> 30221 30222 Reviewed by Martin Robinson. 30223 30224 [GTK] Fix make distcheck for 1.4.0 30225 https://bugs.webkit.org/show_bug.cgi?id=57750 30226 30227 Added a missing header file to the Makefile 30228 30229 * GNUmakefile.am: 30230 30231 2011-04-04 Martin Robinson <mrobinson (a] igalia.com> 30232 30233 Reviewed by Xan Lopez. 30234 30235 [GTK] http/tests/plugins/post-url-file.html fails on GTK+ 30236 https://bugs.webkit.org/show_bug.cgi?id=55826 30237 30238 Correct the implementation of handlePostReadFile which uses GIO APIs and 30239 actually resizes the buffer to fit the entire size of the file data. This 30240 was likely leading to memory corruption until now. 30241 30242 * plugins/gtk/PluginViewGtk.cpp: 30243 (WebCore::PluginView::handlePostReadFile): Fix this method. 30244 30245 2011-04-04 Andrey Kosyakov <caseq (a] chromium.org> 30246 30247 Reviewed by Yury Semikhatsky. 30248 30249 Web Inspector: [Extensions API] add notifications on panels shown/hidden 30250 https://bugs.webkit.org/show_bug.cgi?id=57752 30251 30252 * inspector/front-end/ExtensionAPI.js: 30253 (WebInspector.injectedExtensionAPI.PanelImpl): 30254 * inspector/front-end/ExtensionServer.js: 30255 (WebInspector.ExtensionServer.prototype.notifyPanelShown): 30256 (WebInspector.ExtensionServer.prototype.notifyPanelHidden): 30257 * inspector/front-end/Panel.js: 30258 (WebInspector.Panel.prototype.show): 30259 (WebInspector.Panel.prototype.hide): 30260 30261 2011-04-04 Pavel Podivilov <podivilov (a] chromium.org> 30262 30263 Reviewed by Yury Semikhatsky. 30264 30265 Web Inspector: search in resources panel is broken. 30266 https://bugs.webkit.org/show_bug.cgi?id=57631 30267 30268 Search in resources panel should trigger source frame content load. 30269 30270 * inspector/front-end/Panel.js: 30271 (WebInspector.Panel.prototype.jumpToNextSearchResult): 30272 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): 30273 * inspector/front-end/ResourcesPanel.js: 30274 * inspector/front-end/SearchController.js: 30275 (WebInspector.SearchController.prototype.handleShortcut): 30276 (WebInspector.SearchController.prototype.focusSearchField): 30277 * inspector/front-end/SourceFrame.js: 30278 (WebInspector.SourceFrame.prototype.show): 30279 (WebInspector.SourceFrame.prototype._ensureContentLoaded): 30280 (WebInspector.SourceFrame.prototype.performSearch): 30281 30282 2011-04-03 Eric Seidel <eric (a] webkit.org> 30283 30284 Reviewed by Ryosuke Niwa. 30285 30286 Split out UnicodeBidi enum into its own header (to allow use in platform) 30287 https://bugs.webkit.org/show_bug.cgi?id=57722 30288 30289 unicode-bidi is a CSS concept. However the same concept is really needed throughout 30290 the bidi code in platform as well. So I'm moving the enum to platform. 30291 The only part of the enum which doesn't make much sense to platform/ is "normal". 30292 30293 * WebCore.xcodeproj/project.pbxproj: 30294 * css/CSSPrimitiveValueMappings.h: 30295 * platform/text/UnicodeBidi.h: Added. 30296 * rendering/style/RenderStyle.h: 30297 * rendering/style/RenderStyleConstants.h: 30298 30299 2011-04-04 Andrey Adaikin <aandrey (a] google.com> 30300 30301 Reviewed by Yury Semikhatsky. 30302 30303 Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer 30304 https://bugs.webkit.org/show_bug.cgi?id=57749 30305 30306 * inspector/front-end/TextViewer.js: 30307 (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange): 30308 (WebInspector.TextEditorMainPanel.prototype._paintLine): 30309 30310 2011-04-04 Alexander Pavlov <apavlov (a] chromium.org> 30311 30312 Reviewed by Yury Semikhatsky. 30313 30314 Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s 30315 https://bugs.webkit.org/show_bug.cgi?id=48525 30316 30317 * inspector/front-end/Resource.js: 30318 (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): 30319 30320 2011-04-01 Alexander Pavlov <apavlov (a] chromium.org> 30321 30322 Reviewed by Yury Semikhatsky. 30323 30324 Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function 30325 https://bugs.webkit.org/show_bug.cgi?id=57632 30326 30327 Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor". 30328 30329 * inspector/front-end/DOMAgent.js: 30330 (WebInspector.DOMNode.prototype.appropriateSelectorFor): 30331 * inspector/front-end/EventListenersSidebarPane.js: 30332 (): 30333 * inspector/front-end/StylesSidebarPane.js: 30334 (WebInspector.StylesSidebarPane.prototype.addBlankSection): 30335 * inspector/front-end/utilities.js: 30336 30337 2011-04-04 Andrey Kosyakov <caseq (a] chromium.org> 30338 30339 Unreviewed. Followup to an incomplete commit in r82806. 30340 30341 * inspector/front-end/ExtensionAPI.js: 30342 (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane): 30343 (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl): 30344 (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight): 30345 (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression): 30346 (WebInspector.injectedExtensionAPI): 30347 * inspector/front-end/ExtensionPanel.js: 30348 (WebInspector.ExtensionSidebarPane): 30349 (WebInspector.ExtensionSidebarPane.prototype.setPage): 30350 (WebInspector.ExtensionSidebarPane.prototype._setObject): 30351 * inspector/front-end/ExtensionServer.js: 30352 (WebInspector.ExtensionServer): 30353 (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated): 30354 (WebInspector.ExtensionServer.prototype._onCreatePanel): 30355 (WebInspector.ExtensionServer.prototype._onCreateSidebarPane): 30356 (WebInspector.ExtensionServer.prototype.createClientIframe): 30357 (WebInspector.ExtensionServer.prototype._onSetSidebarContent): 30358 30359 2011-04-04 Yury Semikhatsky <yurys (a] chromium.org> 30360 30361 Unreviewed. Fix Qt minimal build. 30362 30363 * inspector/InspectorFrontendChannel.h: 30364 30365 2011-04-01 Sergey Vorobyev <sergeyvorobyev (a] google.com> 30366 30367 Reviewed by Yury Semikhatsky. 30368 30369 Web Inspector: Separate sendMessageToFrontend function 30370 from InspectorClient to individual interface. 30371 https://bugs.webkit.org/show_bug.cgi?id=57548 30372 30373 Refactoring - covered with existing inspector tests. 30374 30375 * GNUmakefile.am: 30376 * WebCore.gypi: 30377 * WebCore.vcproj/WebCore.vcproj: 30378 * WebCore.xcodeproj/project.pbxproj: 30379 * inspector/CodeGeneratorInspector.pm: 30380 * inspector/InspectorClient.h: 30381 * inspector/InspectorFrontendChannel.h: Added. 30382 (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel): 30383 30384 2011-04-04 Nico Weber <thakis (a] chromium.org> 30385 30386 Reviewed by Eric Seidel. 30387 30388 Prefer a using directive over qualified names in LocalizedNumberICU.cpp 30389 https://bugs.webkit.org/show_bug.cgi?id=57742 30390 30391 Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715 30392 30393 * platform/text/LocalizedNumberICU.cpp: 30394 (WebCore::createFormatterForCurrentLocale): 30395 (WebCore::numberFormatter): 30396 (WebCore::parseLocalizedNumber): 30397 (WebCore::formatLocalizedNumber): 30398 30399 2011-04-04 Andrey Adaikin <aandrey (a] google.com> 30400 30401 Reviewed by Yury Semikhatsky. 30402 30403 Web Inspector: Breakpoints in the gutter stay static while editing the text 30404 https://bugs.webkit.org/show_bug.cgi?id=57616 30405 30406 * inspector/front-end/SourceFrame.js: 30407 (WebInspector.SourceFrame): 30408 (WebInspector.SourceFrame.prototype._saveViewerState): 30409 (WebInspector.SourceFrame.prototype._restoreViewerState): 30410 (WebInspector.SourceFrame.prototype._endEditing): 30411 (WebInspector.SourceFrame.prototype._lineNumberAfterEditing): 30412 (WebInspector.SourceFrame.prototype.addBreakpoint): 30413 (WebInspector.SourceFrame.prototype.removeBreakpoint): 30414 * inspector/front-end/TextViewer.js: 30415 (WebInspector.TextViewer.prototype._syncDecorationsForLine): 30416 (WebInspector): 30417 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): 30418 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): 30419 (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine): 30420 (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine): 30421 30422 2011-04-04 Ilya Tikhonovsky <loislo (a] chromium.org> 30423 30424 Reviewed by Yury Semikhatsky. 30425 30426 Web Inspector: remove obsolete doc generating code from CodeGenerator. 30427 https://bugs.webkit.org/show_bug.cgi?id=57748 30428 30429 * inspector/CodeGeneratorInspector.pm: 30430 30431 2011-04-04 Andrey Kosyakov <caseq (a] chromium.org> 30432 30433 Reviewed by Yury Semikhatsky. 30434 30435 Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane 30436 https://bugs.webkit.org/show_bug.cgi?id=57622 30437 30438 Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url). 30439 Fixed wrong getter in schema (scripts -> elements) 30440 30441 * inspector/front-end/ExtensionAPI.js: 30442 (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject): 30443 (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage): 30444 * inspector/front-end/ExtensionAPISchema.json: 30445 * inspector/front-end/ExtensionServer.js: 30446 (WebInspector.ExtensionServer.prototype._onSetSidebarPage): 30447 30448 2011-04-04 Ilya Tikhonovsky <loislo (a] chromium.org> 30449 30450 Reviewed by Pavel Feldman. 30451 30452 Web Inspector: introduce support of 'optional' flag for command arguments. 30453 https://bugs.webkit.org/show_bug.cgi?id=57698 30454 30455 * inspector/CodeGeneratorInspector.pm: 30456 * inspector/Inspector.json: 30457 * inspector/InspectorDebuggerAgent.cpp: 30458 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): 30459 (WebCore::InspectorDebuggerAgent::setBreakpoint): 30460 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 30461 * inspector/InspectorDebuggerAgent.h: 30462 * inspector/InspectorPageAgent.cpp: 30463 (WebCore::InspectorPageAgent::reloadPage): 30464 * inspector/InspectorPageAgent.h: 30465 * inspector/InspectorResourceAgent.cpp: 30466 (WebCore::InspectorResourceAgent::getResourceContent): 30467 * inspector/InspectorResourceAgent.h: 30468 * inspector/InspectorRuntimeAgent.cpp: 30469 (WebCore::InspectorRuntimeAgent::evaluate): 30470 * inspector/InspectorRuntimeAgent.h: 30471 * inspector/generate-inspector-idl: 30472 30473 2011-04-04 Yury Semikhatsky <yurys (a] chromium.org> 30474 30475 Reviewed by Pavel Feldman. 30476 30477 Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers 30478 https://bugs.webkit.org/show_bug.cgi?id=57637 30479 30480 * bindings/js/JSInjectedScriptManager.cpp: 30481 (WebCore::InjectedScriptManager::injectedScriptFor): 30482 * bindings/v8/custom/V8InjectedScriptManager.cpp: 30483 (WebCore::InjectedScriptManager::injectedScriptFor): 30484 * inspector/InjectedScript.cpp: 30485 (WebCore::InjectedScript::InjectedScript): 30486 (WebCore::InjectedScript::canAccessInspectedWindow): 30487 * inspector/InjectedScript.h: 30488 * inspector/InjectedScriptManager.cpp: 30489 (WebCore::InjectedScriptManager::createForPage): 30490 (WebCore::InjectedScriptManager::createForWorker): 30491 (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor 30492 and it depends on which type of context we're inspecting(worker or page). 30493 (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext): 30494 * inspector/InjectedScriptManager.h: 30495 * inspector/InspectorController.cpp: 30496 (WebCore::InspectorController::InspectorController): 30497 30498 2011-04-04 Ryuan Choi <ryuan.choi (a] samsung.com> 30499 30500 Reviewed by Eric Seidel. 30501 30502 V8StringCallback.cpp requires V8Binding.h 30503 https://bugs.webkit.org/show_bug.cgi?id=57699 30504 30505 No new tests required because of just adding header file. 30506 30507 * bindings/scripts/CodeGeneratorV8.pm: 30508 30509 2011-04-03 Ryuan Choi <ryuan.choi (a] samsung.com> 30510 30511 Reviewed by Eric Seidel. 30512 30513 [CMAKE] Clean duplicated files in WebCore_Sources 30514 https://bugs.webkit.org/show_bug.cgi?id=57741 30515 30516 No new tests, Only duplicated files were removed. 30517 30518 * CMakeLists.txt: 30519 30520 2011-04-03 Luke Macpherson <macpherson (a] chromium.org> 30521 30522 Reviewed by Darin Adler. 30523 30524 Fix 2-space indentation introduced in bug 54706. 30525 https://bugs.webkit.org/show_bug.cgi?id=57740 30526 30527 No new tests - whitespace changes only. 30528 30529 * css/CSSStyleSelector.cpp: 30530 (WebCore::CSSStyleSelector::applyProperty): 30531 Convert 2-space indentation to 4-space indentation. 30532 30533 2011-04-03 Luke Macpherson <macpherson (a] chromium.org> 30534 30535 Reviewed by Dimitri Glazkov. 30536 30537 Make CSSStyleApplyProperty non-copyable 30538 https://bugs.webkit.org/show_bug.cgi?id=57738 30539 30540 No new functionality added so no new tests required. 30541 30542 * css/CSSStyleApplyProperty.h: 30543 Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single. 30544 30545 2011-04-03 Dan Bernstein <mitz (a] apple.com> 30546 30547 Reviewed by Maciej Stachowiak. 30548 30549 fast/images/extra-image-in-image-document.html crashes when run after embed-image.html 30550 https://bugs.webkit.org/show_bug.cgi?id=57733 30551 30552 The crash happens because resetting the page scale as part of preparing the WebView for the 30553 next test triggered layout, which in turn caused a plug-in to make a resource request, and 30554 DumpRenderTree's delegate to be dispatched. The delegate doesnt expect to be called between 30555 tests, and it references the layout test controller, which is null. 30556 30557 * page/Frame.cpp: 30558 (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isnt changing. This 30559 is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although 30560 DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale. 30561 I think there are currently no such tests, so I am not fixing DumpRenderTree. 30562 30563 2011-04-03 Eric Seidel <eric (a] webkit.org> 30564 30565 Reviewed by Ryosuke Niwa. 30566 30567 Teach InlineIterator how to work from any root, not just a RenderBlock 30568 https://bugs.webkit.org/show_bug.cgi?id=57726 30569 30570 For implementing bidi-unicode: isolate, we need to be able to run the 30571 bidi algorithm over a subtree of inlines, not just from a block root. 30572 This is the first step in making this possible. 30573 30574 * rendering/InlineIterator.h: 30575 (WebCore::InlineIterator::InlineIterator): 30576 (WebCore::InlineIterator::root): 30577 (WebCore::bidiNext): 30578 (WebCore::bidiFirst): 30579 (WebCore::InlineIterator::increment): 30580 (WebCore::InlineBidiResolver::appendRun): 30581 * rendering/RenderBlockLineLayout.cpp: 30582 (WebCore::RenderBlock::findNextLineBreak): 30583 30584 2011-04-03 Eric Seidel <eric (a] webkit.org> 30585 30586 Reviewed by Dan Bernstein. 30587 30588 Split out handling of trailing spaces from layoutInlineChildren 30589 https://bugs.webkit.org/show_bug.cgi?id=57432 30590 30591 There is much more we could split out from this function, but this is a start. 30592 30593 I suspect this is very hot code. Hopefully the compiler will do the right thing. 30594 If it doesn't the Chromium PLT bots will tell us. 30595 30596 * rendering/RenderBlock.h: 30597 * rendering/RenderBlockLineLayout.cpp: 30598 (WebCore::RenderBlock::handleTrailingSpaces): 30599 (WebCore::RenderBlock::layoutInlineChildren): 30600 30601 2011-03-21 Ryosuke Niwa <rniwa (a] webkit.org> 30602 30603 Reviewed by Eric Seidel. 30604 30605 editing commands shouldn't run when there's no body 30606 https://bugs.webkit.org/show_bug.cgi?id=56771 30607 30608 The bug was caused by WebKit's not checking the existence of root editable element 30609 in enabled* functions. Although isContentEditable returns true whenever we're in design mode, 30610 we should not run editing commands in a document without a body element editable because 30611 doing so results in appending a non-body element to the document node. 30612 30613 Fixed the bug by modifying various enabled* functions to ensure we have a root editable element. 30614 New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore 30615 when there are no body element. Since StyleWithCSS is a document's state or property, we allow 30616 execCommand('StyleWithCSS') even in a document without a body element. 30617 30618 WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html. 30619 Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies 30620 the selection when document.write("x") is ran and successfully inserts image. 30621 30622 Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox 30623 while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail. 30624 30625 Since Internet Explorer does not allow execCommand to run under design mode properly, we could 30626 not test its behavior. 30627 30628 Tests: editing/editability/empty-document-delete.html 30629 editing/editability/empty-document-justify-right.html 30630 editing/editability/empty-document-stylewithcss.html 30631 editing/execCommand/insert-image-with-selecting-document.html 30632 30633 * editing/Editor.cpp: 30634 (WebCore::Editor::canEdit): Verify that the root editable element exists 30635 instead of just checking that selection endpoints are editable because 30636 selection endpoints could be document node without a body element in design mode 30637 and we don't want to consider such a document editable. 30638 (WebCore::Editor::canDelete): Ditto. 30639 * editing/EditorCommand.cpp: 30640 (WebCore::enabledInEditableText): Ditto. 30641 (WebCore::enabledInRichlyEditableText): Ditto. 30642 (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead 30643 of duplicating the code in order to fix the same bug. 30644 30645 2011-04-02 Dan Bernstein <mitz (a] apple.com> 30646 30647 Reviewed by Maciej Stachowiak. 30648 30649 REGRESSION (r82786): Media controls render incorrectly on GTK and Qt 30650 https://bugs.webkit.org/show_bug.cgi?id=57719 30651 30652 r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout() 30653 that the timeline container is the parent of the time display. This is not true 30654 with the GTK media style, where the current time display is an inline box, and 30655 thus wrapped in an anonymous flexible box. The code was incorrectly considering 30656 the width of the anonymous box and deciding to hide the time display. Prior to 30657 r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout. 30658 30659 * rendering/MediaControlElements.cpp: 30660 (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors. 30661 30662 2011-04-02 Nico Weber <thakis (a] chromium.org> 30663 30664 Reviewed by Adam Barth. 30665 30666 Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0 30667 30668 By default, ICU includes |using namespace icu;| in its header files 30669 for backwards compatibility. Clients can define 30670 U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU 30671 classes with |icu::| makes this file compile no matter what 30672 U_USING_ICU_NAMESPACE is set to. 30673 30674 https://bugs.webkit.org/show_bug.cgi?id=57715 30675 30676 * platform/text/LocalizedNumberICU.cpp: 30677 (WebCore::createFormatterForCurrentLocale): 30678 (WebCore::numberFormatter): 30679 (WebCore::parseLocalizedNumber): 30680 (WebCore::formatLocalizedNumber): 30681 30682 2011-04-02 Dan Bernstein <mitz (a] apple.com> 30683 30684 Reviewed by Dave Hyatt. 30685 30686 Remove an unnecessary extra computeLogicalWidth() from line layout 30687 https://bugs.webkit.org/show_bug.cgi?id=57711 30688 30689 Changes in behavior (MathML progression) covered by existing layout tests. 30690 30691 * rendering/RenderBlockLineLayout.cpp: 30692 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a 30693 call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this 30694 actually prevents MathML rows from reverting to an incorrect width. 30695 30696 2011-04-02 Dan Bernstein <mitz (a] apple.com> 30697 30698 Reviewed by Beth Dakin. 30699 30700 <details> marker loses its margin 30701 https://bugs.webkit.org/show_bug.cgi?id=57713 30702 30703 * rendering/RenderDetails.cpp: 30704 (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update 30705 the marker location. 30706 * rendering/RenderDetails.h: 30707 (WebCore::RenderDetails::renderName): Made private. 30708 (WebCore::RenderDetails::isDetails): Ditto. 30709 * rendering/RenderDetailsMarker.cpp: 30710 (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins 30711 in the style, like RenderListMarker does. 30712 (WebCore::RenderDetailsMarker::layout): Set the margins from the style. 30713 30714 2011-04-02 Andy Estes <aestes (a] apple.com> 30715 30716 Reviewed by Oliver Hunt. 30717 30718 REGRESSION (r69237): Black border around map elements while using an image map on Mac platform 30719 https://bugs.webkit.org/show_bug.cgi?id=52518 30720 30721 Test: fast/images/imagemap-focus-ring-zero-outline-width.html 30722 30723 * rendering/RenderImage.cpp: 30724 (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0. 30725 30726 2011-04-02 Beth Dakin <bdakin (a] apple.com> 30727 30728 Reviewed by Sam Weinig. 30729 30730 https://bugs.webkit.org/show_bug.cgi?id=57605 30731 Frame::pageScaleFactor() should not affect getBoundingClientRect() or 30732 getClientRects() 30733 -and corresponding- 30734 <rdar://problem/9194541> 30735 30736 New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom(). 30737 * dom/Element.cpp: 30738 (WebCore::Element::getClientRects): 30739 (WebCore::Element::getBoundingClientRect): 30740 * dom/Range.cpp: 30741 (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale): 30742 (WebCore::Range::getBorderAndTextQuads): 30743 * rendering/RenderObject.h: 30744 (WebCore::adjustFloatPointForPageScale): 30745 (WebCore::adjustFloatQuadForPageScale): 30746 (WebCore::adjustFloatRectForPageScale): 30747 30748 2011-04-02 Dan Bernstein <mitz (a] apple.com> 30749 30750 Reverted r82775 due to changes in <details> test results, which are 30751 likely progressions. 30752 30753 * rendering/RenderBlockLineLayout.cpp: 30754 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a 30755 30756 2011-04-02 Dan Bernstein <mitz (a] apple.com> 30757 30758 Reviewed by Dave Hyatt. 30759 30760 Remove an unnecessary extra computeLogicalWidth() from line layout 30761 https://bugs.webkit.org/show_bug.cgi?id=57711 30762 30763 Changes in behavior (MathML progression) covered by existing layout tests. 30764 30765 * rendering/RenderBlockLineLayout.cpp: 30766 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a 30767 call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this 30768 actually prevents MathML rows from reverting to an incorrect width. 30769 30770 2011-04-02 Ryuan Choi <ryuan.choi (a] samsung.com> 30771 30772 Reviewed by Martin Robinson. 30773 30774 [GTK] Fix leaked pointer in FontGtk.cpp 30775 https://bugs.webkit.org/show_bug.cgi?id=57307 30776 30777 Fix a memory leak. 30778 30779 No new functionality, so no new tests. 30780 30781 * platform/graphics/gtk/FontGtk.cpp: 30782 (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation. 30783 (WebCore::convertUniCharToUTF8): 30784 30785 2011-04-02 Ilya Tikhonovsky <loislo (a] chromium.org> 30786 30787 Reviewed by Pavel Feldman. 30788 30789 Web Inspector: we should be able to have in and out arguments of a command with same name. 30790 https://bugs.webkit.org/show_bug.cgi?id=57701 30791 30792 * inspector/CodeGeneratorInspector.pm: 30793 * inspector/Inspector.json: 30794 30795 2011-04-01 Ilya Tikhonovsky <loislo (a] chromium.org> 30796 30797 Not reviewed trivial change. 30798 30799 Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off. 30800 Followup change for r82281. 30801 https://bugs.webkit.org/show_bug.cgi?id=57327 30802 30803 * inspector/InspectorPageAgent.cpp: 30804 * inspector/InspectorPageAgent.h: 30805 30806 2011-04-01 Michael Saboff <msaboff (a] apple.com> 30807 30808 Reviewed by Darin Adler. 30809 30810 Cached Resource Overhead Space Usage and Accounting Inaccurate 30811 https://bugs.webkit.org/show_bug.cgi?id=57488 30812 30813 Fixed windows test failures. 30814 Changed the fixed overhead value for ResourceResponse to 3800 bytes. 30815 Modified ResourceResponse::platformLazyInit() to handle "base" level 30816 attributes or all attributes. The base attributes, like URL, status 30817 code, mime type and a few header fields (mostly cache related) are 30818 suitable for most resources. This reduces the per resource memory 30819 needs by over 1K bytes per resource thus saving memory in the cache. 30820 Collectively, these two changes bring the overhead memory calculation 30821 in line with reality. 30822 30823 No new tests added due to existing tests cover areas of change and 30824 there is no functional change. The change is limited to reducing 30825 memory usage along existing paths. 30826 30827 * loader/cache/CachedResource.cpp: 30828 (WebCore::CachedResource::canUseCacheValidator): 30829 * platform/network/ResourceResponseBase.cpp: 30830 (WebCore::ResourceResponseBase::adopt): 30831 (WebCore::ResourceResponseBase::isHTTP): 30832 (WebCore::ResourceResponseBase::url): 30833 (WebCore::ResourceResponseBase::setURL): 30834 (WebCore::ResourceResponseBase::mimeType): 30835 (WebCore::ResourceResponseBase::setMimeType): 30836 (WebCore::ResourceResponseBase::expectedContentLength): 30837 (WebCore::ResourceResponseBase::setExpectedContentLength): 30838 (WebCore::ResourceResponseBase::textEncodingName): 30839 (WebCore::ResourceResponseBase::setTextEncodingName): 30840 (WebCore::ResourceResponseBase::suggestedFilename): 30841 (WebCore::ResourceResponseBase::setSuggestedFilename): 30842 (WebCore::ResourceResponseBase::httpStatusCode): 30843 (WebCore::ResourceResponseBase::setHTTPStatusCode): 30844 (WebCore::ResourceResponseBase::httpStatusText): 30845 (WebCore::ResourceResponseBase::setHTTPStatusText): 30846 (WebCore::ResourceResponseBase::httpHeaderField): 30847 (WebCore::ResourceResponseBase::setHTTPHeaderField): 30848 (WebCore::ResourceResponseBase::httpHeaderFields): 30849 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 30850 (WebCore::ResourceResponseBase::hasCacheValidatorFields): 30851 (WebCore::ResourceResponseBase::date): 30852 (WebCore::ResourceResponseBase::age): 30853 (WebCore::ResourceResponseBase::expires): 30854 (WebCore::ResourceResponseBase::lastModified): 30855 (WebCore::ResourceResponseBase::isAttachment): 30856 (WebCore::ResourceResponseBase::setLastModifiedDate): 30857 (WebCore::ResourceResponseBase::lastModifiedDate): 30858 (WebCore::ResourceResponseBase::wasCached): 30859 (WebCore::ResourceResponseBase::connectionReused): 30860 (WebCore::ResourceResponseBase::setConnectionReused): 30861 (WebCore::ResourceResponseBase::connectionID): 30862 (WebCore::ResourceResponseBase::setConnectionID): 30863 (WebCore::ResourceResponseBase::resourceLoadTiming): 30864 (WebCore::ResourceResponseBase::setResourceLoadTiming): 30865 (WebCore::ResourceResponseBase::resourceLoadInfo): 30866 (WebCore::ResourceResponseBase::setResourceLoadInfo): 30867 (WebCore::ResourceResponseBase::lazyInit): 30868 * platform/network/ResourceResponseBase.h: 30869 (WebCore::ResourceResponseBase::platformLazyInit): 30870 * platform/network/cf/ResourceResponse.h: 30871 (WebCore::ResourceResponse::ResourceResponse): 30872 (WebCore::ResourceResponse::memoryUsage): 30873 * platform/network/cf/ResourceResponseCFNet.cpp: 30874 (WebCore::ResourceResponse::platformLazyInit): 30875 * platform/network/mac/ResourceResponseMac.mm: 30876 (WebCore::ResourceResponse::platformLazyInit): 30877 30878 2011-04-01 Anantanarayanan G Iyengar <ananta (a] chromium.org> 30879 30880 Reviewed by Adam Barth. 30881 30882 https://bugs.webkit.org/show_bug.cgi?id=45855 30883 Windowless plugins added dynamically to the DOM should receive paint events. 30884 This is done by ensuring that the plugin widget is marked for painting when 30885 it is added. 30886 30887 Test: plugins/windowless_plugin_paint_test.html 30888 30889 * rendering/RenderWidget.cpp: 30890 (WebCore::RenderWidget::setWidget): 30891 30892 2011-04-01 Mike Reed <reed (a] google.com> 30893 30894 Reviewed by James Robinson. 30895 30896 always use native font rendering on skia_gpu 30897 fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice() 30898 https://bugs.webkit.org/show_bug.cgi?id=57663 30899 30900 No new tests. existing rendering tests will exercise this 30901 30902 * platform/graphics/skia/PlatformContextSkia.cpp: 30903 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 30904 30905 2011-04-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 30906 30907 Unreviewed, rolling out r82712, r82729, and r82746. 30908 http://trac.webkit.org/changeset/82712 30909 http://trac.webkit.org/changeset/82729 30910 http://trac.webkit.org/changeset/82746 30911 https://bugs.webkit.org/show_bug.cgi?id=57682 30912 30913 fast/frames/frame-programmatic-noresize.html is failing on 30914 Windows bots. Will look into this offline. (Requested by dydx 30915 on #webkit). 30916 30917 * html/HTMLFrameElement.cpp: 30918 (WebCore::HTMLFrameElement::HTMLFrameElement): 30919 (WebCore::HTMLFrameElement::attach): 30920 (WebCore::HTMLFrameElement::parseMappedAttribute): 30921 * html/HTMLFrameElement.h: 30922 (WebCore::HTMLFrameElement::noResize): 30923 * rendering/RenderFrame.cpp: 30924 * rendering/RenderFrame.h: 30925 * rendering/RenderFrameSet.cpp: 30926 * rendering/RenderFrameSet.h: 30927 30928 2011-04-01 Adam Barth <abarth (a] webkit.org> 30929 30930 Reviewed by Tony Chang. 30931 30932 Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE 30933 https://bugs.webkit.org/show_bug.cgi?id=57656 30934 30935 We should initialize memory when constructing objects. 30936 30937 * platform/text/StringWithDirection.h: 30938 (WebCore::StringWithDirection::StringWithDirection): 30939 30940 2011-04-01 Jer Noble <jer.noble (a] apple.com> 30941 30942 Reviewed by Darin Adler. 30943 30944 WebKit2: Link from PDF opens in a new tab instead of in the same tab 30945 https://bugs.webkit.org/show_bug.cgi?id=57528 30946 30947 * WebCore.exp.in: Export MouseEvent::create(). 30948 30949 2011-04-01 John Bauman <jbauman (a] chromium.org> 30950 30951 Reviewed by Kenneth Russell. 30952 30953 Avoid decoding images twice in texImage2D 30954 https://bugs.webkit.org/show_bug.cgi?id=51498 30955 30956 Make sure to redecode the image only if it's not opaque and texImage2D 30957 wouldn't premultiply it anyway. 30958 30959 * platform/graphics/BitmapImage.h: 30960 * platform/graphics/cg/GraphicsContext3DCG.cpp: 30961 (WebCore::GraphicsContext3D::getImageData): 30962 * platform/graphics/skia/GraphicsContext3DSkia.cpp: 30963 (WebCore::GraphicsContext3D::getImageData): 30964 30965 2011-04-01 Alexey Proskuryakov <ap (a] apple.com> 30966 30967 32-bit Mac build fix. 30968 30969 * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String 30970 to avoid ambiguity. 30971 30972 2011-04-01 Alexey Proskuryakov <ap (a] apple.com> 30973 30974 Reviewed by Darin Adler. 30975 30976 Make WebKit2 text input handling more like WebKit1 30977 https://bugs.webkit.org/show_bug.cgi?id=57649 30978 30979 * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions 30980 we used to have. It is dangerous to confuse editor commands and selector names - besides the 30981 presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those. 30982 30983 2011-04-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 30984 30985 Unreviewed, rolling out r82711. 30986 http://trac.webkit.org/changeset/82711 30987 https://bugs.webkit.org/show_bug.cgi?id=57657 30988 30989 Made every test crash on XP and Win7 (Requested by 30990 abarth|gardening on #webkit). 30991 30992 * loader/cache/CachedResource.cpp: 30993 (WebCore::CachedResource::canUseCacheValidator): 30994 * platform/network/ResourceResponseBase.cpp: 30995 (WebCore::ResourceResponseBase::adopt): 30996 (WebCore::ResourceResponseBase::isHTTP): 30997 (WebCore::ResourceResponseBase::url): 30998 (WebCore::ResourceResponseBase::setURL): 30999 (WebCore::ResourceResponseBase::mimeType): 31000 (WebCore::ResourceResponseBase::setMimeType): 31001 (WebCore::ResourceResponseBase::expectedContentLength): 31002 (WebCore::ResourceResponseBase::setExpectedContentLength): 31003 (WebCore::ResourceResponseBase::textEncodingName): 31004 (WebCore::ResourceResponseBase::setTextEncodingName): 31005 (WebCore::ResourceResponseBase::suggestedFilename): 31006 (WebCore::ResourceResponseBase::setSuggestedFilename): 31007 (WebCore::ResourceResponseBase::httpStatusCode): 31008 (WebCore::ResourceResponseBase::setHTTPStatusCode): 31009 (WebCore::ResourceResponseBase::httpStatusText): 31010 (WebCore::ResourceResponseBase::setHTTPStatusText): 31011 (WebCore::ResourceResponseBase::httpHeaderField): 31012 (WebCore::ResourceResponseBase::setHTTPHeaderField): 31013 (WebCore::ResourceResponseBase::httpHeaderFields): 31014 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 31015 (WebCore::ResourceResponseBase::date): 31016 (WebCore::ResourceResponseBase::age): 31017 (WebCore::ResourceResponseBase::expires): 31018 (WebCore::ResourceResponseBase::lastModified): 31019 (WebCore::ResourceResponseBase::isAttachment): 31020 (WebCore::ResourceResponseBase::setLastModifiedDate): 31021 (WebCore::ResourceResponseBase::lastModifiedDate): 31022 (WebCore::ResourceResponseBase::wasCached): 31023 (WebCore::ResourceResponseBase::connectionReused): 31024 (WebCore::ResourceResponseBase::setConnectionReused): 31025 (WebCore::ResourceResponseBase::connectionID): 31026 (WebCore::ResourceResponseBase::setConnectionID): 31027 (WebCore::ResourceResponseBase::resourceLoadTiming): 31028 (WebCore::ResourceResponseBase::setResourceLoadTiming): 31029 (WebCore::ResourceResponseBase::resourceLoadInfo): 31030 (WebCore::ResourceResponseBase::setResourceLoadInfo): 31031 (WebCore::ResourceResponseBase::lazyInit): 31032 * platform/network/ResourceResponseBase.h: 31033 (WebCore::ResourceResponseBase::platformLazyInit): 31034 * platform/network/cf/ResourceResponse.h: 31035 (WebCore::ResourceResponse::ResourceResponse): 31036 (WebCore::ResourceResponse::memoryUsage): 31037 * platform/network/cf/ResourceResponseCFNet.cpp: 31038 (WebCore::ResourceResponse::platformLazyInit): 31039 * platform/network/mac/ResourceResponseMac.mm: 31040 (WebCore::ResourceResponse::platformLazyInit): 31041 31042 2011-04-01 Matthew Delaney <mdelaney (a] apple.com> 31043 31044 Reviewed by Simon Fraser. 31045 31046 Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer 31047 https://bugs.webkit.org/show_bug.cgi?id=57651 31048 31049 No new tests. This patch does not affect outward behavior. 31050 31051 * html/canvas/CanvasRenderingContext2D.cpp: 31052 (WebCore::CanvasRenderingContext2D::isAccelerated): 31053 * platform/graphics/ImageBuffer.h: 31054 (WebCore::ImageBuffer::isAccelerated): 31055 31056 2011-04-01 Daniel Bates <dbates (a] rim.com> 31057 31058 Reviewed by Darin Adler. 31059 31060 Frame's noResize attribute can not be set by JavaScript 31061 https://bugs.webkit.org/show_bug.cgi?id=14845 31062 31063 Tests: fast/frames/frame-inherit-noresize-from-frameset.html 31064 fast/frames/frame-programmatic-noresize.html 31065 fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html 31066 fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html 31067 31068 Implements support to programmatically allow and disallow frame resizing. 31069 31070 Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e. 31071 m_noResize = true) when either the noresize DOM attribute is specified (or existed at some 31072 point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow 31073 frame resize depending on the presence of the noresize DOM attribute/the value of the noResize 31074 attribute. 31075 31076 * html/HTMLFrameElement.cpp: 31077 (WebCore::HTMLFrameElement::HTMLFrameElement): 31078 (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this 31079 code path isn't performance critical. 31080 (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from 31081 parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo(). 31082 (WebCore::HTMLFrameElement::parseMappedAttribute): 31083 * html/HTMLFrameElement.h: 31084 * rendering/RenderFrame.cpp: 31085 (WebCore::RenderFrame::updateFromElement): Added. 31086 * rendering/RenderFrame.h: 31087 * rendering/RenderFrameSet.cpp: 31088 (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added. 31089 * rendering/RenderFrameSet.h: 31090 31091 2011-04-01 Michael Saboff <msaboff (a] apple.com> 31092 31093 Reviewed by Darin Adler. 31094 31095 Cached Resource Overhead Space Usage and Accounting Inaccurate 31096 https://bugs.webkit.org/show_bug.cgi?id=57488 31097 31098 Changed the fixed overhead value for ResourceResponse to 3800 bytes. 31099 Modified ResourceResponse::platformLazyInit() to handle "base" level 31100 attributes or all attributes. The base attributes, like URL, status 31101 code, mime type and a few header fields (mostly cache related) are 31102 suitable for most resources. This reduces the per resource memory 31103 needs by over 1K bytes per resource thus saving memory in the cache. 31104 Collectively, these two changes bring the overhead memory calculation 31105 in line with reality. 31106 31107 No new tests added due to existing tests cover areas of change and 31108 there is no functional change. The change is limited to reducing 31109 memory usage along existing paths. 31110 31111 * loader/cache/CachedResource.cpp: 31112 (WebCore::CachedResource::canUseCacheValidator): 31113 * platform/network/ResourceResponseBase.cpp: 31114 (WebCore::ResourceResponseBase::isHTTP): 31115 (WebCore::ResourceResponseBase::url): 31116 (WebCore::ResourceResponseBase::setURL): 31117 (WebCore::ResourceResponseBase::mimeType): 31118 (WebCore::ResourceResponseBase::setMimeType): 31119 (WebCore::ResourceResponseBase::expectedContentLength): 31120 (WebCore::ResourceResponseBase::setExpectedContentLength): 31121 (WebCore::ResourceResponseBase::textEncodingName): 31122 (WebCore::ResourceResponseBase::setTextEncodingName): 31123 (WebCore::ResourceResponseBase::suggestedFilename): 31124 (WebCore::ResourceResponseBase::setSuggestedFilename): 31125 (WebCore::ResourceResponseBase::httpStatusCode): 31126 (WebCore::ResourceResponseBase::setHTTPStatusCode): 31127 (WebCore::ResourceResponseBase::httpHeaderField): 31128 (WebCore::ResourceResponseBase::setHTTPHeaderField): 31129 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 31130 (WebCore::ResourceResponseBase::hasCacheValidatorFields): 31131 (WebCore::ResourceResponseBase::date): 31132 (WebCore::ResourceResponseBase::age): 31133 (WebCore::ResourceResponseBase::expires): 31134 (WebCore::ResourceResponseBase::lastModified): 31135 (WebCore::ResourceResponseBase::lazyInit): 31136 * platform/network/ResourceResponseBase.h: 31137 (WebCore::ResourceResponseBase::platformLazyInit): 31138 * platform/network/cf/ResourceResponse.h: 31139 (WebCore::ResourceResponse::ResourceResponse): 31140 (WebCore::ResourceResponse::memoryUsage): 31141 * platform/network/cf/ResourceResponseCFNet.cpp: 31142 * platform/network/mac/ResourceResponseMac.mm: 31143 (WebCore::ResourceResponse::platformLazyInit): 31144 31145 2011-04-01 Timothy Hatcher <timothy (a] apple.com> 31146 31147 Make momentum scroll event latching work in WebKit2 on Mac. 31148 31149 <rdar://problem/8751861> 31150 31151 Reviewed by Darin Adler. 31152 31153 * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase. 31154 * page/EventHandler.cpp: 31155 (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the 31156 event's momentumPhase. 31157 * page/mac/EventHandlerMac.mm: 31158 (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode. 31159 It is now done in EventHandler::handleWheelEvent. 31160 * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase. 31161 * platform/mac/WebCoreSystemInterface.mm: Ditto. 31162 * platform/mac/WheelEventMac.mm: 31163 (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase. 31164 31165 2011-04-01 Steve Block <steveblock (a] google.com> 31166 31167 Reviewed by Jeremy Orlow. 31168 31169 JavaClass should be an interface and free of JNI types 31170 https://bugs.webkit.org/show_bug.cgi?id=57533 31171 31172 This patch fixes JavaClass for V8 only. 31173 31174 It factors out a JavaClass interface which does not use JNI types. 31175 This will allow the Java bridge to be used with objects that 31176 don't use JNI directly. The existing jobject-backed 31177 implementation is moved to a new JavaClassJobject class which 31178 implements the interface. 31179 31180 No new tests, refactoring only. 31181 31182 * Android.v8bindings.mk: 31183 * WebCore.gypi: 31184 * bridge/jni/v8/JavaClassJobjectV8.cpp: 31185 (JavaClassJobject::JavaClassJobject): 31186 (JavaClassJobject::~JavaClassJobject): 31187 (JavaClassJobject::methodsNamed): 31188 (JavaClassJobject::fieldNamed): 31189 * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h. 31190 * bridge/jni/v8/JavaClassV8.h: 31191 (JSC::Bindings::JavaClass::~JavaClass): 31192 * bridge/jni/v8/JavaInstanceV8.cpp: 31193 (JavaInstance::getClass): 31194 31195 2011-04-01 Jaehun Lim <ljaehun.lim (a] samsung.com> 31196 31197 Unreviewed build fix. 31198 31199 Fix build break when font backend is Pango. 31200 Pango is missed in changeset 80589. 31201 31202 https://bugs.webkit.org/show_bug.cgi?id=57609 31203 31204 * platform/graphics/pango/FontPlatformData.h: 31205 (WebCore::FontPlatformData::setOrientation): 31206 31207 2011-04-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 31208 31209 Unreviewed, rolling out r82687. 31210 http://trac.webkit.org/changeset/82687 31211 https://bugs.webkit.org/show_bug.cgi?id=57643 31212 31213 This patch broke accessibility aria-treegrid test in Mac 31214 (Requested by msanchez on #webkit). 31215 31216 * accessibility/AccessibilityARIAGrid.cpp: 31217 * accessibility/AccessibilityARIAGrid.h: 31218 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 31219 (atkRole): 31220 * accessibility/mac/AccessibilityObjectWrapper.mm: 31221 31222 2011-03-31 Abhishek Arya <inferno (a] chromium.org> 31223 31224 Reviewed by Andreas Kling. 31225 31226 Whenever a relayout is trigger for SVGPath, make sure 31227 to clear its previous marker layout info. This helps 31228 to prevent removed markers from being used. 31229 https://bugs.webkit.org/show_bug.cgi?id=57492 31230 31231 Test: svg/dom/path-marker-removed-crash.svg 31232 31233 * rendering/svg/RenderSVGPath.cpp: 31234 (WebCore::RenderSVGPath::layout): 31235 * rendering/svg/SVGMarkerLayoutInfo.cpp: 31236 (WebCore::SVGMarkerLayoutInfo::clear): 31237 * rendering/svg/SVGMarkerLayoutInfo.h: 31238 31239 2011-04-01 Rob Buis <rwlbuis (a] gmail.com> 31240 31241 Reviewed by Nikolas Zimmermann. 31242 31243 https://bugs.webkit.org/show_bug.cgi?id=55750 31244 SVG <image> referenced by <use> is displayed incorrectly 31245 31246 Reintroduce old behaviour for valid base URI, for invalid 31247 keep using document base URI. 31248 Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg. 31249 31250 Test: svg/custom/image-base-uri.svg 31251 31252 * svg/SVGImageLoader.cpp: 31253 (WebCore::SVGImageLoader::sourceURI): 31254 31255 2011-04-01 Mario Sanchez Prada <msanchez (a] igalia.com> 31256 31257 Reviewed by Chris Fleizach. 31258 31259 ARIA Grid tables should return GridRole in roleValue() method 31260 https://bugs.webkit.org/show_bug.cgi?id=57614 31261 31262 This change does not need any test since it doesn't change anything 31263 from the point of view of the consumers (Assistive Technoglogies). 31264 It's just an internal change to simplify identifying HTML and ARIA 31265 tables by calling to the AccessibilityObject::roleValue method. 31266 31267 * accessibility/AccessibilityARIAGrid.h: 31268 * accessibility/AccessibilityARIAGrid.cpp: 31269 (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole. 31270 31271 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 31272 (atkRole): Removed unneeded comment. 31273 31274 * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to 31275 NSAccessibilityTableRole, to keep the same behaviour. 31276 31277 2011-04-01 MORITA Hajime <morrita (a] google.com> 31278 31279 Reviewed by Dimitri Glazkov. 31280 31281 <meter> can only support horizontal indicator 31282 https://bugs.webkit.org/show_bug.cgi?id=56001 31283 31284 - Removed code which deals with the direction and 31285 left the horizontal path. 31286 - Removed "horizontal" from related names which is now 31287 redundant. 31288 31289 * css/CSSSelector.cpp: 31290 (WebCore::CSSSelector::pseudoId): 31291 (WebCore::nameToPseudoTypeMap): 31292 (WebCore::CSSSelector::extractPseudoType): 31293 * css/CSSSelector.h: 31294 * css/html.css: 31295 (meter::-webkit-meter-bar): 31296 (meter::-webkit-meter-optimum-value): 31297 (meter::-webkit-meter-suboptimal-value): 31298 (meter::-webkit-meter-even-less-good-value): 31299 * rendering/RenderMeter.cpp: 31300 (WebCore::RenderMeter::~RenderMeter): 31301 (WebCore::RenderMeter::createPart): 31302 (WebCore::RenderMeter::updateFromElement): 31303 (WebCore::RenderMeter::layoutParts): 31304 (WebCore::RenderMeter::styleDidChange): 31305 (WebCore::RenderMeter::shouldHaveParts): 31306 (WebCore::RenderMeter::valuePartRect): 31307 (WebCore::RenderMeter::valuePseudoId): 31308 (WebCore::RenderMeter::barPseudoId): 31309 (WebCore::RenderMeter::detachShadows): 31310 (WebCore::RenderMeter::updateShadows): 31311 * rendering/RenderMeter.h: 31312 (WebCore::RenderMeter::shadowAttached): 31313 * rendering/RenderTheme.cpp: 31314 (WebCore::RenderTheme::supportsMeter): 31315 * rendering/RenderTheme.h: 31316 * rendering/RenderThemeMac.h: 31317 * rendering/RenderThemeMac.mm: 31318 (WebCore::RenderThemeMac::paintMeter): 31319 (WebCore::RenderThemeMac::supportsMeter): 31320 * rendering/style/RenderStyleConstants.h: 31321 31322 2011-03-23 Pavel Podivilov <podivilov (a] chromium.org> 31323 31324 Reviewed by Pavel Feldman. 31325 31326 Web Inspector: fix reveal line in formatted script. 31327 https://bugs.webkit.org/show_bug.cgi?id=56941 31328 31329 * inspector/front-end/BreakpointsSidebarPane.js: 31330 (WebInspector.JavaScriptBreakpointsSidebarPane): 31331 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked): 31332 * inspector/front-end/DebuggerPresentationModel.js: 31333 (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL): 31334 * inspector/front-end/NetworkPanel.js: 31335 (WebInspector.NetworkPanel.prototype.canShowAnchorLocation): 31336 (WebInspector.NetworkPanel.prototype.showAnchorLocation): 31337 * inspector/front-end/Panel.js: 31338 (WebInspector.Panel.prototype.canShowAnchorLocation): 31339 (WebInspector.Panel.prototype.showAnchorLocation): 31340 * inspector/front-end/ResourcesPanel.js: 31341 (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation): 31342 (WebInspector.ResourcesPanel.prototype.showAnchorLocation): 31343 (WebInspector.ResourcesPanel.prototype.showResource): 31344 * inspector/front-end/ScriptsPanel.js: 31345 (WebInspector.ScriptsPanel): 31346 (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation): 31347 (WebInspector.ScriptsPanel.prototype.showAnchorLocation): 31348 (WebInspector.ScriptsPanel.prototype._showSourceLine): 31349 * inspector/front-end/SourceFrame.js: 31350 (WebInspector.SourceFrame.prototype.highlightLine): 31351 (WebInspector.SourceFrame.prototype._createTextViewer): 31352 * inspector/front-end/inspector.js: 31353 (WebInspector.documentClick.followLink): 31354 (WebInspector.documentClick): 31355 (WebInspector._showAnchorLocation): 31356 31357 2011-04-01 Pavel Podivilov <podivilov (a] chromium.org> 31358 31359 Reviewed by Yury Semikhatsky. 31360 31361 Web Inspector: make editScriptSource a Script's method. 31362 https://bugs.webkit.org/show_bug.cgi?id=57615 31363 31364 * inspector/front-end/DebuggerModel.js: 31365 (WebInspector.DebuggerModel.prototype.editScriptSource): 31366 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 31367 * inspector/front-end/Script.js: 31368 (WebInspector.Script.prototype.requestSource): 31369 (WebInspector.Script.prototype.editSource): 31370 31371 2011-04-01 Pavel Feldman <pfeldman (a] google.com> 31372 31373 Reviewed by Yury Semikhatsky. 31374 31375 Web Inspector: event should have "data" attribute, not "body" 31376 https://bugs.webkit.org/show_bug.cgi?id=57628 31377 31378 * inspector/CodeGeneratorInspector.pm: 31379 31380 2011-04-01 Pavel Podivilov <podivilov (a] chromium.org> 31381 31382 Reviewed by Yury Semikhatsky. 31383 31384 Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane. 31385 https://bugs.webkit.org/show_bug.cgi?id=57610 31386 31387 * inspector/front-end/BreakpointsSidebarPane.js: 31388 (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): 31389 31390 2011-04-01 Alexander Pavlov <apavlov (a] chromium.org> 31391 31392 Reviewed by Yury Semikhatsky. 31393 31394 Web Inspector: up/down keys are not treating hex numbers properly while editing styles. 31395 https://bugs.webkit.org/show_bug.cgi?id=40522 31396 31397 Drive-by: fix inc/dec for numbers like ".5" 31398 31399 Test: inspector/styles/up-down-numerics-and-colors.html 31400 31401 * inspector/front-end/StylesSidebarPane.js: 31402 (WebInspector.StylePropertyTreeElement.prototype): 31403 31404 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 31405 31406 Reviewed by Pavel Feldman. 31407 31408 Web Inspector: remove dead code from Script.js. 31409 https://bugs.webkit.org/show_bug.cgi?id=57454 31410 31411 * inspector/front-end/DebuggerModel.js: 31412 (WebInspector.DebuggerModel.prototype._parsedScriptSource): 31413 (WebInspector.DebuggerModel.prototype._failedToParseScriptSource): 31414 * inspector/front-end/Script.js: 31415 (WebInspector.Script): 31416 (WebInspector.Script.prototype.requestSource.didGetScriptSource): 31417 (WebInspector.Script.prototype.requestSource): 31418 31419 2011-04-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 31420 31421 Unreviewed, rolling out r82667. 31422 http://trac.webkit.org/changeset/82667 31423 https://bugs.webkit.org/show_bug.cgi?id=57612 31424 31425 Breaks Leopard layout tests (Requested by podivilov on 31426 #webkit). 31427 31428 * GNUmakefile.am: 31429 * inspector/front-end/DebuggerPresentationModel.js: 31430 (WebInspector.DebuggerPresentationModel): 31431 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 31432 31433 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 31434 31435 Reviewed by Pavel Feldman. 31436 31437 Web Inspector: remove unused SourceFrameContent class. 31438 https://bugs.webkit.org/show_bug.cgi?id=57453 31439 31440 * WebCore.gypi: 31441 * WebCore.vcproj/WebCore.vcproj: 31442 * inspector/front-end/ResourceView.js: 31443 (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent): 31444 * inspector/front-end/ScriptsPanel.js: 31445 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): 31446 * inspector/front-end/SourceFrame.js: 31447 (WebInspector.SourceFrame.prototype._createTextViewer): 31448 * inspector/front-end/SourceFrameContent.js: Removed. 31449 * inspector/front-end/WebKit.qrc: 31450 * inspector/front-end/inspector.html: 31451 31452 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 31453 31454 Reviewed by Pavel Feldman. 31455 31456 Web Inspector: add test for script formatter worker. 31457 https://bugs.webkit.org/show_bug.cgi?id=57447 31458 31459 Test: inspector/debugger/script-formatter.html 31460 31461 * GNUmakefile.am: 31462 * inspector/front-end/DebuggerPresentationModel.js: 31463 (WebInspector.DebuggerPresentationModel): 31464 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 31465 31466 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 31467 31468 Reviewed by Pavel Feldman. 31469 31470 Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated. 31471 https://bugs.webkit.org/show_bug.cgi?id=57446 31472 31473 * inspector/front-end/ScriptFormatterWorker.js: 31474 31475 2011-04-01 Pavel Podivilov <podivilov (a] chromium.org> 31476 31477 Reviewed by Pavel Feldman. 31478 31479 Web Inspector: allow file access from inspector page so inspector can use workers. 31480 https://bugs.webkit.org/show_bug.cgi?id=57339 31481 31482 * inspector/InspectorFrontendClientLocal.cpp: 31483 (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal): 31484 31485 2011-03-31 Yury Semikhatsky <yurys (a] chromium.org> 31486 31487 Reviewed by Pavel Feldman. 31488 31489 Web Inspector: inspected page crashes on attempt to log object with broken .toString 31490 https://bugs.webkit.org/show_bug.cgi?id=57557 31491 31492 If ScriptValue.toString causes a JavaScript exception, the exception is cleared 31493 before returning from the toString method. 31494 31495 Test: inspector/console/console-log-toString-object.html 31496 31497 * bindings/js/ScriptValue.cpp: 31498 (WebCore::ScriptValue::toString): 31499 * bindings/js/ScriptValue.h: 31500 * bindings/v8/ScriptValue.cpp: 31501 (WebCore::ScriptValue::toString): 31502 31503 2011-03-31 Andrey Kosyakov <caseq (a] chromium.org> 31504 31505 Reviewed by Pavel Feldman. 31506 31507 - removed documentWide parameter to querySelector[All]() (user document node id instead) 31508 - factor out document request logic within DOMAgent into separate method 31509 - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end 31510 - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly 31511 - minor style fixes in Inspector.json 31512 - more error logging 31513 31514 Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document 31515 https://bugs.webkit.org/show_bug.cgi?id=57466 31516 31517 * inspector/Inspector.json: 31518 * inspector/InspectorDOMAgent.cpp: 31519 (WebCore::InspectorDOMAgent::querySelector): 31520 (WebCore::InspectorDOMAgent::querySelectorAll): 31521 * inspector/InspectorDOMAgent.h: 31522 * inspector/front-end/AuditRules.js: 31523 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 31524 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): 31525 * inspector/front-end/CSSStyleModel.js: 31526 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): 31527 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 31528 (WebInspector.CSSStyleModel.prototype.addRule.callback): 31529 (WebInspector.CSSStyleModel.prototype.addRule): 31530 * inspector/front-end/DOMAgent.js: 31531 (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable): 31532 (WebInspector.DOMAgent.prototype.requestDocument): 31533 (WebInspector.DOMAgent.prototype.pushNodeToFrontend): 31534 (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): 31535 (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable): 31536 (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable): 31537 (WebInspector.DOMAgent.prototype.cancelSearch): 31538 (WebInspector.DOMAgent.prototype.querySelector): 31539 (WebInspector.DOMAgent.prototype.querySelectorAll): 31540 31541 2011-04-01 Kent Tamura <tkent (a] chromium.org> 31542 31543 Apply sort-Xcode-project-file. 31544 31545 * WebCore.xcodeproj/project.pbxproj: 31546 31547 2011-03-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 31548 31549 Unreviewed, rolling out r82652. 31550 http://trac.webkit.org/changeset/82652 31551 https://bugs.webkit.org/show_bug.cgi?id=57603 31552 31553 Test still fails (Requested by abarth|gardener on #webkit). 31554 31555 * rendering/RenderWidget.cpp: 31556 (WebCore::RenderWidget::setWidget): 31557 31558 2011-03-31 Naoki Takano <takano.naoki (a] gmail.com> 31559 31560 Reviewed by Kent Tamura. 31561 31562 REGRESSION (r64712): Safari removes the first blank line in a textarea 31563 https://bugs.webkit.org/show_bug.cgi?id=56434 31564 31565 Test: fast/forms/textarea-newline.html 31566 31567 A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue(). 31568 But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice. 31569 And devalutValue() removal is not needed anymore. 31570 31571 * html/HTMLTextAreaElement.cpp: 31572 (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning. 31573 (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function. 31574 31575 2011-03-31 Luke Macpherson <macpherson (a] chromium.org> 31576 31577 Reviewed by Dimitri Glazkov. 31578 31579 Remove refcounting of CSSStyleApplyProperty singleton 31580 https://bugs.webkit.org/show_bug.cgi?id=57592 31581 31582 No new tests required as no functionality changes. 31583 31584 * css/CSSStyleApplyProperty.h: 31585 31586 2011-03-31 Anantanarayanan G Iyengar <ananta (a] chromium.org> 31587 31588 Reviewed by Adam Barth. 31589 31590 https://bugs.webkit.org/show_bug.cgi?id=45855 31591 Windowless plugins added dynamically to the DOM should receive paint events. 31592 This is done by ensuring that the plugin widget is marked for painting when 31593 it is added. 31594 31595 Test: plugins/windowless_plugin_paint_test.html 31596 31597 * rendering/RenderWidget.cpp: 31598 (WebCore::RenderWidget::setWidget): 31599 31600 2011-03-31 Adam Roben <aroben (a] apple.com> 31601 31602 Add a new AbstractCACFLayerTreeHost base class 31603 31604 This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on. 31605 CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's 31606 LayerTreeHostCA will also derive from it (on Windows). 31607 31608 This should cause no change in behavior. 31609 31610 Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related 31611 code is too high 31612 31613 Reviewed by Anders Carlsson. 31614 31615 * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files. 31616 31617 * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added. 31618 31619 * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from 31620 AbstractCACFLayerTreeHost, and annotated the overrides of its functions. 31621 AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with 31622 PlatformCALayer. 31623 31624 * platform/graphics/ca/win/LayerChangesFlusher.cpp: 31625 (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): 31626 (WebCore::LayerChangesFlusher::cancelPendingFlush): 31627 (WebCore::LayerChangesFlusher::hookFired): 31628 * platform/graphics/ca/win/LayerChangesFlusher.h: 31629 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 31630 (layerTreeHostForLayer): 31631 (PlatformCALayer::rootLayer): 31632 (PlatformCALayer::setNeedsCommit): 31633 (PlatformCALayer::addAnimationForKey): 31634 (PlatformCALayer::removeAnimationForKey): 31635 Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly. 31636 31637 2011-03-31 Andy Estes <aestes (a] apple.com> 31638 31639 Reviewed by Alexey Proskuryakov. 31640 31641 REGRESSION: Java applet fails to load when <object> has a classid attribute. 31642 https://bugs.webkit.org/show_bug.cgi?id=52703 31643 31644 Java applets embedded with the object element sometimes use classid to 31645 specify their main resource. When this is done, the classid is prefixed 31646 with "java:". Treat these as supported classids in WebKit. 31647 31648 Test: java/embedding-java-with-object.html 31649 31650 * html/HTMLObjectElement.cpp: 31651 (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a 31652 Java Applet type and the classid starts with "java:", the classid 31653 should be considered valid. 31654 31655 2011-03-31 Brent Fulgham <bfulgham (a] webkit.org> 31656 31657 Reviewed Adam Roben. 31658 31659 [WinCairo] Implement Missing drawWindowsBitmap method. 31660 https://bugs.webkit.org/show_bug.cgi?id=57409 31661 31662 * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files. 31663 * platform/graphics/GraphicsContext.h: 31664 (WebCore::GraphicsContext::WindowsBitmap::buffer): 31665 (WebCore::GraphicsContext::WindowsBitmap::bufferLength): 31666 (WebCore::GraphicsContext::WindowsBitmap::size): 31667 (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow): 31668 (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel): 31669 (WebCore::GraphicsContext::WindowsBitmap::windowsDIB): 31670 * platform/graphics/win/GraphicsContextCGWin.cpp: 31671 (WebCore::CGContextWithHDC): 31672 (WebCore::GraphicsContext::releaseWindowsContext): Modified to use 31673 new common routines. 31674 * platform/graphics/win/GraphicsContextCairoWin.cpp: 31675 (WebCore::drawBitmapToContext): New common drawing implementation. 31676 (WebCore::GraphicsContext::releaseWindowsContext): Modified to use 31677 new common routines. 31678 (WebCore::GraphicsContext::drawWindowsBitmap): 31679 * platform/graphics/win/GraphicsContextWin.cpp: 31680 (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified 31681 to use new DIBPixelData data type. 31682 * platform/graphics/win/DIBPixelData.cpp: Added. 31683 (WebCore::DIBPixelData::DIBPixelData): 31684 (WebCore::DIBPixelData::initialize): 31685 * platform/graphics/win/DIBPixelData.h: Added. 31686 (WebCore::DIBPixelData::DIBPixelData): 31687 (WebCore::DIBPixelData::buffer): 31688 (WebCore::DIBPixelData::bufferLength): 31689 (WebCore::DIBPixelData::size): 31690 (WebCore::DIBPixelData::bytesPerRow): 31691 (WebCore::DIBPixelData::bitsPerPixel): 31692 31693 2011-03-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 31694 31695 Unreviewed, rolling out r81849. 31696 http://trac.webkit.org/changeset/81849 31697 https://bugs.webkit.org/show_bug.cgi?id=57588 31698 31699 CSS Parsing broke with -webkit-calc and introduced crashes 31700 (Requested by inferno-sec on #webkit). 31701 31702 * css/CSSGrammar.y: 31703 * css/CSSParserValues.cpp: 31704 * css/CSSParserValues.h: 31705 * css/tokenizer.flex: 31706 31707 2011-03-31 Adam Roben <aroben (a] apple.com> 31708 31709 Don't ref CACFLayerTreeHosts when telling them to flush layer changes 31710 31711 LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would 31712 have protected us if calling out to one CACFLayerTreeHost could cause a different 31713 CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is 31714 associated with its own page, and flushing layer changes doesn't touch any other page. So it 31715 isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer 31716 changes. 31717 31718 One benefit of this change is that it will make it easier to make LayerChangesFlusher 31719 interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself. 31720 31721 This should cause no change in behavior. 31722 31723 Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost 31724 before calling out to it 31725 31726 Reviewed by Darin Adler. 31727 31728 * platform/graphics/ca/win/LayerChangesFlusher.cpp: 31729 (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the 31730 CACFLayerTreeHosts. 31731 31732 2011-03-31 Antti Koivisto <antti (a] apple.com> 31733 31734 Reviewed by Oliver Hunt. 31735 31736 https://bugs.webkit.org/show_bug.cgi?id=57574 31737 Preload scanner fails to pick up resources from document.write() output 31738 31739 - Scan script inserted source using a separate preload scanner. 31740 - Make the main preload scanner correctly process the remaining source if script execution blocked the parser. 31741 31742 Tests: fast/preloader/document-write-2.html 31743 fast/preloader/document-write.html 31744 31745 * html/parser/HTMLDocumentParser.cpp: 31746 (WebCore::HTMLDocumentParser::insert): 31747 (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan): 31748 * html/parser/HTMLDocumentParser.h: 31749 (WebCore::HTMLDocumentParser::hasPreloadScanner): 31750 * html/parser/HTMLScriptRunner.cpp: 31751 (WebCore::HTMLScriptRunner::execute): 31752 * html/parser/HTMLScriptRunnerHost.h: 31753 31754 2011-03-31 Tony Gentilcore <tonyg (a] chromium.org> 31755 31756 Build fix: Add missing include 31757 https://bugs.webkit.org/show_bug.cgi?id=57587 31758 31759 * loader/cache/CachedResourceLoader.cpp: 31760 31761 2011-03-31 Tony Gentilcore <tonyg (a] chromium.org> 31762 31763 Reviewed by Antti Koivisto. 31764 31765 PreloadScanner doesn't find image while executing script in head 31766 https://bugs.webkit.org/show_bug.cgi?id=45072 31767 31768 Previously, while parsing the head, no resources in the body would be 31769 preloaded. After this patch, we will preload scripts and styles in the 31770 body, although we continue to hold off on all images until the page is 31771 first rendered. 31772 31773 To evaluate this change, I've recorded a sampling of 45 of alexa's top 31774 sites and replayed them under simulated bandwidth conditions, loading 31775 each 5-15 times until stddev is small enough. 31776 31777 Time to the load event improved at the overall average by 3%. 31778 Most sites are unchanged, but sites with certain blocking patterns had 31779 big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms) 31780 nytimes 7% (182ms). 31781 31782 Time to DOM content loaded event improved by 6% with some even bigger 31783 individual wins. 31784 31785 First paint time held steady. 31786 31787 Note that I originally wanted to allow preloading of images while in the 31788 head, but that regressed first paint time (even though it was better for 31789 overall load time). 31790 31791 Test: fast/preloader/scan-body-from-head.html 31792 31793 * loader/cache/CachedResourceLoader.cpp: 31794 (WebCore::CachedResourceLoader::preload): 31795 31796 2011-03-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 31797 31798 Unreviewed, rolling out r82616. 31799 http://trac.webkit.org/changeset/82616 31800 https://bugs.webkit.org/show_bug.cgi?id=57585 31801 31802 New test does not pass on Gtk, chromium-mac, chromium-linux 31803 and possibly elsewhere (Requested by abarth|gardener on 31804 #webkit). 31805 31806 * rendering/RenderWidget.cpp: 31807 (WebCore::RenderWidget::setWidget): 31808 31809 2011-03-31 Adrienne Walker <enne (a] google.com> 31810 31811 Reviewed by James Robinson. 31812 31813 [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl 31814 https://bugs.webkit.org/show_bug.cgi?id=57577 31815 31816 LayerRendererChromium now uses a RefPtr to preserve ownership of all 31817 of the CCLayerImpl layers that it is using during the update/draw 31818 pass. Addtionally, when a LayerChromium is destroyed, the weak 31819 owner pointer from its CCLayerImpl is correctly unset. 31820 31821 * platform/graphics/chromium/LayerRendererChromium.cpp: 31822 (WebCore::LayerRendererChromium::compareLayerZ): 31823 (WebCore::LayerRendererChromium::updateAndDrawLayers): 31824 (WebCore::LayerRendererChromium::updateLayers): 31825 (WebCore::LayerRendererChromium::drawLayers): 31826 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 31827 (WebCore::LayerRendererChromium::drawLayer): 31828 * platform/graphics/chromium/LayerRendererChromium.h: 31829 * platform/graphics/chromium/RenderSurfaceChromium.h: 31830 * platform/graphics/chromium/VideoLayerChromium.cpp: 31831 (WebCore::VideoLayerChromium::updateCompositorResources): 31832 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 31833 (WebCore::CCLayerImpl::drawsContent): 31834 (WebCore::CCLayerImpl::cleanupResources): 31835 31836 2011-03-31 Sam Weinig <sam (a] webkit.org> 31837 31838 Reviewed by Anders Carlsson. 31839 31840 Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API 31841 https://bugs.webkit.org/show_bug.cgi?id=57582 31842 31843 * platform/DefaultLocalizationStrategy.cpp: 31844 * platform/LocalizedStrings.h: 31845 31846 2011-03-31 Eric Seidel <eric (a] webkit.org> 31847 31848 Reviewed by Ryosuke Niwa. 31849 31850 Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style 31851 https://bugs.webkit.org/show_bug.cgi?id=57550 31852 31853 * platform/text/BidiResolver.h: 31854 (WebCore::::createBidiRunsForLine): 31855 31856 2011-03-31 Anantanarayanan G Iyengar <ananta (a] chromium.org> 31857 31858 Reviewed by James Robinson. 31859 31860 https://bugs.webkit.org/show_bug.cgi?id=45855 31861 Windowless plugins added dynamically to the DOM should receive paint events. 31862 This is done by ensuring that the plugin widget is marked for painting when 31863 it is added. 31864 31865 Test: plugins/windowless_plugin_paint_test.html 31866 31867 * rendering/RenderWidget.cpp: 31868 (WebCore::RenderWidget::setWidget): 31869 31870 2011-03-31 Stephen White <senorblanco (a] chromium.org> 31871 31872 Reviewed by Kenneth Russell. 31873 31874 Speed up accelerated path drawing. 31875 https://bugs.webkit.org/show_bug.cgi?id=57371 31876 This CL does three things: re-uses the same vertex and index buffer 31877 for all path draws, converts all vertex layouts from vec3 to vec2, and 31878 does a convexity check for polygons before passing them to the 31879 tesselator. 31880 31881 Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others. 31882 31883 * platform/graphics/chromium/GLES2Canvas.cpp: 31884 Replace the Vector<double> for interpolated curves with a 31885 Vector<FloatPoint>. 31886 (WebCore::Cubic::evaluate): 31887 Inline the evaluation function (as Quadratic does). 31888 (WebCore::GLES2Canvas::GLES2Canvas): 31889 Initialize the m_pathIndexBuffer. 31890 (WebCore::GLES2Canvas::~GLES2Canvas): 31891 Delete the path vertex and index buffers on destruction. 31892 (WebCore::interpolateQuadratic): 31893 (WebCore::interpolateCubic): 31894 Interpolate directly to a Vector<FloatPoint>, rather than 31895 Vector<double>. 31896 (WebCore::PolygonData::PolygonData): 31897 (WebCore::combineData): 31898 Replace the DoubleVector with a FloatPointVector. 31899 (WebCore::GLES2Canvas::tesselateAndFillPath): 31900 Move curve drawing into this function, and rename it to reflect the 31901 new behaviour. Re-use the common vertex and index buffers. If the 31902 curve consists of a single convex polygon, draw the curve as a single 31903 triangle fan. Otherwise, convert it to doubles and pass it to the 31904 tesselator. 31905 (WebCore::GLES2Canvas::fillPathInternal): 31906 * platform/graphics/chromium/GLES2Canvas.h: 31907 Rename createVertexBufferFromPath() -> tesselateAndFillPath(). 31908 Add a persistent index buffer for all path draws. 31909 * platform/graphics/gpu/BicubicShader.cpp: 31910 (WebCore::BicubicShader::create): 31911 (WebCore::BicubicShader::use): 31912 * platform/graphics/gpu/ConvolutionShader.cpp: 31913 (WebCore::ConvolutionShader::create): 31914 (WebCore::ConvolutionShader::use): 31915 Use vec2s instead of vec3s for all vertex data. 31916 * platform/graphics/gpu/LoopBlinnMathUtils.cpp: 31917 (WebCore::LoopBlinnMathUtils::convexCompare): 31918 (WebCore::LoopBlinnMathUtils::convexCross): 31919 (WebCore::LoopBlinnMathUtils::convexCheckTriple): 31920 (WebCore::LoopBlinnMathUtils::isConvex): 31921 * platform/graphics/gpu/LoopBlinnMathUtils.h: 31922 Implement a convexity check, based on the code in Graphics Gems IV. 31923 * platform/graphics/gpu/Shader.cpp: 31924 (WebCore::Shader::generateVertex): 31925 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 31926 (WebCore::SharedGraphicsContext3D::useQuadVertices): 31927 * platform/graphics/gpu/SolidFillShader.cpp: 31928 (WebCore::SolidFillShader::use): 31929 * platform/graphics/gpu/TexShader.cpp: 31930 (WebCore::TexShader::use): 31931 Use vec2s instead of vec3s for all vertex data. 31932 31933 2011-03-31 David Hyatt <hyatt (a] apple.com> 31934 31935 Reviewed by Simon Fraser. 31936 31937 https://bugs.webkit.org/show_bug.cgi?id=57565 31938 31939 Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having 31940 to check the line for overflow in the first place. 31941 31942 For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend 31943 all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows 31944 replaced objects to be inside spans without triggering overflow allocation. 31945 31946 The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block 31947 dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the 31948 lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling 31949 back up to the root box to fetch them. 31950 31951 Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can 31952 possibly be present. When the bit is set, computeOverflow will just immediately return. 31953 31954 This change speeds up line layout by ~10%. 31955 31956 * rendering/EllipsisBox.cpp: 31957 (WebCore::EllipsisBox::paint): 31958 (WebCore::EllipsisBox::nodeAtPoint): 31959 * rendering/EllipsisBox.h: 31960 * rendering/InlineBox.cpp: 31961 (WebCore::InlineBox::paint): 31962 (WebCore::InlineBox::nodeAtPoint): 31963 (WebCore::InlineBox::clearKnownToHaveNoOverflow): 31964 * rendering/InlineBox.h: 31965 (WebCore::InlineBox::InlineBox): 31966 (WebCore::InlineBox::logicalFrameRect): 31967 (WebCore::InlineBox::knownToHaveNoOverflow): 31968 * rendering/InlineFlowBox.cpp: 31969 (WebCore::InlineFlowBox::addToLine): 31970 (WebCore::InlineFlowBox::placeBoxesInInlineDirection): 31971 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 31972 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): 31973 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 31974 (WebCore::InlineFlowBox::addReplacedChildOverflow): 31975 (WebCore::InlineFlowBox::computeOverflow): 31976 (WebCore::InlineFlowBox::setLayoutOverflow): 31977 (WebCore::InlineFlowBox::setVisualOverflow): 31978 (WebCore::InlineFlowBox::setOverflowFromLogicalRects): 31979 (WebCore::InlineFlowBox::nodeAtPoint): 31980 (WebCore::InlineFlowBox::paint): 31981 * rendering/InlineFlowBox.h: 31982 (WebCore::InlineFlowBox::layoutOverflowRect): 31983 (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): 31984 (WebCore::InlineFlowBox::logicalRightLayoutOverflow): 31985 (WebCore::InlineFlowBox::logicalTopLayoutOverflow): 31986 (WebCore::InlineFlowBox::logicalBottomLayoutOverflow): 31987 (WebCore::InlineFlowBox::logicalLayoutOverflowRect): 31988 (WebCore::InlineFlowBox::visualOverflowRect): 31989 (WebCore::InlineFlowBox::logicalLeftVisualOverflow): 31990 (WebCore::InlineFlowBox::logicalRightVisualOverflow): 31991 (WebCore::InlineFlowBox::logicalTopVisualOverflow): 31992 (WebCore::InlineFlowBox::logicalBottomVisualOverflow): 31993 (WebCore::InlineFlowBox::logicalVisualOverflowRect): 31994 (WebCore::InlineFlowBox::frameRectIncludingLineHeight): 31995 (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight): 31996 * rendering/InlineTextBox.cpp: 31997 (WebCore::InlineTextBox::nodeAtPoint): 31998 (WebCore::InlineTextBox::paint): 31999 * rendering/InlineTextBox.h: 32000 * rendering/RenderBlock.cpp: 32001 (WebCore::RenderBlock::simplifiedNormalFlowLayout): 32002 (WebCore::RenderBlock::paintEllipsisBoxes): 32003 (WebCore::RenderBlock::adjustLinePositionForPagination): 32004 * rendering/RenderBlock.h: 32005 * rendering/RenderBlockLineLayout.cpp: 32006 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 32007 (WebCore::RenderBlock::layoutInlineChildren): 32008 (WebCore::RenderBlock::determineStartPosition): 32009 (WebCore::RenderBlock::matchedEndLine): 32010 (WebCore::RenderBlock::addOverflowFromInlineChildren): 32011 * rendering/RenderBox.h: 32012 (WebCore::RenderBox::hasRenderOverflow): 32013 * rendering/RenderBoxModelObject.cpp: 32014 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 32015 * rendering/RenderInline.cpp: 32016 (WebCore::RenderInline::linesVisualOverflowBoundingBox): 32017 * rendering/RenderLineBoxList.cpp: 32018 (WebCore::RenderLineBoxList::anyLineIntersectsRect): 32019 (WebCore::RenderLineBoxList::lineIntersectsDirtyRect): 32020 (WebCore::RenderLineBoxList::paint): 32021 (WebCore::RenderLineBoxList::hitTest): 32022 * rendering/RenderListItem.cpp: 32023 (WebCore::RenderListItem::positionListMarker): 32024 * rendering/RootInlineBox.cpp: 32025 (WebCore::RootInlineBox::paintEllipsisBox): 32026 (WebCore::RootInlineBox::addHighlightOverflow): 32027 (WebCore::RootInlineBox::paint): 32028 (WebCore::RootInlineBox::nodeAtPoint): 32029 (WebCore::RootInlineBox::paddedLayoutOverflowRect): 32030 * rendering/RootInlineBox.h: 32031 (WebCore::RootInlineBox::logicalTopVisualOverflow): 32032 (WebCore::RootInlineBox::logicalBottomVisualOverflow): 32033 (WebCore::RootInlineBox::logicalTopLayoutOverflow): 32034 (WebCore::RootInlineBox::logicalBottomLayoutOverflow): 32035 * rendering/svg/SVGInlineFlowBox.cpp: 32036 (WebCore::SVGInlineFlowBox::paint): 32037 * rendering/svg/SVGInlineFlowBox.h: 32038 * rendering/svg/SVGInlineTextBox.cpp: 32039 (WebCore::SVGInlineTextBox::paint): 32040 * rendering/svg/SVGInlineTextBox.h: 32041 * rendering/svg/SVGRootInlineBox.cpp: 32042 (WebCore::SVGRootInlineBox::paint): 32043 * rendering/svg/SVGRootInlineBox.h: 32044 32045 2011-03-31 Pavel Feldman <pfeldman (a] chromium.org> 32046 32047 Reviewed by Yury Semikhatsky. 32048 32049 Web Inspector: disable properties abbreviation. 32050 https://bugs.webkit.org/show_bug.cgi?id=57525 32051 32052 * inspector/InjectedScript.cpp: 32053 (WebCore::InjectedScript::getProperties): 32054 * inspector/InjectedScript.h: 32055 * inspector/InjectedScriptSource.js: 32056 (.): 32057 (): 32058 * inspector/Inspector.json: 32059 * inspector/InspectorRuntimeAgent.cpp: 32060 (WebCore::InspectorRuntimeAgent::getProperties): 32061 * inspector/InspectorRuntimeAgent.h: 32062 * inspector/front-end/ConsoleView.js: 32063 (WebInspector.ConsoleView.prototype.completions.evaluated): 32064 (WebInspector.ConsoleView.prototype._formatarray): 32065 * inspector/front-end/ObjectPropertiesSection.js: 32066 (WebInspector.ObjectPropertiesSection.prototype.update.callback): 32067 (WebInspector.ObjectPropertiesSection.prototype.update): 32068 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): 32069 (WebInspector.ObjectPropertyTreeElement.prototype.update): 32070 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): 32071 * inspector/front-end/PropertiesSidebarPane.js: 32072 (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady): 32073 * inspector/front-end/RemoteObject.js: 32074 (WebInspector.RemoteObject.prototype.getOwnProperties): 32075 (WebInspector.RemoteObject.prototype.getAllProperties): 32076 (WebInspector.RemoteObject.prototype._getProperties): 32077 (WebInspector.LocalJSONObject.prototype.getOwnProperties): 32078 (WebInspector.LocalJSONObject.prototype.getAllProperties): 32079 * inspector/front-end/inspector.css: 32080 (.console-formatted-string, .console-formatted-regexp): 32081 32082 2011-03-31 Adam Roben <aroben (a] apple.com> 32083 32084 Update WKCACFViewLayerTreeHost for changes to WKCACFView API 32085 32086 This should not result in any change in behavior. 32087 32088 Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to 32089 render 32090 32091 Reviewed by Darin Adler. 32092 32093 * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations. 32094 (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should 32095 render into the window we give it. 32096 32097 2011-03-31 Marius Storm-Olsen <marius.storm-olsen (a] nokia.com> 32098 32099 Reviewed by Kenneth Rohde Christiansen. 32100 32101 [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call 32102 https://bugs.webkit.org/show_bug.cgi?id=57017 32103 32104 Build fix. No new tests. 32105 32106 * WebCore.pri: 32107 32108 2011-03-31 Vsevolod Vlasov <vsevik (a] chromium.org> 32109 32110 Reviewed by Pavel Feldman. 32111 32112 XML viewer is not shown when frame has non-null opener 32113 https://bugs.webkit.org/show_bug.cgi?id=56384 32114 32115 Removed opener check in XML viewer 32116 32117 Test: http/tests/xmlviewer/extensions-api.html 32118 32119 * xml/XMLTreeViewer.cpp: 32120 (WebCore::XMLTreeViewer::hasNoStyleInformation): 32121 * xml/XMLViewer.js: 32122 32123 2011-03-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 32124 32125 Unreviewed, rolling out r82589. 32126 http://trac.webkit.org/changeset/82589 32127 https://bugs.webkit.org/show_bug.cgi?id=57564 32128 32129 This patch requires many more updated results than it contains 32130 (Requested by abarth|gardener on #webkit). 32131 32132 * css/CSSSelector.cpp: 32133 (WebCore::CSSSelector::pseudoId): 32134 (WebCore::nameToPseudoTypeMap): 32135 (WebCore::CSSSelector::extractPseudoType): 32136 * css/CSSSelector.h: 32137 * css/html.css: 32138 (meter::-webkit-meter-horizontal-bar): 32139 (meter::-webkit-meter-vertical-bar): 32140 (meter::-webkit-meter-horizontal-optimum-value): 32141 (meter::-webkit-meter-horizontal-suboptimal-value): 32142 (meter::-webkit-meter-horizontal-even-less-good-value): 32143 (meter::-webkit-meter-vertical-optimum-value): 32144 (meter::-webkit-meter-vertical-suboptimal-value): 32145 (meter::-webkit-meter-vertical-even-less-good-value): 32146 * rendering/RenderMeter.cpp: 32147 (WebCore::MeterPartElement::MeterPartElement): 32148 (WebCore::MeterPartElement::createForPart): 32149 (WebCore::MeterPartElement::hide): 32150 (WebCore::MeterPartElement::restoreVisibility): 32151 (WebCore::MeterPartElement::updateStyleForPart): 32152 (WebCore::MeterPartElement::saveVisibility): 32153 (WebCore::RenderMeter::~RenderMeter): 32154 (WebCore::RenderMeter::createPart): 32155 (WebCore::RenderMeter::updateFromElement): 32156 (WebCore::RenderMeter::layoutParts): 32157 (WebCore::RenderMeter::shouldHaveParts): 32158 (WebCore::RenderMeter::valuePartRect): 32159 (WebCore::RenderMeter::orientation): 32160 (WebCore::RenderMeter::valuePseudoId): 32161 (WebCore::RenderMeter::barPseudoId): 32162 * rendering/RenderMeter.h: 32163 (WebCore::RenderMeter::shadowAttached): 32164 * rendering/RenderTheme.cpp: 32165 (WebCore::RenderTheme::supportsMeter): 32166 * rendering/RenderTheme.h: 32167 * rendering/RenderThemeMac.h: 32168 * rendering/RenderThemeMac.mm: 32169 (WebCore::RenderThemeMac::paintMeter): 32170 (WebCore::RenderThemeMac::supportsMeter): 32171 * rendering/style/RenderStyleConstants.h: 32172 32173 2011-03-31 Xan Lopez <xlopez (a] igalia.com> 32174 32175 Reviewed by Martin Robinson. 32176 32177 [GTK] Link explicitly with XRender on Linux/Unix 32178 https://bugs.webkit.org/show_bug.cgi?id=57558 32179 32180 * GNUmakefile.am: add XRender CFLAGS. 32181 32182 2011-03-31 Eric Seidel <eric (a] webkit.org> 32183 32184 Reviewed by Ryosuke Niwa. 32185 32186 Rename BidiResolver::emptyRun to m_emtpyRun to match modern style 32187 https://bugs.webkit.org/show_bug.cgi?id=57549 32188 32189 * platform/text/BidiResolver.h: 32190 (WebCore::BidiResolver::BidiResolver): 32191 (WebCore::::appendRun): 32192 (WebCore::::lowerExplicitEmbeddingLevel): 32193 (WebCore::::raiseExplicitEmbeddingLevel): 32194 (WebCore::::deleteRuns): 32195 (WebCore::::createBidiRunsForLine): 32196 * rendering/InlineIterator.h: 32197 (WebCore::InlineBidiResolver::appendRun): 32198 32199 2011-03-31 Tom Sepez <tsepez (a] chromium.org> 32200 32201 Reviewed by Eric Seidel. 32202 32203 Make ContainerNode::insertIntoDocument() collect all nodes before 32204 operating on any of them. Add small helper function and use it 32205 througout the file where this action is already taking place. 32206 https://bugs.webkit.org/show_bug.cgi?id=57265 32207 32208 Test: svg/dom/range-delete.html 32209 32210 * dom/ContainerNode.cpp: 32211 (WebCore::collectNodes): 32212 (WebCore::collectTargetNodes): 32213 (WebCore::ContainerNode::takeAllChildrenFrom): 32214 (WebCore::willRemoveChildren): 32215 (WebCore::ContainerNode::insertedIntoDocument): 32216 32217 2011-03-31 Satish Sampath <satish (a] chromium.org> 32218 32219 Reviewed by Steve Block. 32220 32221 While drawing a speech input button, validate that the node is really a speech input button. 32222 https://bugs.webkit.org/show_bug.cgi?id=57469 32223 32224 Test: fast/speech/speech-style-on-non-speech-elements.html 32225 32226 * dom/Element.h: 32227 (WebCore::Element::isInputFieldSpeechButtonElement): 32228 * html/shadow/TextControlInnerElements.h: 32229 (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement): 32230 (WebCore::toInputFieldSpeechButtonElement): 32231 * rendering/RenderInputSpeech.cpp: 32232 (WebCore::RenderInputSpeech::paintInputFieldSpeechButton): 32233 32234 2011-03-31 Ryosuke Niwa <rniwa (a] webkit.org> 32235 32236 Build fix after r82588. Reverted unintentional change. 32237 32238 * editing/SelectionController.cpp: 32239 (WebCore::SelectionController::modifyMovingLeft): 32240 32241 2011-03-31 Mario Sanchez Prada <msanchez (a] igalia.com> 32242 32243 Reviewed by Xan Lopez. 32244 32245 [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk 32246 https://bugs.webkit.org/show_bug.cgi?id=57534 32247 32248 Fix compilation warnings. 32249 32250 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 32251 (getAttributeSetForAccessibilityObject): Add unhandled cases. 32252 32253 2011-03-30 Pavel Podivilov <podivilov (a] chromium.org> 32254 32255 Reviewed by Pavel Feldman. 32256 32257 Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method. 32258 https://bugs.webkit.org/show_bug.cgi?id=57444 32259 32260 * bindings/js/ScriptDebugServer.cpp: 32261 (WebCore::ScriptDebugServer::editScriptSource): 32262 * bindings/js/ScriptDebugServer.h: 32263 * bindings/v8/ScriptDebugServer.cpp: 32264 (WebCore::ScriptDebugServer::editScriptSource): 32265 * bindings/v8/ScriptDebugServer.h: 32266 * inspector/Inspector.json: 32267 * inspector/InspectorDebuggerAgent.cpp: 32268 (WebCore::InspectorDebuggerAgent::editScriptSource): 32269 * inspector/InspectorDebuggerAgent.h: 32270 * inspector/front-end/DebuggerModel.js: 32271 (WebInspector.DebuggerModel.prototype.editScriptSource): 32272 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 32273 * inspector/front-end/DebuggerPresentationModel.js: 32274 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): 32275 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): 32276 * inspector/front-end/SourceFrame.js: 32277 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): 32278 (WebInspector.SourceFrame.prototype._handleSave): 32279 32280 2011-03-30 MORITA Hajime <morrita (a] google.com> 32281 32282 Reviewed by Dimitri Glazkov. 32283 32284 <meter> can only support horizontal indicator 32285 https://bugs.webkit.org/show_bug.cgi?id=56001 32286 32287 - Removed code which deals with the direction and 32288 left the horizontal path. 32289 - Removed "horizontal" from related names which is now 32290 redundant. 32291 32292 * css/CSSSelector.cpp: 32293 (WebCore::CSSSelector::pseudoId): 32294 (WebCore::nameToPseudoTypeMap): 32295 (WebCore::CSSSelector::extractPseudoType): 32296 * css/CSSSelector.h: 32297 * css/html.css: 32298 (meter::-webkit-meter-bar): 32299 (meter::-webkit-meter-optimum-value): 32300 (meter::-webkit-meter-suboptimal-value): 32301 (meter::-webkit-meter-even-less-good-value): 32302 * rendering/RenderMeter.cpp: 32303 (WebCore::RenderMeter::~RenderMeter): 32304 (WebCore::RenderMeter::createPart): 32305 (WebCore::RenderMeter::updateFromElement): 32306 (WebCore::RenderMeter::layoutParts): 32307 (WebCore::RenderMeter::styleDidChange): 32308 (WebCore::RenderMeter::shouldHaveParts): 32309 (WebCore::RenderMeter::valuePartRect): 32310 (WebCore::RenderMeter::valuePseudoId): 32311 (WebCore::RenderMeter::barPseudoId): 32312 (WebCore::RenderMeter::detachShadows): 32313 (WebCore::RenderMeter::updateShadows): 32314 * rendering/RenderMeter.h: 32315 (WebCore::RenderMeter::shadowAttached): 32316 * rendering/RenderTheme.cpp: 32317 (WebCore::RenderTheme::supportsMeter): 32318 * rendering/RenderTheme.h: 32319 * rendering/RenderThemeMac.h: 32320 * rendering/RenderThemeMac.mm: 32321 (WebCore::RenderThemeMac::paintMeter): 32322 (WebCore::RenderThemeMac::supportsMeter): 32323 * rendering/style/RenderStyleConstants.h: 32324 32325 2011-03-30 Xiaomei Ji <xji (a] chromium.org> 32326 32327 Reviewed by Ryosuke Niwa. 32328 32329 Experiment with moving caret by word in visual order. 32330 https://bugs.webkit.org/show_bug.cgi?id=57336 32331 32332 Follow Firefox's convention in Windows, 32333 In LTR block, word break visually moves cursor to the left boundary of words, 32334 In RTL block, word break visually moves cursor to the right boundary of words. 32335 32336 This is the 1st version of implementing "move caret by word in visual order". 32337 It only works in the following situation: 32338 1. For a LTR box in a LTR block or a RTL box in RTL block, 32339 when caret is at the left boundary of the box and we are looking for 32340 the word boundary in right. 32341 2. For a LTR or RTL box in a LTR block, when caret is at the left boundary 32342 of the box and we are looking for the word boundary in left and 32343 previous box is a LTR box. 32344 3. For a LTR or RTL box in a RTL block, when the caret is at the right 32345 boundary of the box and we are looking for the word boundary in right and next box is RTL box. 32346 32347 An experimental granularity is introduced, as a side effect, functions having switch statements 32348 to handle those granularities have to add more one case to handle this new granularity. 32349 The experimental granularity is exposed though JS by '-webkit-visual-word". 32350 32351 The overall algorithm is looping through inline boxes visually and looking 32352 for the visually nearest word break position. 32353 32354 Test: editing/selection/move-by-word-visually.html 32355 32356 * editing/SelectionController.cpp: 32357 (WebCore::SelectionController::modifyExtendingRight): 32358 (WebCore::SelectionController::modifyExtendingForward): 32359 (WebCore::SelectionController::modifyMovingRight): 32360 (WebCore::SelectionController::modifyMovingForward): 32361 (WebCore::SelectionController::modifyExtendingLeft): 32362 (WebCore::SelectionController::modifyExtendingBackward): 32363 (WebCore::SelectionController::modifyMovingLeft): 32364 (WebCore::SelectionController::modifyMovingBackward): 32365 * editing/TextGranularity.h: 32366 * editing/VisibleSelection.cpp: 32367 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): 32368 * editing/visible_units.cpp: 32369 (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality): 32370 (WebCore::wordBoundaryInBox): 32371 (WebCore::wordBoundaryInAdjacentBoxes): 32372 (WebCore::leftWordBoundary): 32373 (WebCore::rightWordBoundary): 32374 (WebCore::leftWordPosition): 32375 (WebCore::rightWordPosition): 32376 * editing/visible_units.h: 32377 * page/DOMSelection.cpp: 32378 (WebCore::DOMSelection::modify): 32379 32380 2011-03-31 Dimitri Glazkov <dglazkov (a] chromium.org> 32381 32382 Reviewed by Darin Adler. 32383 32384 Move coordinate-computing logic into MouseRelatedEvent. 32385 https://bugs.webkit.org/show_bug.cgi?id=57521 32386 32387 Refactoring, covered by existing tests. 32388 32389 * dom/EventDispatcher.cpp: 32390 (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of 32391 coordinates out. 32392 (WebCore::EventDispatcher::dispatchMouseEvent): Ditto. 32393 * dom/MouseEvent.cpp: 32394 (WebCore::MouseEvent::create): Add coordinate-computing logic. 32395 * dom/MouseEvent.h: Adjust decl to reflect new meaning of params. 32396 * dom/MouseRelatedEvent.cpp: 32397 (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto. 32398 * page/EventHandler.cpp: 32399 (WebCore::EventHandler::dispatchDragEvent): Ditto. 32400 32401 2011-03-30 Alexander Pavlov <apavlov (a] chromium.org> 32402 32403 Reviewed by Pavel Feldman. 32404 32405 Web Inspector: document CSS agent. 32406 https://bugs.webkit.org/show_bug.cgi?id=57435 32407 32408 * inspector/Inspector.json: 32409 32410 2011-03-31 Andrey Kosyakov <caseq (a] chromium.org> 32411 32412 Reviewed by Yury Semikhatsky. 32413 32414 Web Inspector: remove periods at the end of error messages 32415 https://bugs.webkit.org/show_bug.cgi?id=57544 32416 32417 * inspector/InjectedScript.cpp: 32418 (WebCore::InjectedScript::getProperties): 32419 (WebCore::InjectedScript::makeObjectCall): 32420 * inspector/InspectorCSSAgent.cpp: 32421 (WebCore::InspectorCSSAgent::elementForId): 32422 (WebCore::InspectorCSSAgent::styleSheetForId): 32423 * inspector/InspectorDOMAgent.cpp: 32424 (WebCore::InspectorDOMAgent::assertNode): 32425 (WebCore::InspectorDOMAgent::assertElement): 32426 (WebCore::InspectorDOMAgent::assertHTMLElement): 32427 (WebCore::InspectorDOMAgent::querySelector): 32428 (WebCore::InspectorDOMAgent::querySelectorAll): 32429 (WebCore::InspectorDOMAgent::setAttribute): 32430 (WebCore::InspectorDOMAgent::removeAttribute): 32431 (WebCore::InspectorDOMAgent::removeNode): 32432 (WebCore::InspectorDOMAgent::setNodeValue): 32433 * inspector/InspectorDebuggerAgent.cpp: 32434 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 32435 * inspector/InspectorResourceAgent.cpp: 32436 (WebCore::InspectorResourceAgent::resourceContent): 32437 (WebCore::InspectorResourceAgent::resourceContentBase64): 32438 (WebCore::InspectorResourceAgent::getResourceContent): 32439 * inspector/InspectorRuntimeAgent.cpp: 32440 (WebCore::InspectorRuntimeAgent::setPropertyValue): 32441 32442 2011-03-31 Evan Martin <evan (a] chromium.org> 32443 32444 Reviewed by Eric Seidel. 32445 32446 <title> should support dir attribute 32447 https://bugs.webkit.org/show_bug.cgi?id=50961 32448 32449 Introduce a new StringWithDirection object that carries a String along 32450 with the TextDirection associated with the String. Use this object for 32451 document titles used within WebCore, because in HTML the direction of 32452 a title can be set with the 'dir' attribute. 32453 32454 Put FIXMEs at the WebKit level to expose the new direction information 32455 to clients. 32456 32457 No behavioral change intended, so no new tests. A follow-up will expose 32458 the title direction and hopefully can be accompanied by tests that 32459 verify it is correct. 32460 32461 * dom/Document.cpp: 32462 (WebCore::Document::Document): 32463 (WebCore::Document::updateTitle): 32464 (WebCore::Document::setTitle): 32465 (WebCore::Document::removeTitle): 32466 * dom/Document.h: 32467 (WebCore::Document::title): 32468 * html/HTMLTitleElement.cpp: 32469 (WebCore::HTMLTitleElement::HTMLTitleElement): 32470 (WebCore::HTMLTitleElement::childrenChanged): 32471 (WebCore::HTMLTitleElement::text): 32472 (WebCore::HTMLTitleElement::textWithDirection): 32473 * html/HTMLTitleElement.h: 32474 * loader/DocumentLoader.cpp: 32475 (WebCore::DocumentLoader::setTitle): 32476 * loader/DocumentLoader.h: 32477 (WebCore::DocumentLoader::title): 32478 * loader/EmptyClients.h: 32479 (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle): 32480 (WebCore::EmptyFrameLoaderClient::setTitle): 32481 * loader/FrameLoader.cpp: 32482 (WebCore::FrameLoader::receivedFirstData): 32483 (WebCore::FrameLoader::commitProvisionalLoad): 32484 (WebCore::FrameLoader::setTitle): 32485 * loader/FrameLoader.h: 32486 * loader/FrameLoaderClient.h: 32487 * loader/HistoryController.cpp: 32488 (WebCore::HistoryController::updateForBackForwardNavigation): 32489 (WebCore::HistoryController::updateForReload): 32490 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 32491 (WebCore::HistoryController::updateForClientRedirect): 32492 (WebCore::HistoryController::updateForCommit): 32493 (WebCore::HistoryController::setCurrentItemTitle): 32494 (WebCore::HistoryController::initializeItem): 32495 * loader/HistoryController.h: 32496 * platform/text/StringWithDirection.h: Added. 32497 (WebCore::StringWithDirection::StringWithDirection): 32498 (WebCore::StringWithDirection::operator==): 32499 (WebCore::StringWithDirection::operator!=): 32500 * svg/SVGTitleElement.cpp: 32501 (WebCore::SVGTitleElement::insertedIntoDocument): 32502 (WebCore::SVGTitleElement::childrenChanged): 32503 32504 2011-03-31 Alexander Pavlov <apavlov (a] chromium.org> 32505 32506 Reviewed by Yury Semikhatsky. 32507 32508 Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects 32509 https://bugs.webkit.org/show_bug.cgi?id=57538 32510 32511 * inspector/InspectorStyleSheet.cpp: 32512 (WebCore::buildSourceRangeObject): 32513 (WebCore::InspectorStyle::buildObjectForStyle): 32514 (WebCore::InspectorStyle::populateObjectWithStyleProperties): 32515 * inspector/front-end/AuditRules.js: 32516 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback): 32517 * inspector/front-end/CSSStyleModel.js: 32518 (WebInspector.CSSStyleDeclaration): 32519 32520 2011-03-31 Sheriff Bot <webkit.review.bot (a] gmail.com> 32521 32522 Unreviewed, rolling out r82565. 32523 http://trac.webkit.org/changeset/82565 32524 https://bugs.webkit.org/show_bug.cgi?id=57541 32525 32526 Caused assertion failures. (Requested by bbandix on #webkit). 32527 32528 * platform/graphics/filters/FEFlood.cpp: 32529 (WebCore::FEFlood::setFloodColor): 32530 (WebCore::FEFlood::setFloodOpacity): 32531 * platform/graphics/filters/FEFlood.h: 32532 * platform/graphics/filters/FESpecularLighting.cpp: 32533 (WebCore::FESpecularLighting::setLightingColor): 32534 * platform/graphics/filters/FESpecularLighting.h: 32535 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: 32536 * rendering/svg/RenderSVGResourceFilterPrimitive.h: 32537 * rendering/svg/SVGResourcesCache.cpp: 32538 (WebCore::SVGResourcesCache::clientStyleChanged): 32539 * svg/SVGFEDiffuseLightingElement.cpp: 32540 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 32541 * svg/SVGFEFloodElement.cpp: 32542 * svg/SVGFEFloodElement.h: 32543 * svg/SVGFESpecularLightingElement.cpp: 32544 (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): 32545 32546 2011-03-31 Renata Hodovan <reni (a] webkit.org> 32547 32548 Reviewed by Dirk Schulze. 32549 32550 CSS related SVG*Element changes doesn't require relayout 32551 https://bugs.webkit.org/show_bug.cgi?id=56906 32552 32553 The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity 32554 need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange() 32555 we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties 32556 via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes. 32557 32558 Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html 32559 svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html 32560 svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html 32561 svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html 32562 32563 * platform/graphics/filters/FEFlood.cpp: 32564 (WebCore::FEFlood::setFloodColor): 32565 (WebCore::FEFlood::setFloodOpacity): 32566 * platform/graphics/filters/FEFlood.h: 32567 * platform/graphics/filters/FESpecularLighting.cpp: 32568 (WebCore::FESpecularLighting::setLightingColor): 32569 * platform/graphics/filters/FESpecularLighting.h: 32570 * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: 32571 (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange): 32572 * rendering/svg/RenderSVGResourceFilterPrimitive.h: 32573 * rendering/svg/SVGResourcesCache.cpp: 32574 (WebCore::SVGResourcesCache::clientStyleChanged): 32575 * svg/SVGFEDiffuseLightingElement.cpp: 32576 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 32577 * svg/SVGFEFloodElement.cpp: 32578 (WebCore::SVGFEFloodElement::setFilterEffectAttribute): 32579 * svg/SVGFEFloodElement.h: 32580 * svg/SVGFESpecularLightingElement.cpp: 32581 (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): 32582 32583 2011-03-29 Vsevolod Vlasov <vsevik (a] chromium.org> 32584 32585 Reviewed by Pavel Feldman. 32586 32587 XML Viewer: declared namespaces are not rendered. 32588 https://bugs.webkit.org/show_bug.cgi?id=56262 32589 32590 XML viewer rewritten on javascript. 32591 32592 * CMakeLists.txt: 32593 * DerivedSources.make: 32594 * GNUmakefile.am: 32595 * WebCore.gyp/WebCore.gyp: 32596 * WebCore.gypi: 32597 * WebCore.vcproj/WebCore.vcproj: 32598 * WebCore.xcodeproj/project.pbxproj: 32599 * dom/XMLDocumentParserLibxml2.cpp: 32600 (WebCore::XMLDocumentParser::doEnd): 32601 * xml/XMLTreeViewer.cpp: 32602 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 32603 * xml/XMLViewer.css: Added. 32604 * xml/XMLViewer.js: Added. 32605 * xml/XMLViewer.xsl: Removed. 32606 * xml/XSLStyleSheet.h: 32607 32608 2011-03-31 Jaehun Lim <ljaehun.lim (a] samsung.com> 32609 32610 Unreviewed build fix. 32611 32612 Fix build break after rolling out r82496 32613 https://bugs.webkit.org/show_bug.cgi?id=57536 32614 32615 * platform/efl/RenderThemeEfl.cpp: 32616 32617 2011-03-31 Andrey Adaikin <aandrey (a] google.com> 32618 32619 Reviewed by Pavel Feldman. 32620 32621 Web Inspector: execution line is displayed incorrectly after source editing. 32622 https://bugs.webkit.org/show_bug.cgi?id=57229 32623 32624 * inspector/front-end/SourceFrame.js: 32625 (WebInspector.SourceFrame.prototype._saveViewerState): 32626 (WebInspector.SourceFrame.prototype._restoreViewerState): 32627 (WebInspector.SourceFrame.prototype._startEditing): 32628 (WebInspector.SourceFrame.prototype._endEditing): 32629 (WebInspector.SourceFrame.prototype._createTextViewer): 32630 (WebInspector.SourceFrame.prototype.setExecutionLine): 32631 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): 32632 (WebInspector.SourceFrame.prototype._handleSave): 32633 (WebInspector.SourceFrame.prototype._handleRevertEditing): 32634 * inspector/front-end/TextViewer.js: 32635 (WebInspector.TextEditorChunkedPanel.prototype.addDecoration): 32636 (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration): 32637 (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk): 32638 (WebInspector.TextEditorMainPanel.prototype._positionToSelection): 32639 32640 2011-03-30 Alexander Pavlov <apavlov (a] chromium.org> 32641 32642 Reviewed by Pavel Feldman. 32643 32644 Web Inspector: Make the CSStyle "shorthandValues" name-value map an array 32645 https://bugs.webkit.org/show_bug.cgi?id=57452 32646 32647 No new tests, as this is a refactoring. 32648 32649 * inspector/InspectorCSSAgent.cpp: 32650 * inspector/InspectorStyleSheet.cpp: 32651 (WebCore::InspectorStyle::populateObjectWithStyleProperties): 32652 * inspector/front-end/CSSStyleModel.js: 32653 (WebInspector.CSSStyleDeclaration): 32654 (WebInspector.CSSStyleDeclaration.buildShorthandValueMap): 32655 32656 2011-03-30 Steve Block <steveblock (a] google.com> 32657 32658 Reviewed by Jeremy Orlow. 32659 32660 JavaField should not expose JavaString in its API 32661 https://bugs.webkit.org/show_bug.cgi?id=55766 32662 32663 This patch fixes JavaField for V8 only. 32664 - Factors out a JavaField interface which does not use JNI types. 32665 This will allow the Java bridge to be used with objects that 32666 don't use JNI directly. The existing jobject-backed 32667 implementation is moved to a new JavaFieldJobject class which 32668 implements the interface. 32669 - Use WTF::String in place of JavaString in the API, as JavaString 32670 exposes JNI types in its interface. 32671 32672 No new tests, refactoring only. 32673 32674 * Android.v8bindings.mk: 32675 * WebCore.gypi: 32676 * bridge/jni/JavaMethod.h: 32677 (JSC::Bindings::JavaMethod::~JavaMethod): 32678 * bridge/jni/JobjectWrapper.h: 32679 * bridge/jni/v8/JavaClassV8.cpp: 32680 (JavaClass::JavaClass): 32681 * bridge/jni/v8/JavaFieldJobjectV8.cpp: 32682 (JavaFieldJobject::JavaFieldJobject): 32683 * bridge/jni/v8/JavaFieldJobjectV8.h: 32684 (JSC::Bindings::JavaFieldJobject::name): 32685 (JSC::Bindings::JavaFieldJobject::typeClassName): 32686 (JSC::Bindings::JavaFieldJobject::type): 32687 * bridge/jni/v8/JavaFieldV8.h: 32688 (JSC::Bindings::JavaField::~JavaField): 32689 * bridge/jni/v8/JavaInstanceV8.cpp: 32690 (JavaInstance::getField): 32691 32692 2011-03-31 Levi Weintraub <leviw (a] chromium.org> 32693 32694 Reviewed by Ryosuke Niwa. 32695 32696 Clean up from r82447. 32697 https://bugs.webkit.org/attachment.cgi?bugid=57532 32698 32699 No new tests since this doesn't change behavior. 32700 32701 * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include. 32702 * rendering/RootInlineBox.cpp: 32703 (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const. 32704 (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto. 32705 * rendering/RootInlineBox.h: 32706 32707 2011-03-31 Benjamin Kalman <kalman (a] chromium.org> 32708 32709 Reviewed by Ojan Vafai. 32710 32711 DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions 32712 https://bugs.webkit.org/show_bug.cgi?id=57079 32713 32714 Test: editing/execCommand/delete-table-with-empty-contents.html 32715 32716 This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds 32717 of WebKit. 32718 32719 * editing/DeleteSelectionCommand.cpp: 32720 (WebCore::firstEditablePositionInNode): 32721 (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode 32722 to find anchor node for the placeholder's position, if any. 32723 32724 2011-03-30 Ojan Vafai <ojan (a] chromium.org> 32725 32726 Reviewed by Adam Roben. 32727 32728 REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet 32729 https://bugs.webkit.org/show_bug.cgi?id=57478 32730 32731 * css/CSSGrammar.y: 32732 * css/CSSParser.cpp: 32733 (WebCore::CSSParser::sinkFloatingSelectorVector): 32734 * css/CSSParser.h: 32735 32736 2011-03-30 Dominic Cooney <dominicc (a] google.com> 32737 32738 Reviewed by Dimitri Glazkov. 32739 32740 Adds layoutTestController.shadowRoot accessor to Mac DRT. 32741 https://bugs.webkit.org/show_bug.cgi?id=57415 32742 32743 * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot 32744 32745 2011-03-30 Kent Tamura <tkent (a] chromium.org> 32746 32747 Reviewed by Dimitri Glazkov. 32748 32749 Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event 32750 https://bugs.webkit.org/show_bug.cgi?id=57424 32751 32752 r75555 made 'scroll' event asynchronous. So we don't need to worry about 32753 deleting or moving a target node in scrollIntoViewIfNeeded(). 32754 32755 * html/HTMLFormElement.cpp: 32756 (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code. 32757 32758 2011-03-30 Kent Tamura <tkent (a] chromium.org> 32759 32760 Reviewed by Darin Adler. 32761 32762 REGRESSION (r74895): Crash if input.type = 'file' twice 32763 https://bugs.webkit.org/show_bug.cgi?id=57343 32764 32765 * html/HTMLInputElement.cpp: 32766 (WebCore::HTMLInputElement::updateType): 32767 Don't call setAttribute() if the type is not changed. 32768 32769 2011-03-30 Jia Pu <jpu (a] apple.com> 32770 32771 Reviewed by Darin Adler. 32772 32773 Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x. 32774 https://bugs.webkit.org/show_bug.cgi?id=57353 32775 <rdar://problem/9163983> 32776 32777 We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction 32778 panel. The latter function compensates for zooming, which we don't need in this case. We also 32779 dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors(). 32780 32781 * WebCore.exp.in: 32782 * dom/Range.cpp: 32783 (WebCore::Range::textQuads): 32784 * dom/Range.h: 32785 * editing/Editor.cpp: 32786 (WebCore::Editor::windowRectForRange): 32787 * editing/Editor.h: 32788 * page/Frame.cpp: 32789 (WebCore::Frame::setPageAndTextZoomFactors): 32790 32791 2011-03-30 Chris Guillory <chris.guillory (a] google.com> 32792 32793 Reviewed by Dimitri Glazkov. 32794 32795 Render fonts using skia when requested by platform context. 32796 https://bugs.webkit.org/show_bug.cgi?id=56441 32797 32798 * platform/graphics/skia/PlatformContextSkia.cpp: 32799 (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed): 32800 * platform/graphics/skia/PlatformContextSkia.h: 32801 * platform/graphics/skia/SkiaFontWin.cpp: 32802 (WebCore::windowsCanHandleTextDrawing): 32803 (WebCore::skiaDrawText): 32804 (WebCore::setupPaintForFont): 32805 (WebCore::paintSkiaText): 32806 32807 2011-03-30 Dan Bernstein <mitz (a] apple.com> 32808 32809 Reviewed by Darin Adler. 32810 32811 <rdar://problem/9199518> Crash when focusing a styled editable element 32812 32813 Test: editing/deleting/delete-button-background-image-none.html 32814 32815 * editing/DeleteButtonController.cpp: 32816 (WebCore::isDeletableElement): Check all background layers for background images. 32817 * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly, 32818 in the above function. 32819 32820 2011-03-30 Martin Robinson <mrobinson (a] igalia.com> 32821 32822 Try once more to fix the EFL build. 32823 32824 * platform/efl/RenderThemeEfl.cpp: 32825 32826 2011-03-30 Chris Fleizach <cfleizach (a] apple.com> 32827 32828 Reviewed by Darin Adler. 32829 32830 Regression: VO cursor doesn't follow KB focus back into HTML view 32831 https://bugs.webkit.org/show_bug.cgi?id=57509 32832 32833 In WK2, because the web area never believes focus leave the area, sending the initial 32834 focus change when moving back into the web area, does not trigger a notification. 32835 32836 That behavior needs to be overridden by explicitly posting a focused UI element change 32837 at the appropriate time. This is only used in WK2, hence the absence of a layout test for now. 32838 32839 * page/FocusController.cpp: 32840 (WebCore::FocusController::setInitialFocus): 32841 32842 2011-03-30 MORITA Hajime <morrita (a] google.com> 32843 32844 Reviewed by Simon Fraser. 32845 32846 box-shadow radii stays the same regardless of any spread set 32847 https://bugs.webkit.org/show_bug.cgi?id=49726 32848 32849 - Removed special shadowSpread handling path 32850 - Fixed broken multple inset shadow border computation. 32851 32852 Test: fast/box-shadow/spread-multiple-inset.html 32853 32854 * rendering/RenderBoxModelObject.cpp: 32855 (WebCore::RenderBoxModelObject::paintBoxShadow): 32856 32857 2011-03-29 Matthew Delaney <mdelaney (a] apple.com> 32858 32859 Reviewed by Simon Fraser. 32860 32861 Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG 32862 32863 https://bugs.webkit.org/show_bug.cgi?id=53134 32864 32865 Test: fast/canvas/getPutImageDataPairTest.html 32866 32867 * platform/graphics/cg/ImageBufferCG.cpp: 32868 32869 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 32870 32871 Reviewed by Adam Roben. 32872 32873 Share most vsprops between Release and Production builds in releaseproduction.vsprops 32874 https://bugs.webkit.org/show_bug.cgi?id=57508 32875 32876 * WebCore.vcproj/QTMovieWinProduction.vsprops: 32877 * WebCore.vcproj/QTMovieWinRelease.vsprops: 32878 * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: 32879 * WebCore.vcproj/WebCoreProduction.vsprops: 32880 * WebCore.vcproj/WebCoreRelease.vsprops: 32881 * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: 32882 32883 2011-03-30 Timur Iskhodzhanov <timurrrr (a] google.com> 32884 32885 Reviewed by Alexey Proskuryakov. 32886 32887 Add some dynamic annotations to JavaScriptCore/wtf 32888 https://bugs.webkit.org/show_bug.cgi?id=53747 32889 32890 By using these annotations we can improve the precision of finding 32891 WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind. 32892 These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1". 32893 32894 These files don't add new functionality, so don't need extra tests. 32895 32896 * ForwardingHeaders/wtf/DynamicAnnotations.h: Added. 32897 32898 2011-03-30 Abhishek Arya <inferno (a] chromium.org> 32899 32900 Reviewed by Simon Fraser. 32901 32902 Fix wrong type assumptions in editing code. Move code 32903 from ASSERTs to hard checks. 32904 https://bugs.webkit.org/show_bug.cgi?id=57348 32905 32906 Test: editing/execCommand/remove-format-non-html-element-crash.html 32907 32908 * css/CSSStyleSelector.cpp: 32909 (WebCore::CSSStyleSelector::applyProperty): 32910 * editing/ApplyStyleCommand.cpp: 32911 (WebCore::getRGBAFontColor): 32912 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): 32913 * editing/DeleteButtonController.cpp: 32914 (WebCore::enclosingDeletableElement): 32915 * editing/EditingStyle.cpp: 32916 (WebCore::EditingStyle::textDirection): 32917 (WebCore::EditingStyle::prepareToApplyAt): 32918 * editing/Editor.cpp: 32919 (WebCore::Editor::textDirectionForSelection): 32920 * editing/FormatBlockCommand.cpp: 32921 (WebCore::FormatBlockCommand::elementForFormatBlockCommand): 32922 32923 2011-03-30 Stephen White <senorblanco (a] chromium.org> 32924 32925 Reviewed by Kenneth Russell. 32926 32927 Speed up clipping in accelerated 2D canvas. 32928 https://bugs.webkit.org/show_bug.cgi?id=57464 32929 32930 Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation. 32931 Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others. 32932 32933 * platform/graphics/chromium/GLES2Canvas.cpp: 32934 (WebCore::PathAndTransform::PathAndTransform): 32935 New structure to keep track of the CTM at the time the clipping path was added. 32936 (WebCore::GLES2Canvas::State::State): 32937 Replace m_clippingEnabled with a count of total clipping paths. 32938 (WebCore::GLES2Canvas::clearRect): 32939 Check the total clipping path count, instead of m_clippingEnabled. 32940 (WebCore::GLES2Canvas::fillPath): 32941 (WebCore::GLES2Canvas::fillRect): 32942 Perform state application after doing shadows. This is necessary 32943 since restore() may now leave clipping enabled. 32944 (WebCore::GLES2Canvas::clipPath): 32945 Explicitly specify the stencil operation as INCR. Store the current 32946 transformation when saving clipping paths. 32947 (WebCore::GLES2Canvas::restore): 32948 Don't clear the stencil buffer and re-draw active paths on each restore. 32949 Erase the old paths with DECR. 32950 (WebCore::GLES2Canvas::drawTexturedRect): 32951 Check m_numClippingPaths instead of m_clippingEnabled. 32952 (WebCore::GLES2Canvas::beginShadowDraw): 32953 Perform state application when drawing hard shadows. 32954 (WebCore::GLES2Canvas::endShadowDraw): 32955 Check m_numClippingPaths instead of m_clippingEnabled. 32956 (WebCore::GLES2Canvas::beginStencilDraw): 32957 Make the stencil op a parameter to beginShadowDraw(). 32958 (WebCore::GLES2Canvas::applyClipping): 32959 Compare against the total number of stencil paths, not just the ones in 32960 the current state. 32961 * platform/graphics/chromium/GLES2Canvas.h: 32962 Make the stencil op a parameter to beginShadowDraw(). 32963 32964 2011-03-29 Dimitri Glazkov <dglazkov (a] chromium.org> 32965 32966 Reviewed by Darin Adler. 32967 32968 Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering. 32969 https://bugs.webkit.org/show_bug.cgi?id=57419 32970 32971 Refactoring, covered by existing tests. 32972 32973 * dom/EventDispatcher.cpp: 32974 (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names. 32975 * dom/MouseEvent.cpp: 32976 (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent. 32977 * dom/MouseEvent.h: Added decl. 32978 32979 2011-03-30 Erik Arvidsson <arv (a] chromium.org> 32980 32981 Reviewed by Alexey Proskuryakov. 32982 32983 Missing DOM bindings for a ping 32984 https://bugs.webkit.org/show_bug.cgi?id=51955 32985 32986 Test: fast/dom/ping-attribute-dom-binding.html 32987 32988 * html/HTMLAnchorElement.idl: 32989 * html/HTMLAreaElement.idl: 32990 32991 2011-03-30 Patrick Gansterer <paroga (a] webkit.org> 32992 32993 Unreviewed WinCE build fix for r82465. 32994 32995 * CMakeListsWinCE.txt: 32996 32997 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 32998 32999 Reviewed by Adam Roben. 33000 33001 Update Windows production build logic for new production configurations 33002 https://bugs.webkit.org/show_bug.cgi?id=57494 33003 33004 * WebCore.vcproj/QTMovieWinProduction.vsprops: 33005 * WebCore.vcproj/WebCore.make: 33006 * WebCore.vcproj/WebCoreProduction.vsprops: 33007 33008 2011-03-30 Sam Weinig <sam (a] webkit.org> 33009 33010 Reviewed by Brady Eidson. 33011 33012 WebKit2: Attempting to view css file from url causes it to download 33013 <rdar://problem/9102611> 33014 https://bugs.webkit.org/show_bug.cgi?id=57501 33015 33016 * WebCore.exp.in: 33017 * platform/MIMETypeRegistry.cpp: 33018 (WebCore::initializeUnsupportedTextMIMETypes): 33019 (WebCore::initializeMIMETypeRegistry): 33020 (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType): 33021 (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): 33022 * platform/MIMETypeRegistry.h: 33023 Add set of unsupported text MIME types, taken from WebKit/mac. 33024 33025 2011-03-30 Brian Weinstein <bweinstein (a] apple.com> 33026 33027 Reviewed by Darin Adler. 33028 33029 Crash when closing "Add Bookmark" dialog using the Enter Key 33030 https://bugs.webkit.org/show_bug.cgi?id=57294 33031 <rdar://problem/9044756> 33032 33033 Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler 33034 functions that could destroy the frame. 33035 33036 * page/EventHandler.cpp: 33037 (WebCore::EventHandler::keyEvent): 33038 33039 2011-03-30 Sheriff Bot <webkit.review.bot (a] gmail.com> 33040 33041 Unreviewed, rolling out r82463. 33042 http://trac.webkit.org/changeset/82463 33043 https://bugs.webkit.org/show_bug.cgi?id=57482 33044 33045 Assertion failure in Node::rendererIsEditable on multiple 33046 editing tests (Requested by aroben|meeting on #webkit). 33047 33048 * css/CSSParser.cpp: 33049 (WebCore::CSSParser::parseValue): 33050 * css/CSSPrimitiveValueMappings.h: 33051 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 33052 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): 33053 * css/CSSValueKeywords.in: 33054 * rendering/style/RenderStyle.h: 33055 * rendering/style/RenderStyleConstants.h: 33056 33057 2011-03-24 Luiz Agostini <luiz.agostini (a] openbossa.org> 33058 33059 Reviewed by Kenneth Rohde Christiansen. 33060 33061 [Qt] QNetworkReplyHandler refactoring: signal sequence. 33062 https://bugs.webkit.org/show_bug.cgi?id=57049 33063 33064 This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants: 33065 33066 1 - that the signals metadatachanged, readyRead and finished will come in this order. 33067 2 - that signals metadatachanged and finished will be called exactly once. 33068 33069 Having these invariants further simplifications will be possible and will come in future patches. 33070 33071 Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it 33072 instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals. 33073 QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending 33074 metadatachanged signal. 33075 33076 * platform/network/qt/QNetworkReplyHandler.cpp: 33077 (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper): 33078 (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper): 33079 (WebCore::QNetworkReplyWrapper::release): 33080 (WebCore::QNetworkReplyWrapper::resetConnections): 33081 (WebCore::QNetworkReplyWrapper::receiveMetaData): 33082 (WebCore::QNetworkReplyWrapper::didReceiveFinished): 33083 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 33084 (WebCore::QNetworkReplyHandler::resetState): 33085 (WebCore::QNetworkReplyHandler::release): 33086 (WebCore::QNetworkReplyHandler::finish): 33087 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 33088 (WebCore::QNetworkReplyHandler::redirect): 33089 (WebCore::QNetworkReplyHandler::forwardData): 33090 (WebCore::QNetworkReplyHandler::sendNetworkRequest): 33091 (WebCore::QNetworkReplyHandler::start): 33092 * platform/network/qt/QNetworkReplyHandler.h: 33093 (WebCore::QNetworkReplyWrapper::reply): 33094 (WebCore::QNetworkReplyWrapper::redirectionTargetUrl): 33095 (WebCore::QNetworkReplyWrapper::encoding): 33096 (WebCore::QNetworkReplyWrapper::advertisedMimeType): 33097 (WebCore::QNetworkReplyHandler::reply): 33098 33099 2011-03-30 Steve Falkenburg <sfalken (a] apple.com> 33100 33101 Reviewed by Adam Roben. 33102 33103 Rename Windows configuration Release_LTCG to Production for clarity 33104 https://bugs.webkit.org/show_bug.cgi?id=57465 33105 33106 * WebCore.vcproj/QTMovieWin.vcproj: 33107 * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops. 33108 * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed. 33109 * WebCore.vcproj/WebCore.sln: 33110 * WebCore.vcproj/WebCore.submit.sln: 33111 * WebCore.vcproj/WebCore.vcproj: 33112 * WebCore.vcproj/WebCoreGenerated.vcproj: 33113 * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops. 33114 * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed. 33115 33116 2011-03-30 Brian Weinstein <bweinstein (a] apple.com> 33117 33118 Reviewed by Anders Carlsson. 33119 33120 ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed 33121 https://bugs.webkit.org/show_bug.cgi?id=57477 33122 <rdar://problem/9178751> 33123 33124 If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess 33125 will call stopObservingCookieChanges when cookieStorageAdapter is nil. 33126 33127 The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil, 33128 so remove the assert. 33129 33130 * platform/network/mac/CookieStorageMac.mm: 33131 (WebCore::stopObservingCookieChanges): 33132 33133 2011-03-30 Sam Weinig <sam (a] webkit.org> 33134 33135 Fix Leopard build. 33136 33137 * platform/DefaultLocalizationStrategy.cpp: 33138 (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary): 33139 33140 2011-03-30 Sam Weinig <sam (a] webkit.org> 33141 33142 Reviewed by Anders Carlsson. 33143 33144 Add default localization strategy that can be shared by WebKit1 and WebKit2 33145 https://bugs.webkit.org/show_bug.cgi?id=57406 33146 33147 Currently, only WebKit2 uses this default strategy, but WebKit1 should be able 33148 to adopt it soon. 33149 33150 * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp. 33151 (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy): 33152 * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h. 33153 Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy. 33154 33155 * platform/LocalizedStrings.cpp: 33156 (WebCore::localizedString): 33157 Add default implementation of localization bottleneck function. 33158 33159 * platform/LocalizedStrings.h: 33160 Add localization macros here, instead of defining them in the above layer. 33161 33162 * platform/PlatformStrategies.cpp: 33163 (WebCore::PlatformStrategies::createLocalizationStrategy): 33164 * platform/PlatformStrategies.h: 33165 Add default implementation of strategy creation function which creates the default strategy. 33166 33167 * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm. 33168 (WebCore::localizedString): 33169 Add stub for windows, this will be update to pull from the bundle in a follow up patch. 33170 33171 * Android.mk: 33172 * CMakeLists.txt: 33173 * GNUmakefile.am: 33174 * WebCore.exp.in: 33175 * WebCore.gypi: 33176 * WebCore.pro: 33177 * WebCore.vcproj/WebCore.vcproj: 33178 * WebCore.xcodeproj/project.pbxproj: 33179 Add new files. 33180 33181 2011-03-30 Andras Becsi <abecsi (a] webkit.org> 33182 33183 Reviewed by Darin Adler. 33184 33185 CSS: Slow parsing of rgb() with percent values 33186 https://bugs.webkit.org/show_bug.cgi?id=16708 33187 33188 Implement fast-path parsing for percentage color values. 33189 33190 Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html 33191 33192 Relanding with rounding fix after it was rolled out in r82315. 33193 33194 * css/CSSParser.cpp: 33195 (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double. 33196 (WebCore::parseDouble): Function for parsing double values if they are valid. 33197 (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values. 33198 (WebCore::parseAlphaValue): Use the new functions. 33199 (WebCore::CSSParser::parseColor): Ditto. 33200 33201 2011-03-30 Ofri Wolfus <ofri (a] dhcp-172-28-40-178.tlv.corp.google.com> 33202 33203 Reviewed by Eric Seidel. 33204 33205 Add support for parsing unicode-bidi: -webkit-plaintext. 33206 https://bugs.webkit.org/show_bug.cgi?id=57457 33207 33208 Test: css3/unicode-bidi-plaintext-parse.html 33209 33210 * css/CSSParser.cpp: 33211 (WebCore::CSSParser::parseValue): 33212 * css/CSSPrimitiveValueMappings.h: 33213 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 33214 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): 33215 * css/CSSValueKeywords.in: 33216 * rendering/style/RenderStyle.h: 33217 * rendering/style/RenderStyleConstants.h: 33218 33219 2011-03-30 Andreas Kling <kling (a] webkit.org> 33220 33221 Reviewed by Benjamin Poulain. 33222 33223 [Qt] Remove unused variables in GraphicsContext::fillRect() 33224 33225 * platform/graphics/qt/GraphicsContextQt.cpp: 33226 (WebCore::GraphicsContext::fillRect): 33227 33228 2011-03-30 Yael Aharon <yael.aharon (a] nokia.com> 33229 33230 Reviewed by Eric Seidel. 33231 33232 REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html 33233 https://bugs.webkit.org/show_bug.cgi?id=57442 33234 33235 When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text. 33236 33237 No new tests as existing test covers this case. 33238 33239 * rendering/RenderBlockLineLayout.cpp: 33240 (WebCore::reachedEndOfTextRenderer): 33241 33242 2011-03-30 Mario Sanchez Prada <msanchez (a] igalia.com> 33243 33244 Reviewed by Chris Fleizach. 33245 33246 AX: GTK: ARIA role is not respected on <p> <label> <div> and <form> 33247 https://bugs.webkit.org/show_bug.cgi?id=47636 33248 33249 Define new roles in WebCore and map them to ATK accordingly. 33250 33251 Test: platform/gtk/accessibility/aria-roles-unignored.html 33252 33253 * accessibility/AccessibilityObject.h: Added new roles to 33254 represent paragraphs, labels, forms and div sections. 33255 * accessibility/AccessibilityRenderObject.cpp: 33256 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 33257 Return ParagraphRole, LabelRole, FormRole and DivRole when needed 33258 for the GTK platform only. 33259 * accessibility/gtk/AccessibilityObjectAtk.cpp: 33260 (WebCore::AccessibilityObject::allowsTextRanges): Consider the new 33261 roles now that those kind of nodes won't return true to isGroup(). 33262 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 33263 (atkRole): Map new WebCore roles to ATK Roles. 33264 (webkit_accessible_get_role): Remove code to define roles for 33265 paragraphs, labels, forms and divs based on node's tag name. 33266 33267 Update mappings for the Mac platform. 33268 33269 * accessibility/mac/AccessibilityObjectWrapper.mm: 33270 (createAccessibilityRoleMap): Add explicit mappings from the new 33271 roles introduced to NSAccessibilityGroupRole. 33272 33273 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33274 33275 Unreviewed. Build fix for Efl and Qt Win. 33276 33277 * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers. 33278 33279 2011-03-30 Andrey Kosyakov <caseq (a] chromium.org> 33280 33281 Reviewed by Pavel Feldman. 33282 33283 Web Inspector: audit run never completes, fails in DOMAgent.js 33284 https://bugs.webkit.org/show_bug.cgi?id=57349 33285 33286 - assure document is present before calling DOMAgent.querySelectAll() 33287 33288 * inspector/front-end/AuditRules.js: 33289 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 33290 33291 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33292 33293 Unreviewed. Build fix. 33294 33295 * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer 33296 33297 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33298 33299 Reviewed by Pavel Feldman. 33300 33301 Web Inspector: split debugger agent into Page and Worker-specific ones 33302 https://bugs.webkit.org/show_bug.cgi?id=57345 33303 33304 ScriptDebugServer and InspectorDebuggerAgent contain only functionality common 33305 for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer 33306 and Page/WorkerDebuggerAgent. 33307 33308 * CMakeLists.txt: 33309 * GNUmakefile.am: 33310 * UseJSC.cmake: 33311 * WebCore.gypi: 33312 * WebCore.pro: 33313 * WebCore.vcproj/WebCore.vcproj: 33314 * WebCore.xcodeproj/project.pbxproj: 33315 * bindings/js/JSBindingsAllInOne.cpp: 33316 * bindings/js/JSInjectedScriptHostCustom.cpp: 33317 (WebCore::JSInjectedScriptHost::currentCallFrame): 33318 * bindings/js/PageScriptDebugServer.cpp: Added. 33319 (WebCore::toPage): 33320 (WebCore::PageScriptDebugServer::shared): 33321 (WebCore::PageScriptDebugServer::PageScriptDebugServer): 33322 (WebCore::PageScriptDebugServer::~PageScriptDebugServer): 33323 (WebCore::PageScriptDebugServer::addListener): 33324 (WebCore::PageScriptDebugServer::removeListener): 33325 (WebCore::PageScriptDebugServer::recompileAllJSFunctions): 33326 (WebCore::PageScriptDebugServer::getListenersForGlobalObject): 33327 (WebCore::PageScriptDebugServer::didPause): 33328 (WebCore::PageScriptDebugServer::didContinue): 33329 (WebCore::PageScriptDebugServer::didRemoveLastListener): 33330 (WebCore::PageScriptDebugServer::setJavaScriptPaused): 33331 * bindings/js/PageScriptDebugServer.h: Added. 33332 * bindings/js/ScriptDebugServer.cpp: 33333 (WebCore::ScriptDebugServer::ScriptDebugServer): 33334 (WebCore::ScriptDebugServer::sourceParsed): 33335 (WebCore::ScriptDebugServer::dispatchFunctionToListeners): 33336 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): 33337 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): 33338 (WebCore::ScriptDebugServer::pauseIfNeeded): 33339 * bindings/js/ScriptDebugServer.h: 33340 * bindings/js/WorkerScriptDebugServer.cpp: Added. 33341 (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): 33342 (WebCore::WorkerScriptDebugServer::addListener): 33343 (WebCore::WorkerScriptDebugServer::removeListener): 33344 * bindings/js/WorkerScriptDebugServer.h: Added. 33345 (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): 33346 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): 33347 (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject): 33348 (WebCore::WorkerScriptDebugServer::didPause): 33349 (WebCore::WorkerScriptDebugServer::didContinue): 33350 * bindings/v8/PageScriptDebugServer.cpp: Added. 33351 (WebCore::retrieveFrame): 33352 (WebCore::PageScriptDebugServer::shared): 33353 (WebCore::PageScriptDebugServer::PageScriptDebugServer): 33354 (WebCore::PageScriptDebugServer::addListener): 33355 (WebCore::PageScriptDebugServer::removeListener): 33356 (WebCore::PageScriptDebugServer::setClientMessageLoop): 33357 (WebCore::PageScriptDebugServer::getDebugListenerForContext): 33358 (WebCore::PageScriptDebugServer::runMessageLoopOnPause): 33359 (WebCore::PageScriptDebugServer::quitMessageLoopOnPause): 33360 * bindings/v8/PageScriptDebugServer.h: Added. 33361 (WebCore::PageScriptDebugServer::setEnabled): 33362 (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): 33363 (WebCore::PageScriptDebugServer::~PageScriptDebugServer): 33364 * bindings/v8/ScriptDebugServer.cpp: 33365 (WebCore::ScriptDebugServer::ScriptDebugServer): 33366 (WebCore::ScriptDebugServer::setPauseOnNextStatement): 33367 (WebCore::ScriptDebugServer::breakProgram): 33368 (WebCore::ScriptDebugServer::continueProgram): 33369 (WebCore::ScriptDebugServer::stepIntoStatement): 33370 (WebCore::ScriptDebugServer::stepOverStatement): 33371 (WebCore::ScriptDebugServer::stepOutOfFunction): 33372 (WebCore::ScriptDebugServer::editScriptSource): 33373 (WebCore::toScriptDebugServer): 33374 (WebCore::ScriptDebugServer::breakProgramCallback): 33375 (WebCore::ScriptDebugServer::v8DebugEventCallback): 33376 (WebCore::ScriptDebugServer::handleV8DebugEvent): 33377 (WebCore::ScriptDebugServer::isPaused): 33378 * bindings/v8/ScriptDebugServer.h: 33379 * bindings/v8/WorkerScriptDebugServer.cpp: Added. 33380 (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): 33381 (WebCore::WorkerScriptDebugServer::addListener): 33382 (WebCore::WorkerScriptDebugServer::removeListener): 33383 * bindings/v8/WorkerScriptDebugServer.h: Added. 33384 (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): 33385 (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): 33386 (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): 33387 (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): 33388 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 33389 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 33390 * inspector/InjectedScriptHost.h: 33391 (WebCore::InjectedScriptHost::init): 33392 (WebCore::InjectedScriptHost::debuggerAgent): 33393 * inspector/InspectorAgent.cpp: 33394 (WebCore::InspectorAgent::InspectorAgent): 33395 * inspector/InspectorDebuggerAgent.cpp: 33396 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 33397 (WebCore::InspectorDebuggerAgent::enable): 33398 (WebCore::InspectorDebuggerAgent::disable): 33399 (WebCore::InspectorDebuggerAgent::setBreakpointsActive): 33400 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 33401 (WebCore::InspectorDebuggerAgent::continueToLocation): 33402 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 33403 (WebCore::InspectorDebuggerAgent::editScriptSource): 33404 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): 33405 (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): 33406 (WebCore::InspectorDebuggerAgent::resume): 33407 (WebCore::InspectorDebuggerAgent::stepOver): 33408 (WebCore::InspectorDebuggerAgent::stepInto): 33409 (WebCore::InspectorDebuggerAgent::stepOut): 33410 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 33411 (WebCore::InspectorDebuggerAgent::didPause): 33412 (WebCore::InspectorDebuggerAgent::breakProgram): 33413 * inspector/InspectorDebuggerAgent.h: 33414 * inspector/InspectorProfilerAgent.cpp: 33415 (WebCore::InspectorProfilerAgent::disable): 33416 (WebCore::InspectorProfilerAgent::enable): 33417 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 33418 * inspector/PageDebuggerAgent.cpp: Added. 33419 (WebCore::PageDebuggerAgent::create): 33420 (WebCore::PageDebuggerAgent::PageDebuggerAgent): 33421 (WebCore::PageDebuggerAgent::~PageDebuggerAgent): 33422 (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): 33423 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): 33424 (WebCore::PageDebuggerAgent::scriptDebugServer): 33425 * inspector/PageDebuggerAgent.h: Added. 33426 * inspector/WorkerDebuggerAgent.cpp: Added. 33427 (WebCore::WorkerDebuggerAgent::create): 33428 (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): 33429 (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent): 33430 (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): 33431 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): 33432 (WebCore::WorkerDebuggerAgent::scriptDebugServer): 33433 * inspector/WorkerDebuggerAgent.h: Added. 33434 33435 2011-03-30 Levi Weintraub <leviw (a] chromium.org> 33436 33437 Reviewed by Ryosuke Niwa. 33438 33439 Clicking below last line of right-to-left editable text that puts caret in the wrong place 33440 https://bugs.webkit.org/show_bug.cgi?id=38087 33441 33442 Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren 33443 instead of lastLeafChild, which wasn't correct in the RTL case. 33444 33445 Test: editing/selection/click-below-rtl-text.html 33446 33447 * editing/visible_units.cpp: 33448 (WebCore::logicalStartPositionForLine): Moved to RootInlineBox. 33449 (WebCore::logicalEndPositionForLine): Ditto. 33450 * editing/visible_units.h: 33451 * rendering/RenderBlock.cpp: 33452 (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead 33453 of lastLeafChild. 33454 * rendering/RootInlineBox.cpp: 33455 (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored. 33456 (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto. 33457 * rendering/RootInlineBox.h: 33458 33459 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33460 33461 Unreviewed. Rollout r82438 and r82436. 33462 33463 * CMakeLists.txt: 33464 * GNUmakefile.am: 33465 * UseJSC.cmake: 33466 * WebCore.gypi: 33467 * WebCore.pro: 33468 * WebCore.vcproj/WebCore.vcproj: 33469 * WebCore.xcodeproj/project.pbxproj: 33470 * bindings/js/JSBindingsAllInOne.cpp: 33471 * bindings/js/JSInjectedScriptHostCustom.cpp: 33472 (WebCore::JSInjectedScriptHost::currentCallFrame): 33473 * bindings/js/PageScriptDebugServer.cpp: Removed. 33474 * bindings/js/PageScriptDebugServer.h: Removed. 33475 * bindings/js/ScriptDebugServer.cpp: 33476 (WebCore::ScriptDebugServer::shared): 33477 (WebCore::ScriptDebugServer::ScriptDebugServer): 33478 (WebCore::ScriptDebugServer::addListener): 33479 (WebCore::ScriptDebugServer::removeListener): 33480 (WebCore::ScriptDebugServer::hasListenersInterestedInPage): 33481 (WebCore::toPage): 33482 (WebCore::ScriptDebugServer::sourceParsed): 33483 (WebCore::ScriptDebugServer::dispatchFunctionToListeners): 33484 (WebCore::ScriptDebugServer::setJavaScriptPaused): 33485 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): 33486 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): 33487 (WebCore::ScriptDebugServer::pauseIfNeeded): 33488 (WebCore::ScriptDebugServer::recompileAllJSFunctions): 33489 (WebCore::ScriptDebugServer::didAddListener): 33490 (WebCore::ScriptDebugServer::didRemoveListener): 33491 * bindings/js/ScriptDebugServer.h: 33492 * bindings/js/WorkerScriptDebugServer.cpp: Removed. 33493 * bindings/js/WorkerScriptDebugServer.h: Removed. 33494 * bindings/v8/PageScriptDebugServer.cpp: Removed. 33495 * bindings/v8/PageScriptDebugServer.h: Removed. 33496 * bindings/v8/ScriptDebugServer.cpp: 33497 (WebCore::retrieveFrame): 33498 (WebCore::ScriptDebugServer::shared): 33499 (WebCore::ScriptDebugServer::ScriptDebugServer): 33500 (WebCore::ScriptDebugServer::addListener): 33501 (WebCore::ScriptDebugServer::removeListener): 33502 (WebCore::ScriptDebugServer::setPauseOnNextStatement): 33503 (WebCore::ScriptDebugServer::breakProgram): 33504 (WebCore::ScriptDebugServer::continueProgram): 33505 (WebCore::ScriptDebugServer::stepIntoStatement): 33506 (WebCore::ScriptDebugServer::stepOverStatement): 33507 (WebCore::ScriptDebugServer::stepOutOfFunction): 33508 (WebCore::ScriptDebugServer::editScriptSource): 33509 (WebCore::ScriptDebugServer::setEnabled): 33510 (WebCore::ScriptDebugServer::breakProgramCallback): 33511 (WebCore::ScriptDebugServer::v8DebugEventCallback): 33512 (WebCore::ScriptDebugServer::handleV8DebugEvent): 33513 (WebCore::ScriptDebugServer::didResume): 33514 * bindings/v8/ScriptDebugServer.h: 33515 (WebCore::ScriptDebugServer::pageCreated): 33516 (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): 33517 (WebCore::ScriptDebugServer::setClientMessageLoop): 33518 * bindings/v8/WorkerScriptDebugServer.cpp: Removed. 33519 * bindings/v8/WorkerScriptDebugServer.h: Removed. 33520 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 33521 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 33522 * inspector/InjectedScriptHost.h: 33523 (WebCore::InjectedScriptHost::init): 33524 * inspector/InspectorAgent.cpp: 33525 (WebCore::InspectorAgent::InspectorAgent): 33526 * inspector/InspectorDebuggerAgent.cpp: 33527 (WebCore::InspectorDebuggerAgent::create): 33528 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 33529 (WebCore::InspectorDebuggerAgent::enable): 33530 (WebCore::InspectorDebuggerAgent::disable): 33531 (WebCore::InspectorDebuggerAgent::setBreakpointsActive): 33532 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 33533 (WebCore::InspectorDebuggerAgent::continueToLocation): 33534 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 33535 (WebCore::InspectorDebuggerAgent::editScriptSource): 33536 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): 33537 (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): 33538 (WebCore::InspectorDebuggerAgent::resume): 33539 (WebCore::InspectorDebuggerAgent::stepOver): 33540 (WebCore::InspectorDebuggerAgent::stepInto): 33541 (WebCore::InspectorDebuggerAgent::stepOut): 33542 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 33543 (WebCore::InspectorDebuggerAgent::didPause): 33544 (WebCore::InspectorDebuggerAgent::breakProgram): 33545 * inspector/InspectorDebuggerAgent.h: 33546 * inspector/InspectorProfilerAgent.cpp: 33547 (WebCore::InspectorProfilerAgent::disable): 33548 (WebCore::InspectorProfilerAgent::enable): 33549 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 33550 * inspector/PageDebuggerAgent.cpp: Removed. 33551 * inspector/PageDebuggerAgent.h: Removed. 33552 * inspector/WorkerDebuggerAgent.cpp: Removed. 33553 * inspector/WorkerDebuggerAgent.h: Removed. 33554 33555 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33556 33557 Unreviewed. Fix compilation on Windows and EFL. 33558 33559 * CMakeLists.txt: 33560 * bindings/js/JSBindingsAllInOne.cpp: 33561 33562 2011-03-30 Yury Semikhatsky <yurys (a] chromium.org> 33563 33564 Reviewed by Pavel Feldman. 33565 33566 Web Inspector: split debugger agent into Page and Worker-specific ones 33567 https://bugs.webkit.org/show_bug.cgi?id=57345 33568 33569 ScriptDebugServer and InspectorDebuggerAgent contain only functionality common 33570 for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer 33571 and Page/WorkerDebuggerAgent. 33572 33573 * GNUmakefile.am: 33574 * UseJSC.cmake: 33575 * WebCore.gypi: 33576 * WebCore.pro: 33577 * WebCore.vcproj/WebCore.vcproj: 33578 * WebCore.xcodeproj/project.pbxproj: 33579 * bindings/js/JSInjectedScriptHostCustom.cpp: 33580 (WebCore::JSInjectedScriptHost::currentCallFrame): 33581 * bindings/js/PageScriptDebugServer.cpp: Added. 33582 (WebCore::toPage): 33583 (WebCore::PageScriptDebugServer::shared): 33584 (WebCore::PageScriptDebugServer::PageScriptDebugServer): 33585 (WebCore::PageScriptDebugServer::~PageScriptDebugServer): 33586 (WebCore::PageScriptDebugServer::addListener): 33587 (WebCore::PageScriptDebugServer::removeListener): 33588 (WebCore::PageScriptDebugServer::recompileAllJSFunctions): 33589 (WebCore::PageScriptDebugServer::getListenersForGlobalObject): 33590 (WebCore::PageScriptDebugServer::didPause): 33591 (WebCore::PageScriptDebugServer::didContinue): 33592 (WebCore::PageScriptDebugServer::didRemoveLastListener): 33593 (WebCore::PageScriptDebugServer::setJavaScriptPaused): 33594 * bindings/js/PageScriptDebugServer.h: Added. 33595 * bindings/js/ScriptDebugServer.cpp: 33596 (WebCore::ScriptDebugServer::ScriptDebugServer): 33597 (WebCore::ScriptDebugServer::sourceParsed): 33598 (WebCore::ScriptDebugServer::dispatchFunctionToListeners): 33599 (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded): 33600 (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded): 33601 (WebCore::ScriptDebugServer::pauseIfNeeded): 33602 * bindings/js/ScriptDebugServer.h: 33603 * bindings/js/WorkerScriptDebugServer.cpp: Added. 33604 (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): 33605 (WebCore::WorkerScriptDebugServer::addListener): 33606 (WebCore::WorkerScriptDebugServer::removeListener): 33607 * bindings/js/WorkerScriptDebugServer.h: Added. 33608 (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): 33609 (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): 33610 (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject): 33611 (WebCore::WorkerScriptDebugServer::didPause): 33612 (WebCore::WorkerScriptDebugServer::didContinue): 33613 * bindings/v8/PageScriptDebugServer.cpp: Added. 33614 (WebCore::retrieveFrame): 33615 (WebCore::PageScriptDebugServer::shared): 33616 (WebCore::PageScriptDebugServer::PageScriptDebugServer): 33617 (WebCore::PageScriptDebugServer::addListener): 33618 (WebCore::PageScriptDebugServer::removeListener): 33619 (WebCore::PageScriptDebugServer::setClientMessageLoop): 33620 (WebCore::PageScriptDebugServer::getDebugListenerForContext): 33621 (WebCore::PageScriptDebugServer::runMessageLoopOnPause): 33622 (WebCore::PageScriptDebugServer::quitMessageLoopOnPause): 33623 * bindings/v8/PageScriptDebugServer.h: Added. 33624 (WebCore::PageScriptDebugServer::setEnabled): 33625 (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop): 33626 (WebCore::PageScriptDebugServer::~PageScriptDebugServer): 33627 * bindings/v8/ScriptDebugServer.cpp: 33628 (WebCore::ScriptDebugServer::ScriptDebugServer): 33629 (WebCore::ScriptDebugServer::setPauseOnNextStatement): 33630 (WebCore::ScriptDebugServer::breakProgram): 33631 (WebCore::ScriptDebugServer::continueProgram): 33632 (WebCore::ScriptDebugServer::stepIntoStatement): 33633 (WebCore::ScriptDebugServer::stepOverStatement): 33634 (WebCore::ScriptDebugServer::stepOutOfFunction): 33635 (WebCore::ScriptDebugServer::editScriptSource): 33636 (WebCore::toScriptDebugServer): 33637 (WebCore::ScriptDebugServer::breakProgramCallback): 33638 (WebCore::ScriptDebugServer::v8DebugEventCallback): 33639 (WebCore::ScriptDebugServer::handleV8DebugEvent): 33640 (WebCore::ScriptDebugServer::isPaused): 33641 * bindings/v8/ScriptDebugServer.h: 33642 * bindings/v8/WorkerScriptDebugServer.cpp: Added. 33643 (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer): 33644 (WebCore::WorkerScriptDebugServer::addListener): 33645 (WebCore::WorkerScriptDebugServer::removeListener): 33646 * bindings/v8/WorkerScriptDebugServer.h: Added. 33647 (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer): 33648 (WebCore::WorkerScriptDebugServer::getDebugListenerForContext): 33649 (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): 33650 (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause): 33651 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 33652 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 33653 * inspector/InjectedScriptHost.h: 33654 (WebCore::InjectedScriptHost::init): 33655 (WebCore::InjectedScriptHost::debuggerAgent): 33656 * inspector/InspectorAgent.cpp: 33657 (WebCore::InspectorAgent::InspectorAgent): 33658 * inspector/InspectorDebuggerAgent.cpp: 33659 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 33660 (WebCore::InspectorDebuggerAgent::enable): 33661 (WebCore::InspectorDebuggerAgent::disable): 33662 (WebCore::InspectorDebuggerAgent::setBreakpointsActive): 33663 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 33664 (WebCore::InspectorDebuggerAgent::continueToLocation): 33665 (WebCore::InspectorDebuggerAgent::resolveBreakpoint): 33666 (WebCore::InspectorDebuggerAgent::editScriptSource): 33667 (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement): 33668 (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement): 33669 (WebCore::InspectorDebuggerAgent::resume): 33670 (WebCore::InspectorDebuggerAgent::stepOver): 33671 (WebCore::InspectorDebuggerAgent::stepInto): 33672 (WebCore::InspectorDebuggerAgent::stepOut): 33673 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 33674 (WebCore::InspectorDebuggerAgent::didPause): 33675 (WebCore::InspectorDebuggerAgent::breakProgram): 33676 * inspector/InspectorDebuggerAgent.h: 33677 * inspector/InspectorProfilerAgent.cpp: 33678 (WebCore::InspectorProfilerAgent::disable): 33679 (WebCore::InspectorProfilerAgent::enable): 33680 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 33681 * inspector/PageDebuggerAgent.cpp: Added. 33682 (WebCore::PageDebuggerAgent::create): 33683 (WebCore::PageDebuggerAgent::PageDebuggerAgent): 33684 (WebCore::PageDebuggerAgent::~PageDebuggerAgent): 33685 (WebCore::PageDebuggerAgent::startListeningScriptDebugServer): 33686 (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer): 33687 (WebCore::PageDebuggerAgent::scriptDebugServer): 33688 * inspector/PageDebuggerAgent.h: Added. 33689 * inspector/WorkerDebuggerAgent.cpp: Added. 33690 (WebCore::WorkerDebuggerAgent::create): 33691 (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent): 33692 (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent): 33693 (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer): 33694 (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer): 33695 (WebCore::WorkerDebuggerAgent::scriptDebugServer): 33696 * inspector/WorkerDebuggerAgent.h: Added. 33697 33698 2011-03-30 Alexander Pavlov <apavlov (a] chromium.org> 33699 33700 Reviewed by Pavel Feldman. 33701 33702 Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map 33703 https://bugs.webkit.org/show_bug.cgi?id=57440 33704 33705 * inspector/InspectorCSSAgent.cpp: 33706 (WebCore::InspectorCSSAgent::getStylesForNode): 33707 (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles): 33708 * inspector/InspectorCSSAgent.h: 33709 * inspector/front-end/CSSStyleModel.js: 33710 (WebInspector.CSSStyleModel.prototype.getStylesAsync): 33711 33712 2011-03-30 Evan Martin <evan (a] chromium.org> 33713 33714 Reviewed by Ryosuke Niwa. 33715 33716 Fix a last-second ASSERT in previous change that was wrong. 33717 33718 * dom/Document.cpp: 33719 (WebCore::Document::setTitle): 33720 33721 2011-03-30 Levi Weintraub <leviw (a] chromium.org> 33722 33723 Reviewed by Eric Seidel. 33724 33725 RTL: Directionality always reset on hard line break 33726 https://bugs.webkit.org/show_bug.cgi?id=23124 33727 33728 No longer clearing all BidiContexts when we hit a hard line break. 33729 Instead, directionality applied by DOM elements is preserved by 33730 reconstructing the context stack ignoring those that didn't come 33731 from the DOM. 33732 33733 Test: fast/text/international/bidi-br-as-paragraph-separator.html 33734 33735 * platform/text/BidiContext.cpp: 33736 (WebCore::BidiContext::createUncached): 33737 (WebCore::BidiContext::create): 33738 (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context 33739 and recalculate its bidi level. 33740 (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of 33741 a BidiContext stack that's equivalent but without contexts from Unicode directional 33742 characters. 33743 (WebCore::operator==): Now takes into account embedding source. 33744 * platform/text/BidiContext.h: 33745 (WebCore::BidiContext::source): Enum to specify whether an embedded 33746 bidirectional control came from the DOM/Style or Unicode characters 33747 (WebCore::BidiContext::BidiContext): 33748 * platform/text/BidiResolver.h: 33749 (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction 33750 and a hint about where it came from so we can differentiate DOM directions 33751 from unicode direction control characters. 33752 (WebCore::BidiEmbedding::direction): 33753 (WebCore::BidiEmbedding::source): 33754 (WebCore::::embed): Now takes a source as well as a direction. 33755 (WebCore::::commitExplicitEmbedding): 33756 (WebCore::::createBidiRunsForLine): 33757 * rendering/InlineIterator.h: 33758 (WebCore::bidiNext): 33759 (WebCore::bidiFirst): 33760 * rendering/RenderBlockLineLayout.cpp: 33761 (WebCore::RenderBlock::determineStartPosition): 33762 33763 2011-03-30 Steve Block <steveblock (a] google.com> 33764 33765 Reviewed by Jeremy Orlow. 33766 33767 JavaMethod should not expose JavaString in its API 33768 https://bugs.webkit.org/show_bug.cgi?id=55765 33769 33770 - Factors out a JavaMethod interface which does not use JNI types. 33771 This will allow the Java bridge to be used with objects that 33772 don't use JNI directly. The existing jobject-backed 33773 implementation is moved to a new JavaMethodJobject class which 33774 implements the interface. 33775 - Use WTF::String in place of JavaString in the API, as JavaString 33776 exposes JNI types in its interface. 33777 - Remove the method ID as it uses JNI types. 33778 33779 No new tests, refactoring only. 33780 33781 * Android.jscbindings.mk: 33782 * Android.v8bindings.mk: 33783 * GNUmakefile.am: 33784 * WebCore.gypi: 33785 * WebCore.xcodeproj/project.pbxproj: 33786 * bridge/jni/JavaMethod.h: 33787 * bridge/jni/JavaMethodJobject.cpp: 33788 (JavaMethodJobject::JavaMethodJobject): 33789 (JavaMethodJobject::~JavaMethodJobject): 33790 (appendClassName): 33791 (JavaMethodJobject::signature): 33792 * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h. 33793 (JSC::Bindings::JavaMethodJobject::name): 33794 (JSC::Bindings::JavaMethodJobject::returnTypeClassName): 33795 (JSC::Bindings::JavaMethodJobject::parameterAt): 33796 (JSC::Bindings::JavaMethodJobject::returnType): 33797 (JSC::Bindings::JavaMethodJobject::isStatic): 33798 (JSC::Bindings::JavaMethodJobject::numParameters): 33799 * bridge/jni/jsc/JavaClassJSC.cpp: 33800 (JavaClass::JavaClass): 33801 * bridge/jni/jsc/JavaInstanceJSC.cpp: 33802 (JavaInstance::invokeMethod): 33803 * bridge/jni/v8/JavaClassV8.cpp: 33804 (JavaClass::JavaClass): 33805 * bridge/jni/v8/JavaInstanceV8.cpp: 33806 (JavaInstance::invokeMethod): 33807 33808 2011-03-30 Evan Martin <evan (a] chromium.org> 33809 33810 Reviewed by Ryosuke Niwa. 33811 33812 clean up Document's handling of title changes 33813 https://bugs.webkit.org/show_bug.cgi?id=57433 33814 33815 Document::setTitle has two entry points: 33816 1) from DOM bindings, like document.title="foo" 33817 2) from title tags, like <title>foo</title> in HTML 33818 33819 Split these two code paths to make the code easier to follow. 33820 Also, replace the repeated pattern of 33821 m_rawTitle = "foo"; updateTitle(); 33822 with 33823 updateTitle("foo"); 33824 33825 * dom/Document.cpp: 33826 (WebCore::Document::updateTitle): 33827 (WebCore::Document::setTitle): 33828 (WebCore::Document::setTitleElement): 33829 (WebCore::Document::removeTitle): 33830 * dom/Document.h: 33831 * html/HTMLTitleElement.cpp: 33832 (WebCore::HTMLTitleElement::insertedIntoDocument): 33833 (WebCore::HTMLTitleElement::childrenChanged): 33834 * svg/SVGTitleElement.cpp: 33835 (WebCore::SVGTitleElement::insertedIntoDocument): 33836 (WebCore::SVGTitleElement::childrenChanged): 33837 33838 2011-03-30 Levi Weintraub <leviw (a] chromium.org> 33839 33840 Reviewed by Ryosuke Niwa. 33841 33842 BreakBlockQuoteCommand assumes all li tags have list item renderers 33843 https://bugs.webkit.org/show_bug.cgi?id=57253 33844 33845 Checking that the renderers of li nodes are actually RenderListItems 33846 before treating them as such. 33847 33848 Test: editing/execCommand/crash-breaking-blockquote-with-list.html 33849 33850 * editing/BreakBlockquoteCommand.cpp: 33851 (WebCore::BreakBlockQuoteCommand::doApply): 33852 33853 2011-03-30 Pavel Feldman <pfeldman (a] chromium.org> 33854 33855 Not reviewed: fixing typo in the inspector front-end. 33856 33857 Web Inspector: REGRESSION: Broken live edit errors handling 33858 https://bugs.webkit.org/show_bug.cgi?id=57436 33859 33860 * inspector/front-end/DebuggerModel.js: 33861 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 33862 33863 2011-03-30 Yael Aharon <yael.aharon (a] nokia.com> 33864 33865 Reviewed by Eric Seidel. 33866 33867 Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements 33868 https://bugs.webkit.org/show_bug.cgi?id=9272 33869 33870 33871 Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392. 33872 33873 Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun 33874 to decide if there is more text in the next line. 33875 33876 Tests: fast/borders/rtl-border-01.html 33877 fast/borders/rtl-border-02.html 33878 fast/borders/rtl-border-03.html 33879 fast/borders/rtl-border-04.html 33880 fast/borders/rtl-border-05.html 33881 33882 * rendering/InlineFlowBox.cpp: 33883 (WebCore::isAnsectorAndWithinBlock): 33884 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 33885 * rendering/InlineFlowBox.h: 33886 * rendering/RenderBlock.h: 33887 * rendering/RenderBlockLineLayout.cpp: 33888 (WebCore::RenderBlock::constructLine): 33889 (WebCore::reachedEndOfTextRenderer): 33890 (WebCore::RenderBlock::layoutInlineChildren): 33891 33892 2011-03-29 Nikolas Zimmermann <nzimmermann (a] rim.com> 33893 33894 Reviewed by Eric Seidel. 33895 33896 REGRESSION (r68976): Incorrect bidi rendering in SVG text 33897 https://bugs.webkit.org/show_bug.cgi?id=53980 33898 33899 Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text 33900 in visual and logical order. Added several helper methods to make the code more readable. 33901 33902 Fix Unicode directional formatting characters support, now works as expected. 33903 33904 Test: svg/text/bidi-embedded-direction.svg 33905 33906 * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox. 33907 (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox. 33908 (WebCore::getLogicalEndBoxAndNode): Ditto. 33909 * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order. 33910 (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder): 33911 * rendering/InlineFlowBox.h: 33912 * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed. 33913 (WebCore::RenderSVGText::RenderSVGText): 33914 (WebCore::RenderSVGText::layout): 33915 * rendering/svg/RenderSVGText.h: Ditto. 33916 (WebCore::RenderSVGText::layoutAttributes): 33917 (WebCore::RenderSVGText::needsReordering): 33918 * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation, 33919 which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed. 33920 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 33921 (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): 33922 (WebCore::swapItems): 33923 (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded): 33924 (WebCore::SVGRootInlineBox::reorderValueLists): 33925 * rendering/svg/SVGRootInlineBox.h: 33926 * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to. 33927 (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes): 33928 (WebCore::SVGTextLayoutAttributes::dump): 33929 * rendering/svg/SVGTextLayoutAttributes.h: 33930 (WebCore::SVGTextLayoutAttributes::context): 33931 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes. 33932 (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree): 33933 (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): 33934 * rendering/svg/SVGTextLayoutAttributesBuilder.h: 33935 * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing. 33936 (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine): 33937 (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded): 33938 (WebCore::SVGTextLayoutEngine::recordTextFragment): 33939 (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes): 33940 (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): 33941 (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics): 33942 (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter): 33943 (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter): 33944 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): 33945 * rendering/svg/SVGTextLayoutEngine.h: 33946 33947 2011-03-30 Ilya Tikhonovsky <loislo (a] chromium.org> 33948 33949 Not reviewed trivial change. 33950 33951 Web Inspector: Remove unnecessary function arguments after r82281. 33952 https://bugs.webkit.org/show_bug.cgi?id=57327 33953 33954 * inspector/InspectorAgent.cpp: 33955 (WebCore::InspectorAgent::didCommitLoad): 33956 (WebCore::InspectorAgent::domContentLoadedEventFired): 33957 * inspector/InspectorAgent.h: 33958 * inspector/InspectorInstrumentation.cpp: 33959 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): 33960 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 33961 33962 2011-03-30 Kent Tamura <tkent (a] chromium.org> 33963 33964 Reviewed by Ojan Vafai. 33965 33966 H1 element should have different default style if it is in HTML5 sectioning elements. 33967 https://bugs.webkit.org/show_bug.cgi?id=52693 33968 33969 Test: fast/css/h1-in-section-elements.html 33970 33971 * css/html.css: Add font-size and margin declarations to follow HTML5 specification. 33972 (:-webkit-any(article,aside,nav,section) h1): 33973 (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): 33974 (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): 33975 (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): 33976 (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1): 33977 33978 2011-03-29 Beth Dakin <bdakin (a] apple.com> 33979 33980 Reviewed by Maciej Stachowiak. 33981 33982 Fix for https://bugs.webkit.org/show_bug.cgi?id=57408 33983 webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 33984 -and corresponding- 33985 <rdar://problem/8665411> 33986 33987 * platform/mac/PlatformScreenMac.mm: 33988 (WebCore::windowScaleFactor): 33989 (WebCore::toUserSpace): 33990 (WebCore::toDeviceSpace): 33991 33992 2011-03-29 Eric Seidel <eric (a] webkit.org> 33993 33994 Reviewed by Dimitri Glazkov. 33995 33996 Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style 33997 https://bugs.webkit.org/show_bug.cgi?id=57369 33998 33999 I considered renaming these to m_endOfRun and m_startOfRun but decided 34000 that was too verbose for now (given how often they're used). I suspect 34001 with a bit more refactoring we'll find they're not used very often and can be renamed 34002 if so desired. 34003 34004 * platform/text/BidiResolver.h: 34005 (WebCore::::appendRun): 34006 (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel): 34007 (WebCore::::lowerExplicitEmbeddingLevel): 34008 (WebCore::::raiseExplicitEmbeddingLevel): 34009 (WebCore::::createBidiRunsForLine): 34010 * rendering/InlineIterator.h: 34011 (WebCore::InlineBidiResolver::appendRun): 34012 34013 2011-03-29 Mikhail Naganov <mnaganov (a] chromium.org> 34014 34015 Reviewed by Pavel Feldman. 34016 34017 Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots. 34018 https://bugs.webkit.org/show_bug.cgi?id=57351 34019 34020 * bindings/js/ScriptHeapSnapshot.h: 34021 * bindings/v8/ScriptHeapSnapshot.cpp: 34022 * bindings/v8/ScriptHeapSnapshot.h: 34023 * inspector/Inspector.json: 34024 * inspector/InspectorProfilerAgent.cpp: 34025 * inspector/InspectorProfilerAgent.h: 34026 * inspector/front-end/DetailedHeapshotGridNodes.js: 34027 (WebInspector.HeapSnapshotGenericObjectNode): 34028 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data): 34029 * inspector/front-end/DetailedHeapshotView.js: 34030 (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid): 34031 34032 2011-03-29 Eric Seidel <eric (a] webkit.org> 34033 34034 Reviewed by Ryosuke Niwa. 34035 34036 Split more logic out from createBidiRunsForLine for readability 34037 https://bugs.webkit.org/show_bug.cgi?id=57341 34038 34039 I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be. 34040 This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity. 34041 34042 * platform/text/BidiResolver.h: 34043 (WebCore::::reorderRunsFromLevels): 34044 (WebCore::::createBidiRunsForLine): 34045 34046 2011-03-29 Kent Tamura <tkent (a] chromium.org> 34047 34048 Reviewed by Dimitri Glazkov. 34049 34050 Make validation message bubble testable 34051 https://bugs.webkit.org/show_bug.cgi?id=57290 34052 34053 Introduce a setting for validation message timer so that we can configure 34054 how long we show a validation message bubble. 34055 34056 Test: fast/forms/validation-message-appearance.html 34057 34058 * html/ValidationMessage.cpp: 34059 (WebCore::ValidationMessage::setMessageDOMAndStartTimer): 34060 Don't set a timer if the timer magnification value is 0 or negative. 34061 Otherwise, hides the bubble length * magnification / 1000 seconds. 34062 * page/Settings.cpp: 34063 (WebCore::Settings::Settings): Initialize the timer magnification value. 34064 * page/Settings.h: 34065 (WebCore::Settings::setValidationMessageTimerMagnification): Added. 34066 (WebCore::Settings::validationMessageTimerMaginification): Added. 34067 34068 2011-03-29 Dimitri Glazkov <dglazkov (a] chromium.org> 34069 34070 Remove the extraneous declaration I accidentally added in r82376. 34071 34072 * dom/MouseEvent.h: Removed createSimulated decl. 34073 34074 2011-03-29 James Robinson <jamesr (a] chromium.org> 34075 34076 Reviewed by Kenneth Russell. 34077 34078 [chromium] Compositor crash with show-layer-borders flag 34079 https://bugs.webkit.org/show_bug.cgi?id=57292 34080 34081 Synchronize the debug border color/width with other properties to ensure the appropriate 34082 CCLayerImpl exists. Code is only exercised with a debugging command line flag so no layout 34083 test. 34084 34085 * platform/graphics/chromium/LayerChromium.cpp: 34086 (WebCore::LayerChromium::pushPropertiesTo): 34087 (WebCore::LayerChromium::setBorderColor): 34088 (WebCore::LayerChromium::setBorderWidth): 34089 * platform/graphics/chromium/LayerChromium.h: 34090 34091 2011-03-29 Tony Gentilcore <tonyg (a] chromium.org> 34092 34093 Reviewed by Adam Barth. 34094 34095 Teach the preload scanner about <input type=image> 34096 https://bugs.webkit.org/show_bug.cgi?id=57404 34097 34098 I did a very rough sample of the top 50 web pages to see how many of each 34099 HTML resource type they include: 34100 img src: 1,359 34101 script src: 276 34102 link href: 256 34103 iframe src: 104 34104 input src: 50 34105 embed src: 37 34106 @import: 13 34107 object data: 11 34108 34109 Based on this, it seems worthwhile to preload inputs and iframes (possibly embed). 34110 This patch only does inputs. 34111 34112 Test: fast/preloader/input.html 34113 34114 * html/parser/HTMLPreloadScanner.cpp: 34115 (WebCore::HTMLNames::PreloadTask::PreloadTask): 34116 (WebCore::HTMLNames::PreloadTask::processAttributes): 34117 (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage): 34118 (WebCore::HTMLNames::PreloadTask::preload): 34119 34120 2011-03-29 Luke Macpherson <macpherson (a] chromium.org> 34121 34122 Reviewed by David Levin. 34123 34124 Improve the massive switch statement in CSSStyleSelector::applyProperty. 34125 https://bugs.webkit.org/show_bug.cgi?id=56288 34126 34127 No new tests are needed because no new functionality exposed. 34128 34129 * css/CSSStyleSelector.cpp: 34130 (WebCore::CSSStyleSelector::applyProperty): 34131 Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable. 34132 Updated comment. 34133 34134 2011-03-29 Dimitri Glazkov <dglazkov (a] chromium.org> 34135 34136 Reviewed by Darin Adler. 34137 34138 Introduce SimulatedMouseEvent and teach EventDispatcher how to use it. 34139 https://bugs.webkit.org/show_bug.cgi?id=57402 34140 34141 No functional changes, covered by existing tests. 34142 34143 * dom/EventDispatcher.cpp: 34144 (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent. 34145 (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods 34146 into one, now that simulated-click events don't need one. 34147 * dom/EventDispatcher.h: Updated decls. 34148 * dom/MouseEvent.cpp: 34149 (WebCore::SimulatedMouseEvent::create): Added. 34150 (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added. 34151 (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added. 34152 * dom/MouseEvent.h: Made constructor protected. 34153 34154 2011-03-29 Anders Carlsson <andersca (a] apple.com> 34155 34156 Fix build. 34157 34158 * WebCore.exp.in: 34159 34160 2011-03-29 Steve Block <steveblock (a] google.com> 34161 34162 Reviewed by Jeremy Orlow. 34163 34164 JavaInstance should not use jvalue in its API 34165 https://bugs.webkit.org/show_bug.cgi?id=57019 34166 34167 This change updates JavaInstance for V8 to use JavaValue, rather than 34168 jvalue, in its API. This will allow us to create an API for 34169 JavaInstance that is independent of JNI, to allow it to be 34170 implemented on platforms that do not use JNI directly. 34171 34172 Refactoring only, no new tests. 34173 34174 * bridge/jni/v8/JavaInstanceV8.cpp: 34175 (JavaInstance::invokeMethod): 34176 (JavaInstance::getField): 34177 * bridge/jni/v8/JavaInstanceV8.h: 34178 * bridge/jni/v8/JavaNPObjectV8.cpp: 34179 (JSC::Bindings::JavaNPObjectInvoke): 34180 (JSC::Bindings::JavaNPObjectGetProperty): 34181 * bridge/jni/v8/JavaValueV8.h: 34182 34183 2011-03-29 Eric Seidel <eric (a] webkit.org> 34184 34185 Reviewed by Dimitri Glazkov. 34186 34187 Rename BidiResolver::last to m_last to match modern style 34188 https://bugs.webkit.org/show_bug.cgi?id=57367 34189 34190 * platform/text/BidiResolver.h: 34191 (WebCore::::lowerExplicitEmbeddingLevel): 34192 (WebCore::::raiseExplicitEmbeddingLevel): 34193 (WebCore::::createBidiRunsForLine): 34194 34195 2011-03-29 Justin Schuh <jschuh (a] chromium.org> 34196 34197 Reviewed by Maciej Stachowiak. 34198 34199 SVGComponentTransferFunctionElement should validate type 34200 https://bugs.webkit.org/show_bug.cgi?id=56960 34201 34202 Test: svg/filters/feComponentTransfer-style-crash.xhtml 34203 34204 * svg/SVGComponentTransferFunctionElement.cpp: 34205 (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged): 34206 * svg/SVGComponentTransferFunctionElement.h: 34207 34208 2011-03-29 Thomas Klausner <tk (a] giga.or.at> 34209 34210 Reviewed by David Levin. 34211 34212 png-1.5 fixes 34213 https://bugs.webkit.org/show_bug.cgi?id=54406 34214 34215 Fix compilation with png-1.5: struct members were hidden, and 34216 a new API to terminate data processing was added (especially for 34217 WebKit). 34218 34219 Compilation fixes, so no new tests. 34220 34221 * platform/image-decoders/png/PNGImageDecoder.cpp: 34222 (WebCore::PNGImageDecoder::headerAvailable): 34223 (WebCore::PNGImageDecoder::rowAvailable): 34224 34225 2011-03-29 Gavin Peters <gavinp (a] chromium.org> 34226 34227 Reviewed by Tony Gentilcore. 34228 34229 Add beforeload to icon and prefetch link rel types 34230 https://bugs.webkit.org/show_bug.cgi?id=56424 34231 34232 Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev 34233 thread, I've discussed my hopes for the link element, and adding the link header. This 34234 change helps improve the link header by making it participate in the beforeload event in 34235 two more important cases. 34236 34237 Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html 34238 http/tests/misc/link-rel-icon-beforeload.html 34239 webarchive/test-link-rel-icon-beforeload.html 34240 34241 * html/HTMLLinkElement.cpp: 34242 (WebCore::HTMLLinkElement::checkBeforeLoadEvent): 34243 (WebCore::HTMLLinkElement::process): 34244 * html/HTMLLinkElement.h: 34245 34246 2011-03-29 Eric Seidel <eric (a] webkit.org> 34247 34248 Reviewed by Dimitri Glazkov. 34249 34250 Rename BidiResolver::current to BidiResolver::m_current to match modern style 34251 https://bugs.webkit.org/show_bug.cgi?id=57363 34252 34253 I was very confused by current until I realized it was a member variable. 34254 I also did m_reachedEndOfLine since that was small. 34255 34256 * platform/text/BidiResolver.h: 34257 (WebCore::BidiResolver::position): 34258 (WebCore::BidiResolver::setPosition): 34259 (WebCore::BidiResolver::increment): 34260 (WebCore::::createBidiRunsForLine): 34261 34262 2011-03-29 Geoff Pike <gpike (a] chromium.org> 34263 34264 Reviewed by Dimitri Glazkov. 34265 34266 In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> > 34267 lazily. In my informal testing it seems to be used hardly at all, so 34268 it's wasteful to create it eagerly. Initializing a ListHashSet 34269 is expensive because a ListHashSet initially has space for 256 34270 elements, and that space is memset to 0. 34271 34272 This change should improve performance but have no impact on 34273 correctness. On x86-64, for example, the change cuts the 34274 cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved() 34275 from ~1700 cycles to ~300 cycles. 34276 34277 * rendering/HitTestResult.cpp: 34278 (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0 34279 (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0 34280 (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult 34281 (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0 34282 * rendering/HitTestResult.h: 34283 (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability. Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same. Modify rectBasedTestResult() and add mutableRectBasedTestResult(). 34284 34285 2011-03-29 Timothy Hatcher <timothy (a] apple.com> 34286 34287 Update the order of the context menu to better match AppKit on Mac. 34288 34289 <rdar://problem/9054893> 34290 34291 Reviewed by John Sullivan. 34292 34293 * English.lproj/Localizable.strings: Updated. 34294 * page/ContextMenuController.cpp: 34295 (WebCore::ContextMenuController::populate): Update the order of items on Mac. 34296 * platform/LocalizationStrategy.h: 34297 * platform/LocalizedStrings.cpp: 34298 (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string. 34299 * platform/LocalizedStrings.h: 34300 * platform/android/LocalizedStringsAndroid.cpp: 34301 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34302 * platform/brew/LocalizedStringsBrew.cpp: 34303 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34304 * platform/efl/LocalizedStringsEfl.cpp: 34305 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34306 * platform/gtk/LocalizedStringsGtk.cpp: 34307 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34308 * platform/haiku/LocalizedStringsHaiku.cpp: 34309 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34310 * platform/wx/LocalizedStringsWx.cpp: 34311 (WebCore::contextMenuItemTagLookUpInDictionary): Ditto. 34312 34313 2011-03-29 Dean Jackson <dino (a] apple.com> 34314 34315 Reviewed by Chris Marrin and Ken Russell. 34316 34317 https://bugs.webkit.org/show_bug.cgi?id=57248 34318 Occlusion issues with WebGL in Safari 34319 34320 The depth buffer on Safari ports was being set up with a 34321 maximum of 16 bits. Now we use a combined 24/8 depth/stencil 34322 buffer on Mac ports. 34323 34324 No new tests as this is the setting for a particular port. Other 34325 ports may use different defaults. 34326 34327 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 34328 (WebCore::GraphicsContext3D::validateAttributes): 34329 - use Extensions3D to test for depth and multisample extensions 34330 rather than querying OpenGL directly. 34331 (WebCore::GraphicsContext3D::reshape): 34332 - use a 24bit depth buffer when the extension is enabled. 34333 34334 2011-03-29 Dimitri Glazkov <dglazkov (a] chromium.org> 34335 34336 Sorted XCode project. It's gotten quite out of sorts. 34337 34338 * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file. 34339 34340 2011-03-29 Emil A Eklund <eae (a] chromium.org> 34341 34342 Reviewed by Dimitri Glazkov. 34343 34344 DatasetDOMStringMap::item and ::contains copies attribute name string 34345 https://bugs.webkit.org/show_bug.cgi?id=55645 34346 34347 Change propertyNameMatchesAttributeName to match without creating a copy 34348 of the string. 34349 34350 * dom/DatasetDOMStringMap.cpp: 34351 (WebCore::propertyNameMatchesAttributeName): 34352 34353 2011-03-29 Csaba Osztrogonc <ossy (a] webkit.org> 34354 34355 Unreviewed rollout r82282, part of r82288, r82298. 34356 34357 * css/CSSParser.cpp: 34358 (WebCore::parseColorInt): 34359 (WebCore::isValidDouble): 34360 (WebCore::parseAlphaValue): 34361 (WebCore::CSSParser::parseColor): 34362 34363 2011-03-25 Brent Fulgham <bfulgham (a] webkit.org> 34364 34365 Reviewed by Dave Hyatt. 34366 34367 https://bugs.webkit.org/show_bug.cgi?id=55981 34368 Second round of clean-ups, aimed at supporting GTK with the 34369 same unified FontPlatformData header. This version removes 34370 some unneeded WinCairo code, and aligns the WinCairo and 34371 GTK ports to reduce code duplication. 34372 34373 * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference 34374 to an old WinCairo file. 34375 * platform/graphics/FontPlatformData.h: Remove unneeded member 34376 for m_fontFace, which is a member of m_scaledFont. Switch to 34377 standard Cairo hashing. 34378 (WebCore::FontPlatformData::FontPlatformData): 34379 (WebCore::FontPlatformData::font): 34380 (WebCore::FontPlatformData::scaledFont): 34381 (WebCore::FontPlatformData::hash): 34382 (WebCore::FontPlatformData::isHashTableDeletedValue): 34383 (WebCore::FontPlatformData::hashTableDeletedFontValue): 34384 * platform/graphics/win/FontCacheWin.cpp: Update to no longer use 34385 the unnecessary fontFace() accessor. 34386 (WebCore::FontCache::createFontPlatformData): 34387 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: 34388 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 34389 (WebCore::FontPlatformData::platformDataInit): 34390 (WebCore::FontPlatformData::FontPlatformData): 34391 (WebCore::FontPlatformData::~FontPlatformData): 34392 (WebCore::FontPlatformData::platformDataAssign): 34393 (WebCore::FontPlatformData::platformIsEqual): 34394 * platform/graphics/win/FontPlatformDataWin.cpp: 34395 (WebCore::FontPlatformData::FontPlatformData): 34396 34397 2011-03-29 Jian Li <jianli (a] chromium.org> 34398 34399 Reviewed by Adam Barth. 34400 34401 Inline worker powered by blob URL does not work with files URL even if 34402 allowFileAccessFromFileURLs is enabled 34403 https://bugs.webkit.org/show_bug.cgi?id=56063 34404 34405 Test: fast/files/workers/inline-worker-via-blob-url.html 34406 34407 * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method. 34408 * fileapi/BlobURL.h: Removed unneeded getOrigin() method. 34409 * page/SecurityOrigin.cpp: 34410 (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle 34411 filesystem URL also to blob URL. Also fixed the problem that m_isUnique 34412 is incorrectly set for blob and filesystem URLs. 34413 (WebCore::SecurityOrigin::create): Removed the special logic for blob URL 34414 since we use the same logic in SecurityOrigin constructor as filesystem 34415 URL. 34416 (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob 34417 URL since it is not needed with the fix in SecurityOrigin constructor. 34418 34419 2011-03-29 Timothy Hatcher <timothy (a] apple.com> 34420 34421 Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings. 34422 34423 https://webkit.org/b/57354 34424 34425 Reviewed by Sam Weinig. 34426 34427 * English.lproj/Localizable.strings: Updated. 34428 * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore. 34429 * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so 34430 extract-localizable-strings does not complain about unbalanced single quotes. 34431 34432 2011-03-29 Sheriff Bot <webkit.review.bot (a] gmail.com> 34433 34434 Unreviewed, rolling out r82295 and r82300. 34435 http://trac.webkit.org/changeset/82295 34436 http://trac.webkit.org/changeset/82300 34437 https://bugs.webkit.org/show_bug.cgi?id=57380 34438 34439 This patch breaks compile on Chromium (Requested by 34440 abarth|gardener on #webkit). 34441 34442 * accessibility/AccessibilityObject.h: 34443 * accessibility/AccessibilityRenderObject.cpp: 34444 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 34445 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 34446 (atkRole): 34447 (webkit_accessible_get_role): 34448 * accessibility/mac/AccessibilityObjectWrapper.mm: 34449 34450 2011-03-29 Anders Carlsson <andersca (a] apple.com> 34451 34452 Fix clang build. 34453 34454 * platform/text/BidiResolver.h: 34455 (WebCore::::createBidiRunsForLine): 34456 34457 2011-03-29 Steve Falkenburg <sfalken (a] apple.com> 34458 34459 Reviewed by Adam Roben. 34460 34461 Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE 34462 https://bugs.webkit.org/show_bug.cgi?id=57378 34463 34464 Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from 34465 InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within 34466 the IDE. To avoid this, add a separate vsprops file for each project configuration that 34467 contains the required inherited property sheets. 34468 34469 * WebCore.vcproj/QTMovieWin.vcproj: 34470 * WebCore.vcproj/QTMovieWinDebug.vsprops: Added. 34471 * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added. 34472 * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added. 34473 * WebCore.vcproj/QTMovieWinRelease.vsprops: Added. 34474 * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added. 34475 * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added. 34476 * WebCore.vcproj/WebCore.vcproj: 34477 * WebCore.vcproj/WebCoreDebug.vsprops: Added. 34478 * WebCore.vcproj/WebCoreDebugAll.vsprops: Added. 34479 * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added. 34480 * WebCore.vcproj/WebCoreRelease.vsprops: Added. 34481 * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added. 34482 * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added. 34483 34484 2011-03-29 David Hyatt <hyatt (a] apple.com> 34485 34486 Reviewed by Simon Fraser. 34487 34488 <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly 34489 34490 Back out the optimization that stopped when it hit the first float. This was an incorrect optimization 34491 and can't be done without more work. 34492 34493 Added fast/block/float/float-forced-below-other-floats.html 34494 34495 * rendering/RenderBlock.cpp: 34496 (WebCore::RenderBlock::logicalLeftOffsetForLine): 34497 (WebCore::RenderBlock::logicalRightOffsetForLine): 34498 34499 2011-03-29 Eric Seidel <eric (a] webkit.org> 34500 34501 Reviewed by Ryosuke Niwa. 34502 34503 Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it 34504 https://bugs.webkit.org/show_bug.cgi?id=57338 34505 34506 I'm attempting to break createBidiRunsForLine into understandable pieces 34507 so that we can tell what it's actually doing. Our implementation of the 34508 unicode bidi algorithm is slightly different from the spec in that we 34509 run it per-line (instead of over the entire paragraph at once). This is 34510 great for performance (our implementation is resumable), but it makes 34511 things a bit tricky to understand. Splitting createBidiRunsForLine into 34512 pieces should help make our UBA implementation more readable. 34513 34514 * platform/text/BidiResolver.h: 34515 (WebCore::::updateStatusLastFromCurrentDirection): 34516 (WebCore::::createBidiRunsForLine): 34517 34518 2011-03-29 Mario Sanchez Prada <msanchez (a] igalia.com> 34519 34520 Reviewed by Martin Robinson. 34521 34522 [Gtk] Consistent crash from Google/ARIA combobox click 34523 https://bugs.webkit.org/show_bug.cgi?id=55883 34524 34525 Do not call to firstChild() to avoid entering into infinite loops. 34526 34527 This would happen when current item is a WebCore Group and some of 34528 its children have either role 'option' or 'menuitem'. Other than 34529 that the logic behind that call to firstChild() seems to be no 34530 longer needed so it's safe to remove it. 34531 34532 Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html 34533 34534 * accessibility/gtk/AccessibilityObjectAtk.cpp: 34535 (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): 34536 Remove call to firsChild, which was leading to crashes sometimes. 34537 34538 2011-03-29 Mario Sanchez Prada <msanchez (a] igalia.com> 34539 34540 Reviewed by Chris Fleizach. 34541 34542 AX: GTK: ARIA role is not respected on <p> <label> <div> and <form> 34543 https://bugs.webkit.org/show_bug.cgi?id=47636 34544 34545 Define new roles in WebCore and map them to ATK accordingly. 34546 34547 Test: platform/gtk/accessibility/aria-roles-unignored.html 34548 34549 * accessibility/AccessibilityObject.h: Added new roles to 34550 represent paragraphs, labels, forms and div sections. 34551 * accessibility/AccessibilityRenderObject.cpp: 34552 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 34553 Return ParagraphRole, LabelRole, FormRole and DivRole when needed. 34554 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 34555 (atkRole): Map new WebCore roles to ATK Roles. 34556 (webkit_accessible_get_role): Remove code to define roles for 34557 paragraphs, labels, forms and divs based on node's tag name. 34558 34559 Update mappings for the Mac platform. 34560 34561 * accessibility/mac/AccessibilityObjectWrapper.mm: 34562 (createAccessibilityRoleMap): Add explicit mappings from the new 34563 roles introduced to NSAccessibilityGroupRole. 34564 34565 2011-03-29 Philippe Normand <pnormand (a] igalia.com> 34566 34567 Unreviewed build fix. Remove ASSERT hitting consitently on GTK. 34568 34569 * rendering/InlineIterator.h: 34570 (WebCore::InlineIterator::moveToStartOf): 34571 34572 2011-03-29 Darin Adler <darin (a] apple.com> 34573 34574 Fix some just-introduced build failures. 34575 34576 * WebCore.pro: Correct spelling of filename. 34577 34578 * css/CSSParser.cpp: 34579 (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile 34580 on Leopard. Also renamed one local variabel. 34581 34582 * inspector/InspectorAgent.cpp: 34583 (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning. 34584 (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto. 34585 34586 2011-03-29 Andras Becsi <abecsi (a] webkit.org> 34587 34588 Reviewed by Darin Adler. 34589 34590 CSS: Slow parsing of rgb() with percent values 34591 https://bugs.webkit.org/show_bug.cgi?id=16708 34592 34593 Implement fast-path parsing for percentage color values. 34594 34595 Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html. 34596 34597 * css/CSSParser.cpp: 34598 (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double. 34599 (WebCore::parseDouble): Function for parsing double values if they are valid. 34600 (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values. 34601 (WebCore::parseAlphaValue): Use the new functions. 34602 (WebCore::CSSParser::parseColor): Ditto. 34603 34604 2011-03-29 Ilya Tikhonovsky <loislo (a] chromium.org> 34605 34606 Reviewed by Pavel Feldman. 34607 34608 Web Inspector: extract InspectorPageAgent from InspectorAgent. 34609 https://bugs.webkit.org/show_bug.cgi?id=57327 34610 34611 There are page related methods and inspector related methods in InspectorAgent. 34612 It would be nice to extract page specific methods for future usage the rest of methods in workers debugger. 34613 34614 * GNUmakefile.am: 34615 * WebCore.gypi: 34616 * inspector/CodeGeneratorInspector.pm: 34617 * inspector/Inspector.json: 34618 * inspector/InspectorAgent.cpp: 34619 (WebCore::InspectorAgent::InspectorAgent): 34620 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 34621 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 34622 (WebCore::InspectorAgent::setFrontend): 34623 (WebCore::InspectorAgent::disconnectFrontend): 34624 (WebCore::InspectorAgent::didCommitLoad): 34625 (WebCore::InspectorAgent::domContentLoadedEventFired): 34626 * inspector/InspectorAgent.h: 34627 (WebCore::InspectorAgent::pageAgent): 34628 * inspector/InspectorPageAgent.cpp: Added. 34629 (WebCore::InspectorPageAgent::create): 34630 (WebCore::InspectorPageAgent::InspectorPageAgent): 34631 (WebCore::InspectorPageAgent::setFrontend): 34632 (WebCore::InspectorPageAgent::clearFrontend): 34633 (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad): 34634 (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad): 34635 (WebCore::InspectorPageAgent::reloadPage): 34636 (WebCore::InspectorPageAgent::openInInspectedWindow): 34637 (WebCore::InspectorPageAgent::setUserAgentOverride): 34638 (WebCore::buildObjectForCookie): 34639 (WebCore::buildArrayForCookies): 34640 (WebCore::InspectorPageAgent::getCookies): 34641 (WebCore::InspectorPageAgent::deleteCookie): 34642 (WebCore::InspectorPageAgent::inspectedURLChanged): 34643 (WebCore::InspectorPageAgent::restore): 34644 (WebCore::InspectorPageAgent::didCommitLoad): 34645 (WebCore::InspectorPageAgent::domContentEventFired): 34646 (WebCore::InspectorPageAgent::loadEventFired): 34647 (WebCore::InspectorPageAgent::didClearWindowObjectInWorld): 34648 (WebCore::InspectorPageAgent::applyUserAgentOverride): 34649 * inspector/InspectorPageAgent.h: Added. 34650 * inspector/InspectorController.cpp: 34651 (WebCore::InspectorController::connectFrontend): 34652 * inspector/InspectorInstrumentation.cpp: 34653 (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl): 34654 (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl): 34655 (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl): 34656 (WebCore::InspectorInstrumentation::loadEventFiredImpl): 34657 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 34658 (WebCore::InspectorInstrumentation::retrievePageAgent): 34659 * inspector/InspectorInstrumentation.h: 34660 * inspector/InstrumentingAgents.h: 34661 (WebCore::InstrumentingAgents::InstrumentingAgents): 34662 (WebCore::InstrumentingAgents::inspectorPageAgent): 34663 (WebCore::InstrumentingAgents::setInspectorPageAgent): 34664 * inspector/front-end/AuditsPanel.js: 34665 (WebInspector.AuditsPanel.prototype._reloadResources): 34666 * inspector/front-end/CookieItemsView.js: 34667 (WebInspector.CookieItemsView.prototype._deleteCookie): 34668 (WebInspector.Cookies.getCookiesAsync): 34669 * inspector/front-end/ExtensionServer.js: 34670 (WebInspector.ExtensionServer.prototype._onReload): 34671 * inspector/front-end/NetworkPanel.js: 34672 (WebInspector.NetworkDataGridNode.prototype._openInNewTab): 34673 * inspector/front-end/ResourcesPanel.js: 34674 (WebInspector.FrameResourceTreeElement.prototype.ondblclick): 34675 * inspector/front-end/WorkersSidebarPane.js: 34676 (WebInspector.WorkersSidebarPane.prototype.setInstrumentation): 34677 * inspector/front-end/inspector.js: 34678 (WebInspector.openResource): 34679 (WebInspector.documentKeyDown): 34680 34681 2011-03-29 David Hyatt <hyatt (a] apple.com> 34682 34683 Reviewed by Darin Adler. 34684 34685 https://bugs.webkit.org/show_bug.cgi?id=57276 34686 34687 Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added 34688 to a line, compare it with the parent box. If we can determine that the child box has the exact 34689 same height and baseline position as the parent box, then we keep a boolean flag set called 34690 descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the 34691 flag up the line box parent chain. 34692 34693 When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of 34694 a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we 34695 can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes 34696 without doing anything else. 34697 34698 Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need 34699 to track whether a box has text descendants now as well. When we avoid doing the recursion 34700 this flag tells us whether the collection of boxes should have an effect on the ascent and descent 34701 of the line in quirks mode. 34702 34703 * rendering/InlineFlowBox.cpp: 34704 (WebCore::InlineFlowBox::addToLine): 34705 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 34706 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 34707 (WebCore::InlineFlowBox::nodeAtPoint): 34708 (WebCore::InlineFlowBox::paintBoxDecorations): 34709 (WebCore::InlineFlowBox::paintMask): 34710 * rendering/InlineFlowBox.h: 34711 (WebCore::InlineFlowBox::InlineFlowBox): 34712 (WebCore::InlineFlowBox::hasTextDescendants): 34713 (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline): 34714 (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline): 34715 * rendering/RenderBlock.h: 34716 * rendering/RenderBlockLineLayout.cpp: 34717 (WebCore::RenderBlock::createLineBoxes): 34718 (WebCore::RenderBlock::constructLine): 34719 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 34720 34721 2011-03-29 Eric Seidel <eric (a] webkit.org> 34722 34723 Reviewed by Ryosuke Niwa. 34724 34725 Remove a bunch of duplicate code by adding some InlineIterator helper methods 34726 https://bugs.webkit.org/show_bug.cgi?id=57326 34727 34728 Once I started adding these it became clear how much crazy duplicated code 34729 we had due to treating InlineIterator as a struct and accessing its 34730 members directly. We can't quite make the members private yet since 34731 findNextLineBreak still splits out the members. But this change 34732 makes the code much cleaner. 34733 34734 * rendering/InlineIterator.h: 34735 (WebCore::InlineIterator::clear): 34736 (WebCore::InlineIterator::moveToStartOf):i 34737 (WebCore::InlineIterator::moveTo): 34738 (WebCore::InlineIterator::increment): 34739 * rendering/RenderBlockLineLayout.cpp: 34740 (WebCore::tryHyphenating): 34741 (WebCore::RenderBlock::findNextLineBreak): 34742 34743 2011-03-29 Eric Seidel <eric (a] webkit.org> 34744 34745 Reviewed by Ryosuke Niwa. 34746 34747 Clean up bidiNext by abstracting repeated code 34748 https://bugs.webkit.org/show_bug.cgi?id=57335 34749 34750 I also added a comment to explain what bidiNext is actually doing. 34751 This whole area of code is confusing but need not be. 34752 34753 * rendering/InlineIterator.h: 34754 (WebCore::embedCharFromDirection): 34755 (WebCore::notifyResolverEnteredObject): 34756 (WebCore::notifyResolverWillExitObject): 34757 (WebCore::bidiNext): 34758 (WebCore::bidiFirst): 34759 34760 2011-03-29 Alexander Pavlov <apavlov (a] chromium.org> 34761 34762 Reviewed by Yury Semikhatsky. 34763 34764 Web Inspector: Support external CSS stylesheet freeflow text editing 34765 https://bugs.webkit.org/show_bug.cgi?id=54397 34766 34767 In this implementation, Ctrl/Cmd-S commits the current changes into the model. 34768 34769 * inspector/front-end/ResourceView.js: 34770 (WebInspector.ResourceView.createResourceView): 34771 (WebInspector.CSSSourceFrameDelegateForResourcesPanel): 34772 (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource): 34773 (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource): 34774 (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos): 34775 (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet): 34776 * inspector/front-end/ResourcesPanel.js: 34777 (WebInspector.ResourcesPanel.prototype._applyDiffMarkup): 34778 (WebInspector.FrameResourceTreeElement.prototype._contentChanged): 34779 * inspector/front-end/SourceFrame.js: 34780 (WebInspector.SourceFrame.prototype._createTextViewer): 34781 34782 2011-03-29 Eric Carlson <eric.carlson (a] apple.com> 34783 34784 Reviewed by Dan Bernstein. 34785 34786 playbackRate should not be set to defaultPlaybackRate in play() 34787 https://bugs.webkit.org/show_bug.cgi?id=55943 34788 34789 Test: media/video-playbackrate.html 34790 34791 * html/HTMLMediaElement.cpp: 34792 (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current 34793 rate, we already have the current value cached. 34794 (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to 34795 the default rate. 34796 (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to 34797 the default rate before triggering playback. 34798 * manual-tests/media-default-playback-rate.html: Added. 34799 34800 2011-03-28 Dimitri Glazkov <dglazkov (a] chromium.org> 34801 34802 Reviewed by Eric Seidel. 34803 34804 Remove specialization of EventDispatcher with inversion of control. 34805 https://bugs.webkit.org/show_bug.cgi?id=57285 34806 34807 Since some events have extra logic around their dispatch, allow them 34808 to dispatch themselves and specialize the logic. This change only 34809 converts KeyboardEvent to this model. 34810 34811 No functional change, covered by existing tests. 34812 34813 * dom/Event.cpp: 34814 (WebCore::Event::dispatch): Added. 34815 * dom/Event.h: Updated decls. 34816 * dom/EventDispatcher.cpp: 34817 (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch 34818 itself. 34819 * dom/EventDispatcher.h: Updated decls. 34820 * dom/KeyboardEvent.cpp: 34821 (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher. 34822 * dom/KeyboardEvent.h: Updated decls. 34823 * dom/Node.cpp: 34824 (WebCore::Node::dispatchKeyEvent): Changed to use the new ways. 34825 34826 2011-03-29 Ilya Tikhonovsky <loislo (a] chromium.org> 34827 34828 Reviewed by Yury Semikhatsky. 34829 34830 Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent. 34831 https://bugs.webkit.org/show_bug.cgi?id=57329 34832 34833 * inspector/InspectorAgent.cpp: 34834 (WebCore::InspectorAgent::InspectorAgent): 34835 (WebCore::InspectorAgent::setFrontend): 34836 * inspector/InspectorAgent.h: 34837 * inspector/InspectorController.cpp: 34838 (WebCore::InspectorController::inspect): 34839 * inspector/InspectorDOMAgent.cpp: 34840 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 34841 (WebCore::InspectorDOMAgent::setFrontend): 34842 (WebCore::InspectorDOMAgent::handleMousePress): 34843 (WebCore::InspectorDOMAgent::inspect): 34844 (WebCore::InspectorDOMAgent::focusNode): 34845 (WebCore::InspectorDOMAgent::highlight): 34846 (WebCore::InspectorDOMAgent::hideHighlight): 34847 * inspector/InspectorDOMAgent.h: 34848 (WebCore::InspectorDOMAgent::create): 34849 34850 2011-03-29 Eric Seidel <eric (a] webkit.org> 34851 34852 Reviewed by Nikolas Zimmermann. 34853 34854 Rename InlineIterator::pos to m_pos to match modern style 34855 https://bugs.webkit.org/show_bug.cgi?id=57342 34856 34857 Somehow I failed to upload this one earlier, no wonder later patches didn't apply. 34858 34859 * rendering/InlineIterator.h: 34860 (WebCore::InlineIterator::InlineIterator): 34861 (WebCore::operator==): 34862 (WebCore::operator!=): 34863 (WebCore::InlineIterator::increment): 34864 (WebCore::InlineIterator::current): 34865 (WebCore::InlineBidiResolver::appendRun): 34866 * rendering/RenderBlockLineLayout.cpp: 34867 (WebCore::checkMidpoints): 34868 (WebCore::RenderBlock::appendRunsForObject): 34869 (WebCore::RenderBlock::layoutInlineChildren): 34870 (WebCore::RenderBlock::matchedEndLine): 34871 (WebCore::tryHyphenating): 34872 (WebCore::RenderBlock::findNextLineBreak): 34873 34874 2011-03-29 Pavel Feldman <pfeldman (a] chromium.org> 34875 34876 Reviewed by Yury Semikhatsky. 34877 34878 Web Inspector: document BrowserDebugger agent. 34879 https://bugs.webkit.org/show_bug.cgi?id=57331 34880 34881 * inspector/Inspector.json: 34882 34883 2011-03-29 Alexander Pavlov <apavlov (a] chromium.org> 34884 34885 Reviewed by Pavel Feldman. 34886 34887 Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js 34888 https://bugs.webkit.org/show_bug.cgi?id=56310 34889 34890 Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing 34891 "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned 34892 by CSSAgent.getStyleSheet() anymore. 34893 34894 Test: inspector/styles/get-set-stylesheet-text.html 34895 34896 * inspector/Inspector.json: 34897 * inspector/InspectorCSSAgent.cpp: 34898 (WebCore::InspectorCSSAgent::getAllStyleSheets): 34899 * inspector/InspectorCSSAgent.h: 34900 * inspector/InspectorStyleSheet.cpp: 34901 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): 34902 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): 34903 * inspector/InspectorStyleSheet.h: 34904 * inspector/front-end/AuditRules.js: 34905 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): 34906 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 34907 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 34908 * inspector/front-end/CSSStyleModel.js: 34909 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 34910 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 34911 (WebInspector.CSSStyleModel.prototype._onRevert): 34912 (WebInspector.CSSStyleSheet): 34913 (WebInspector.CSSStyleSheet.prototype.setText): 34914 34915 2011-03-29 Jeremy Moskovich <jeremy (a] chromium.org> 34916 34917 Reviewed by Eric Seidel. 34918 34919 Implement text-align:match-parent as -webkit-match-parent. 34920 https://bugs.webkit.org/show_bug.cgi?id=50951 34921 34922 Add support to the CSS parser. 34923 34924 Tests: fast/css/text-align-webkit-match-parent-parse.html 34925 fast/css/text-align-webkit-match-parent.html 34926 34927 * css/CSSParser.cpp: 34928 (WebCore::CSSParser::parseValue): 34929 * css/CSSStyleSelector.cpp: 34930 (WebCore::CSSStyleSelector::applyProperty): 34931 * css/CSSValueKeywords.in: 34932 34933 2011-03-29 Eric Seidel <eric (a] webkit.org> 34934 34935 Reviewed by Ryosuke Niwa. 34936 34937 Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style 34938 https://bugs.webkit.org/show_bug.cgi?id=57323 34939 34940 All of these m_nextBreakablePosition = -1 could probably be replaced with 34941 some new methods. But I'll do that in a separate change. Clearly 34942 m_nextBreakablePosition is just a cached value which should be cleared 34943 at the right times. I suspect we may even fail to clear it sometimes when 34944 we should due to the current used of direct access instead of smarter functions. 34945 34946 * rendering/InlineIterator.h: 34947 (WebCore::InlineIterator::InlineIterator): 34948 (WebCore::InlineIterator::increment): 34949 * rendering/RenderBlockLineLayout.cpp: 34950 (WebCore::tryHyphenating): 34951 (WebCore::RenderBlock::findNextLineBreak): 34952 34953 2011-03-29 Jeff Miller <jeffm (a] apple.com> 34954 34955 Reviewed by Jon Honeycutt. 34956 34957 Add WebCore::copyCertificateToData() on Windows 34958 https://bugs.webkit.org/show_bug.cgi?id=57296 34959 34960 Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it. 34961 34962 * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h. 34963 * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\. 34964 * platform/cf/win: Added. 34965 * platform/cf/win/CertificateCFWin.cpp: Added. 34966 (WebCore::deallocCertContext): Added. 34967 (WebCore::createCertContextDeallocator): Added. 34968 (WebCore::copyCertificateToData): Added. 34969 * platform/cf/win/CertificateCFWin.h: Added. 34970 34971 2011-03-29 Eric Seidel <eric (a] webkit.org> 34972 34973 Reviewed by Ryosuke Niwa. 34974 34975 Rename InlineIterator::block to m_block to match modern style 34976 https://bugs.webkit.org/show_bug.cgi?id=57321 34977 34978 I could have made m_block private, since it's only accessed in 34979 one place outside of InlineIterator (for an ASSERT). But I chose 34980 not to do so in this change. 34981 34982 * rendering/InlineIterator.h: 34983 (WebCore::InlineIterator::InlineIterator): 34984 (WebCore::InlineIterator::increment): 34985 (WebCore::InlineBidiResolver::appendRun): 34986 * rendering/RenderBlockLineLayout.cpp: 34987 (WebCore::RenderBlock::findNextLineBreak): 34988 34989 2011-03-29 Leo Yang <leo.yang (a] torchmobile.com.cn> 34990 34991 Reviewed by Nikolas Zimmermann. 34992 34993 Incorrect offset of svg <use> element which is in <symbol> element 34994 https://bugs.webkit.org/show_bug.cgi?id=57318 34995 34996 When webkit expanded a svg <symbol> element in the shadow tree it 34997 would clone the children of the <symbol>. The children may contain 34998 SVGShadowTreeContainerElement which was expanded from svg <use> 34999 element. But the clone operation would clone a 35000 SVGShadowTreeContainerElement as a svg <g> element. This resulted 35001 that updateContainerOffset wouldn't update offset for those elements 35002 which were expand from <use> elements. 35003 35004 This patch implements cloneElementWithoutAttributesAndChildren for 35005 SVGShadowTreeContainerElement to make the container clone itself 35006 correctly. 35007 35008 Test: svg/custom/use-in-symbol-with-offset.svg 35009 35010 * rendering/svg/SVGShadowTreeElements.cpp: 35011 (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren): 35012 * rendering/svg/SVGShadowTreeElements.h: 35013 35014 2011-03-29 Eric Seidel <eric (a] webkit.org> 35015 35016 Reviewed by Ryosuke Niwa. 35017 35018 Rename InlineIterator::obj to m_obj to match modern style 35019 https://bugs.webkit.org/show_bug.cgi?id=57319 35020 35021 I started this rename after confusion in InlineBidiResolver::appendRun. 35022 (Which uses an "obj" local in InlineIterator.h. It's not actually 35023 masking m_obj because it's a separate class, but I didn't realize 35024 that at the time because it's in InlineIterator.h which is itself confusing!) 35025 35026 * rendering/InlineIterator.h: 35027 (WebCore::InlineIterator::InlineIterator): 35028 (WebCore::operator==): 35029 (WebCore::operator!=): 35030 (WebCore::InlineIterator::increment): 35031 (WebCore::InlineIterator::atEnd): 35032 (WebCore::InlineIterator::current): 35033 (WebCore::InlineIterator::direction): 35034 (WebCore::InlineBidiResolver::appendRun): 35035 * rendering/RenderBlockLineLayout.cpp: 35036 (WebCore::checkMidpoints): 35037 (WebCore::RenderBlock::appendRunsForObject): 35038 (WebCore::RenderBlock::layoutInlineChildren): 35039 (WebCore::RenderBlock::matchedEndLine): 35040 (WebCore::skipNonBreakingSpace): 35041 (WebCore::RenderBlock::requiresLineBox): 35042 (WebCore::RenderBlock::skipTrailingWhitespace): 35043 (WebCore::RenderBlock::skipLeadingWhitespace): 35044 (WebCore::tryHyphenating): 35045 (WebCore::RenderBlock::findNextLineBreak): 35046 35047 2011-03-29 Pavel Feldman <pfeldman (a] chromium.org> 35048 35049 Reviewed by Yury Semikhatsky. 35050 35051 Web Inspector: document Timeline domain, make timeline event types of type string. 35052 https://bugs.webkit.org/show_bug.cgi?id=57299 35053 35054 * inspector/Inspector.json: 35055 * inspector/InspectorTimelineAgent.cpp: 35056 (WebCore::InspectorTimelineAgent::pushGCEventRecords): 35057 (WebCore::InspectorTimelineAgent::start): 35058 (WebCore::InspectorTimelineAgent::stop): 35059 (WebCore::InspectorTimelineAgent::willCallFunction): 35060 (WebCore::InspectorTimelineAgent::didCallFunction): 35061 (WebCore::InspectorTimelineAgent::willDispatchEvent): 35062 (WebCore::InspectorTimelineAgent::didDispatchEvent): 35063 (WebCore::InspectorTimelineAgent::willLayout): 35064 (WebCore::InspectorTimelineAgent::didLayout): 35065 (WebCore::InspectorTimelineAgent::willRecalculateStyle): 35066 (WebCore::InspectorTimelineAgent::didRecalculateStyle): 35067 (WebCore::InspectorTimelineAgent::willPaint): 35068 (WebCore::InspectorTimelineAgent::didPaint): 35069 (WebCore::InspectorTimelineAgent::willWriteHTML): 35070 (WebCore::InspectorTimelineAgent::didWriteHTML): 35071 (WebCore::InspectorTimelineAgent::didInstallTimer): 35072 (WebCore::InspectorTimelineAgent::didRemoveTimer): 35073 (WebCore::InspectorTimelineAgent::willFireTimer): 35074 (WebCore::InspectorTimelineAgent::didFireTimer): 35075 (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): 35076 (WebCore::InspectorTimelineAgent::didChangeXHRReadyState): 35077 (WebCore::InspectorTimelineAgent::willLoadXHR): 35078 (WebCore::InspectorTimelineAgent::didLoadXHR): 35079 (WebCore::InspectorTimelineAgent::willEvaluateScript): 35080 (WebCore::InspectorTimelineAgent::didEvaluateScript): 35081 (WebCore::InspectorTimelineAgent::didScheduleResourceRequest): 35082 (WebCore::InspectorTimelineAgent::willSendResourceRequest): 35083 (WebCore::InspectorTimelineAgent::willReceiveResourceData): 35084 (WebCore::InspectorTimelineAgent::didReceiveResourceData): 35085 (WebCore::InspectorTimelineAgent::willReceiveResourceResponse): 35086 (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): 35087 (WebCore::InspectorTimelineAgent::didFinishLoadingResource): 35088 (WebCore::InspectorTimelineAgent::didMarkTimeline): 35089 (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent): 35090 (WebCore::InspectorTimelineAgent::didMarkLoadEvent): 35091 (WebCore::InspectorTimelineAgent::addRecordToTimeline): 35092 (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): 35093 (WebCore::InspectorTimelineAgent::pushCurrentRecord): 35094 * inspector/InspectorTimelineAgent.h: 35095 (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry): 35096 * inspector/front-end/TimelineAgent.js: 35097 * inspector/front-end/TimelinePanel.js: 35098 (WebInspector.TimelinePanel.prototype.get _recordStyles): 35099 (WebInspector.TimelinePanel.prototype._createEventDivider): 35100 (WebInspector.TimelinePanel.prototype._findParentRecord): 35101 (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline): 35102 (WebInspector.TimelineDispatcher.prototype.started): 35103 (WebInspector.TimelineDispatcher.prototype.stopped): 35104 (WebInspector.TimelineDispatcher.prototype.eventRecorded): 35105 (WebInspector.TimelinePanel.FormattedRecord): 35106 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 35107 (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails): 35108 35109 2011-03-29 Andrey Adaikin <aandrey (a] google.com> 35110 35111 Reviewed by Pavel Feldman. 35112 35113 Web Inspector: Fixing live edits tests on chromium. 35114 https://bugs.webkit.org/show_bug.cgi?id=57316 35115 35116 * inspector/front-end/ScriptsPanel.js: 35117 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): 35118 * inspector/front-end/SourceFrame.js: 35119 (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource): 35120 (WebInspector.SourceFrame.prototype._handleSave): 35121 (WebInspector.SourceFrameDelegate.prototype.editScriptSource): 35122 35123 2011-03-29 Pavel Podivilov <podivilov (a] chromium.org> 35124 35125 Reviewed by Yury Semikhatsky. 35126 35127 Web Inspector: fix call frames positions in formatted scripts. 35128 https://bugs.webkit.org/show_bug.cgi?id=57036 35129 35130 Introduce PresentationCallFrame class that encapsulates source mapping details from UI components. 35131 35132 * inspector/front-end/CallStackSidebarPane.js: 35133 (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation): 35134 (WebInspector.CallStackSidebarPane.prototype.update): 35135 (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame): 35136 (WebInspector.CallStackSidebarPane.prototype._placardSelected): 35137 (WebInspector.CallStackSidebarPane.prototype._contextMenu): 35138 (WebInspector.CallStackSidebarPane.prototype._copyStackTrace): 35139 * inspector/front-end/DebuggerModel.js: 35140 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 35141 (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails): 35142 (WebInspector.DebuggerModel.prototype._pausedScript): 35143 * inspector/front-end/DebuggerPresentationModel.js: 35144 (WebInspector.DebuggerPresentationModel): 35145 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): 35146 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): 35147 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 35148 (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused): 35149 (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed): 35150 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 35151 (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame): 35152 (WebInspector.DebuggerPresentationModel.prototype._reset): 35153 (WebInspector.PresenationCallFrame): Call frame wrapper for UI. 35154 * inspector/front-end/ScriptsPanel.js: 35155 (WebInspector.ScriptsPanel): 35156 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 35157 (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation): 35158 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 35159 (WebInspector.ScriptsPanel.prototype._debuggerResumed): 35160 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): 35161 (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation): 35162 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 35163 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame): 35164 * inspector/front-end/SourceFile.js: 35165 (WebInspector.SourceFile.prototype.get content): 35166 * inspector/front-end/SourceFrame.js: 35167 (WebInspector.SourceFrame.prototype._createTextViewer): 35168 (WebInspector.SourceFrame.prototype.setExecutionLine): 35169 (WebInspector.SourceFrame.prototype.clearExecutionLine): 35170 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 35171 (WebInspector.SourceFrame.prototype._showPopup): 35172 35173 2011-03-29 Emil A Eklund <eae (a] chromium.org> 35174 35175 Reviewed by Darin Adler. 35176 35177 Fix for execCommand("Delete") with an empty selection. 35178 https://bugs.webkit.org/show_bug.cgi?id=56652 35179 35180 Test: editing/execCommand/delete-empty-container.html 35181 35182 * editing/TypingCommand.cpp: 35183 (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element. 35184 35185 2011-03-29 Mikhail Naganov <mnaganov (a] chromium.org> 35186 35187 Reviewed by Pavel Feldman. 35188 35189 Web Inspector: [Chromium] Refactor HeapSnapshot-related code to 35190 make sure we don't return big amounts of data to forms. 35191 https://bugs.webkit.org/show_bug.cgi?id=57227 35192 35193 * inspector/front-end/DetailedHeapshotGridNodes.js: 35194 (WebInspector.HeapSnapshotGridNode.prototype.populateChildren): 35195 (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent): 35196 (WebInspector.HeapSnapshotObjectNode): 35197 (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): 35198 (WebInspector.HeapSnapshotInstanceNode): 35199 (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): 35200 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): 35201 (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent): 35202 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 35203 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 35204 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): 35205 * inspector/front-end/DetailedHeapshotView.js: 35206 (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource): 35207 (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource): 35208 * inspector/front-end/HeapSnapshot.js: 35209 (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex): 35210 (WebInspector.HeapSnapshotNode.prototype.get retainers): 35211 (WebInspector.HeapSnapshot): 35212 (WebInspector.HeapSnapshot.prototype.get _allNodes): 35213 (WebInspector.HeapSnapshot.prototype.get nodeCount): 35214 (WebInspector.HeapSnapshot.prototype.get rootNodeIndex): 35215 (WebInspector.HeapSnapshot.prototype.hasId): 35216 (WebInspector.HeapSnapshot.prototype.get nodeIds): 35217 (WebInspector.HeapSnapshot.prototype._retainersForNode): 35218 (WebInspector.HeapSnapshot.prototype._buildRetainers): 35219 (WebInspector.HeapSnapshot.prototype._buildAggregates): 35220 (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes): 35221 (WebInspector.HeapSnapshot.prototype._buildIdsList): 35222 (WebInspector.HeapSnapshot.prototype._buildNodeIndex): 35223 (WebInspector.HeapSnapshotFilteredOrderedIterator): 35224 (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next): 35225 (WebInspector.HeapSnapshotEdgesProvider): 35226 (WebInspector.HeapSnapshotNodesProvider): 35227 35228 2011-03-29 Mikhail Naganov <mnaganov (a] chromium.org> 35229 35230 Reviewed by Pavel Feldman. 35231 35232 Web Inspector: [Chromium] Fix detailed heap snapshots UI. 35233 https://bugs.webkit.org/show_bug.cgi?id=57235 35234 35235 Fix two problems: 35236 1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors; 35237 2. Long strings need to be truncated in grid, their contents can be shown on hover. 35238 35239 * inspector/front-end/DetailedHeapshotView.js: 35240 (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor): 35241 (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup): 35242 * inspector/front-end/heapProfiler.css: 35243 (.detailed-heapshot-view .console-formatted-string): 35244 (.detailed-heapshot-view .data-grid tr.selected *): 35245 (.detailed-heapshot-view .data-grid:focus tr.selected *): 35246 35247 2011-03-29 Andrey Adaikin <aandrey (a] google.com> 35248 35249 Reviewed by Yury Semikhatsky. 35250 35251 Web Inspector: Highlight visible lines first 35252 https://bugs.webkit.org/show_bug.cgi?id=57013 35253 35254 * inspector/front-end/TextViewer.js: 35255 (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber): 35256 (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks): 35257 (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops): 35258 (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber): 35259 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): 35260 (WebInspector.TextEditorMainPanel.prototype._paintLines): 35261 (WebInspector.TextEditorMainPanel.prototype._paintLineChunks): 35262 (WebInspector.TextEditorMainPanel.prototype._paintLine): 35263 (WebInspector.TextEditorMainChunk.prototype.set expanded): 35264 35265 2011-03-29 Emil A Eklund <eae (a] chromium.org> 35266 35267 Reviewed by Dimitri Glazkov. 35268 35269 Relative mouse coordinates recalculated for each target 35270 https://bugs.webkit.org/show_bug.cgi?id=57130 35271 35272 Calculate relative coordinates lazily for mouse events instead of doing 35273 it for each target. Speeds up dispatching of mouse events in deep dom 35274 structures significantly, O(n^2) to O(n). 35275 35276 Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973 35277 35278 Tests: fast/events/mouse-relative-position.html 35279 perf/mouse-event.html 35280 35281 * dom/Event.cpp: 35282 (WebCore::Event::setTarget): 35283 * dom/MouseRelatedEvent.cpp: 35284 (WebCore::MouseRelatedEvent::MouseRelatedEvent): 35285 (WebCore::MouseRelatedEvent::initCoordinates): 35286 (WebCore::pageZoomFactor): 35287 (WebCore::MouseRelatedEvent::receivedTarget): 35288 (WebCore::MouseRelatedEvent::computeRelativePosition): 35289 (WebCore::MouseRelatedEvent::layerX): 35290 (WebCore::MouseRelatedEvent::layerY): 35291 (WebCore::MouseRelatedEvent::offsetX): 35292 (WebCore::MouseRelatedEvent::offsetY): 35293 * dom/MouseRelatedEvent.h: 35294 * dom/UIEvent.cpp: 35295 (WebCore::UIEvent::layerX): 35296 (WebCore::UIEvent::layerY): 35297 * dom/UIEvent.h: 35298 35299 2011-03-29 Emil A Eklund <eae (a] chromium.org> 35300 35301 Reviewed by Darin Adler. 35302 35303 getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue 35304 https://bugs.webkit.org/show_bug.cgi?id=57266 35305 35306 Add null check to counterToCSSValue. 35307 35308 Test: fast/css/getComputedStyle/counterIncrement-without-counter.html 35309 35310 * css/CSSComputedStyleDeclaration.cpp: 35311 (WebCore::counterToCSSValue): 35312 35313 2011-03-29 Gavin Peters <gavinp (a] chromium.org> 35314 35315 Reviewed by Tony Gentilcore. 35316 35317 Implement onerror events for <link rel=prefetch> 35318 https://bugs.webkit.org/show_bug.cgi?id=57182 35319 35320 These events are equired on link elements, see 35321 http://dev.w3.org/html5/spec/Overview.html#the-link-element 35322 35323 After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path 35324 to adding the Link header, we decided to look at making onerror, onload and onbeforeload events 35325 more uniformly supported. See the thread at 35326 https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html . 35327 35328 It turned out that part of adding onerror for link prefetch was to make the top CachedResource less 35329 abstract. It was pure virtual until prefetch became the first consumer to use an unspecialised 35330 implementation, and this CL continues that by adding a default checkNotify method to it. As it 35331 happens there were already two subclasses using what amounted to the generic checkNotify, so I 35332 also removed those, buying us some code cleanup with the change. 35333 35334 Test: fast/dom/HTMLLinkElement/prefetch-onerror.html 35335 35336 * html/HTMLLinkElement.cpp: 35337 (WebCore::HTMLLinkElement::parseMappedAttribute): 35338 (WebCore::HTMLLinkElement::onloadTimerFired): 35339 (WebCore::HTMLLinkElement::notifyFinished): 35340 * loader/cache/CachedImage.cpp: 35341 * loader/cache/CachedImage.h: 35342 * loader/cache/CachedResource.cpp: 35343 (WebCore::CachedResource::checkNotify): 35344 (WebCore::CachedResource::data): 35345 (WebCore::CachedResource::error): 35346 * loader/cache/CachedResource.h: 35347 * loader/cache/CachedScript.cpp: 35348 * loader/cache/CachedScript.h: 35349 35350 2011-03-29 Eric Seidel <eric (a] webkit.org> 35351 35352 Reviewed by Ryosuke Niwa. 35353 35354 Add support for parsing unicode-bidi: -webkit-isolate 35355 https://bugs.webkit.org/show_bug.cgi?id=57181 35356 35357 Test: css3/unicode-bidi-insolate-parse.html 35358 35359 * WebCore.xcodeproj/project.pbxproj: 35360 * css/CSSParser.cpp: 35361 (WebCore::CSSParser::parseValue): 35362 * css/CSSPrimitiveValueMappings.h: 35363 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 35364 (WebCore::CSSPrimitiveValue::operator EUnicodeBidi): 35365 * css/CSSValueKeywords.in: 35366 * rendering/style/RenderStyleConstants.h: 35367 35368 2011-03-29 Patrick Gansterer <paroga (a] webkit.org> 35369 35370 Unreviewed WinCE build fix for r82193. 35371 35372 * platform/wince/FileSystemWinCE.cpp: 35373 (WebCore::openTemporaryFile): 35374 35375 2011-03-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 35376 35377 Unreviewed, rolling out r82198. 35378 http://trac.webkit.org/changeset/82198 35379 https://bugs.webkit.org/show_bug.cgi?id=57304 35380 35381 Broke Chromium Win build. (Requested by dave_levin on 35382 #webkit). 35383 35384 * platform/image-decoders/png/PNGImageDecoder.cpp: 35385 (WebCore::PNGImageDecoder::headerAvailable): 35386 (WebCore::PNGImageDecoder::rowAvailable): 35387 35388 2011-03-28 Ofri Wolfus <ofri (a] google.com> 35389 35390 Reviewed by Eric Seidel. 35391 35392 RTL: Select elements with a size attribute are always left aligned. 35393 https://bugs.webkit.org/show_bug.cgi?id=50928 35394 35395 Added support for alignment in RenderListBox. 35396 35397 Test: fast/forms/listbox-bidi-align.html 35398 35399 * rendering/RenderListBox.cpp: 35400 (WebCore::itemOffsetForAlignment): 35401 (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality. 35402 35403 2011-03-28 Kwang Yul Seo <skyul (a] company100.net> 35404 35405 Reviewed by Benjamin Poulain. 35406 35407 [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer 35408 https://bugs.webkit.org/show_bug.cgi?id=57142 35409 35410 TextureMapperMediaLayer is a better name here because both video and plugins use this layer. 35411 Remove ENABLE(VIDEO) guard. 35412 35413 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 35414 * platform/graphics/qt/MediaPlayerPrivateQt.h: 35415 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: 35416 (WebCore::GraphicsLayerTextureMapper::setContentsToMedia): 35417 * platform/graphics/texmap/TextureMapperNode.h: 35418 * platform/graphics/texmap/TextureMapperPlatformLayer.h: 35419 (WebCore::TextureMapperMediaLayer::layerType): 35420 35421 2011-03-28 Thomas Klausner <tk (a] giga.or.at> 35422 35423 Reviewed by David Levin. 35424 35425 png-1.5 fixes 35426 https://bugs.webkit.org/show_bug.cgi?id=54406 35427 35428 Fix compilation with png-1.5: struct members were hidden, and 35429 a new API to terminate data processing was added (especially for 35430 WebKit). 35431 35432 Compilation fixes, so no new tests. 35433 35434 * platform/image-decoders/png/PNGImageDecoder.cpp: 35435 (WebCore::PNGImageDecoder::headerAvailable): 35436 (WebCore::PNGImageDecoder::rowAvailable): 35437 35438 2011-03-28 Kwang Yul Seo <skyul (a] company100.net> 35439 35440 Reviewed by Adam Barth. 35441 35442 Replace fprintf(stderr, ...) with LOG_ERROR 35443 https://bugs.webkit.org/show_bug.cgi?id=57216 35444 35445 LOG_ERROR is a better choice here. 35446 35447 * bridge/jni/v8/JavaClassV8.cpp: 35448 (JavaClass::JavaClass): 35449 35450 2011-03-28 Steve Block <steveblock (a] google.com> 35451 35452 Reviewed by Jeremy Orlow. 35453 35454 Add a new JavaValue to type to represent a Java value in the Java bridge 35455 https://bugs.webkit.org/show_bug.cgi?id=57022 35456 35457 This change introduces a new JavaValue type and uses it in place of jvalue 35458 in the conversions to and from JavaNPObject used in the V8 Java bridge. 35459 35460 Refactoring only, no new tests. 35461 35462 * WebCore.gypi: 35463 * bridge/jni/JNIUtility.cpp: 35464 (JSC::Bindings::javaTypeFromClassName): 35465 (JSC::Bindings::signatureFromJavaType): 35466 (JSC::Bindings::getJNIField): 35467 (JSC::Bindings::callJNIMethod): 35468 * bridge/jni/JavaType.h: 35469 * bridge/jni/v8/JNIUtilityPrivate.cpp: 35470 (JSC::Bindings::convertNPVariantToJavaValue): 35471 (JSC::Bindings::convertJavaValueToNPVariant): 35472 (JSC::Bindings::jvalueToJavaValue): 35473 (JSC::Bindings::javaValueToJvalue): 35474 * bridge/jni/v8/JNIUtilityPrivate.h: 35475 * bridge/jni/v8/JavaNPObjectV8.cpp: 35476 (JSC::Bindings::JavaNPObjectInvoke): 35477 (JSC::Bindings::JavaNPObjectGetProperty): 35478 * bridge/jni/v8/JavaValueV8.h: Added. 35479 (JSC::Bindings::JavaValue::JavaValue): 35480 35481 2011-03-28 Patrick Gansterer <paroga (a] webkit.org> 35482 35483 Reviewed by Darin Adler. 35484 35485 Use String instead of CString as return value of openTemporaryFile 35486 https://bugs.webkit.org/show_bug.cgi?id=55332 35487 35488 We usually store all paths as UTF-16. Do this for temporary files too. 35489 35490 * WebCore.exp.in 35491 * platform/FileSystem.h: 35492 * platform/android/FileSystemAndroid.cpp: 35493 * platform/brew/FileSystemBrew.cpp: 35494 * platform/efl/FileSystemEfl.cpp: 35495 * platform/gtk/FileSystemGtk.cpp: 35496 * platform/haiku/FileSystemHaiku.cpp: 35497 * platform/mac/FileSystemMac.mm: 35498 * platform/qt/FileSystemQt.cpp: 35499 * platform/win/FileSystemWin.cpp: 35500 * platform/wince/FileSystemWinCE.cpp: 35501 * platform/wx/FileSystemWx.cpp: 35502 * plugins/PluginStream.cpp: 35503 (WebCore::PluginStream::destroyStream): 35504 * plugins/PluginStream.h: 35505 35506 2011-03-28 Jeff Johnson <opendarwin (a] lapcatsoftware.com> 35507 35508 Reviewed by Pavel Feldman. 35509 35510 Web Inspector: empty, non-functional window 35511 https://bugs.webkit.org/show_bug.cgi?id=56354 35512 35513 Check whether DOM local storage is enabled 35514 before attempting to access window.localStorage. 35515 35516 No new tests. 35517 35518 * inspector/front-end/Settings.js: 35519 (WebInspector.Settings.prototype.findSettingForAllProjects): 35520 (WebInspector.Settings.prototype._get): 35521 (WebInspector.Settings.prototype._set): 35522 35523 2011-03-28 Beth Dakin <bdakin (a] apple.com> 35524 35525 Reviewed by Darin Adler. 35526 35527 Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for: 35528 Horizontal scroller stops appearing after going Forward 35529 -and corresponding- 35530 <rdar://problem/9026946> 35531 35532 This patch rolls out revision 79053 and fixes the same bug in a better way. 35533 35534 New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then 35535 sets the contents size to 0. This is called when a document is going into the page 35536 cache. 35537 * dom/Document.cpp: 35538 (WebCore::Document::setInPageCache): 35539 (WebCore::FrameView::resetScrollbarsAndClearContentsSize): 35540 35541 Roll-out of 79053. 35542 * history/CachedFrame.cpp: 35543 (WebCore::CachedFrameBase::restore): 35544 * page/FrameView.cpp: 35545 (WebCore::FrameView::FrameView): 35546 (WebCore::FrameView::reset): 35547 (WebCore::FrameView::layout): 35548 * page/FrameView.h: 35549 35550 2011-03-28 Ojan Vafai <ojan (a] chromium.org> 35551 35552 Reviewed by Antti Koivisto. 35553 35554 fix style sharing with :any and sibling selectors 35555 https://bugs.webkit.org/show_bug.cgi?id=57211 35556 35557 Test: fast/css/sibling-selectors.html 35558 35559 * css/CSSStyleSelector.cpp: 35560 (WebCore::collectFeaturesFromList): 35561 35562 2011-03-27 Ojan Vafai <ojan (a] chromium.org> 35563 35564 Reviewed by Antti Koivisto. 35565 35566 fix :-webkit-any(:last-child) 35567 https://bugs.webkit.org/show_bug.cgi?id=57207 35568 35569 We were passing the wrong arguments to checkSelector. Also, we were not 35570 passing through the encounteredLink bool. 35571 35572 * css/CSSStyleSelector.cpp: 35573 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 35574 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 35575 * css/CSSStyleSelector.h: 35576 35577 2011-03-27 Ojan Vafai <ojan (a] chromium.org> 35578 35579 Reviewed by Antti Koivisto. 35580 35581 fix :-webkit-any(:last-child) 35582 https://bugs.webkit.org/show_bug.cgi?id=57207 35583 35584 We were passing the wrong arguments to checkSelector. Also, we were not 35585 passing through the encounteredLink bool. 35586 35587 * css/CSSStyleSelector.cpp: 35588 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 35589 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 35590 * css/CSSStyleSelector.h: 35591 35592 2011-03-28 Maciej Stachowiak <mjs (a] apple.com> 35593 35594 Reviewed by Darin Adler. 35595 35596 REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html 35597 https://bugs.webkit.org/show_bug.cgi?id=57291 35598 35599 * platform/KURL.cpp: 35600 (WebCore::KURL::parse): Instead of considering URLs with 35601 credentials but no host invalid, consider them to have a host 35602 ending in @ (which fails down the line)/ 35603 35604 2011-03-28 Kent Tamura <tkent (a] chromium.org> 35605 35606 Reviewed by Dimitri Glazkov. 35607 35608 Fix some problems of the appearance of form validation message bubble. 35609 https://bugs.webkit.org/show_bug.cgi?id=57208 35610 35611 No new tests. Validation message bubble appearance is not testable 35612 because it depends on a timer. 35613 35614 * css/html.css: 35615 (::-webkit-validation-bubble): 35616 (::-webkit-validation-bubble-message): 35617 (::-webkit-validation-bubble-arrow): 35618 (::-webkit-validation-bubble-arrow-clipper): 35619 - Explicitly set margin, padding, and color. 35620 - Make the shadow darker. 35621 - Make the background color darker. 35622 - Make opacity larger. 35623 - Make the border color lighter. 35624 - Add inset shadows 35625 - Change the implementation of an arrow. 35626 Stop making a right triangle by the border trick. 35627 Use -webkit-transform instead. 35628 - Make min-width workable by changing display property of 35629 -webkit-validation-bubble to "inline-block". 35630 * html/ValidationMessage.cpp: 35631 (WebCore::ValidationMessage::buildBubbleTree): 35632 Change the node structure. Before this change, -webkit-validation-bubble 35633 had three DIVs inside. After this change, it has two DIVs; 35634 -webkit-validation-bubble-arrow-clipper and 35635 -webkit-validation-bubble-message, and 35636 -webkit-validation-bubble-arrow-clipper contains 35637 -webkit-validation-bubble-arrow. 35638 35639 2011-03-28 Enrica Casucci <enrica (a] apple.com> 35640 35641 Reviewed by Sam Weinig. 35642 35643 REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser. 35644 https://bugs.webkit.org/show_bug.cgi?id=57275 35645 <rdar://problem/8246691> 35646 35647 We need to classify cut and paste actions as user typing actions even when 35648 the action is triggered by a context menu selection to 35649 allow the propagation of the textDidChangeInTextField event. 35650 35651 * editing/EditorCommand.cpp: 35652 The following methods have been modified to properly set up 35653 the UserTypingGestureAction when the command source is the 35654 menu or a key binding sequence. 35655 (WebCore::executeCut): 35656 (WebCore::executePaste): 35657 (WebCore::executePasteAndMatchStyle): 35658 (WebCore::executePasteAsPlainText): 35659 (WebCore::executeDelete): 35660 * page/ContextMenuController.cpp: 35661 (WebCore::ContextMenuController::contextMenuItemSelected): Changed to 35662 call execute command instead of referring to the specific method in 35663 the editor class. 35664 35665 2011-03-28 Oliver Hunt <oliver (a] apple.com> 35666 35667 Reviewed by Geoffrey Garen. 35668 35669 instanceof Array test fails when using iframes 35670 https://bugs.webkit.org/show_bug.cgi?id=17250 35671 35672 Update for new function and date apis 35673 35674 Test: fast/js/js-constructors-use-correct-global.html 35675 35676 * WebCore.xcodeproj/project.pbxproj: 35677 * bindings/js/JSDOMBinding.cpp: 35678 (WebCore::jsDateOrNull): 35679 * bindings/js/JSLazyEventListener.cpp: 35680 (WebCore::JSLazyEventListener::initializeJSFunction): 35681 35682 2011-03-28 Beth Dakin <bdakin (a] apple.com> 35683 35684 Reviewed by Darin Adler. 35685 35686 Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is 35687 changed via delegate method, the page needs a full relayout and repaint 35688 -and corresponding- 35689 <rdar://problem/9059129> 35690 35691 Call into WebKitSystemInterface to associate the new painter with the existing 35692 painter controller. Reset the scrollbar frame rects to the new thickness -- normally 35693 this only happens when a scrollbar is created, so we have to reset the thickness 35694 here to pick up the new theme thickness. Finally, force a full relayout and style 35695 recall with setNeedsRecalcStyleInAllFrames() 35696 * platform/mac/ScrollAnimatorMac.mm: 35697 (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]): 35698 35699 setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This 35700 patch moves it to be a member function on Page so that it can be called from 35701 FrameView when the scrollbar style changes. 35702 * page/FrameView.cpp: 35703 (WebCore::FrameView::setNeedsRecalcStyleInAllFrames): 35704 * page/FrameView.h: 35705 * page/Page.cpp: 35706 (WebCore::Page::setNeedsRecalcStyleInAllFrames): 35707 * page/Page.h: 35708 * page/Settings.cpp: 35709 (WebCore::Settings::setStandardFontFamily): 35710 (WebCore::Settings::setFixedFontFamily): 35711 (WebCore::Settings::setSerifFontFamily): 35712 (WebCore::Settings::setSansSerifFontFamily): 35713 (WebCore::Settings::setCursiveFontFamily): 35714 (WebCore::Settings::setFantasyFontFamily): 35715 (WebCore::Settings::setMinimumFontSize): 35716 (WebCore::Settings::setMinimumLogicalFontSize): 35717 (WebCore::Settings::setDefaultFontSize): 35718 (WebCore::Settings::setDefaultFixedFontSize): 35719 (WebCore::Settings::setTextAreasAreResizable): 35720 (WebCore::Settings::setAuthorAndUserStylesEnabled): 35721 (WebCore::Settings::setFontRenderingMode): 35722 (WebCore::Settings::setAcceleratedCompositingEnabled): 35723 (WebCore::Settings::setShowDebugBorders): 35724 (WebCore::Settings::setShowRepaintCounter): 35725 * platform/ScrollableArea.h: 35726 (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames): 35727 35728 2011-03-28 Dirk Pranke <dpranke (a] chromium.org> 35729 35730 RS=Tony Chang. 35731 35732 r81977 moved FontPlatformData.h from 35733 WebCore/platform/graphics/cocoa to platform/graphics. This 35734 change updates the chromium build accordingly. 35735 35736 https://bugs.webkit.org/show_bug.cgi?id=57281 35737 35738 * platform/graphics/chromium/CrossProcessFontLoading.mm: 35739 35740 2011-03-28 Jer Noble <jer.noble (a] apple.com> 35741 35742 Reviewed by Darin Adler. 35743 35744 MediaPlayerPrivateAVFoundation should report that it supportsFullScreen() 35745 https://bugs.webkit.org/show_bug.cgi?id=57249 35746 35747 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 35748 (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): 35749 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 35750 35751 2011-03-28 Jer Noble <jer.noble (a] apple.com> 35752 35753 Reviewed by Darin Adler. 35754 35755 AVFoundation can indeed support full screen. 35756 35757 MediaPlayerPrivateAVFoundation should report that it supportsFullScreen() 35758 https://bugs.webkit.org/show_bug.cgi?id=57249 35759 35760 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 35761 (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using 35762 the new full screen APIs. 35763 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 35764 35765 2011-03-28 Eric Carlson <eric.carlson (a] apple.com> 35766 35767 Reviewed by Darin Adler. 35768 35769 http streams don't always display video with AVFoundation backend 35770 https://bugs.webkit.org/show_bug.cgi?id=57203 35771 35772 No new tests, we don't currently have tests for http live streams. Changes verified manually. 35773 35774 * platform/graphics/MediaPlayer.cpp: 35775 (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender. 35776 (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine 35777 if m_shouldPrepareToRender is set. 35778 (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender. 35779 * platform/graphics/MediaPlayer.h: 35780 35781 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 35782 (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until 35783 m_isAllowedToRender has been set. 35784 (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering, 35785 it has logic to figure out when setup is required. 35786 (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't 35787 using the preferred rendering mode because if we get a file's metadata between the 35788 time supportsAcceleratedRendering() and paint() are called, we will allocate a software 35789 renderer even when we prefer a layer backed renderer. 35790 (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata. 35791 35792 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 35793 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 35794 (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of 35795 an explicit list of key path names. 35796 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto. 35797 (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed 35798 to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the 35799 callers need. 35800 (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the 35801 player item, not the asset, because AVAsset.duration always returns an indefinite time 35802 for all streaming files. 35803 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed 35804 to assetMetadataKeyNames. 35805 (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until 35806 metadata is available. 35807 (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto. 35808 (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off 35809 into sizeChanged(). 35810 (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize 35811 until tracks is non-NULL so we have a size as early as possible. 35812 (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames. 35813 (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of 35814 KVO observable properties. 35815 (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to 35816 presentationSize change. 35817 35818 2011-03-28 Anders Carlsson <andersca (a] apple.com> 35819 35820 Reviewed by Sam Weinig. 35821 35822 Search field focus ring is missing 35823 https://bugs.webkit.org/show_bug.cgi?id=57270 35824 <rdar://problem/8765555> 35825 35826 Add an _automaticFocusRingDisabled method which returns YES. 35827 35828 * platform/mac/ThemeMac.mm: 35829 (-[WebCoreFlippedView _automaticFocusRingDisabled]): 35830 35831 2011-03-28 Dimitri Glazkov <dglazkov (a] chromium.org> 35832 35833 Reviewed by Darin Adler. 35834 35835 Move more events to EventDispatcher. 35836 https://bugs.webkit.org/show_bug.cgi?id=57247 35837 35838 No functional changes, covered by existing tests. 35839 35840 * dom/EventDispatcher.cpp: 35841 (WebCore::eventTargetRespectingSVGTargetRules): Made a static function, 35842 since it's not used anywhere outside of the EventDispatcher. 35843 (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp. 35844 (WebCore::EventDispatcher::dispatchKeyEvent): Ditto. 35845 (WebCore::EventDispatcher::dispatchWheelEvent): Ditto. 35846 (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules 35847 as a static function. 35848 * dom/EventDispatcher.h: Updated decls. 35849 * dom/Node.cpp: 35850 (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher. 35851 (WebCore::Node::dispatchKeyEvent): Ditto. 35852 (WebCore::Node::dispatchWheelEvent): Ditto. 35853 35854 2011-03-28 Adele Peterson <adele (a] apple.com> 35855 35856 Reviewed by Eric Seidel. 35857 35858 Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type 35859 https://bugs.webkit.org/show_bug.cgi?id=57173 35860 35861 Test: editing/spelling/grammar.html 35862 35863 * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method. 35864 * editing/Editor.cpp: 35865 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar, 35866 so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph. In the case of this bug, 35867 when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used 35868 in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph 35869 is the only one operated on when this information is used. 35870 (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling. 35871 * editing/Editor.h: 35872 35873 2011-03-28 Dan Bernstein <mitz (a] apple.com> 35874 35875 Reviewed by Darin Adler. 35876 35877 <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements 35878 https://bugs.webkit.org/show_bug.cgi?id=48983 35879 35880 Test: fast/multicol/paginated-layer-crash.html 35881 35882 * rendering/RenderLayer.cpp: 35883 (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers 35884 into sync with updatePagination() after r68069. 35885 (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto. 35886 35887 2011-03-28 Maciej Stachowiak <mjs (a] apple.com> 35888 35889 Reviewed by Darin Adler' . 35890 35891 URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS 35892 https://bugs.webkit.org/show_bug.cgi?id=57220 35893 35894 Test: http/tests/uri/username-with-no-hostname.html 35895 35896 * platform/KURL.cpp: 35897 (WebCore::hostPortIsEmptyButUserPassIsNot): 35898 (WebCore::KURL::parse): 35899 35900 2011-03-28 Adam Barth <abarth (a] webkit.org> 35901 35902 Reviewed by Eric Seidel. 35903 35904 script-src should block inline event handlers 35905 https://bugs.webkit.org/show_bug.cgi?id=57212 35906 35907 I considered wrapping this into the canExecute check, but that approach 35908 would require passing that function a bunch of context information to 35909 behave correctly once we add support for the "options" directive that 35910 re-enables these features. 35911 35912 Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html 35913 35914 * bindings/js/JSLazyEventListener.cpp: 35915 (WebCore::JSLazyEventListener::initializeJSFunction): 35916 - This function was a mess. I couldn't resist cleaning it up a 35917 bunch. Notice that we ASSERT at the beginning of the function 35918 that scriptExecutionContext is a document and that both ways of 35919 getting the global object are the same when document->frame() is 35920 non-zero because the document must be active and there is a 35921 one-to-one relation between Frames and active Documents. 35922 * bindings/v8/V8LazyEventListener.cpp: 35923 (WebCore::V8LazyEventListener::prepareListenerObject): 35924 * page/ContentSecurityPolicy.cpp: 35925 (WebCore::ContentSecurityPolicy::allowInlineEventHandlers): 35926 * page/ContentSecurityPolicy.h: 35927 35928 2011-03-28 Jeff Miller <jeffm (a] apple.com> 35929 35930 Reviewed by Adam Roben. 35931 35932 ResourceError::certificate() should return a PCCERT_CONTEXT 35933 https://bugs.webkit.org/show_bug.cgi?id=57262 35934 35935 * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT. 35936 * platform/network/cf/ResourceErrorCF.cpp: 35937 (WebCore::ResourceError::certificate): Added. 35938 35939 2011-03-28 David Hyatt <hyatt (a] apple.com> 35940 35941 Reviewed by Simon Fraser and Darin Adler. 35942 35943 https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects 35944 occur at the end of a line. 35945 35946 The old code and new code for dealing with a trailing space object midpoint manipulated a raw 35947 array instead of the Vector. Otherwise this corruption would have been caught prior to check-in. 35948 35949 I have patched the code to only go through the Vector and to make it handle the case that led to 35950 the corruption. Trailing positioned objects can occur both prior to and following the trailing space 35951 object's midpoint, so we have to be prepared to deal with both cases. 35952 35953 This is already tested by fast/block/positioning/052.html, and that test now properly progresses 35954 like the other positioning tests did. 35955 35956 * rendering/RenderBlockLineLayout.cpp: 35957 (WebCore::RenderBlock::findNextLineBreak): 35958 35959 2011-03-28 Andrei Popescu <andreip (a] google.com> 35960 35961 Reviewed by Steve Block. 35962 35963 V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled 35964 https://bugs.webkit.org/show_bug.cgi?id=57100 35965 35966 Close the ENABLE guard and the namespace in the right order. 35967 35968 No new tests, just cleanup. 35969 35970 * bindings/v8/custom/V8IDBAnyCustom.cpp: 35971 * bindings/v8/custom/V8IDBKeyCustom.cpp: 35972 35973 2011-03-28 Jeff Miller <jeffm (a] apple.com> 35974 35975 Reviewed by Adam Roben. 35976 35977 Include certificate when sending a WebCore::ResourceError to UI process on Windows 35978 https://bugs.webkit.org/show_bug.cgi?id=57195 35979 35980 Add support for tracking the certificate in WebCore::ResourceError. 35981 35982 * platform/network/ResourceErrorBase.cpp: 35983 (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields. 35984 * platform/network/ResourceErrorBase.h: 35985 (WebCore::ResourceErrorBase::platformCopy): Added. 35986 * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate. 35987 (WebCore::ResourceError::certificate): Added. 35988 * platform/network/cf/ResourceErrorCF.cpp: 35989 (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data. 35990 (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary. 35991 (WebCore::ResourceError::platformCopy): Copy m_certificate. 35992 (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef. 35993 35994 2011-03-28 Jessie Berlin <jberlin (a] apple.com> 35995 35996 Rubber-stamped by Adam Roben. 35997 35998 Add an extra newline to the end of the generated Inspector.idl file so that it does not 35999 trigger the Windows "no newline at at end of file" warning. 36000 36001 * inspector/generate-inspector-idl: 36002 36003 2011-03-28 Csaba Osztrogonc <ossy (a] webkit.org> 36004 36005 Buildfix after r82125. 36006 36007 [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled 36008 https://bugs.webkit.org/show_bug.cgi?id=57087 36009 36010 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly. 36011 (WebCore::MediaPlayerPrivateQt::getSupportedTypes): 36012 (WebCore::MediaPlayerPrivateQt::commitLoad): 36013 36014 2011-03-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 36015 36016 Unreviewed, rolling out r82099. 36017 http://trac.webkit.org/changeset/82099 36018 https://bugs.webkit.org/show_bug.cgi?id=57245 36019 36020 Breaks live edits tests on chromium. (Requested by pfeldman on 36021 #webkit). 36022 36023 * inspector/front-end/ScriptsPanel.js: 36024 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): 36025 * inspector/front-end/SourceFrame.js: 36026 (WebInspector.SourceFrame.prototype._handleSave): 36027 (WebInspector.SourceFrameDelegate.prototype.editScriptSource): 36028 36029 2011-03-28 Pavel Feldman <pfeldman (a] chromium.org> 36030 36031 Reviewed by Yury Semikhatsky. 36032 36033 Web Inspector: brush up and rename debugger domain functions. 36034 https://bugs.webkit.org/show_bug.cgi?id=57240 36035 36036 * inspector/Inspector.json: 36037 * inspector/InspectorAgent.cpp: 36038 (WebCore::InspectorAgent::setFrontend): 36039 (WebCore::InspectorAgent::postWorkerNotificationToFrontend): 36040 * inspector/InspectorDebuggerAgent.cpp: 36041 (WebCore::InspectorDebuggerAgent::setBreakpointsActive): 36042 (WebCore::InspectorDebuggerAgent::setBreakpointByUrl): 36043 (WebCore::InspectorDebuggerAgent::setBreakpoint): 36044 (WebCore::InspectorDebuggerAgent::removeBreakpoint): 36045 (WebCore::InspectorDebuggerAgent::editScriptSource): 36046 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 36047 (WebCore::InspectorDebuggerAgent::didParseSource): 36048 (WebCore::InspectorDebuggerAgent::failedToParseSource): 36049 (WebCore::InspectorDebuggerAgent::didPause): 36050 (WebCore::InspectorDebuggerAgent::didContinue): 36051 * inspector/InspectorDebuggerAgent.h: 36052 * inspector/front-end/DebuggerModel.js: 36053 (WebInspector.DebuggerModel.prototype.setBreakpoint): 36054 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 36055 (WebInspector.DebuggerModel.prototype.removeBreakpoint): 36056 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 36057 (WebInspector.DebuggerDispatcher.prototype.paused): 36058 (WebInspector.DebuggerDispatcher.prototype.resumed): 36059 (WebInspector.DebuggerDispatcher.prototype.scriptParsed): 36060 (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse): 36061 (WebInspector.DebuggerDispatcher.prototype.breakpointResolved): 36062 * inspector/front-end/ScriptsPanel.js: 36063 (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked): 36064 * inspector/front-end/inspector.js: 36065 (WebInspector.didCreateWorker): 36066 (WebInspector.didDestroyWorker): 36067 36068 2011-03-28 David Kilzer <ddkilzer (a] apple.com> 36069 36070 <http://webkit.org/b/57239> Use forward class declaration instead of including header 36071 36072 Reviewed by Dan Bernstein. 36073 36074 Adding a "using namespace WebCore;" statement in a header may 36075 cause issues when <WebCore/Length.h> is included before 36076 <CoreText/CoreText.h>. 36077 36078 Length.h defines the LengthType enum with a 'Fixed' value. 36079 CoreText.h includes MacTypes.h, which has a 36080 "typedef SInt32 Fixed;" statement, and then CoreText.h includes 36081 other headers that also use 'Fixed', but expect the typedef to 36082 be defined, not the enum. If another header includes 36083 "using namespace WebCore;" before CoreText.h, the 36084 following compiler errors result (paths abbreviated): 36085 36086 CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous 36087 MacTypes.h:184: error: candidates are: typedef SInt32 Fixed 36088 Length.h:37: error: WebCore::LengthType WebCore::Fixed 36089 SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type 36090 36091 * platform/mac/HTMLConverter.h: Use forward declaration of 36092 DocumentLoader class instead of including header. Remove the 36093 unused "using namespace WebCore;" statement. 36094 36095 2011-03-26 Dimitri Glazkov <dglazkov (a] chromium.org> 36096 36097 Reviewed by Eric Seidel. 36098 36099 Introduce EventDispatcher, the new common way to fire events. 36100 https://bugs.webkit.org/show_bug.cgi?id=57168 36101 36102 The goal here is two-fold: 36103 1) reduce the need to randomly sprinkle guards around the dispatch code 36104 by creating a well-scoped abstraction for dispatching events. 36105 2) create a place where fiddly event-related things like creating event 36106 contexts for ancestors can be done lazily. 36107 36108 Additionally, with all the free-standing static functions, this code was 36109 just begging to come out of Node.cpp. 36110 36111 The first step is a near-mechanical extraction of mouse-related events 36112 from Node.cpp to EventDispatcher. For now, the call sites are just 36113 replaced with invoking EventDispatcher. Later, we can remove these methods 36114 from Node. 36115 36116 Refactoring, no functional changes. 36117 36118 * Android.mk: Added EventDispatcher to build system. 36119 * CMakeLists.txt: Ditto. 36120 * GNUmakefile.am: Ditto. 36121 * WebCore.gypi: Ditto. 36122 * WebCore.pro: Ditto. 36123 * WebCore.vcproj/WebCore.vcproj: Ditto. 36124 * WebCore.xcodeproj/project.pbxproj: Ditto. 36125 * dom/DOMAllInOne.cpp: Ditto. 36126 * dom/EventDispatcher.cpp: Added. 36127 * dom/EventDispatcher.h: Added. 36128 * dom/Node.cpp: 36129 (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher. 36130 (WebCore::Node::dispatchEvent): Ditto. 36131 (WebCore::Node::dispatchMouseEvent): Ditto. 36132 (WebCore::Node::dispatchSimulatedClick): Ditto. 36133 * dom/Node.h: Updated decls. 36134 36135 2011-03-28 Dan Bernstein <mitz (a] apple.com> 36136 36137 Reviewed by Maciej Stachowiak. 36138 36139 <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes 36140 https://bugs.webkit.org/show_bug.cgi?id=57197 36141 36142 Tests: fast/repaint/overflow-flipped-writing-mode-block.html 36143 fast/repaint/overflow-flipped-writing-mode-table.html 36144 36145 * rendering/RenderBlock.cpp: 36146 (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection 36147 with the damage rect. 36148 * rendering/RenderTable.cpp: 36149 (WebCore::RenderTable::paint): Made the intersection check more like the one in 36150 RenderBlock::paint(). 36151 36152 2011-03-28 Xiaomei Ji <xji (a] chromium.org> 36153 36154 Reviewed by Ryosuke Niwa. 36155 36156 move directionOfEnclosingBlock() to be global so that it could be reused. 36157 https://bugs.webkit.org/show_bug.cgi?id=57233. 36158 36159 Provide global function directionOfEnclosingBlock(Node*) so that it could be 36160 reused in SelectionController and other functionalities that need enclosing 36161 block's direcionality, such as moving caret by word in visual order. 36162 36163 No new functionality, so no new tests. 36164 36165 * editing/SelectionController.cpp: 36166 (WebCore::SelectionController::directionOfEnclosingBlock): 36167 * editing/htmlediting.cpp: 36168 (WebCore::directionOfEnclosingBlock): 36169 * editing/htmlediting.h: 36170 36171 2011-03-28 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 36172 36173 Reviewed by Benjamin Poulain. 36174 36175 [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails 36176 https://bugs.webkit.org/show_bug.cgi?id=56825 36177 36178 Fixes for context attribute handling: 36179 - Initialize depth and stencil buffer depending on whether they 36180 are enabled in context attributes. 36181 - Always enable depth buffer when stencil buffer is enabled. 36182 - Disable stencil buffer on OpenGL ES 2.0 36183 - Cleaned up clutter code from initialization. Made code paths 36184 more sane. 36185 - Clear mask is now set correctly in reshape(). 36186 36187 Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html 36188 36189 * platform/graphics/qt/GraphicsContext3DQt.cpp: 36190 (WebCore::GraphicsContext3DInternal::isValid): 36191 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 36192 (WebCore::GraphicsContext3DInternal::reshape): 36193 (WebCore::GraphicsContext3DInternal::paint): 36194 (WebCore::GraphicsContext3DInternal::getProcAddress): 36195 (WebCore::GraphicsContext3D::GraphicsContext3D): 36196 (WebCore::GraphicsContext3D::reshape): 36197 (WebCore::GraphicsContext3D::bindFramebuffer): 36198 36199 2011-03-28 Pavel Feldman <pfeldman (a] chromium.org> 36200 36201 Reviewed by Yury Semikhatsky. 36202 36203 Web Inspector: rename network domain events from didHappenSomething to somethingHappened. 36204 https://bugs.webkit.org/show_bug.cgi?id=57226 36205 36206 * inspector/Inspector.json: 36207 * inspector/InspectorResourceAgent.cpp: 36208 (WebCore::InspectorResourceAgent::willSendRequest): 36209 (WebCore::InspectorResourceAgent::markResourceAsCached): 36210 (WebCore::InspectorResourceAgent::didReceiveResponse): 36211 (WebCore::InspectorResourceAgent::didReceiveContentLength): 36212 (WebCore::InspectorResourceAgent::didFinishLoading): 36213 (WebCore::InspectorResourceAgent::didFailLoading): 36214 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): 36215 (WebCore::InspectorResourceAgent::setInitialContent): 36216 (WebCore::InspectorResourceAgent::didCommitLoad): 36217 (WebCore::InspectorResourceAgent::frameDetachedFromParent): 36218 (WebCore::InspectorResourceAgent::didCreateWebSocket): 36219 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): 36220 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): 36221 (WebCore::InspectorResourceAgent::didCloseWebSocket): 36222 * inspector/front-end/NetworkManager.js: 36223 (WebInspector.NetworkDispatcher.prototype.requestWillBeSent): 36224 (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached): 36225 (WebInspector.NetworkDispatcher.prototype.responseReceived): 36226 (WebInspector.NetworkDispatcher.prototype.dataReceived): 36227 (WebInspector.NetworkDispatcher.prototype.loadingFinished): 36228 (WebInspector.NetworkDispatcher.prototype.loadingFailed): 36229 (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache): 36230 (WebInspector.NetworkDispatcher.prototype.frameDetached): 36231 (WebInspector.NetworkDispatcher.prototype.initialContentSet): 36232 (WebInspector.NetworkDispatcher.prototype.frameNavigated): 36233 (WebInspector.NetworkDispatcher.prototype.webSocketCreated): 36234 (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest): 36235 (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived): 36236 (WebInspector.NetworkDispatcher.prototype.webSocketClosed): 36237 36238 2011-03-28 Mikhail Naganov <mnaganov (a] chromium.org> 36239 36240 Reviewed by Pavel Feldman. 36241 36242 WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal. 36243 https://bugs.webkit.org/show_bug.cgi?id=57099 36244 36245 * bindings/v8/ScriptHeapSnapshot.cpp: 36246 (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot): 36247 * bindings/v8/ScriptHeapSnapshot.h: 36248 * bindings/v8/ScriptProfile.cpp: 36249 (WebCore::ScriptProfile::~ScriptProfile): 36250 * bindings/v8/ScriptProfile.h: 36251 * inspector/InspectorProfilerAgent.cpp: 36252 (WebCore::InspectorProfilerAgent::resetState): 36253 36254 2011-03-24 Pavel Podivilov <podivilov (a] chromium.org> 36255 36256 Reviewed by Yury Semikhatsky. 36257 36258 Web Inspector: fix console messages positions in formatted scripts. 36259 https://bugs.webkit.org/show_bug.cgi?id=57010 36260 36261 * inspector/front-end/DebuggerPresentationModel.js: 36262 (WebInspector.DebuggerPresentationModel): 36263 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 36264 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping): 36265 (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage): 36266 (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages): 36267 (WebInspector.DebuggerPresentationModel.prototype._reset): 36268 * inspector/front-end/ResourceTreeModel.js: 36269 (WebInspector.ResourceTreeModel.prototype.addConsoleMessage): 36270 * inspector/front-end/ScriptsPanel.js: 36271 (WebInspector.ScriptsPanel): 36272 (WebInspector.ScriptsPanel.prototype.addConsoleMessage): 36273 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages): 36274 (WebInspector.ScriptsPanel.prototype._consoleMessageAdded): 36275 (WebInspector.ScriptsPanel.prototype.reset): 36276 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): 36277 * inspector/front-end/SourceFile.js: 36278 (WebInspector.SourceFile): 36279 * inspector/front-end/SourceFrame.js: 36280 (WebInspector.SourceFrame.prototype.addMessage): 36281 (WebInspector.SourceFrame.prototype._addExistingMessagesToSource): 36282 (WebInspector.SourceFrame.prototype.addMessageToSource): 36283 36284 2011-03-27 Pavel Feldman <pfeldman (a] chromium.org> 36285 36286 Reviewed by Yury Semikhatsky. 36287 36288 Web Inspector: refactor ResourceTreeModel to remove poor dependencies. 36289 https://bugs.webkit.org/show_bug.cgi?id=57186 36290 36291 - ResourceTreeModel is now event target (Object) 36292 - There is no ResourceTreeModel -> UI dependencies 36293 - NetworkManager -> ResourceTreeModel dependencies has been removed 36294 - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events 36295 - ResourceTreeModel requests tree structure from the backend separately 36296 - Cached resources tree payload is now limited to url and type (no headers involved) 36297 - Resources tree is being rendered lazily upon request from the panel. 36298 36299 * inspector/Inspector.json: 36300 * inspector/InspectorResourceAgent.cpp: 36301 (WebCore::InspectorResourceAgent::resourceContent): 36302 (WebCore::InspectorResourceAgent::resourceContentBase64): 36303 (WebCore::buildObjectForFrameTree): 36304 (WebCore::InspectorResourceAgent::enable): 36305 (WebCore::InspectorResourceAgent::getCachedResources): 36306 (WebCore::InspectorResourceAgent::getResourceContent): 36307 * inspector/InspectorResourceAgent.h: 36308 * inspector/InspectorStyleSheet.cpp: 36309 (WebCore::InspectorStyleSheet::resourceStyleSheetText): 36310 * inspector/front-end/InspectorFrontendHostStub.js: 36311 (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend): 36312 (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting): 36313 * inspector/front-end/NetworkManager.js: 36314 (WebInspector.NetworkManager): 36315 (WebInspector.NetworkManager.prototype.frontendReused): 36316 (WebInspector.NetworkManager.prototype.requestContent): 36317 (WebInspector.NetworkDispatcher): 36318 (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): 36319 (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): 36320 (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent): 36321 (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): 36322 * inspector/front-end/NetworkPanel.js: 36323 (WebInspector.NetworkPanel): 36324 (WebInspector.NetworkPanel.prototype._updateSummaryBar): 36325 (WebInspector.NetworkPanel.prototype._onFrameCommitLoad): 36326 * inspector/front-end/ResourceTreeModel.js: 36327 (WebInspector.ResourceTreeModel): 36328 (WebInspector.ResourceTreeModel.prototype.frontendReused): 36329 (WebInspector.ResourceTreeModel.prototype._processCachedResources): 36330 (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame): 36331 (WebInspector.ResourceTreeModel.prototype.frames): 36332 (WebInspector.ResourceTreeModel.prototype.subframes): 36333 (WebInspector.ResourceTreeModel.prototype.resources): 36334 (WebInspector.ResourceTreeModel.prototype._onCommitLoad): 36335 (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent): 36336 (WebInspector.ResourceTreeModel.prototype._onResourceUpdated): 36337 (WebInspector.ResourceTreeModel.prototype._addResourceToFrame): 36338 (WebInspector.ResourceTreeModel.prototype.resourceForURL): 36339 (WebInspector.ResourceTreeModel.prototype._bindResourceURL): 36340 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): 36341 (WebInspector.ResourceTreeModel.prototype._clearResources): 36342 (WebInspector.ResourceTreeModel.prototype._callForFrameResources): 36343 (WebInspector.ResourceTreeModel.prototype._unbindResourceURL): 36344 (WebInspector.ResourceTreeModel.prototype._addFramesRecursively): 36345 (WebInspector.ResourceTreeModel.prototype._createResource): 36346 * inspector/front-end/ResourcesPanel.js: 36347 (WebInspector.ResourcesPanel): 36348 (WebInspector.ResourcesPanel.prototype.show): 36349 (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame): 36350 (WebInspector.ResourcesPanel.prototype._populateResourceTree): 36351 (WebInspector.ResourcesPanel.prototype._frameAdded): 36352 (WebInspector.ResourcesPanel.prototype._frameDetached): 36353 (WebInspector.ResourcesPanel.prototype._resourceAdded): 36354 (WebInspector.ResourcesPanel.prototype._frameNavigated): 36355 (WebInspector.FrameTreeElement.prototype.setTitles): 36356 * inspector/front-end/inspector.js: 36357 (WebInspector.frontendReused): 36358 36359 2011-03-27 Ryosuke Niwa <rniwa (a] webkit.org> 36360 36361 Reviewed by Eric Seidel. 36362 36363 WebKit's behavior for text-align inherit differs from other browsers 36364 https://bugs.webkit.org/show_bug.cgi?id=56377 36365 36366 The bug was caused by WebKit's resolving text-align: start and text-align: end too early. 36367 As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes, 36368 the alignment of the text in those nodes should be determined based on the directionality of the text, 36369 not by the directionality of the ancestor node from which text-align property is inherited. 36370 36371 Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will 36372 align text to the left in a LTR context and to the right in a RTL context respectively. 36373 36374 * css/CSSPrimitiveValueMappings.h: 36375 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND. 36376 (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto. 36377 * css/CSSStyleSelector.cpp: 36378 (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd. 36379 * rendering/RenderBlock.cpp: 36380 (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND. 36381 * rendering/RenderBlockLineLayout.cpp: 36382 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND. 36383 * rendering/RenderText.cpp: 36384 (WebCore::RenderText::localCaretRect): Ditto. 36385 * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits. 36386 * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign. 36387 36388 2011-03-28 Pavel Podivilov <podivilov (a] chromium.org> 36389 36390 Reviewed by Yury Semikhatsky. 36391 36392 Web Inspector: fix breakpoints positions in formatted scripts. 36393 https://bugs.webkit.org/show_bug.cgi?id=56931 36394 36395 Add async requestMapping method to SourceFile interface as required for populating 36396 breakpoints sidebar pane when in "format all scripts" mode. 36397 36398 * inspector/front-end/DebuggerPresentationModel.js: 36399 (WebInspector.DebuggerPresentationModel.prototype.continueToLine): 36400 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping): 36401 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 36402 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping): 36403 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 36404 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping): 36405 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 36406 (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI. 36407 (WebInspector.PresentationBreakpoint.prototype.get sourceFileId): 36408 (WebInspector.PresentationBreakpoint.prototype.get lineNumber): 36409 (WebInspector.PresentationBreakpoint.prototype.get condition): 36410 (WebInspector.PresentationBreakpoint.prototype.get enabled): 36411 (WebInspector.PresentationBreakpoint.prototype.get url): 36412 (WebInspector.PresentationBreakpoint.prototype.get resolved): 36413 (WebInspector.PresentationBreakpoint.prototype.loadSnippet): 36414 * inspector/front-end/ScriptFormatter.js: 36415 (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): 36416 (WebInspector.ScriptFormatter.prototype.formatContent): 36417 * inspector/front-end/SourceFile.js: 36418 (WebInspector.SourceFile.prototype.requestSourceMapping): 36419 (WebInspector.FormattedSourceFile.prototype.requestSourceMapping): 36420 (WebInspector.FormattedSourceFile.prototype._didRequestContent): 36421 (WebInspector.SourceMapping): 36422 (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation): 36423 (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation): 36424 (WebInspector.FormattedSourceMapping): 36425 (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation): 36426 (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation): 36427 (WebInspector.FormattedSourceMapping.prototype._convertPosition): 36428 36429 2011-03-28 Nancy Piedra <nancy.piedra (a] nokia.com> 36430 36431 Reviewed by Csaba Osztrogonc. 36432 36433 This patch fixes linking errors on Qt Webkit Windows MinGW builds. 36434 This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that 36435 QWEBKIT_EXPORT is defined as follows: 36436 #define QWEBKIT_EXPORT Q_DECL_EXPORT 36437 36438 No new tests needed since only changing .pro file. 36439 36440 * WebCore.pro: 36441 36442 2011-03-28 Andrey Adaikin <aandrey (a] google.com> 36443 36444 Reviewed by Yury Semikhatsky. 36445 36446 Web Inspector: source frame should show the error to user when live edit is failed 36447 https://bugs.webkit.org/show_bug.cgi?id=57002 36448 36449 * inspector/front-end/ScriptsPanel.js: 36450 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): 36451 * inspector/front-end/SourceFrame.js: 36452 (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource): 36453 (WebInspector.SourceFrame.prototype._handleSave): 36454 (WebInspector.SourceFrameDelegate.prototype.editScriptSource): 36455 36456 2011-03-26 Mario Sanchez Prada <msanchez (a] igalia.com> 36457 36458 Reviewed by Martin Robinson. 36459 36460 [GTK] Expose the AtkValue interface for WAI-ARIA sliders 36461 https://bugs.webkit.org/show_bug.cgi?id=56655 36462 36463 Implement AtkValue interface for WAI-ARIA sliders. 36464 36465 Test: platform/gtk/accessibility/aria-slider-required-attributes.html 36466 36467 * accessibility/gtk/AXObjectCacheAtk.cpp: 36468 (WebCore::AXObjectCache::postPlatformNotification): Emit the 36469 'property-change::accessible-value' signal when needed. 36470 36471 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 36472 (core): New, returns a core object from an AtkValue. 36473 (webkitAccessibleValueGetCurrentValue): New, implements AtkValue. 36474 (webkitAccessibleValueGetMaximumValue): Ditto. 36475 (webkitAccessibleValueGetMinimumValue): Ditto. 36476 (webkitAccessibleValueSetCurrentValue): Ditto. 36477 (webkitAccessibleValueGetMinimumIncrement): Ditto. 36478 (atkValueInterfaceInit): Ditto. 36479 (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE. 36480 (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders. 36481 36482 2011-03-28 Maciej Stachowiak <mjs (a] apple.com> 36483 36484 Reviewed by Dan Bernstein. 36485 36486 Assigning location.path to something that doesn't start with / mangles the authority 36487 https://bugs.webkit.org/show_bug.cgi?id=57209 36488 <rdar://problem/9195132> 36489 36490 Tests: http/tests/uri/assign-path-with-leading-slash.html 36491 http/tests/uri/assign-path-without-leading-slash.html 36492 36493 * platform/KURL.cpp: 36494 (WebCore::KURL::setPath): If the new path does not have a leading slash, add one. 36495 36496 2011-03-28 Ryosuke Niwa <rniwa (a] webkit.org> 36497 36498 Reviewed by Eric Seidel. 36499 36500 Extract functions to update logical width from computeInlineDirectionPositionsForLine 36501 https://bugs.webkit.org/show_bug.cgi?id=57213 36502 36503 Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock, 36504 and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine. 36505 36506 They are used to update logical widths, logical left, and total logical width for left, 36507 right, and center aligned blocks. 36508 36509 * rendering/RenderBlockLineLayout.cpp: 36510 (WebCore::updateLogicalWidthForLeftAlignedBlock): 36511 (WebCore::updateLogicalWidthForRightAlignedBlock): 36512 (WebCore::updateLogicalWidthForCenterAlignedBlock): 36513 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 36514 36515 2011-03-28 Evan Martin <evan (a] chromium.org> 36516 36517 Reviewed by Ryosuke Niwa. 36518 36519 Refactor duplicate code in HTMLTextElement 36520 https://bugs.webkit.org/show_bug.cgi?id=57215 36521 36522 * html/HTMLTitleElement.cpp: 36523 (WebCore::HTMLTitleElement::childrenChanged): 36524 This method did an equivalent loop to the text() method on 36525 the same object. 36526 36527 2011-03-27 Fumitoshi Ukai <ukai (a] chromium.org> 36528 36529 Reviewed by Alexey Proskuryakov. 36530 36531 Don't call WebSocket::didClose() more than once. 36532 https://bugs.webkit.org/show_bug.cgi?id=57081 36533 36534 If WebSocket close() is called, and connection is established, then 36535 it will call didClose() that resets m_channel to 0. 36536 After that, when connection is closed, WebSocketChannel will call 36537 didClose for the WebSocket instance. 36538 36539 Call WebSocketChannel::disconnect() before m_channel = 0 to make sure 36540 WebSocketChannel suppress the second didClose(). 36541 36542 Test: http/tests/websocket/tests/close-unref-websocket.html 36543 36544 * websockets/WebSocket.cpp: 36545 (WebCore::WebSocket::didClose): 36546 36547 2011-03-27 Adam Barth <abarth (a] webkit.org> 36548 36549 Reviewed by Eric Seidel. 36550 36551 Fix script-src redirect handling 36552 https://bugs.webkit.org/show_bug.cgi?id=57196 36553 36554 Resource-loading requirements in CSP apply to each hop in the redirect 36555 chain. To make that work properly, we need to move enforcement into 36556 the loader. Fortunately, we already have a choke-point in the loader 36557 for enforcing this kind of policy. 36558 36559 * dom/ScriptElement.cpp: 36560 (WebCore::ScriptElement::requestScript): 36561 * html/parser/HTMLDocumentParser.cpp: 36562 * html/parser/HTMLDocumentParser.h: 36563 * html/parser/HTMLScriptRunnerHost.h: 36564 * loader/cache/CachedResourceLoader.cpp: 36565 (WebCore::CachedResourceLoader::canRequest): 36566 * page/ContentSecurityPolicy.cpp: 36567 (WebCore::ContentSecurityPolicy::allowScriptFromSource): 36568 * page/ContentSecurityPolicy.h: 36569 36570 2011-03-27 Jer Noble <jer.noble (a] apple.com> 36571 36572 Reviewed by Maciej Stachowiak. 36573 36574 Full Screen: disable keyboard access by default 36575 https://bugs.webkit.org/show_bug.cgi?id=56684 36576 36577 Pass whether keyboard access was requested up to ChromeClient when asking 36578 if fullscreen mode is supported. 36579 36580 * dom/Document.cpp: 36581 (WebCore::Document::webkitRequestFullScreenForElement): 36582 * page/ChromeClient.h: 36583 (WebCore::ChromeClient::supportsFullscreenForElement): 36584 36585 2011-03-27 Patrick Gansterer <paroga (a] webkit.org> 36586 36587 Reviewed by Andreas Kling. 36588 36589 [CMake] Generate WebKitVersion.h 36590 https://bugs.webkit.org/show_bug.cgi?id=57128 36591 36592 This file will be used for the user agent string by the CMake based ports. 36593 36594 * CMakeLists.txt: 36595 36596 2011-03-27 Ben Taylor <bentaylor.solx86 (a] gmail.com> 36597 36598 Reviewed by Alexey Proskuryakov. 36599 36600 https://bugs.webkit.org/show_bug.cgi?id=57170 Fix last elements 36601 in an enum to remove a trailing comma. Sun Studio 12 CC errors out. 36602 36603 Compile fix only, no actual code change. 36604 36605 * dom/ExceptionCode.h: 36606 * editing/EditorInsertAction.h: 36607 * loader/FrameLoaderTypes.h: 36608 * platform/PlatformKeyboardEvent.h: 36609 * platform/ScrollTypes.h: 36610 * platform/graphics/BitmapImage.h: 36611 * platform/image-decoders/ImageDecoder.h: 36612 * platform/network/ProtectionSpace.h: 36613 * platform/network/ResourceHandleClient.h: 36614 * platform/network/ResourceRequestBase.h: 36615 * platform/text/TextCodec.h: 36616 36617 2011-03-27 Rob Buis <rwlbuis (a] gmail.com> 36618 36619 Reviewed by Nikolas Zimmermann. 36620 36621 Text on path positioning at zero startOffset 36622 https://bugs.webkit.org/show_bug.cgi?id=56245 36623 36624 Since for length 0 no previous point is set, choose epsilon 36625 length to get normal at starting point of the path. 36626 36627 Test: svg/text/text-path-middle-align.svg 36628 36629 * platform/graphics/Path.cpp: 36630 (WebCore::Path::normalAngleAtLength): 36631 36632 2011-03-27 Ben Taylor <bentaylor.solx86 (a] gmail.com> 36633 36634 Reviewed by Oliver Hunt. 36635 36636 https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set 36637 created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932 36638 36639 Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions 36640 36641 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 36642 (WebCore::JSJavaScriptCallFrame::thisObject): 36643 36644 2011-03-26 Jer Noble <jer.noble (a] apple.com> 36645 36646 Unreviewed build fix. 36647 36648 Fix a bug which was causing the "skip back" button to be missing, causing 36649 the media layout tests to fail. 36650 36651 * rendering/RenderThemeMac.mm: 36652 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): 36653 36654 2011-03-26 Dan Bernstein <mitz (a] apple.com> 36655 36656 Reviewed by Maciej Stachowiak. 36657 36658 <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode 36659 https://bugs.webkit.org/show_bug.cgi?id=57169 36660 36661 Test: fast/blockflow/fallback-orientation.html 36662 36663 * platform/graphics/FontFastPath.cpp: 36664 (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather 36665 than continuing down the fallback list. 36666 36667 2011-03-26 Maciej Stachowiak <mjs (a] apple.com> 36668 36669 Reviewed by Darin Adler. 36670 36671 Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test 36672 https://bugs.webkit.org/show_bug.cgi?id=56150 36673 36674 Test: fast/css/giant-stylesheet-crash.html 36675 36676 * dom/StyleElement.cpp: 36677 (WebCore::StyleElement::process): 36678 36679 2011-03-22 Jer Noble <jer.noble (a] apple.com> 36680 36681 Reviewed by Eric Carlson. 36682 36683 Media controls must use full screen style when in new full screen mode. 36684 https://bugs.webkit.org/show_bug.cgi?id=56851 36685 36686 Add new full screen styles for the full screen media elements. 36687 36688 * DerivedSources.make: Add fullScreenQuickTime.css. 36689 * WebCore.xcodeproj/project.pbxproj: Ditto. 36690 * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded(). 36691 (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto. 36692 (WebCore::CSSStyleSelector::styleForElement): Load full screen rules 36693 if needed. 36694 * css/fullscreenQuickTime.css: Added. 36695 * css/mediaControls.css: 36696 * html/shadow/MediaControls.cpp: 36697 (WebCore::isFullScreen): Added. 36698 (WebCore::MediaControls::create): Add new full screen volume controls. 36699 (WebCore::MediaControls::updateStyle): Ditto. 36700 (WebCore::MediaControls::update): Ditto. 36701 (WebCore::MediaControls::updateVolumeSliderContainer): Ditto. 36702 (WebCore::MediaControls::forwardEvent): Ditto. 36703 * rendering/MediaControlElements.cpp: 36704 (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added. 36705 (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added. 36706 (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added. 36707 (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet 36708 (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added. 36709 (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added. 36710 (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added. 36711 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added. 36712 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added. 36713 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added. 36714 (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added. 36715 * rendering/MediaControlElements.h: 36716 Added m_overridePosition. 36717 (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added. 36718 * rendering/MediaControlElements.h: 36719 (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added. 36720 * rendering/RenderTheme.h: 36721 (WebCore::RenderTheme::extraFullScreenStyleSheet): Added. 36722 * rendering/RenderThemeMac.h: 36723 * rendering/RenderThemeMac.mm: 36724 (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added. 36725 (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward 36726 buttons. 36727 36728 2011-03-26 Jer Noble <jer.noble (a] apple.com> 36729 36730 Reviewed by Dan Bernstein. 36731 36732 RenderMedia should obey the view's flattening bit. 36733 https://bugs.webkit.org/show_bug.cgi?id=57156 36734 36735 Paint the current frame in software when the associated FrameView 36736 has its flattening bit set. 36737 36738 * rendering/RenderVideo.cpp: 36739 (WebCore::RenderVideo::paintReplaced): 36740 36741 2011-03-26 Patrick Gansterer <paroga (a] webkit.org> 36742 36743 Unreviewed build fix for !ENABLE(DOM_STORAGE). 36744 36745 * storage/StorageTracker.cpp: 36746 Added #if ENABLE(DOM_STORAGE) like in the other storage files. 36747 36748 2011-03-26 Kwang Yul Seo <skyul (a] company100.net> 36749 36750 Reviewed by Benjamin Poulain. 36751 36752 [Qt] Remove GraphicsLayerTextureMapper::nativeLayer 36753 https://bugs.webkit.org/show_bug.cgi?id=57141 36754 36755 GraphicsLayer::nativeLayer was removed in r73380. 36756 36757 * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: 36758 * platform/graphics/texmap/GraphicsLayerTextureMapper.h: 36759 36760 2011-03-26 Adam Barth <abarth (a] webkit.org> 36761 36762 Reviewed by Eric Seidel. 36763 36764 Teach Content Security Policy how to parse source-list 36765 https://bugs.webkit.org/show_bug.cgi?id=54799 36766 36767 This patch is larger than I would like, but I wasn't sure how to make 36768 it any smaller while still being reasonably testable. I've left out 36769 some features (such as host wildcarding and 'self') so I can add them 36770 in later patches with tests. 36771 36772 Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html 36773 36774 * bindings/ScriptControllerBase.cpp: 36775 * dom/ScriptElement.cpp: 36776 * html/parser/HTMLDocumentParser.cpp: 36777 * loader/FrameLoader.cpp: 36778 - Add include explicitly now that we're not spamming the include 36779 everywhere. 36780 * dom/Document.cpp: 36781 (WebCore::Document::initSecurityContext): 36782 - We need to pass the SecurityOrigin object to 36783 ContentSecurityPolicy so that it can resolve implicit parts of 36784 source patterns, such as the scheme. 36785 * dom/Document.h: 36786 - Forward declare ContentSecurityPolicy rather than including the 36787 header. Technically this could be a separate change, but I was 36788 getting annoyed at the world re-builds. 36789 * page/ContentSecurityPolicy.cpp: 36790 (WebCore::skipExactly): 36791 (WebCore::skipUtil): 36792 (WebCore::skipWhile): 36793 - Clean up these parser helper functions. We might consider moving 36794 them to a more general location. They're very helpful for 36795 writing secure HTTP header parsers. 36796 (WebCore::CSPSource::CSPSource): 36797 - New class to represent one source in a source-list. 36798 (WebCore::CSPSource::matches): 36799 (WebCore::CSPSource::schemeMatches): 36800 (WebCore::CSPSource::hostMatches): 36801 (WebCore::CSPSource::portMatches): 36802 (WebCore::CSPSource::isSchemeOnly): 36803 - Currently we represent scheme-only sources using with an empty 36804 m_host. Another approach I considered was using another bool, 36805 but that seemed slighly messier. 36806 (WebCore::CSPSourceList::CSPSourceList): 36807 - CSPSourceList doesn't need to ref SecurityOrigin because 36808 CSPSourceList is owned by ContentSecurityPolicy, which holds a 36809 ref. 36810 (WebCore::CSPSourceList::parse): 36811 (WebCore::CSPSourceList::matches): 36812 (WebCore::CSPSourceList::parseSource): 36813 (WebCore::CSPSourceList::parseScheme): 36814 (WebCore::CSPSourceList::parseHost): 36815 (WebCore::CSPSourceList::parsePort): 36816 - A basic "segment and recurse" parser. This parser causes us to 36817 take more branches than we need, but I don't think we need to 36818 squeeze every last ouch of performance out of this parser. This 36819 approach is more simple than some of the other approaches I 36820 tried. 36821 (WebCore::CSPSourceList::addSourceSelf): 36822 (WebCore::CSPDirective::CSPDirective): 36823 (WebCore::CSPDirective::allows): 36824 (WebCore::ContentSecurityPolicy::ContentSecurityPolicy): 36825 (WebCore::ContentSecurityPolicy::parse): 36826 (WebCore::ContentSecurityPolicy::parseDirective): 36827 (WebCore::ContentSecurityPolicy::addDirective): 36828 - I couldn't resist re-writing this parser to use the helper 36829 functions and to match the style of the source-list parser. 36830 * page/ContentSecurityPolicy.h: 36831 (WebCore::ContentSecurityPolicy::create): 36832 - Accept a SecurityOrigin context object. 36833 36834 2011-03-26 Patrick Gansterer <paroga (a] webkit.org> 36835 36836 Unreviewed EFL and WinCE build fix for r81977. 36837 36838 * platform/graphics/FontPlatformData.h: 36839 36840 2011-03-26 Patrick Gansterer <paroga (a] webkit.org> 36841 36842 Unreviewed WinCE build fix for r82000. 36843 36844 * platform/wince/FileSystemWinCE.cpp: 36845 (WebCore::openFile): Added missing function. 36846 36847 2011-03-25 Kevin Ollivier <kevino (a] theolliviers.com> 36848 36849 [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it. 36850 36851 * platform/graphics/FontPlatformData.h: 36852 36853 2011-03-25 Jer Noble <jer.noble (a] apple.com> 36854 36855 Reviewed by Eric Carlson. 36856 36857 MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load. 36858 https://bugs.webkit.org/show_bug.cgi?id=57047 36859 36860 No new tests. 36861 36862 When loading a URL, checkk osee if the Appplication Cache has a version of that URL 36863 stored; if so, use the local path to that cached media instead of the remote URL. 36864 36865 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 36866 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): 36867 * platform/graphics/win/QTMovie.cpp: 36868 (QTMovie::loadPath): 36869 * platform/graphics/win/QTMovie.h: 36870 36871 2011-03-25 Dan Bernstein <mitz (a] apple.com> 36872 36873 Reviewed by Darin Adler. 36874 36875 <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run 36876 https://bugs.webkit.org/show_bug.cgi?id=57106 36877 36878 Test: fast/text/justify-ideograph-leading-expansion.html 36879 36880 * platform/graphics/TextRun.h: 36881 Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags. 36882 (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter. 36883 (WebCore::TextRun::allowsLeadingExpansion): Added this accessor. 36884 (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member. 36885 * platform/graphics/WidthIterator.cpp: 36886 (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing 36887 leading expansion when appropriate. 36888 (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion 36889 after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code 36890 to handle expansion before the first glyph. 36891 * platform/graphics/mac/ComplexTextController.cpp: 36892 (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the 36893 TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion. 36894 (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion. 36895 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance() 36896 * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable. 36897 * rendering/InlineBox.h: 36898 (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion 36899 to reflect the use of this bit by InlineTextBox. 36900 * rendering/InlineTextBox.cpp: 36901 (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior(). 36902 (WebCore::InlineTextBox::paint): Ditto. 36903 (WebCore::InlineTextBox::paintSelection): Ditto. 36904 (WebCore::InlineTextBox::paintCompositionBackground): Ditto. 36905 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto. 36906 (WebCore::InlineTextBox::paintTextMatchMarker): Ditto. 36907 (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto. 36908 (WebCore::InlineTextBox::offsetForPosition): Ditto. 36909 (WebCore::InlineTextBox::positionForOffset): Ditto. 36910 * rendering/InlineTextBox.h: 36911 (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor. 36912 (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto. 36913 (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function, 36914 which also considers canHaveLeadingExpansion(). 36915 * rendering/RenderBlockLineLayout.cpp: 36916 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on 36917 text boxes that can have leading expansion. Avoid negative expansion. 36918 * rendering/RootInlineBox.cpp: 36919 * rendering/RootInlineBox.h: 36920 (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag. 36921 (WebCore::RootInlineBox::setHasSelectedChildren): Ditto. 36922 36923 2011-03-23 Jer Noble <jer.noble (a] apple.com> 36924 36925 Reviewed by Maciej Stachowiak. 36926 36927 MediaPlayerPrivateAVFoundation should use the Application Cache during load. 36928 https://bugs.webkit.org/show_bug.cgi?id=56997 36929 36930 No new tests. 36931 36932 When loading a URL, check to see if the Application Cache has a version of that URL 36933 stored; if so, use the local path to that cached media instead of the remote URL. 36934 36935 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 36936 (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded 36937 from the application cache. 36938 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: 36939 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: 36940 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 36941 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): 36942 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added. 36943 (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL. 36944 36945 2011-03-25 Ben Taylor <bentaylor.solx86 (a] gmail.com> 36946 36947 Reviewed by Darin Adler. 36948 36949 https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect 36950 both sides of a ?: operation to have the same types. Extracted from original 36951 https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally 36952 created by Thiago Macieira. 36953 36954 fixes a compile issue on Solaris 10/SunStudio 12 36955 36956 * loader/DocumentLoader.h: 36957 (WebCore::DocumentLoader::serverRedirectSourceForHistory): 36958 * loader/FrameLoader.cpp: 36959 (WebCore::FrameLoader::load): 36960 (WebCore::FrameLoader::loadWithNavigationAction): 36961 36962 2011-02-03 Jer Noble <jer.noble (a] apple.com> 36963 36964 Reviewed by Maciej Stachowiak. 36965 36966 MediaPlayerPrivateQTKit should use the Application Cache during load. 36967 https://bugs.webkit.org/show_bug.cgi?id=53818 36968 36969 No new tests. 36970 36971 When loading a URL, check to see if the Application Cache has a version of that URL 36972 stored; if so, use that data instead of the remote URL. 36973 36974 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 36975 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 36976 (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): 36977 (WebCore::MediaPlayerPrivateQTKit::createQTMovie): 36978 (WebCore::MediaPlayerPrivateQTKit::loadInternal): 36979 36980 2011-03-25 James Robinson <jamesr (a] chromium.org> 36981 36982 Reviewed by Kenneth Russell. 36983 36984 [chromium] Move draw implementations to CCLayerImpl for everything except content layers 36985 https://bugs.webkit.org/show_bug.cgi?id=56793 36986 36987 Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for 36988 all layer types except content layers. This gets us closer to decoupling the composite step itself from updating the layers. 36989 36990 The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines 36991 and moving the code from each XXXLayerChromium to CCXXXLayerImpl. In order to render from the CCLayerImpl side all state 36992 needed at draw time also has to be synchronized, which is performed in pushPropertiesTo(). 36993 36994 On the LayerRendererChromium side there are a few changes. I've split the updateContents calls on LayerChromiums into two operations 36995 tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'. paintContents() is used for any code that calls into WebKit in order to generate 36996 new pixel data. It's expected that this call may take a long period of time and may involve "odd" side effects. updateCompositorResources() is used for 36997 code that needs to update the compositor's texture data or other state. It is not expected that this callback will take long (since it's just inserting 36998 commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents(). 36999 37000 The updateAndDrawLayers cycle now looks like this: 37001 1.) update the root content layer 37002 2.) update the root layer scrollbars 37003 3.) for each LayerChromium in tree order: 37004 a.) ensure a CCLayerImpl of the correct type exists for this layer 37005 b.) push all draw time properties from the LayerChromium to the CCLayerImpl 37006 c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists 37007 4.) for each LayerChromium in tree order, paint the layer's contents 37008 5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc) 37009 6.) draw the root layer and its scrollbars 37010 7.) for each CCLayerImpl in render surface order, draw it 37011 37012 Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms 37013 in order to paint. We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick 37014 up any texture updates. This will also get fixed when the paint dependency on render surfaces is resolved. 37015 37016 I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area. 37017 37018 Tests: compositing/ 37019 37020 * WebCore.gypi: 37021 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 37022 (WebCore::Canvas2DLayerChromium::updateCompositorResources): 37023 * platform/graphics/chromium/Canvas2DLayerChromium.h: 37024 * platform/graphics/chromium/CanvasLayerChromium.cpp: 37025 (WebCore::CanvasLayerChromium::createCCLayerImpl): 37026 (WebCore::CanvasLayerChromium::pushPropertiesTo): 37027 * platform/graphics/chromium/CanvasLayerChromium.h: 37028 * platform/graphics/chromium/ContentLayerChromium.cpp: 37029 (WebCore::ContentLayerChromium::requiresClippedUpdateRect): 37030 (WebCore::ContentLayerChromium::paintContentsIfDirty): 37031 (WebCore::ContentLayerChromium::updateCompositorResources): 37032 (WebCore::ContentLayerChromium::bindContentsTexture): 37033 * platform/graphics/chromium/ContentLayerChromium.h: 37034 * platform/graphics/chromium/ImageLayerChromium.cpp: 37035 (WebCore::ImageLayerChromium::paintContentsIfDirty): 37036 * platform/graphics/chromium/ImageLayerChromium.h: 37037 * platform/graphics/chromium/LayerChromium.cpp: 37038 (WebCore::LayerChromium::LayerChromium): 37039 (WebCore::LayerChromium::cleanupResources): 37040 (WebCore::LayerChromium::setLayerRenderer): 37041 (WebCore::LayerChromium::setName): 37042 (WebCore::LayerChromium::pushPropertiesTo): 37043 (WebCore::LayerChromium::dumpLayer): 37044 (WebCore::LayerChromium::createCCLayerImpl): 37045 (WebCore::LayerChromium::createCCLayerImplIfNeeded): 37046 (WebCore::LayerChromium::ccLayerImpl): 37047 (WebCore::LayerChromium::layerRenderer): 37048 * platform/graphics/chromium/LayerChromium.h: 37049 (WebCore::LayerChromium::paintContentsIfDirty): 37050 (WebCore::LayerChromium::updateCompositorResources): 37051 * platform/graphics/chromium/LayerRendererChromium.cpp: 37052 (WebCore::LayerRendererChromium::updateLayers): 37053 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 37054 (WebCore::LayerRendererChromium::paintContentsRecursive): 37055 (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive): 37056 (WebCore::LayerRendererChromium::drawLayer): 37057 (WebCore::LayerRendererChromium::initializeSharedObjects): 37058 * platform/graphics/chromium/LayerRendererChromium.h: 37059 (WebCore::LayerRendererChromium::canvasLayerProgram): 37060 (WebCore::LayerRendererChromium::pluginLayerProgram): 37061 (WebCore::LayerRendererChromium::videoLayerRGBAProgram): 37062 (WebCore::LayerRendererChromium::videoLayerYUVProgram): 37063 * platform/graphics/chromium/PluginLayerChromium.cpp: 37064 (WebCore::PluginLayerChromium::createCCLayerImpl): 37065 (WebCore::PluginLayerChromium::setTextureId): 37066 (WebCore::PluginLayerChromium::pushPropertiesTo): 37067 * platform/graphics/chromium/PluginLayerChromium.h: 37068 (WebCore::PluginLayerChromium::textureId): 37069 * platform/graphics/chromium/VideoLayerChromium.cpp: 37070 (WebCore::VideoLayerChromium::createCCLayerImpl): 37071 (WebCore::VideoLayerChromium::updateCompositorResources): 37072 (WebCore::VideoLayerChromium::pushPropertiesTo): 37073 * platform/graphics/chromium/VideoLayerChromium.h: 37074 * platform/graphics/chromium/WebGLLayerChromium.cpp: 37075 (WebCore::WebGLLayerChromium::updateCompositorResources): 37076 * platform/graphics/chromium/WebGLLayerChromium.h: 37077 * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. 37078 (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl): 37079 (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl): 37080 (WebCore::CCCanvasLayerImpl::draw): 37081 (WebCore::CCCanvasLayerImpl::dumpLayerProperties): 37082 * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. 37083 (WebCore::CCCanvasLayerImpl::create): 37084 (WebCore::CCCanvasLayerImpl::setTextureId): 37085 (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha): 37086 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 37087 (WebCore::CCLayerImpl::descendantsDrawsContent): 37088 (WebCore::CCLayerImpl::updateCompositorResources): 37089 (WebCore::CCLayerImpl::writeIndent): 37090 * platform/graphics/chromium/cc/CCLayerImpl.h: 37091 (WebCore::CCLayerImpl::setAnchorPoint): 37092 (WebCore::CCLayerImpl::setAnchorPointZ): 37093 (WebCore::CCLayerImpl::setMasksToBounds): 37094 (WebCore::CCLayerImpl::setOpacity): 37095 (WebCore::CCLayerImpl::setPosition): 37096 (WebCore::CCLayerImpl::setPreserves3D): 37097 (WebCore::CCLayerImpl::setSublayerTransform): 37098 (WebCore::CCLayerImpl::setTransform): 37099 * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp. 37100 (WebCore::CCPluginLayerImpl::CCPluginLayerImpl): 37101 (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl): 37102 (WebCore::CCPluginLayerImpl::draw): 37103 (WebCore::CCPluginLayerImpl::dumpLayerProperties): 37104 * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. 37105 (WebCore::CCPluginLayerImpl::create): 37106 (WebCore::CCPluginLayerImpl::setTextureId): 37107 * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added. 37108 (WebCore::CCVideoLayerImpl::CCVideoLayerImpl): 37109 (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl): 37110 (WebCore::CCVideoLayerImpl::setTexture): 37111 (WebCore::CCVideoLayerImpl::draw): 37112 (WebCore::CCVideoLayerImpl::drawYUV): 37113 (WebCore::CCVideoLayerImpl::drawRGBA): 37114 (WebCore::CCVideoLayerImpl::dumpLayerProperties): 37115 * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. 37116 (WebCore::CCVideoLayerImpl::create): 37117 (WebCore::CCVideoLayerImpl::setSkipsDraw): 37118 (WebCore::CCVideoLayerImpl::setFrameFormat): 37119 37120 2011-03-25 Oliver Hunt <oliver (a] apple.com> 37121 37122 Reviewed by Darin Adler. 37123 37124 Allow defineOwnProperty to work on DOMObjects 37125 https://bugs.webkit.org/show_bug.cgi?id=57129 37126 37127 As other engines are allowing defineOwnProperty to be applied 37128 to host objects there's no reason for us to retain this 37129 restriction. 37130 37131 * bindings/js/JSDOMWrapper.cpp: 37132 * bindings/js/JSDOMWrapper.h: 37133 37134 2011-03-25 Andy Estes <aestes (a] apple.com> 37135 37136 Reviewed by Adele Peterson. 37137 37138 REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js 37139 https://bugs.webkit.org/show_bug.cgi?id=49016 37140 37141 AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the 37142 QuickTime plug-in in web pages. r70748 removed our mapping of classids 37143 to MIME types, which causes WebKit to fall back from the object to the 37144 embed tag when QuickTime is embedded by this script. The script emits 37145 the following embed tag to embed a QuickTime movie with a poster frame: 37146 37147 <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> 37148 37149 The expectation is that a QuickTime plug-in is instantiated to display the 37150 poster frame, since QuickTime registers for many common image MIME 37151 types. This is how Gecko behaves for embed. However, WebKit prefers to 37152 use its native image rendering for image embeds, in which case no movie 37153 is played when the poster frame is clicked. 37154 37155 Fix this by changing embed to check for a plug-in that can handle the 37156 image type before rendering the image natively. This matches Gecko. 37157 37158 Test: plugins/embed-prefers-plugins-for-images.html 37159 37160 * html/HTMLEmbedElement.cpp: 37161 (WebCore::HTMLEmbedElement::HTMLEmbedElement): 37162 * html/HTMLObjectElement.cpp: 37163 (WebCore::HTMLObjectElement::HTMLObjectElement): 37164 (WebCore::HTMLObjectElement::parametersForPlugin): 37165 * html/HTMLPlugInImageElement.cpp: 37166 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): 37167 (WebCore::HTMLPlugInImageElement::isImageType): 37168 (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): 37169 * html/HTMLPlugInImageElement.h: 37170 (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages): 37171 * loader/EmptyClients.h: 37172 (WebCore::EmptyFrameLoaderClient::objectContentType): 37173 * loader/FrameLoader.cpp: 37174 (WebCore::FrameLoader::defaultObjectContentType): 37175 * loader/FrameLoader.h: 37176 * loader/FrameLoaderClient.h: 37177 * loader/SubframeLoader.cpp: 37178 (WebCore::SubframeLoader::resourceWillUsePlugin): 37179 (WebCore::SubframeLoader::requestPlugin): 37180 (WebCore::SubframeLoader::requestObject): 37181 (WebCore::SubframeLoader::shouldUsePlugin): 37182 * loader/SubframeLoader.h: 37183 37184 2011-03-23 Jer Noble <jer.noble (a] apple.com> 37185 37186 Reviewed by Eric Carlson. 37187 37188 Application Cache should save audio/ and video/ mime types as flat files 37189 https://bugs.webkit.org/show_bug.cgi?id=53784 37190 <rdar://problem/8932473> 37191 37192 No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines. 37193 37194 Store certain mime types as flat files alongside the Application Cache database. 37195 This requires plumbing the saved file path from ApplicationCacheStorage through 37196 to ApplicationCacheResource. 37197 37198 (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and 37199 add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger. 37200 (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in 37201 CacheResourceData, and store media resources as flat files. 37202 (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData 37203 when loading cache items. 37204 (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources. 37205 (WebCore::ApplicationCacheStorage::empty): Ditto. 37206 (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto. 37207 (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto. 37208 (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData 37209 looking for entries with non-empty "path" columns; if found, delete. 37210 (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows 37211 and sum the file size of those rows with flat file storage. 37212 (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of 37213 clearAllTables() directly. 37214 (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables, 37215 so that flat files get deleted. 37216 (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added. 37217 (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added. 37218 * loader/appcache/ApplicationCacheStorage.h: 37219 * platform/win/FileSystemWin.cpp: 37220 (WebCore::openFile): Implement openFile on Windows. 37221 37222 2011-03-24 David Hyatt <hyatt (a] apple.com> 37223 37224 Reviewed by Dan Bernstein. 37225 37226 https://bugs.webkit.org/show_bug.cgi?id=56909 37227 37228 Add a simplified normal flow layout path optimization for overflow recomputation 37229 and for positioned objects inside relative positioned containers. 37230 37231 Currently there is an optimized code path for positioned objects, but as soon as 37232 we encounter a normal flow object in the containing block chain, we lose the 37233 optimization. 37234 37235 This patch adds a new type of style difference called SimplifiedLayout that is 37236 returned when only overflow needs to be recomputed. Whenever a transform changes, 37237 this is the hint returned now instead of a full layout. 37238 37239 In addition, when positioned objects need layout and start marking up the 37240 containing block chain, we now propagate the fact that the layout is simplified 37241 all the way up to the root, even when we encounter normal flow containing 37242 blocks. 37243 37244 The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() 37245 and is now used for all of these cases (in addition to what it handled before). 37246 37247 The simplified layout optimization (even in ToT) did not work correctly when 37248 static distances needed to be recomputed. In order to make static distance 37249 computations work with simplified layout, positioned objects now always compute 37250 their static offsets, even if they explicitly specify left/top. That way normal 37251 flow layout never has to re-run when the positioned object moves. This makes 37252 movement of a positioned object along a single non-auto axis much faster when the 37253 other axis is auto. Because this code kicked in more often for absolutely positioned 37254 objects whose original display was inline, I went ahead and fixed the trailing space 37255 issue with those objects. This causes a bunch of layout tests to progress. 37256 37257 Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html. 37258 37259 * rendering/RenderBlock.cpp: 37260 (WebCore::RenderBlock::layoutBlock): 37261 (WebCore::RenderBlock::adjustPositionedBlock): 37262 (WebCore::RenderBlock::simplifiedNormalFlowLayout): 37263 (WebCore::RenderBlock::simplifiedLayout): 37264 * rendering/RenderBlock.h: 37265 * rendering/RenderBlockLineLayout.cpp: 37266 (WebCore::setStaticPositions): 37267 (WebCore::RenderBlock::findNextLineBreak): 37268 * rendering/RenderBox.cpp: 37269 (WebCore::RenderBox::styleDidChange): 37270 (WebCore::RenderBox::positionLineBox): 37271 * rendering/RenderBoxModelObject.cpp: 37272 (WebCore::RenderBoxModelObject::styleWillChange): 37273 * rendering/RenderFlexibleBox.cpp: 37274 (WebCore::RenderFlexibleBox::layoutBlock): 37275 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 37276 (WebCore::RenderFlexibleBox::layoutVerticalBox): 37277 * rendering/RenderObject.cpp: 37278 (WebCore::RenderObject::RenderObject): 37279 (WebCore::RenderObject::adjustStyleDifference): 37280 (WebCore::RenderObject::setStyle): 37281 (WebCore::RenderObject::styleDidChange): 37282 * rendering/RenderObject.h: 37283 (WebCore::RenderObject::needsLayout): 37284 (WebCore::RenderObject::needsPositionedMovementLayoutOnly): 37285 (WebCore::RenderObject::needsSimplifiedNormalFlowLayout): 37286 (WebCore::RenderObject::setNeedsLayout): 37287 (WebCore::RenderObject::setChildNeedsLayout): 37288 (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): 37289 (WebCore::RenderObject::markContainingBlocksForLayout): 37290 * rendering/RenderTable.cpp: 37291 (WebCore::RenderTable::layout): 37292 * rendering/style/RenderStyle.cpp: 37293 (WebCore::RenderStyle::diff): 37294 * rendering/style/RenderStyleConstants.h: 37295 * rendering/svg/RenderSVGText.cpp: 37296 (WebCore::RenderSVGText::layout): 37297 37298 2011-03-25 Martin Robinson <mrobinson (a] igalia.com> 37299 37300 Fix the GTK+ build until we can implement the new cross-platform 37301 FontPlatformData.h bits. 37302 37303 * platform/graphics/FontPlatformData.h: Include the proper old font headers. 37304 (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file 37305 which reference our obsolete font implementation. 37306 (WebCore::FontPlatformData::hash): Ditto. 37307 37308 2011-03-25 Steve Falkenburg <sfalken (a] apple.com> 37309 37310 Reviewed by Brian Weinstein. 37311 37312 Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll 37313 https://bugs.webkit.org/show_bug.cgi?id=57119 37314 <rdar://problem/9054148> 37315 37316 This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL 37317 not available in WebKit. The plug-in is fairly widespread, since it was included in 37318 a Windows Update push at one point. 37319 37320 * plugins/win/PluginPackageWin.cpp: 37321 (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll. 37322 37323 2011-03-25 Tony Chang <tony (a] chromium.org> 37324 37325 Try to fix the chromium mac build. 37326 We used the mac FontPlatformData on chromium mac. 37327 37328 * WebCore.gyp/WebCore.gyp: 37329 * WebCore.gypi: 37330 * platform/graphics/FontPlatformData.h: 37331 37332 2011-03-25 Tony Chang <tony (a] chromium.org> 37333 37334 Build fix: 37335 have chromium and qt use the correct FontPlatformData.h 37336 https://bugs.webkit.org/show_bug.cgi?id=57115 37337 37338 * platform/graphics/FontPlatformData.h: 37339 37340 2011-03-25 Beth Dakin <bdakin (a] apple.com> 37341 37342 Reviewed by Dave Hyatt. 37343 37344 Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow 37345 areas paint behind positive z-index content 37346 -and corresponding- 37347 <rdar://problem/9070500> 37348 37349 Since overlay scrollbars don't clip the scrollable content like other scrollbars do, 37350 the only way to get them to paint on top of all possible scrollable content is to 37351 make them paint on top of everything. To do this, this patch adds a second trip 37352 through the layer tree if it contains overlay scrollbars that need painting. 37353 37354 After calling paint() on the rootLayer, call paintOverlayScrollers() if 37355 containsDirtyOverlayScrollbars() is true. 37356 * page/FrameView.cpp: 37357 (WebCore::FrameView::paintContents): 37358 37359 RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool 37360 that is set on the root layer when it has child layers that need overlay scrollbars 37361 to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty 37362 of the overlay scrollbars on the first (normal) pass through the layer tree. This 37363 prevents us from having to re-enter the render tree during the second (overlay-only) 37364 pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars. 37365 * rendering/RenderLayer.h: 37366 (WebCore::RenderLayer::containsDirtyOverlayScrollbars): 37367 (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars): 37368 * rendering/RenderLayer.cpp: 37369 (WebCore::RenderLayer::RenderLayer): 37370 (WebCore::RenderLayer::paintOverflowControls): 37371 (WebCore::RenderLayer::paintOverlayScrollbars): 37372 (WebCore::RenderLayer::paintLayer): 37373 37374 2011-03-25 Jessie Berlin <jberlin (a] apple.com> 37375 37376 Reviewed by Sam Weinig. 37377 37378 WebKit2: Need to be able to set and get the Cookie Storage Policy. 37379 https://bugs.webkit.org/show_bug.cgi?id=50780 37380 37381 * platform/network/cf/CookieStorageCFNet.cpp: 37382 (WebCore::privateCookieStorage): 37383 Rename privateBrowsingCookieStorage to privateCookieStorage. 37384 (WebCore::currentCookieStorage): 37385 Ditto. 37386 (WebCore::setCurrentCookieStorage): 37387 Ditto. 37388 (WebCore::setCookieStoragePrivateBrowsingEnabled): 37389 Ditto. 37390 (WebCore::defaultCookieStorage): 37391 Return the default cookie storage. 37392 (WebCore::privateBrowsingCookieStorage): 37393 Return privateCookieStorage().get() 37394 * platform/network/cf/CookieStorageCFNet.h: 37395 37396 2011-03-25 Emil A Eklund <eae (a] chromium.org> 37397 37398 Reviewed by Dimitri Glazkov. 37399 37400 Text field "onchange" event is triggered if actual value unchanged 37401 https://bugs.webkit.org/show_bug.cgi?id=36314 37402 37403 Change RenderTextControl::subtreeHasChanged to only return true if the 37404 subtree has changed since the last event was triggered. 37405 37406 * html/HTMLFormControlElement.cpp: 37407 (WebCore::HTMLTextFormControlElement::insertedIntoDocument): 37408 (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent): 37409 * html/HTMLFormControlElement.h: 37410 (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent): 37411 * html/HTMLInputElement.cpp: 37412 (WebCore::HTMLInputElement::setChecked): 37413 (WebCore::HTMLInputElement::setValue): 37414 * html/HTMLTextAreaElement.cpp: 37415 (WebCore::HTMLTextAreaElement::setValue): 37416 (WebCore::HTMLTextAreaElement::setNonDirtyValue): 37417 37418 2011-03-25 Brent Fulgham <bfulgham (a] webkit.org> 37419 37420 Reviewed by David Hyatt. 37421 37422 Clean up FontPlatformData structure so that a single implementation 37423 is used across all ports. This first patch works for the Windows 37424 build (both CG and WinCairo), and Cocoa. 37425 37426 * WebCore.vcproj/WebCore.vcproj: 37427 * platform/graphics/FontPlatformData.cpp: Added. 37428 (WebCore::FontPlatformData::FontPlatformData): 37429 (WebCore::FontPlatformData::operator=): 37430 * platform/graphics/FontPlatformData.h: Added. 37431 (WebCore::toCTFontRef): 37432 (WebCore::FontPlatformData::FontPlatformData): 37433 (WebCore::FontPlatformData::hfont): 37434 (WebCore::FontPlatformData::useGDI): 37435 (WebCore::FontPlatformData::font): 37436 (WebCore::FontPlatformData::cgFont): 37437 (WebCore::FontPlatformData::size): 37438 (WebCore::FontPlatformData::setSize): 37439 (WebCore::FontPlatformData::syntheticBold): 37440 (WebCore::FontPlatformData::syntheticOblique): 37441 (WebCore::FontPlatformData::isColorBitmapFont): 37442 (WebCore::FontPlatformData::orientation): 37443 (WebCore::FontPlatformData::textOrientation): 37444 (WebCore::FontPlatformData::widthVariant): 37445 (WebCore::FontPlatformData::setOrientation): 37446 (WebCore::FontPlatformData::scaledFont): 37447 (WebCore::FontPlatformData::fontFace): 37448 (WebCore::FontPlatformData::hash): 37449 (WebCore::FontPlatformData::operator==): 37450 (WebCore::FontPlatformData::isHashTableDeletedValue): 37451 (WebCore::FontPlatformData::hashTableDeletedFontValue): 37452 * platform/graphics/cg/FontPlatformData.h: Removed. 37453 * platform/graphics/cocoa/FontPlatformData.h: Removed. 37454 * platform/graphics/cocoa/FontPlatformDataCocoa.mm: 37455 (WebCore::~FontPlatformData): 37456 (WebCore::FontPlatformData::platformDataInit): 37457 (WebCore::FontPlatformData::platformDataAssign): 37458 * platform/graphics/win/FontPlatformDataCGWin.cpp: 37459 (WebCore::FontPlatformData::FontPlatformData): 37460 (WebCore::FontPlatformData::~FontPlatformData): 37461 (WebCore::FontPlatformData::platformDataInit): 37462 (WebCore::FontPlatformData::platformDataAssign): 37463 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 37464 (WebCore::FontPlatformData::FontPlatformData): 37465 (WebCore::FontPlatformData::~FontPlatformData): 37466 (WebCore::FontPlatformData::platformDataInit): 37467 (WebCore::FontPlatformData::platformDataAssign): 37468 * platform/graphics/win/FontPlatformDataWin.cpp: 37469 (WebCore::FontPlatformData::FontPlatformData): 37470 * platform/graphics/win/cairo/FontPlatformData.h: Removed. 37471 37472 2011-03-25 Enrica Casucci <enrica (a] apple.com> 37473 37474 Reviewed by Oliver Hunt. 37475 37476 Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName. 37477 https://bugs.webkit.org/show_bug.cgi?id=57107 37478 <rdar://problem/9084267> 37479 37480 If the selection is at the beginning of content inside an anchor tag 37481 we move the selection start to include the anchor. 37482 37483 * platform/mac/PasteboardMac.mm: 37484 (WebCore::Pasteboard::writeSelection): Modified to change the selection 37485 start according to the new rule. 37486 37487 2011-03-25 Pavel Feldman <pfeldman (a] chromium.org> 37488 37489 Reviewed by Yury Semikhatsky. 37490 37491 Web Inspector: refactor Network domain's frame tree API 37492 https://bugs.webkit.org/show_bug.cgi?id=57103 37493 37494 * inspector/Inspector.json: 37495 * inspector/InspectorResourceAgent.cpp: 37496 (WebCore::buildObjectForFrameResource): 37497 (WebCore::buildObjectForCachedResource): 37498 (WebCore::InspectorResourceAgent::willSendRequest): 37499 (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): 37500 (WebCore::buildObjectForFrame): 37501 (WebCore::buildObjectForFrameTree): 37502 (WebCore::InspectorResourceAgent::didCommitLoad): 37503 (WebCore::InspectorResourceAgent::enable): 37504 * inspector/front-end/NetworkManager.js: 37505 (WebInspector.NetworkManager.prototype.requestContent): 37506 (WebInspector.NetworkDispatcher): 37507 (WebInspector.NetworkDispatcher.prototype.willSendRequest): 37508 (WebInspector.NetworkDispatcher.prototype.didReceiveResponse): 37509 (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache): 37510 (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent): 37511 (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame): 37512 (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket): 37513 (WebInspector.NetworkDispatcher.prototype._appendRedirect): 37514 (WebInspector.NetworkDispatcher.prototype._addFramesRecursively): 37515 (WebInspector.NetworkDispatcher.prototype._createResource): 37516 * inspector/front-end/ResourceTreeModel.js: 37517 (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame): 37518 (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame): 37519 (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources): 37520 (WebInspector.ResourceTreeModel.prototype._clearResources): 37521 * inspector/front-end/ResourcesPanel.js: 37522 (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame): 37523 (WebInspector.ResourcesPanel.prototype.addResourceToFrame): 37524 37525 2011-03-25 Dave Hyatt <hyatt (a] apple.com> 37526 37527 Reviewed by Adele Peterson. 37528 37529 REGRESSION(r77257): Only first page of a document is printed 37530 https://bugs.webkit.org/show_bug.cgi?id=56958 37531 37532 Test: printing/page-count-layout-overflow.html 37533 37534 * page/FrameView.cpp: 37535 (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow 37536 to the right place. 37537 37538 2011-03-25 Benjamin Poulain <benjamin.poulain (a] nokia.com> 37539 37540 Reviewed by Andreas Kling. 37541 37542 [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled 37543 https://bugs.webkit.org/show_bug.cgi?id=57087 37544 37545 Use explicit conversion for string to avoid depending on the default codec 37546 installed by the user code. 37547 37548 * bridge/qt/qt_pixmapruntime.cpp: 37549 (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): 37550 (JSC::Bindings::QtPixmapInstance::valueOf): 37551 * platform/qt/LanguageQt.cpp: 37552 (WebCore::platformDefaultLanguage): 37553 * platform/qt/PasteboardQt.cpp: 37554 (WebCore::Pasteboard::writeSelection): 37555 * plugins/qt/PluginPackageQt.cpp: 37556 (WebCore::initializeGtk): 37557 * plugins/qt/PluginViewQt.cpp: 37558 (WebCore::getPluginDisplay): 37559 37560 2011-03-25 Chang Shu <cshu (a] webkit.org> 37561 37562 Reviewed by Ryosuke Niwa. 37563 37564 rename Node::isContentEditable and all call sites to rendererIsEditable 37565 https://bugs.webkit.org/show_bug.cgi?id=54290 37566 37567 This is part of the effort to separate JS API HTMLElement isContentEditable from 37568 internal Node::rendererIsEditable. 37569 37570 Code refactoring. No new tests. 37571 37572 * accessibility/AccessibilityRenderObject.cpp: 37573 (WebCore::AccessibilityRenderObject::isReadOnly): 37574 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 37575 * dom/Document.cpp: 37576 (WebCore::acceptsEditingFocus): 37577 * dom/Node.cpp: 37578 (WebCore::Node::rendererIsEditable): 37579 (WebCore::Node::shouldUseInputMethod): 37580 (WebCore::Node::canStartSelection): 37581 (WebCore::Node::rootEditableElement): 37582 * dom/Node.h: 37583 (WebCore::Node::isContentEditable): 37584 (WebCore::Node::rendererIsEditable): 37585 (WebCore::Node::rendererIsRichlyEditable): 37586 * dom/Position.cpp: 37587 (WebCore::nextRenderedEditable): 37588 (WebCore::previousRenderedEditable): 37589 (WebCore::Position::atEditingBoundary): 37590 (WebCore::Position::parentEditingBoundary): 37591 (WebCore::Position::upstream): 37592 (WebCore::Position::downstream): 37593 (WebCore::Position::isCandidate): 37594 * dom/PositionIterator.cpp: 37595 (WebCore::PositionIterator::isCandidate): 37596 * editing/AppendNodeCommand.cpp: 37597 (WebCore::AppendNodeCommand::AppendNodeCommand): 37598 (WebCore::AppendNodeCommand::doApply): 37599 (WebCore::AppendNodeCommand::doUnapply): 37600 * editing/ApplyStyleCommand.cpp: 37601 (WebCore::containsNonEditableRegion): 37602 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): 37603 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): 37604 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): 37605 * editing/CompositeEditCommand.cpp: 37606 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 37607 * editing/DeleteButtonController.cpp: 37608 (WebCore::isDeletableElement): 37609 (WebCore::enclosingDeletableElement): 37610 * editing/DeleteFromTextNodeCommand.cpp: 37611 (WebCore::DeleteFromTextNodeCommand::doApply): 37612 (WebCore::DeleteFromTextNodeCommand::doUnapply): 37613 * editing/DeleteSelectionCommand.cpp: 37614 (WebCore::DeleteSelectionCommand::removeNode): 37615 * editing/Editor.cpp: 37616 (WebCore::Editor::canDeleteRange): 37617 (WebCore::Editor::markMisspellingsOrBadGrammar): 37618 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 37619 * editing/EditorCommand.cpp: 37620 (WebCore::verticalScrollDistance): 37621 * editing/FormatBlockCommand.cpp: 37622 (WebCore::enclosingBlockToSplitTreeTo): 37623 * editing/IndentOutdentCommand.cpp: 37624 (WebCore::IndentOutdentCommand::outdentParagraph): 37625 * editing/InsertIntoTextNodeCommand.cpp: 37626 (WebCore::InsertIntoTextNodeCommand::doApply): 37627 (WebCore::InsertIntoTextNodeCommand::doUnapply): 37628 * editing/InsertNodeBeforeCommand.cpp: 37629 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): 37630 (WebCore::InsertNodeBeforeCommand::doApply): 37631 (WebCore::InsertNodeBeforeCommand::doUnapply): 37632 * editing/JoinTextNodesCommand.cpp: 37633 (WebCore::JoinTextNodesCommand::doApply): 37634 (WebCore::JoinTextNodesCommand::doUnapply): 37635 * editing/MergeIdenticalElementsCommand.cpp: 37636 (WebCore::MergeIdenticalElementsCommand::doApply): 37637 (WebCore::MergeIdenticalElementsCommand::doUnapply): 37638 * editing/RemoveNodeCommand.cpp: 37639 (WebCore::RemoveNodeCommand::doApply): 37640 (WebCore::RemoveNodeCommand::doUnapply): 37641 * editing/ReplaceSelectionCommand.cpp: 37642 (WebCore::ReplacementFragment::ReplacementFragment): 37643 * editing/SelectionController.cpp: 37644 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 37645 (WebCore::SelectionController::setSelectionFromNone): 37646 * editing/SplitElementCommand.cpp: 37647 (WebCore::SplitElementCommand::executeApply): 37648 (WebCore::SplitElementCommand::doUnapply): 37649 * editing/SplitTextNodeCommand.cpp: 37650 (WebCore::SplitTextNodeCommand::doApply): 37651 (WebCore::SplitTextNodeCommand::doUnapply): 37652 (WebCore::SplitTextNodeCommand::doReapply): 37653 * editing/SplitTextNodeContainingElementCommand.cpp: 37654 (WebCore::SplitTextNodeContainingElementCommand::doApply): 37655 * editing/VisiblePosition.cpp: 37656 (WebCore::VisiblePosition::canonicalPosition): 37657 * editing/WrapContentsInDummySpanCommand.cpp: 37658 (WebCore::WrapContentsInDummySpanCommand::doUnapply): 37659 (WebCore::WrapContentsInDummySpanCommand::doReapply): 37660 * editing/htmlediting.cpp: 37661 (WebCore::highestEditableRoot): 37662 (WebCore::lowestEditableAncestor): 37663 (WebCore::isEditablePosition): 37664 (WebCore::isRichlyEditablePosition): 37665 (WebCore::firstEditablePositionAfterPositionInRoot): 37666 (WebCore::extendRangeToWrappingNodes): 37667 (WebCore::enclosingNodeWithTag): 37668 (WebCore::enclosingNodeOfType): 37669 (WebCore::highestEnclosingNodeOfType): 37670 (WebCore::canMergeLists): 37671 * editing/visible_units.cpp: 37672 (WebCore::previousLeafWithSameEditability): 37673 (WebCore::previousLinePosition): 37674 (WebCore::nextLeafWithSameEditability): 37675 (WebCore::nextLinePosition): 37676 (WebCore::startOfParagraph): 37677 (WebCore::endOfParagraph): 37678 * html/HTMLAnchorElement.cpp: 37679 (WebCore::HTMLAnchorElement::supportsFocus): 37680 (WebCore::HTMLAnchorElement::defaultEventHandler): 37681 (WebCore::HTMLAnchorElement::setActive): 37682 (WebCore::HTMLAnchorElement::canStartSelection): 37683 (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType): 37684 * html/HTMLBodyElement.cpp: 37685 (WebCore::HTMLBodyElement::supportsFocus): 37686 * html/HTMLElement.cpp: 37687 (WebCore::HTMLElement::supportsFocus): 37688 (WebCore::HTMLElement::isContentEditable): 37689 (WebCore::HTMLElement::contentEditable): 37690 * html/HTMLElement.h: 37691 * page/DragController.cpp: 37692 (WebCore::DragController::operationForLoad): 37693 (WebCore::DragController::canProcessDrag): 37694 * page/EventHandler.cpp: 37695 (WebCore::EventHandler::handleMouseReleaseEvent): 37696 (WebCore::EventHandler::selectCursor): 37697 * page/FocusController.cpp: 37698 (WebCore::relinquishesEditingFocus): 37699 * rendering/HitTestResult.cpp: 37700 (WebCore::HitTestResult::isContentEditable): 37701 * rendering/RenderBlock.cpp: 37702 (WebCore::positionForPointRespectingEditingBoundaries): 37703 (WebCore::RenderBlock::hasLineIfEmpty): 37704 * rendering/RenderBlockLineLayout.cpp: 37705 (WebCore::RenderBlock::addOverflowFromInlineChildren): 37706 * rendering/RenderBox.cpp: 37707 (WebCore::RenderBox::canBeProgramaticallyScrolled): 37708 * rendering/RenderObject.cpp: 37709 (WebCore::RenderObject::createVisiblePosition): 37710 * rendering/RootInlineBox.cpp: 37711 (WebCore::isEditableLeaf): 37712 * svg/SVGAElement.cpp: 37713 (WebCore::SVGAElement::supportsFocus): 37714 37715 2011-03-25 Maciej Stachowiak <mjs (a] apple.com> 37716 37717 Reviewed by Antti Koivisto. 37718 37719 Crash when a wbr element is inserted inside mroot 37720 https://bugs.webkit.org/show_bug.cgi?id=56352 37721 37722 Test: mathml/wbr-in-mroot-crash.html 37723 37724 * rendering/mathml/RenderMathMLRoot.cpp: 37725 (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first 37726 child, instead of just assuming. 37727 37728 2011-03-25 Vsevolod Vlasov <vsevik (a] chromium.org> 37729 37730 Reviewed by Pavel Feldman. 37731 37732 XML Viewer: extensions can't render original XML 37733 https://bugs.webkit.org/show_bug.cgi?id=56263 37734 37735 Added source xml to transformed document, renamed onload function. 37736 37737 * xml/XMLTreeViewer.cpp: 37738 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 37739 * xml/XMLViewer.xsl: 37740 37741 2011-03-25 Benjamin Poulain <benjamin.poulain (a] nokia.com> 37742 37743 Reviewed by Andreas Kling. 37744 37745 [Qt] Get rid of the invalid string conversion with ::fromAscii() 37746 https://bugs.webkit.org/show_bug.cgi?id=57102 37747 37748 Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code. 37749 37750 * platform/network/qt/QNetworkReplyHandler.cpp: 37751 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 37752 * platform/qt/CookieJarQt.cpp: 37753 (WebCore::cookies): 37754 (WebCore::cookieRequestHeaderFieldValue): 37755 37756 2011-03-25 Sheriff Bot <webkit.review.bot (a] gmail.com> 37757 37758 Unreviewed, rolling out r81953. 37759 http://trac.webkit.org/changeset/81953 37760 https://bugs.webkit.org/show_bug.cgi?id=57096 37761 37762 "inspector test breakage: part 2/2" (Requested by apavlov on 37763 #webkit). 37764 37765 * inspector/Inspector.json: 37766 * inspector/InspectorCSSAgent.cpp: 37767 (WebCore::InspectorCSSAgent::getAllStyles): 37768 * inspector/InspectorCSSAgent.h: 37769 * inspector/InspectorStyleSheet.cpp: 37770 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): 37771 * inspector/InspectorStyleSheet.h: 37772 * inspector/front-end/AuditRules.js: 37773 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): 37774 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 37775 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 37776 * inspector/front-end/CSSStyleModel.js: 37777 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 37778 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 37779 (WebInspector.CSSStyleModel.prototype._onRevert): 37780 (WebInspector.CSSStyleSheet): 37781 (WebInspector.CSSStyleSheet.prototype.setText): 37782 37783 2011-03-15 Alexander Pavlov <apavlov (a] chromium.org> 37784 37785 Reviewed by Pavel Feldman. 37786 37787 Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js 37788 https://bugs.webkit.org/show_bug.cgi?id=56310 37789 37790 Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing 37791 "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned 37792 by CSSAgent.getStyleSheet() anymore. 37793 37794 Test: inspector/styles/get-set-stylesheet-text.html 37795 37796 * inspector/Inspector.json: 37797 * inspector/InspectorCSSAgent.cpp: 37798 (WebCore::InspectorCSSAgent::getAllStyleSheets): 37799 * inspector/InspectorCSSAgent.h: 37800 * inspector/InspectorStyleSheet.cpp: 37801 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): 37802 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): 37803 * inspector/InspectorStyleSheet.h: 37804 * inspector/front-end/AuditRules.js: 37805 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): 37806 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 37807 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 37808 * inspector/front-end/CSSStyleModel.js: 37809 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 37810 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 37811 (WebInspector.CSSStyleModel.prototype._onRevert): 37812 (WebInspector.CSSStyleSheet): 37813 (WebInspector.CSSStyleSheet.prototype.setText): 37814 37815 2011-03-25 Pavel Feldman <pfeldman (a] chromium.org> 37816 37817 Reviewed by Yury Semikhatsky. 37818 37819 Web Inspector: extension server should not convert all resources to HAR when there are no extensions. 37820 https://bugs.webkit.org/show_bug.cgi?id=57044 37821 37822 * inspector/front-end/ExtensionServer.js: 37823 (WebInspector.ExtensionServer.prototype._notifyResourceFinished): 37824 (WebInspector.ExtensionServer.prototype._hasSubscribers): 37825 37826 2011-03-25 Leo Yang <leo.yang (a] torchmobile.com.cn> 37827 37828 Reviewed by Nikolas Zimmermann. 37829 37830 SVG <use> element performance improvement 37831 https://bugs.webkit.org/show_bug.cgi?id=57077 37832 37833 SVG <use> element was expanding nesting <use> and <symbol> elements 37834 in an inefficient way. After it expanded an <use> or a <symbol> 37835 element it would restart expanding from the shadow tree root. 37836 This behavior was leading about 160 millions of calls to 37837 expandUseElementInShadowTree or expandSymbolElementInShadowTree for 37838 a single shadow tree which is illustrated by 37839 http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg. 37840 But the effective calls, which really expand <use> or <symbol> 37841 elements, were about 5200; others were passing-by calls, which are 37842 recursively down to the children. 37843 37844 This patch is altering the expanding path to reduce the passing-by 37845 calls. It will expand elements in sibling chain where there is an 37846 effective call, because the effective call replaces element which is 37847 expanded and the replacement results lose of the sibling chain of 37848 the replaced on the upper recursion stack. With this patch the 37849 passing-by calls are reduced from about 160 millions to about 30 37850 thousands. 37851 37852 No functionality change, no new tests. 37853 37854 * svg/SVGUseElement.cpp: 37855 (WebCore::SVGUseElement::expandUseElementsInShadowTree): 37856 (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): 37857 * svg/SVGUseElement.h: 37858 37859 2011-03-25 Dominic Cooney <dominicc (a] google.com> 37860 37861 Reviewed by Kent Tamura. 37862 37863 Makes keygen support autofocus attribute. 37864 https://bugs.webkit.org/show_bug.cgi?id=57091 37865 37866 Test: fast/forms/autofocus-keygen.html 37867 37868 * html/HTMLFormControlElement.cpp: 37869 (WebCore::HTMLFormControlElement::attach): 37870 37871 2011-03-24 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 37872 37873 Reviewed by Antonio Gomes. 37874 37875 [EFL] Add sound / mute button to MediaControl UI 37876 https://bugs.webkit.org/show_bug.cgi?id=56726 37877 37878 Add sound / mute button to MediaControl UI. 37879 37880 * platform/efl/RenderThemeEfl.cpp: 37881 (WebCore::RenderThemeEfl::edjeGroupFromFormType): 37882 (WebCore::RenderThemeEfl::emitMediaButtonSignal): 37883 (WebCore::RenderThemeEfl::paintMediaMuteButton): 37884 * platform/efl/RenderThemeEfl.h: 37885 37886 2011-03-24 Nikolas Zimmermann <nzimmermann (a] rim.com> 37887 37888 Reviewed by Darin Adler. 37889 37890 Introduce WTF HexNumber.h 37891 https://bugs.webkit.org/show_bug.cgi?id=56099 37892 37893 Introduce a set of functions that ease converting from a bye or a number to a hex string, 37894 replacing several of these conversions and String::format("%x") usages all over WebCore. 37895 37896 * ForwardingHeaders/wtf/HexNumber.h: Added. 37897 * css/CSSOMUtils.cpp: 37898 (WebCore::serializeCharacterAsCodePoint): 37899 * css/CSSParser.cpp: 37900 (WebCore::quoteCSSString): 37901 * inspector/InspectorResourceAgent.cpp: 37902 (WebCore::createReadableStringFromBinary): 37903 * platform/FileSystem.cpp: 37904 (WebCore::encodeForFileName): 37905 * platform/KURL.cpp: 37906 (WebCore::appendEscapedChar): 37907 * platform/UUID.cpp: 37908 (WebCore::createCanonicalUUIDString): 37909 * platform/graphics/Color.cpp: 37910 (WebCore::Color::serialized): 37911 * platform/network/FormDataBuilder.cpp: 37912 (WebCore::FormDataBuilder::encodeStringAsFormData): 37913 * rendering/RenderTreeAsText.cpp: 37914 (WebCore::quoteAndEscapeNonPrintables): 37915 37916 2011-03-24 Stephanie Lewis <slewis (a] apple.com> 37917 37918 Reviewed by Geoff Garen. 37919 37920 <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts 37921 Add back a call to destroy decoded data after access. Keep the SourceProviderCache 37922 around as long as their are still clients to use it. 37923 37924 No new tests because there is no change in behavior. Current tests pass. 37925 37926 * loader/cache/CachedScript.cpp: 37927 (WebCore::CachedScript::script): 37928 (WebCore::CachedScript::destroyDecodedData): 37929 37930 2011-03-24 Stephanie Lewis <slewis (a] apple.com> 37931 37932 Reviewed by Geoff Garen. 37933 37934 https://bugs.webkit.org/show_bug.cgi?id=57073 37935 Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list. 37936 Saves 1.5 MB on Membuster. 37937 37938 No new tests because there was no change in behavior. Current tests pass. 37939 37940 * html/parser/HTMLToken.h: 37941 (WebCore::AtomicHTMLToken::AtomicHTMLToken): 37942 (WebCore::AtomicHTMLToken::initializeAttributes): 37943 37944 2011-03-24 Sheriff Bot <webkit.review.bot (a] gmail.com> 37945 37946 Unreviewed, rolling out r81916 and r81917. 37947 http://trac.webkit.org/changeset/81916 37948 http://trac.webkit.org/changeset/81917 37949 https://bugs.webkit.org/show_bug.cgi?id=57071 37950 37951 broke a test on platforms that do not have QuickTime installed 37952 (Requested by estes on #webkit). 37953 37954 * html/HTMLEmbedElement.cpp: 37955 (WebCore::HTMLEmbedElement::HTMLEmbedElement): 37956 * html/HTMLObjectElement.cpp: 37957 (WebCore::HTMLObjectElement::HTMLObjectElement): 37958 (WebCore::HTMLObjectElement::parametersForPlugin): 37959 * html/HTMLPlugInImageElement.cpp: 37960 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): 37961 (WebCore::HTMLPlugInImageElement::isImageType): 37962 (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): 37963 * html/HTMLPlugInImageElement.h: 37964 * loader/EmptyClients.h: 37965 (WebCore::EmptyFrameLoaderClient::objectContentType): 37966 * loader/FrameLoader.cpp: 37967 (WebCore::FrameLoader::defaultObjectContentType): 37968 * loader/FrameLoader.h: 37969 * loader/FrameLoaderClient.h: 37970 * loader/SubframeLoader.cpp: 37971 (WebCore::SubframeLoader::resourceWillUsePlugin): 37972 (WebCore::SubframeLoader::requestObject): 37973 (WebCore::SubframeLoader::shouldUsePlugin): 37974 * loader/SubframeLoader.h: 37975 37976 2011-03-24 Dimitri Glazkov <dglazkov (a] chromium.org> 37977 37978 Reviewed by Darin Adler. 37979 37980 Eliminate Node::dispatchGenericEvent. 37981 https://bugs.webkit.org/show_bug.cgi?id=57045 37982 37983 No functional change, covered by existing tests. 37984 37985 * dom/Node.cpp: 37986 (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent, 37987 removed unnecessary extra refs and a stale comment. 37988 * dom/Node.h: 37989 * page/DOMWindow.cpp: 37990 (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent. 37991 * svg/SVGElement.cpp: 37992 (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto. 37993 * svg/SVGElementInstance.cpp: 37994 (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still 37995 works thanks to SVG-aware retargeting in Node. 37996 37997 2011-03-24 Chris Rogers <crogers (a] google.com> 37998 37999 Reviewed by Kenneth Russell. 38000 38001 web audio: Properly sample-rate convert audio assets in chromium port 38002 https://bugs.webkit.org/show_bug.cgi?id=56980 38003 38004 No new tests since audio API is not yet implemented. 38005 38006 * WebCore.gypi: 38007 * platform/audio/AudioBus.cpp: 38008 (WebCore::AudioBus::createBySampleRateConverting): 38009 (WebCore::AudioBus::createByMixingToMono): 38010 * platform/audio/AudioBus.h: 38011 * platform/audio/HRTFKernel.cpp: 38012 (WebCore::extractAverageGroupDelay): 38013 (WebCore::HRTFKernel::HRTFKernel): 38014 * platform/audio/SincResampler.cpp: 38015 * platform/audio/chromium/AudioBusChromium.cpp: 38016 (WebCore::AudioBus::loadPlatformResource): 38017 (WebCore::createBusFromInMemoryAudioFile): 38018 38019 2011-03-24 Rik Cabanier <cabanier (a] adobe.com> 38020 38021 Reviewed by David Hyatt. 38022 38023 REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows 38024 https://bugs.webkit.org/show_bug.cgi?id=56829 38025 38026 Test: fast/css/percentage-non-integer.html 38027 38028 * platform/Length.h: 38029 (WebCore::Length::calcValue): 38030 (WebCore::Length::calcMinValue): 38031 (WebCore::Length::calcFloatValue): 38032 38033 2011-03-24 Mihai Parparita <mihaip (a] chromium.org> 38034 38035 Reviewed by James Robinson. 38036 38037 [Chromium] Vertical Japanese text is not displayed on Snow Leopard 38038 https://bugs.webkit.org/show_bug.cgi?id=56962 38039 38040 Make Snow Leopard check added by r80740 into a runtime check for 38041 Chromium, since it uses the same binary on both Leopard and Snow Leopard. 38042 38043 * platform/graphics/mac/FontMac.mm: 38044 (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs): 38045 (WebCore::showGlyphsWithAdvances): 38046 38047 2011-03-24 Brady Eidson <beidson (a] apple.com> 38048 38049 Reviewed by Sam Weinig. 38050 38051 https://bugs.webkit.org/show_bug.cgi?id=57058 38052 Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation 38053 38054 * loader/icon/IconDatabase.cpp: 38055 (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero. 38056 (WebCore::IconDatabase::IconDatabase): Add more logging. 38057 (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods. 38058 (WebCore::FinishedURLImport::FinishedURLImport): 38059 (WebCore::FinishedURLImport::performWork): 38060 (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread): 38061 38062 * loader/icon/IconDatabase.h: 38063 (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator. 38064 38065 * WebCore.exp.in: 38066 38067 2011-03-23 Jer Noble <jer.noble (a] apple.com> 38068 38069 Reviewed by Maciej Stachowiak. 38070 38071 Application Cache should save audio/ and video/ mime types as flat files 38072 https://bugs.webkit.org/show_bug.cgi?id=53784 38073 <rdar://problem/8932473> 38074 38075 No new tests. 38076 38077 ApplicationCacheResource::create() now takes an additional "path" parameter. To facilitate 38078 extracting this path information, two functions in ApplicationCacheHost have been made public. 38079 38080 * loader/appcache/ApplicationCacheGroup.cpp: 38081 (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter. 38082 (WebCore::ApplicationCacheGroup::didFail): Ditto. 38083 * loader/appcache/ApplicationCacheHost.h: 38084 (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public. 38085 (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public. 38086 * loader/appcache/ApplicationCacheResource.cpp: 38087 (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter. 38088 * loader/appcache/ApplicationCacheResource.h: 38089 (WebCore::ApplicationCacheResource::create): Ditto. 38090 (WebCore::ApplicationCacheResource::path): New accessor. 38091 38092 2011-03-24 Andy Estes <aestes (a] apple.com> 38093 38094 Reviewed by Darin Adler. 38095 38096 REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js 38097 https://bugs.webkit.org/show_bug.cgi?id=49016 38098 38099 AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the 38100 QuickTime plug-in in web pages. r70748 removed our mapping of classids 38101 to MIME types, which causes WebKit to fall back from the object to the 38102 embed tag when QuickTime is embedded by this script. The script emits 38103 the following embed tag to embed a QuickTime movie with a poster frame: 38104 38105 <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov"> 38106 38107 The expectation is that a QuickTime plug-in is instantiated to display the 38108 poster frame, since QuickTime registers for many common image MIME 38109 types. This is how Gecko behaves for embed. However, WebKit prefers to 38110 use its native image rendering for image embeds, in which case no movie 38111 is played when the poster frame is clicked. 38112 38113 Fix this by changing embed to check for a plug-in that can handle the 38114 image type before rendering the image natively. This matches Gecko. 38115 38116 Test: fast/images/embed-image-plugins-disabled.html 38117 38118 * html/HTMLObjectElement.cpp: 38119 (WebCore::HTMLObjectElement::parametersForPlugin): 38120 * html/HTMLPlugInImageElement.cpp: 38121 (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): 38122 (WebCore::HTMLPlugInImageElement::isImageType): 38123 (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin): 38124 * html/HTMLPlugInImageElement.h: 38125 (WebCore::HTMLPlugInImageElement::preferPluginsForImages): 38126 * loader/EmptyClients.h: 38127 (WebCore::EmptyFrameLoaderClient::objectContentType): 38128 * loader/FrameLoader.cpp: 38129 (WebCore::FrameLoader::defaultObjectContentType): 38130 * loader/FrameLoader.h: 38131 * loader/FrameLoaderClient.h: 38132 * loader/SubframeLoader.cpp: 38133 (WebCore::SubframeLoader::resourceWillUsePlugin): 38134 (WebCore::SubframeLoader::requestPlugin): 38135 (WebCore::SubframeLoader::requestObject): 38136 (WebCore::SubframeLoader::shouldUsePlugin): 38137 * loader/SubframeLoader.h: 38138 38139 2011-03-24 Mike Reed <reed (a] google.com> 38140 38141 Reviewed by James Robinson. 38142 38143 Move lifetime management of grContext from a global to being 38144 per-SharedGraphicsContext3D, which correctly is 1:1 with the 38145 underlying opengl context. 38146 https://bugs.webkit.org/show_bug.cgi?id=54330 38147 38148 No new tests. Existing <canvas> tests exercise this: 38149 38150 * platform/graphics/chromium/DrawingBufferChromium.cpp: 38151 (WebCore::DrawingBuffer::DrawingBuffer): 38152 (WebCore::DrawingBuffer::~DrawingBuffer): 38153 (WebCore::DrawingBuffer::publishToPlatformLayer): 38154 (WebCore::DrawingBuffer::setGrContext): 38155 * platform/graphics/gpu/DrawingBuffer.h: 38156 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 38157 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 38158 (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): 38159 (WebCore::SharedGraphicsContext3D::getGrContext): 38160 * platform/graphics/gpu/SharedGraphicsContext3D.h: 38161 * platform/graphics/skia/PlatformContextSkia.cpp: 38162 (WebCore::PlatformContextSkia::~PlatformContextSkia): 38163 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 38164 38165 2011-03-24 Dimitri Glazkov <dglazkov (a] chromium.org> 38166 38167 Reviewed by Darin Adler. 38168 38169 Untangle dependency between event ancestor chain computation and InspectorDOMAgent. 38170 https://bugs.webkit.org/show_bug.cgi?id=57050 38171 38172 Inspector's list of event listeners does not need to invoke Node::getEventListeners, 38173 because it simply wants to collect all ancestors and never uses EventContext bits. 38174 38175 No functional change, covered by existing tests. 38176 38177 * dom/Node.cpp: 38178 (WebCore::getEventAncestors): Converted into a static function. 38179 (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors. 38180 * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside. 38181 * inspector/InspectorDOMAgent.cpp: 38182 (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call 38183 to getEventAncestors with a simple ancestor traversal loop. 38184 38185 2011-03-24 Adam Klein <adamk (a] chromium.org> 38186 38187 Reviewed by David Levin. 38188 38189 [fileapi] Make FileError and FileException accessible from WorkerContext 38190 https://bugs.webkit.org/show_bug.cgi?id=57041 38191 38192 * workers/WorkerContext.idl: 38193 38194 2011-03-24 Sam Weinig <sam (a] webkit.org> 38195 38196 Reviewed by Anders Carlsson. 38197 38198 Remove legacy version of findPlainText. 38199 https://bugs.webkit.org/show_bug.cgi?id=57056 38200 38201 * editing/TextIterator.cpp: 38202 * editing/TextIterator.h: 38203 Remove legacy overload of findPlainText that doesn't 38204 take an options parameter. 38205 38206 2011-03-24 Geoffrey Garen <ggaren (a] apple.com> 38207 38208 Reviewed by Oliver Hunt. 38209 38210 Ensure that all compilation takes place within a dynamic global object scope 38211 https://bugs.webkit.org/show_bug.cgi?id=57054 38212 38213 * bindings/js/JSErrorHandler.cpp: 38214 (WebCore::JSErrorHandler::handleEvent): 38215 * bindings/js/JSEventListener.cpp: 38216 (WebCore::JSEventListener::handleEvent): Updated for signature change. 38217 38218 2011-03-24 John Bauman <jbauman (a] chromium.org> 38219 38220 Reviewed by Kenneth Russell. 38221 38222 preserveDrawingBuffer=true is ignored 38223 https://bugs.webkit.org/show_bug.cgi?id=56987 38224 38225 Add code to the V8 and JSC bindings to support grabbing the value of 38226 preserveDrawingBuffer from the input context attributes. Also, in 38227 WebGLRenderingContext use the WebGLContextAttributes that were input 38228 directly, not those from the GraphicsContext3D which could have been 38229 changed. 38230 38231 No new tests, as this can't be tested with DRT. However, this works 38232 when tested manually. 38233 38234 * bindings/js/JSHTMLCanvasElementCustom.cpp: 38235 (WebCore::JSHTMLCanvasElement::getContext): 38236 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 38237 (WebCore::V8HTMLCanvasElement::getContextCallback): 38238 * html/canvas/WebGLRenderingContext.cpp: 38239 (WebCore::WebGLRenderingContext::clearIfComposited): 38240 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): 38241 38242 2011-03-24 Enrica Casucci <enrica (a] apple.com> 38243 38244 Reviewed by Alexey Proskuryakov. 38245 38246 WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working. 38247 https://bugs.webkit.org/show_bug.cgi?id=56975 38248 <rdar://problem/8915066> 38249 38250 Adding support in WebCore to implement readSelectionFromPasteboard 38251 to support Mac OS X services from WebKit2. 38252 38253 * WebCore.exp.in: 38254 * editing/Editor.h: 38255 * editing/mac/EditorMac.mm: 38256 (WebCore::Editor::readSelectionFromPasteboard): Added entry point 38257 to call the paste functions with the specified pasteboard. 38258 38259 2011-03-24 Vsevolod Vlasov <vsevik (a] chromium.org> 38260 38261 Reviewed by Pavel Feldman. 38262 38263 Web Inspector: Inspector does not show correct transfer size for synchronous requests 38264 https://bugs.webkit.org/show_bug.cgi?id=56951 38265 38266 Fixed transfer size for synchronous load. 38267 38268 Test: http/tests/inspector/network/network-size-sync.html 38269 38270 * loader/FrameLoader.cpp: 38271 (WebCore::FrameLoader::willLoadMediaElementURL): 38272 (WebCore::FrameLoader::commitProvisionalLoad): 38273 (WebCore::FrameLoader::loadResourceSynchronously): 38274 (WebCore::FrameLoader::loadedResourceFromMemoryCache): 38275 * loader/ResourceLoadNotifier.cpp: 38276 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): 38277 * loader/ResourceLoadNotifier.h: 38278 38279 2011-03-24 Brady Eidson <beidson (a] apple.com> 38280 38281 Reviewed by Adam Roben. 38282 38283 https://bugs.webkit.org/show_bug.cgi?id=57030 38284 REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's 38285 web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message 38286 38287 The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on 38288 a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's 38289 perfectly valid to attempt to performCallback() after the callback function pointer has been cleared. 38290 38291 * loader/icon/IconDatabaseBase.h: 38292 (WebCore::EnumCallback::performCallback): 38293 (WebCore::EnumCallback::invalidate): 38294 (WebCore::EnumCallback::EnumCallback): 38295 (WebCore::ObjectCallback::performCallback): 38296 (WebCore::ObjectCallback::invalidate): 38297 (WebCore::ObjectCallback::ObjectCallback): 38298 38299 2011-03-24 Sam Weinig <sam (a] webkit.org> 38300 38301 Reviewed by Darin Adler. 38302 38303 Dictionary text extraction is not correctly detecting word boundaries on bing.com 38304 <rdar://problem/9078569> 38305 https://bugs.webkit.org/show_bug.cgi?id=56995 38306 38307 * WebCore.exp.in: 38308 Add some editing related exports needed by WebKit2. 38309 38310 2011-03-24 Andy Estes <aestes (a] apple.com> 38311 38312 Reviewed by Eric Seidel. 38313 38314 REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags 38315 https://bugs.webkit.org/show_bug.cgi?id=56836 38316 38317 During fragment parsing, HTMLConstructionSite holds a reference to the 38318 fragment context's closest form ancestor. If a misnested form end tag is 38319 then encountered as the first node of the fragment, we will check to see 38320 if a corresponding form start tag is in scope even though no such tag 38321 exists. This led to isScope() walking the HTMLElementStack all the way 38322 to the root DocumentFragment and attempting to cast it to Element*. 38323 38324 Fix this by ensuring that the inScope() family of functions operate in 38325 terms of ContainerNodes to account for the fragment case. 38326 38327 Test: fast/parser/fragment-closest-form-ancestor.html 38328 38329 * html/parser/HTMLElementStack.cpp: 38330 (WebCore::HTMLNames::isRootNode): 38331 (WebCore::HTMLNames::isScopeMarker): 38332 (WebCore::HTMLNames::isTableScopeMarker): 38333 (WebCore::HTMLNames::isTableBodyScopeMarker): 38334 (WebCore::HTMLNames::isTableRowScopeMarker): 38335 (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope): 38336 (WebCore::HTMLElementStack::inScope): 38337 38338 2011-03-24 Enrica Casucci <enrica (a] apple.com> 38339 38340 Reviewed by Darin Adler. 38341 38342 Repeated copy and paste-in-place operation results in increasingly verbose HTML. 38343 <rdar://problem/8690506> 38344 https://bugs.webkit.org/show_bug.cgi?id=56874 38345 38346 When we calculate the style to apply at the insertion point we compare the initial 38347 style at the insertion point against the style calculated at the span we wrap the 38348 copied markup fragment with. We could end up with a series of unnecessary spans 38349 to remove the initial style that simply grow our markup. 38350 The consists in moving the insertion point outside any inline element that could 38351 affect the fragment being inserted when we are not pasting and matching the style. 38352 38353 Test: editing/pasteboard/paste-text-with-style.html 38354 38355 * editing/ReplaceSelectionCommand.cpp: 38356 (WebCore::isInlineNodeWithStyle): Added. 38357 (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion 38358 point according to the new rules. 38359 38360 2011-03-24 Benjamin Poulain <benjamin.poulain (a] nokia.com> 38361 38362 Reviewed by Kenneth Rohde Christiansen. 38363 38364 [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles 38365 https://bugs.webkit.org/show_bug.cgi?id=40884 38366 38367 The software fallback is now only needed for corner cases like a manual rendering 38368 of the page to QImage. 38369 38370 Keeping the image with the last pixel values is no longer needed. Removing it reduce the 38371 performance for real-time rendering on software surface, but this case should no longer be 38372 supported. 38373 38374 The conversion from OpenGL color space and coordinates is done manually for performance. This 38375 also fix the bug of the inverted X axis due to the transformation. 38376 38377 The tests and benchmarks are done through Qt API tests. 38378 38379 * platform/graphics/qt/GraphicsContext3DQt.cpp: 38380 (WebCore::swapBgrToRgb): 38381 (WebCore::GraphicsContext3DInternal::paint): 38382 (WebCore::GraphicsContext3D::reshape): 38383 38384 2011-03-24 Nat Duca <nduca (a] chromium.org> 38385 38386 Reviewed by James Robinson. 38387 38388 [chromium] Remove bool that forces compositor HUD to always be enabled 38389 https://bugs.webkit.org/show_bug.cgi?id=57034 38390 38391 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: 38392 (WebCore::CCHeadsUpDisplay::enabled): 38393 38394 2011-03-24 Nat Duca <nduca (a] chromium.org> 38395 38396 Reviewed by Kenneth Russell. 38397 38398 [chromium] Add traceEvents to compositor 38399 https://bugs.webkit.org/show_bug.cgi?id=56965 38400 38401 * WebCore.gypi: 38402 * platform/chromium/TraceEvent.h: Added. 38403 (WebCore::internal::ScopeTracer::ScopeTracer): 38404 (WebCore::internal::ScopeTracer::~ScopeTracer): 38405 * platform/graphics/chromium/LayerRendererChromium.cpp: 38406 (WebCore::LayerRendererChromium::updateRootLayerContents): 38407 (WebCore::LayerRendererChromium::updateRootLayerScrollbars): 38408 (WebCore::LayerRendererChromium::updateLayers): 38409 (WebCore::LayerRendererChromium::drawLayers): 38410 (WebCore::LayerRendererChromium::finish): 38411 (WebCore::LayerRendererChromium::present): 38412 * platform/graphics/chromium/LayerTilerChromium.cpp: 38413 (WebCore::LayerTilerChromium::update): 38414 38415 2011-03-24 Pavel Feldman <pfeldman (a] chromium.org> 38416 38417 Reviewed by Yury Semikhatsky. 38418 38419 Web Inspector: render XHRs matching JSON regex as JSON. 38420 https://bugs.webkit.org/show_bug.cgi?id=57035 38421 38422 * English.lproj/localizedStrings.js: 38423 * WebCore.gypi: 38424 * WebCore.vcproj/WebCore.vcproj: 38425 * inspector/front-end/NetworkItemView.js: 38426 (WebInspector.NetworkItemView): 38427 * inspector/front-end/RemoteObject.js: 38428 (WebInspector.LocalJSONObject.prototype.get description.switch.case): 38429 (WebInspector.LocalJSONObject.prototype.get description): 38430 (WebInspector.LocalJSONObject.prototype._concatenate): 38431 (WebInspector.LocalJSONObject.prototype.getProperties): 38432 (WebInspector.LocalJSONObject.prototype._children): 38433 * inspector/front-end/ResourceJSONView.js: Added. 38434 (WebInspector.ResourceJSONView): 38435 (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent): 38436 (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show): 38437 (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize): 38438 * inspector/front-end/WebKit.qrc: 38439 * inspector/front-end/inspector.css: 38440 (.resource-view.json): 38441 * inspector/front-end/inspector.html: 38442 38443 2011-03-24 Dimitri Glazkov <dglazkov (a] chromium.org> 38444 38445 Reviewed by Darin Adler. 38446 38447 Move media controls subtree creation into one method. 38448 https://bugs.webkit.org/show_bug.cgi?id=56969 38449 38450 Mechanical move, no changes in functionality. 38451 38452 The purpose of this patch is to align existing code closer with its 38453 future version, when MediaControls is an element whose tree is created 38454 at the instantiation. 38455 38456 * html/shadow/MediaControls.cpp: 38457 (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place. 38458 (WebCore::MediaControls::update): Replaced methods with one call. 38459 * html/shadow/MediaControls.h: Updated decls. 38460 * rendering/MediaControlElements.cpp: 38461 (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here. 38462 (WebCore::MediaControlVolumeSliderElement::create): Ditto. 38463 38464 2011-03-24 Steve Falkenburg <sfalken (a] apple.com> 38465 38466 Reviewed by Darin Adler. 38467 38468 Use proper string method to generate webloc string. 38469 https://bugs.webkit.org/show_bug.cgi?id=57028 38470 <rdar://problem/9181955> 38471 38472 * platform/win/ClipboardUtilitiesWin.cpp: 38473 (WebCore::getWebLocData): 38474 38475 2011-03-24 Ben Taylor <bentaylor.solx86 (a] gmail.com> 38476 38477 Reviewed by Alexey Proskuryakov. 38478 38479 https://bugs.webkit.org/show_bug.cgi?id=32821 38480 Fix conditionals which had an int for one case and a pointer for another. 38481 Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198 38482 38483 No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++ 38484 38485 * css/CSSComputedStyleDeclaration.cpp: 38486 (WebCore::CSSComputedStyleDeclaration::valueForShadow): 38487 38488 2011-03-24 Pavel Podivilov <podivilov (a] chromium.org> 38489 38490 Reviewed by Yury Semikhatsky. 38491 38492 Web Inspector: provide live edit callback to source frame delegate. 38493 https://bugs.webkit.org/show_bug.cgi?id=57003 38494 38495 * inspector/front-end/DebuggerModel.js: 38496 (WebInspector.DebuggerModel.prototype.editScriptSource): 38497 (WebInspector.DebuggerModel.prototype._didEditScriptSource): 38498 * inspector/front-end/DebuggerPresentationModel.js: 38499 (WebInspector.DebuggerPresentationModel): 38500 (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource): 38501 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource): 38502 (WebInspector.DebuggerPresentationModel.prototype.editScriptSource): 38503 (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit): 38504 (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId): 38505 * inspector/front-end/ScriptsPanel.js: 38506 (WebInspector.ScriptsPanel.prototype._createSourceFrame): 38507 (WebInspector.SourceFrameDelegateForScriptsPanel): 38508 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource): 38509 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource): 38510 38511 2011-03-24 Benjamin Poulain <benjamin.poulain (a] nokia.com> 38512 38513 Reviewed by Andreas Kling. 38514 38515 Regression: WebKit does not build with Python 3 following 56807 38516 https://bugs.webkit.org/show_bug.cgi?id=56923 38517 38518 The module string does not have the function replace in Python 3. The str.replace function 38519 can do the same operation in this case and works with the versions 2 and 3. 38520 38521 * inspector/generate-inspector-idl: 38522 38523 2011-03-24 Pavel Feldman <pfeldman (a] chromium.org> 38524 38525 Reviewed by Yury Semikhatsky. 38526 38527 Web Inspector: brush up Network agent API. 38528 https://bugs.webkit.org/show_bug.cgi?id=57001 38529 38530 * inspector/Inspector.json: 38531 * inspector/InspectorInstrumentation.cpp: 38532 (WebCore::InspectorInstrumentation::willSendRequestImpl): 38533 * inspector/InspectorInstrumentation.h: 38534 (WebCore::InspectorInstrumentation::willSendRequest): 38535 * inspector/InspectorResourceAgent.cpp: 38536 (WebCore::buildObjectForResourceRequest): 38537 (WebCore::buildObjectForResourceResponse): 38538 (WebCore::buildObjectForCachedResource): 38539 (WebCore::InspectorResourceAgent::willSendRequest): 38540 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): 38541 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): 38542 (WebCore::InspectorResourceAgent::setExtraHeaders): 38543 * inspector/InspectorResourceAgent.h: 38544 * inspector/TimelineRecordFactory.cpp: 38545 (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): 38546 * inspector/front-end/NetworkManager.js: 38547 (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest): 38548 (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse): 38549 (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource): 38550 (WebInspector.NetworkDispatcher.prototype.willSendRequest): 38551 (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse): 38552 (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket): 38553 * inspector/front-end/Resource.js: 38554 * inspector/front-end/TimelinePanel.js: 38555 (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent): 38556 * loader/ResourceLoadNotifier.cpp: 38557 (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest): 38558 (WebCore::ResourceLoadNotifier::dispatchWillSendRequest): 38559 * loader/appcache/ApplicationCacheGroup.cpp: 38560 (WebCore::ApplicationCacheGroup::createResourceHandle): 38561 38562 2011-03-11 Steve Block <steveblock (a] google.com> 38563 38564 Reviewed by Jeremy Orlow. 38565 38566 JNIType is not specific to JNI so should be renamed 38567 https://bugs.webkit.org/show_bug.cgi?id=56197 38568 38569 This patch renames JNIType to JavaType, renames the values of 38570 the enum, and moves it out of JNIUtility.h to its own file. 38571 Also renames the corresponding JavaField and JavaMethod getters. 38572 38573 No new tests, refactoring only. 38574 38575 * GNUmakefile.am: 38576 * WebCore.gypi: 38577 * WebCore.xcodeproj/project.pbxproj: 38578 * bridge/jni/JNIUtility.cpp: 38579 (JSC::Bindings::javaTypeFromClassName): 38580 (JSC::Bindings::signatureFromJavaType): 38581 (JSC::Bindings::javaTypeFromPrimitiveType): 38582 (JSC::Bindings::getJNIField): 38583 (JSC::Bindings::callJNIMethod): 38584 * bridge/jni/JNIUtility.h: 38585 * bridge/jni/JavaMethod.cpp: 38586 (JavaMethod::JavaMethod): 38587 (JavaMethod::signature): 38588 * bridge/jni/JavaMethod.h: 38589 (JSC::Bindings::JavaMethod::returnTypeClassName): 38590 (JSC::Bindings::JavaMethod::returnType): 38591 * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h. 38592 * bridge/jni/jni_jsobject.mm: 38593 (JavaJSObject::toString): 38594 * bridge/jni/jni_objc.mm: 38595 (JSC::Bindings::dispatchJNICall): 38596 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 38597 (JSC::Bindings::convertArrayInstanceToJavaArray): 38598 (JSC::Bindings::convertValueToJValue): 38599 * bridge/jni/jsc/JNIUtilityPrivate.h: 38600 * bridge/jni/jsc/JavaArrayJSC.cpp: 38601 (JavaArray::setValueAt): 38602 (JavaArray::valueAt): 38603 * bridge/jni/jsc/JavaClassJSC.cpp: 38604 * bridge/jni/jsc/JavaFieldJSC.cpp: 38605 (JavaField::JavaField): 38606 (JavaField::dispatchValueFromInstance): 38607 (JavaField::valueFromInstance): 38608 (JavaField::dispatchSetValueToInstance): 38609 (JavaField::setValueToInstance): 38610 * bridge/jni/jsc/JavaFieldJSC.h: 38611 (JSC::Bindings::JavaField::typeClassName): 38612 (JSC::Bindings::JavaField::type): 38613 * bridge/jni/jsc/JavaInstanceJSC.cpp: 38614 (JavaInstance::invokeMethod): 38615 * bridge/jni/v8/JNIUtilityPrivate.cpp: 38616 (JSC::Bindings::convertNPVariantToJValue): 38617 (JSC::Bindings::convertJValueToNPVariant): 38618 * bridge/jni/v8/JNIUtilityPrivate.h: 38619 * bridge/jni/v8/JavaFieldV8.cpp: 38620 (JavaField::JavaField): 38621 * bridge/jni/v8/JavaFieldV8.h: 38622 (JSC::Bindings::JavaField::typeClassName): 38623 (JSC::Bindings::JavaField::type): 38624 * bridge/jni/v8/JavaInstanceV8.cpp: 38625 (JavaInstance::invokeMethod): 38626 (JavaInstance::getField): 38627 * bridge/jni/v8/JavaNPObjectV8.cpp: 38628 (JSC::Bindings::JavaNPObjectInvoke): 38629 (JSC::Bindings::JavaNPObjectGetProperty): 38630 38631 2011-03-24 Ojan Vafai <ojan (a] chromium.org> 38632 38633 Was being a little braindead when I committed this. 38634 Only simple selectors are allowed, but sibling selectors 38635 are sibling selectors. 38636 38637 * css/CSSStyleSelector.cpp: 38638 (WebCore::collectFeaturesFromList): 38639 38640 2011-03-23 MORITA Hajime <morrita (a] google.com> 38641 38642 Reviewed by Kent Tamura. 38643 38644 Spellcheck feature specific symbols should be defined. 38645 https://bugs.webkit.org/show_bug.cgi?id=56818 38646 38647 * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT) 38648 * Replaced a part of of BUILDING_ON_* conditionals with them. 38649 38650 Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING) 38651 because these code path is already built under non-Mac ports and 38652 Keeping them buildable for such platforms reduces the build breakage risk. 38653 These path is guarded by Settings thus should never get reached. 38654 38655 No new tests. No behavioral change. 38656 38657 * WebCore.gypi: 38658 * WebCore.pro: 38659 * WebCore.vcproj/WebCore.vcproj: 38660 * WebCore.xcodeproj/project.pbxproj: 38661 * editing/Editor.cpp: 38662 (WebCore::Editor::advanceToNextMisspelling): 38663 (WebCore::Editor::isSelectionUngrammatical): 38664 (WebCore::Editor::guessesForUngrammaticalSelection): 38665 (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): 38666 (WebCore::Editor::markMisspellingsAfterTypingToWord): 38667 (WebCore::Editor::markMisspellingsOrBadGrammar): 38668 (WebCore::Editor::markBadGrammar): 38669 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 38670 (WebCore::Editor::changeBackToReplacedString): 38671 (WebCore::Editor::markMisspellingsAndBadGrammar): 38672 * editing/Editor.h: 38673 * editing/TextCheckingHelper.cpp: 38674 (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): 38675 (WebCore::TextCheckingHelper::findFirstGrammarDetail): 38676 (WebCore::TextCheckingHelper::findFirstBadGrammar): 38677 (WebCore::TextCheckingHelper::isUngrammatical): 38678 (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): 38679 (WebCore::TextCheckingHelper::markAllBadGrammar): 38680 * loader/EmptyClients.h: 38681 * platform/text/TextCheckerClient.h: 38682 * platform/text/TextChecking.h: Added. 38683 38684 2011-03-23 Kent Tamura <tkent (a] chromium.org> 38685 38686 Reviewed by Dimitri Glazkov. 38687 38688 [Chromium] Force to make validation bubble DIV position:absolute 38689 https://bugs.webkit.org/show_bug.cgi?id=56901 38690 38691 Test: fast/forms/interactive-validation-crash-by-style-override.html 38692 38693 * html/ValidationMessage.cpp: 38694 (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute 38695 because we need to move the validation message to a good position. 38696 * rendering/RenderMenuList.cpp: 38697 (WebCore::RenderMenuList::addChild): 38698 38699 2011-03-23 Mike Lawther <mikelawther (a] chromium.org> 38700 38701 Reviewed by Ojan Vafai. 38702 38703 flex/bison tokens and grammar for CSS calc 38704 https://bugs.webkit.org/show_bug.cgi?id=54412 38705 38706 Tests: css3/calc/calc-errors.html 38707 css3/calc/minmax-errors.html 38708 css3/calc/simple-calcs.html 38709 css3/calc/simple-minmax.html 38710 38711 * css/CSSGrammar.y: 38712 * css/CSSParserValues.cpp: 38713 (WebCore::CSSParserValueList::insertValueAt): 38714 (WebCore::CSSParserValueList::extend): 38715 * css/CSSParserValues.h: 38716 * css/tokenizer.flex: 38717 38718 2011-03-23 Adam Klein <adamk (a] chromium.org> 38719 38720 Reviewed by David Levin. 38721 38722 Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec 38723 https://bugs.webkit.org/show_bug.cgi?id=56961 38724 38725 See error code listing in the Files & Directories spec: 38726 http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL 38727 38728 Note that the spec currently only specifies errors for the sync 38729 version; I've used the same codes for the async version. 38730 38731 * page/DOMWindow.cpp: 38732 (WebCore::DOMWindow::resolveLocalFileSystemURL): 38733 * workers/WorkerContext.cpp: 38734 (WebCore::WorkerContext::resolveLocalFileSystemURL): 38735 (WebCore::WorkerContext::resolveLocalFileSystemSyncURL): 38736 38737 2011-03-23 Jia Pu <jpu (a] apple.com> 38738 38739 Reviewed by Darin Adler. 38740 38741 Hook up new AppKit autocorrection UI with WK2. 38742 https://bugs.webkit.org/show_bug.cgi?id=56055 38743 <rdar://problem/8947463> 38744 38745 This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following 38746 major changes: 38747 38748 1. All but one autocorrection related message is synchronous. Since dismissing autocorrection 38749 panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function 38750 is introduced to ensure all editing commands occur in correct order. 38751 38752 2. Additional condition variable is needed to implement dismissCorrectionPanelSoon(). 38753 To improve maintainability, CorrectionPanel class is introduced to manage the 38754 internal state related to correction panel. This change is applied to both WK1 and WK2. 38755 38756 3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow 38757 editor to know when to handle ESC key event. Now this is handled internally in AppKit, so 38758 EditorClient::isShowingCorrectionPanel() isn't necessary anymore. 38759 38760 4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can 38761 access object via WebView or WKView. 38762 38763 * editing/Editor.cpp: 38764 (WebCore::Editor::markMisspellingsAfterTypingToWord): 38765 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 38766 (WebCore::Editor::correctionPanelTimerFired): 38767 (WebCore::Editor::dismissCorrectionPanel): 38768 (WebCore::Editor::dismissCorrectionPanelSoon): 38769 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): 38770 * editing/Editor.h: 38771 * editing/EditorCommand.cpp: 38772 (WebCore::createCommandMap): 38773 * loader/EmptyClients.h: 38774 (WebCore::EmptyEditorClient::showCorrectionPanel): 38775 (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon): 38776 * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added. 38777 * page/EditorClient.h: 38778 38779 2011-03-22 Ojan Vafai <ojan (a] chromium.org> 38780 38781 Reviewed by Antti Koivisto. 38782 38783 move :not over to using selectorList instead of simpleSelector 38784 https://bugs.webkit.org/show_bug.cgi?id=56894 38785 38786 Saves memory and simplifies code. 38787 38788 No new tests since existing tests cover this code. 38789 38790 * css/CSSGrammar.y: 38791 Also removed extranenous calls to updateLastSelectorLineAndPosition in 38792 simple_selector_list. These happened to work, but are only actually 38793 needed in selector_list. 38794 * css/CSSParserValues.h: 38795 * css/CSSSelector.cpp: 38796 (WebCore::CSSSelector::specificityForOneSelector): 38797 Removed null-check. The parser null-checks, I don't see why we need to here. 38798 (WebCore::CSSSelector::selectorText): 38799 Ditto. 38800 (WebCore::CSSSelector::setArgument): 38801 (WebCore::CSSSelector::isSimple): 38802 * css/CSSSelector.h: 38803 * css/CSSSelectorList.cpp: 38804 (WebCore::forEachTagSelector): 38805 * css/CSSStyleSelector.cpp: 38806 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 38807 (WebCore::collectFeaturesFromSelector): 38808 (WebCore::collectFeaturesFromList): 38809 38810 2011-03-23 Carol Szabo <carol.szabo (a] nokia.com> 38811 38812 Reviewed by David Hyatt. 38813 38814 Made sure that renderers displaying counters are invalidated upon 38815 counter destruction. 38816 38817 Assertion and incorrect rendering of counters. 38818 https://bugs.webkit.org/show_bug.cgi?id=56896 38819 38820 Test: fast/css/counters/2displays.html 38821 38822 * rendering/CounterNode.cpp: 38823 (WebCore::CounterNode::~CounterNode): 38824 Added to make sure that its display renderers are always reset when 38825 the node is deleted. 38826 (WebCore::CounterNode::resetRenderers): 38827 Fixed bug that would prevent reset of second and subsequent 38828 display renderers. 38829 * rendering/CounterNode.h: 38830 * rendering/RenderCounter.cpp: 38831 (WebCore::destroyCounterNodeWithoutMapRemoval): 38832 removed unnecessary calls to resetRenderers() as the CounterNode 38833 destructor takes care of that now. 38834 38835 2011-03-23 Brian Weinstein <bweinstein (a] apple.com> 38836 38837 Reviewed by Maciej Stachowiak. 38838 38839 WebKit2: Need API to manage the Media Cache 38840 https://bugs.webkit.org/show_bug.cgi?id=56878 38841 <rdar://problem/9082503> 38842 38843 Add functions that need to be exported. 38844 38845 * WebCore.exp.in: 38846 38847 2011-03-23 Robert Kroeger <rjkroege (a] chromium.org> 38848 38849 Reviewed by James Robinson. 38850 38851 Correct use of ENABLE() Macro 38852 38853 In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE() 38854 macro. This patch corrects. 38855 38856 https://bugs.webkit.org/show_bug.cgi?id=56964 38857 38858 * page/EventHandler.cpp: 38859 (WebCore::EventHandler::EventHandler): 38860 (WebCore::EventHandler::handleTouchEvent): 38861 * page/EventHandler.h: 38862 38863 2011-03-23 Jer Noble <jer.noble (a] apple.com> 38864 38865 Reviewed by Simon Fraser. 38866 38867 Scrubbing <video> with HTTP Live Stream resizes element to 0x0 38868 https://bugs.webkit.org/show_bug.cgi?id=55702 38869 38870 QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing 38871 an HTTP Live Stream. So we will cache the last valid value returned by QTKit 38872 and use that as our naturalSize until a new valid value is returned. 38873 38874 Unfortunately, QTKit will also fail to generate a notification when the natural size 38875 changes, so we are forced to cache the natural size from within naturalSize(), which 38876 is a const function, necessitating a const_cast to set m_cachedNaturalSize. 38877 38878 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize. 38879 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 38880 (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize. 38881 (WebCore::MediaPlayerPrivateQTKit::naturalSize): 38882 38883 2011-03-23 Alexey Proskuryakov <ap (a] apple.com> 38884 38885 Build fix. 38886 38887 * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 38888 Removed a stray parenthesis. 38889 38890 2011-03-23 Alexey Proskuryakov <ap (a] apple.com> 38891 38892 Reviewed by Maciej Stachowiak. 38893 38894 REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading() 38895 https://bugs.webkit.org/show_bug.cgi?id=56978 38896 <rdar://problem/9041670> 38897 38898 No new tests, because there is no known way to reproduce. 38899 38900 Removed strange code that was trying to stop a non-loading provisional document loader and 38901 even its subframes (?!). Added assertions to catch it if we can actually be loading here in 38902 some sense. 38903 Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a 38904 recursion guard (but that didn't cause immediate problems then). 38905 38906 * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 38907 38908 2011-03-23 Brady Eidson <beidson (a] apple.com> 38909 38910 Attempt to fix the build for platforms that have the icon database 38911 disabled but still provide settings API for it...? 38912 38913 * loader/icon/IconDatabase.h: 38914 (WebCore::IconDatabase::defaultDatabaseFilename): 38915 38916 2011-03-23 Mark Rowe <mrowe (a] apple.com> 38917 38918 Fix the build. 38919 38920 * WebCore.exp.in: Export the new version of IconDatabase::open. 38921 38922 2011-03-23 Brady Eidson <beidson (a] apple.com> 38923 38924 Reviewed by Sam Weinig. 38925 38926 Change IconDatabase opening to allow for arbitrary filenames 38927 https://bugs.webkit.org/show_bug.cgi?id=56977 38928 38929 * WebCore.exp.in: 38930 * loader/icon/IconDatabase.cpp: 38931 (WebCore::IconDatabase::open): 38932 * loader/icon/IconDatabase.h: 38933 * loader/icon/IconDatabaseBase.cpp: 38934 (WebCore::IconDatabaseBase::open): 38935 * loader/icon/IconDatabaseBase.h: 38936 * loader/icon/IconDatabaseClient.h: 38937 38938 2011-03-23 Kenneth Russell <kbr (a] google.com> 38939 38940 Reviewed by James Robinson. 38941 38942 [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled 38943 https://bugs.webkit.org/show_bug.cgi?id=56947 38944 38945 Removed the RuntimeEnabledFeatures setting for WebGL and the 38946 EnabledAtRuntime extended attribute from the WebGL-related 38947 properties on the DOMWindow. WebGL support is now controlled 38948 exclusively through the page's Settings. 38949 38950 No new tests; tested manually in Chromium with --disable-webgl 38951 command line argument and blacklist. 38952 38953 * bindings/generic/RuntimeEnabledFeatures.cpp: 38954 * bindings/generic/RuntimeEnabledFeatures.h: 38955 * page/DOMWindow.idl: 38956 38957 2011-03-23 Sheriff Bot <webkit.review.bot (a] gmail.com> 38958 38959 Unreviewed, rolling out r81802. 38960 http://trac.webkit.org/changeset/81802 38961 https://bugs.webkit.org/show_bug.cgi?id=56963 38962 38963 Broke a layout test, and this fix is not trivial. (Requested 38964 by dhyatt on #webkit). 38965 38966 * rendering/RenderBlock.cpp: 38967 (WebCore::RenderBlock::layoutBlock): 38968 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 38969 * rendering/RenderBlock.h: 38970 * rendering/RenderBox.cpp: 38971 (WebCore::RenderBox::styleDidChange): 38972 * rendering/RenderBoxModelObject.cpp: 38973 (WebCore::RenderBoxModelObject::styleWillChange): 38974 * rendering/RenderFlexibleBox.cpp: 38975 (WebCore::RenderFlexibleBox::layoutBlock): 38976 * rendering/RenderObject.cpp: 38977 (WebCore::RenderObject::RenderObject): 38978 (WebCore::RenderObject::adjustStyleDifference): 38979 (WebCore::RenderObject::setStyle): 38980 (WebCore::RenderObject::styleDidChange): 38981 * rendering/RenderObject.h: 38982 (WebCore::RenderObject::needsLayout): 38983 (WebCore::RenderObject::needsPositionedMovementLayoutOnly): 38984 (WebCore::RenderObject::setNeedsLayout): 38985 (WebCore::RenderObject::setChildNeedsLayout): 38986 (WebCore::RenderObject::markContainingBlocksForLayout): 38987 * rendering/RenderTable.cpp: 38988 (WebCore::RenderTable::layout): 38989 * rendering/style/RenderStyle.cpp: 38990 (WebCore::RenderStyle::diff): 38991 * rendering/style/RenderStyleConstants.h: 38992 * rendering/svg/RenderSVGText.cpp: 38993 (WebCore::RenderSVGText::layout): 38994 38995 2011-03-23 Luiz Agostini <luiz.agostini (a] openbossa.org> 38996 38997 Reviewed by David Hyatt. 38998 38999 REGRESSION(81035): crash in RenderDetails::removeChild 39000 https://bugs.webkit.org/show_bug.cgi?id=56773 39001 39002 Test: fast/html/details-children-merge-crash.html 39003 39004 Preventing merging of RenderDetails's anonymous children. 39005 39006 * rendering/RenderBlock.cpp: 39007 (WebCore::canMergeContiguousAnonymousBlocks): 39008 39009 Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy. 39010 39011 * rendering/RenderDetails.cpp: 39012 (WebCore::RenderDetails::destroy): 39013 (WebCore::RenderDetails::removeChild): 39014 39015 2011-03-23 Xiaomei Ji <xji (a] chromium.org> 39016 39017 Reviewed by David Hyatt. 39018 39019 Preserve unicode-bidi:bidi-override in anonymous block. 39020 https://bugs.webkit.org/show_bug.cgi?id=21440 39021 39022 unicode-bidi:bidi-override should be preserved in anonymous block 39023 according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi. 39024 39025 Introduce a helper function RenderStyle()::createAnonymousStyle() which 39026 creates a default RenderStyle, inherits the inherited style from parent, 39027 and inherit unicode-bidi:bidi-override from parent. 39028 And replace the style creation when anonymous block is created. 39029 39030 Note: the TABLE releated anonymous blocks are untouched, including: 39031 TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in 39032 RenderObject, RenderTable, RenderTableRow, and RenderTableSection, 39033 due to the expected behavior is not clear. 39034 Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594. 39035 39036 Test: fast/css/bidi-override-in-anonymous-block.html 39037 39038 * rendering/RenderBlock.cpp: 39039 (WebCore::RenderBlock::styleDidChange): 39040 (WebCore::RenderBlock::removeChild): 39041 (WebCore::RenderBlock::createAnonymousBlock): 39042 (WebCore::RenderBlock::createAnonymousColumnsBlock): 39043 (WebCore::RenderBlock::createAnonymousColumnSpanBlock): 39044 * rendering/RenderInline.cpp: 39045 (WebCore::RenderInline::addChildIgnoringContinuation): 39046 * rendering/RenderRubyRun.cpp: 39047 (WebCore::RenderRubyRun::createRubyBase): 39048 (WebCore::RenderRubyRun::staticCreateRubyRun): 39049 * rendering/style/RenderStyle.cpp: 39050 (WebCore::RenderStyle::createAnonymousStyle): 39051 * rendering/style/RenderStyle.h: 39052 39053 2011-03-23 David Hyatt <hyatt (a] apple.com> 39054 39055 Reviewed by Dan Bernstein. 39056 39057 https://bugs.webkit.org/show_bug.cgi?id=56909 39058 39059 Add a simplified normal flow layout path optimization for overflow recomputation 39060 and for positioned objects inside relative positioned containers. 39061 39062 Currently there is an optimized code path for positioned objects, but as soon as 39063 we encounter a normal flow object in the containing block chain, we lose the 39064 optimization. 39065 39066 This patch adds a new type of style difference called SimplifiedLayout that is 39067 returned when only overflow needs to be recomputed. Whenever opacity changes or 39068 a transform changes, this is the hint returned now instead of a full layout. 39069 39070 In addition, when positioned objects need layout and start marking up the 39071 containing block chain, we now propagate the fact that the layout is simplified 39072 all the way up to the root, even when we encounter normal flow containing 39073 blocks. 39074 39075 The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout() 39076 and is now used for all of these cases (in addition to what it handled before). 39077 39078 No new tests, since existing tests covered this very well (especially the opacity 39079 and transforms repaint tests in fast/repaint). 39080 39081 * rendering/RenderBlock.cpp: 39082 (WebCore::RenderBlock::layoutBlock): 39083 (WebCore::RenderBlock::simplifiedNormalFlowLayout): 39084 (WebCore::RenderBlock::simplifiedLayout): 39085 * rendering/RenderBlock.h: 39086 * rendering/RenderBox.cpp: 39087 (WebCore::RenderBox::styleDidChange): 39088 * rendering/RenderBoxModelObject.cpp: 39089 (WebCore::RenderBoxModelObject::styleWillChange): 39090 * rendering/RenderFlexibleBox.cpp: 39091 (WebCore::RenderFlexibleBox::layoutBlock): 39092 * rendering/RenderObject.cpp: 39093 (WebCore::RenderObject::RenderObject): 39094 (WebCore::RenderObject::adjustStyleDifference): 39095 (WebCore::RenderObject::setStyle): 39096 (WebCore::RenderObject::styleDidChange): 39097 * rendering/RenderObject.h: 39098 (WebCore::RenderObject::needsLayout): 39099 (WebCore::RenderObject::needsPositionedMovementLayoutOnly): 39100 (WebCore::RenderObject::needsSimplifiedNormalFlowLayout): 39101 (WebCore::RenderObject::setNeedsLayout): 39102 (WebCore::RenderObject::setChildNeedsLayout): 39103 (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout): 39104 (WebCore::RenderObject::markContainingBlocksForLayout): 39105 * rendering/RenderTable.cpp: 39106 (WebCore::RenderTable::layout): 39107 * rendering/style/RenderStyle.cpp: 39108 (WebCore::RenderStyle::diff): 39109 * rendering/style/RenderStyleConstants.h: 39110 * rendering/svg/RenderSVGText.cpp: 39111 (WebCore::RenderSVGText::layout): 39112 39113 2011-03-23 Tyler Close <tjclose (a] chromium.org> 39114 39115 Reviewed by Jeremy Orlow. 39116 39117 Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter 39118 https://bugs.webkit.org/show_bug.cgi?id=56950 39119 39120 * bindings/scripts/CodeGeneratorV8.pm: 39121 * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: 39122 (WebDOMTestCallback::callbackWithStringList): 39123 * bindings/scripts/test/CPP/WebDOMTestCallback.h: 39124 * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: 39125 (webkit_dom_test_callback_callback_with_string_list): 39126 * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: 39127 * bindings/scripts/test/JS/JSTestCallback.cpp: 39128 (WebCore::JSTestCallback::callbackWithStringList): 39129 * bindings/scripts/test/JS/JSTestCallback.h: 39130 * bindings/scripts/test/ObjC/DOMTestCallback.h: 39131 * bindings/scripts/test/ObjC/DOMTestCallback.mm: 39132 (-[DOMTestCallback callbackWithStringList:]): 39133 * bindings/scripts/test/TestCallback.idl: 39134 * bindings/scripts/test/V8/V8TestCallback.cpp: 39135 (WebCore::V8TestCallback::callbackWithStringList): 39136 * bindings/scripts/test/V8/V8TestCallback.h: 39137 39138 2011-03-23 Cris Neckar <cdn (a] chromium.org> 39139 39140 Reviewed by Eric Seidel. 39141 39142 Add refptr for widget. Mutations can happen within the event handler. 39143 https://bugs.webkit.org/show_bug.cgi?id=56774 39144 39145 Test: plugins/change-widget-and-click-crash.html 39146 39147 * html/HTMLPlugInElement.cpp: 39148 (WebCore::HTMLPlugInElement::defaultEventHandler): 39149 39150 2011-03-23 Abhishek Arya <inferno (a] chromium.org> 39151 39152 Reviewed by Dave Hyatt. 39153 39154 Add combine text cast checks since style property is insufficient 39155 in telling object types. 39156 https://bugs.webkit.org/show_bug.cgi?id=56358 39157 39158 Test: fast/text/input-box-text-fragment-combine-text-crash.html 39159 39160 * rendering/InlineTextBox.cpp: 39161 (WebCore::InlineTextBox::paint): 39162 * rendering/RenderBlock.cpp: 39163 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): 39164 * rendering/RenderBlockLineLayout.cpp: 39165 (WebCore::RenderBlock::findNextLineBreak): 39166 * rendering/RenderText.cpp: 39167 (WebCore::RenderText::widthFromCache): 39168 39169 2011-03-23 Andreas Kling <kling (a] webkit.org> 39170 39171 Reviewed by Kenneth Rohde Christiansen. 39172 39173 [Qt] "Unwavering" HTML5 game freezes the web page. 39174 https://bugs.webkit.org/show_bug.cgi?id=56944 39175 39176 For canvas's getImageData() API, we don't want to make a deep-copy of 39177 the pixels, which is the case on Qt's "raster" graphics system. 39178 39179 To work around this, we trick QPixmap::toImage() into giving us the 39180 QPixmap's backing QImage by temporarily pointing the paint engine to 39181 a null paint device. 39182 39183 * platform/graphics/qt/ImageBufferData.h: 39184 * platform/graphics/qt/ImageBufferQt.cpp: 39185 (WebCore::ImageBufferData::toQImage): Added, returns the 39186 ImageBufferData as a QImage, avoiding a backend deep-copy if possible. 39187 (WebCore::ImageBuffer::platformTransformColorSpace): 39188 (WebCore::getImageData): 39189 39190 2011-03-23 Viet-Trung Luu <viettrungluu (a] chromium.org> 39191 39192 Reviewed by Tony Chang. 39193 39194 [chromium] Add FormatPlainText to WebClipboard::Format enumeration. 39195 https://bugs.webkit.org/show_bug.cgi?id=56868 39196 39197 Chromium's WebClipboard::isFormatAvailable() will be correspondingly 39198 extended. 39199 39200 * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry. 39201 This part of the change is inert and should have no effect. 39202 39203 2011-03-23 Tyler Close <tjclose (a] chromium.org> 39204 39205 Reviewed by Jeremy Orlow. 39206 39207 run-bindings-tests reference files are out of sync with CodeGenerator*.pm 39208 https://bugs.webkit.org/show_bug.cgi?id=56934 39209 39210 * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: 39211 * bindings/scripts/test/GObject/WebKitDOMTestObj.h: 39212 * bindings/scripts/test/JS/JSTestInterface.cpp: 39213 (WebCore::JSTestInterfaceConstructor::createStructure): 39214 (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor): 39215 (WebCore::JSTestInterface::createPrototype): 39216 * bindings/scripts/test/JS/JSTestInterface.h: 39217 (WebCore::JSTestInterface::createStructure): 39218 (WebCore::JSTestInterfacePrototype::createStructure): 39219 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 39220 (WebCore::JSTestMediaQueryListListenerConstructor::createStructure): 39221 (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor): 39222 (WebCore::JSTestMediaQueryListListener::createPrototype): 39223 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: 39224 (WebCore::JSTestMediaQueryListListener::createStructure): 39225 (WebCore::JSTestMediaQueryListListenerPrototype::createStructure): 39226 * bindings/scripts/test/JS/JSTestObj.cpp: 39227 (WebCore::JSTestObjConstructor::createStructure): 39228 (WebCore::JSTestObjConstructor::JSTestObjConstructor): 39229 (WebCore::JSTestObj::createPrototype): 39230 * bindings/scripts/test/JS/JSTestObj.h: 39231 (WebCore::JSTestObj::createStructure): 39232 (WebCore::JSTestObjPrototype::createStructure): 39233 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: 39234 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): 39235 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor): 39236 (WebCore::JSTestSerializedScriptValueInterface::createPrototype): 39237 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: 39238 (WebCore::JSTestSerializedScriptValueInterface::createStructure): 39239 (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): 39240 * bindings/scripts/test/V8/V8TestCallback.cpp: 39241 * bindings/scripts/test/V8/V8TestInterface.cpp: 39242 (WebCore::V8TestInterface::wrapSlow): 39243 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: 39244 (WebCore::V8TestMediaQueryListListener::wrapSlow): 39245 * bindings/scripts/test/V8/V8TestObj.cpp: 39246 (WebCore::V8TestObj::wrapSlow): 39247 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: 39248 (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): 39249 39250 2011-03-23 Daniel Bates <dbates (a] rim.com> 39251 39252 Reviewed by Antonio Gomes. 39253 39254 Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet} 39255 to conform to the WebKit Code style guidelines 39256 https://bugs.webkit.org/show_bug.cgi?id=56871 39257 39258 No functionality changed. So, no new tests. 39259 39260 * html/HTMLFrameSetElement.cpp: 39261 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): 39262 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 39263 (WebCore::HTMLFrameSetElement::attach): 39264 (WebCore::HTMLFrameSetElement::defaultEventHandler): 39265 * html/HTMLFrameSetElement.h: 39266 (WebCore::HTMLFrameSetElement::hasFrameBorder): 39267 (WebCore::HTMLFrameSetElement::noResize): 39268 39269 2011-03-23 Abhishek Arya <inferno (a] chromium.org> 39270 39271 Reviewed by Dan Bernstein. 39272 39273 Replace height with logicalHeight when removing items from 39274 gPercentHeightDescendantMap so that it is writing mode aware. 39275 https://bugs.webkit.org/show_bug.cgi?id=56902 39276 39277 Test: fast/block/percent-height-descendant-not-removed-crash.html 39278 39279 * rendering/RenderBox.cpp: 39280 (WebCore::RenderBox::destroy): 39281 (WebCore::RenderBox::styleDidChange): 39282 * rendering/RenderWidget.cpp: 39283 (WebCore::RenderWidget::destroy): 39284 39285 2011-03-23 Anders Carlsson <andersca (a] apple.com> 39286 39287 Fix clang build. 39288 39289 * inspector/DOMNodeHighlighter.cpp: 39290 Remove an unused function. 39291 39292 2011-03-22 Brady Eidson <beidson (a] apple.com> 39293 39294 Reviewed by Sam Weinig. 39295 39296 Add asynchronous load decision call to WebKit2 IconDatabase 39297 https://bugs.webkit.org/show_bug.cgi?id=56887 39298 39299 Clear the callback when it's made: 39300 * loader/DocumentLoader.cpp: 39301 (WebCore::DocumentLoader::continueIconLoadWithDecision): 39302 39303 Don't load icons when using new-style icon database if in private browsing: 39304 * loader/FrameLoader.cpp: 39305 (WebCore::FrameLoader::continueIconLoadWithDecision): 39306 39307 Enhance the IconDatabase callbacks to have an ID and inherit from a common base: 39308 * loader/icon/IconDatabaseBase.h: 39309 (WebCore::CallbackBase::~CallbackBase): 39310 (WebCore::CallbackBase::callbackID): 39311 (WebCore::CallbackBase::CallbackBase): 39312 (WebCore::CallbackBase::context): 39313 (WebCore::CallbackBase::generateCallbackID): 39314 (WebCore::EnumCallback::performCallback): 39315 (WebCore::EnumCallback::EnumCallback): 39316 (WebCore::ObjectCallback::performCallback): 39317 (WebCore::ObjectCallback::ObjectCallback): 39318 39319 2011-03-21 Pavel Podivilov <podivilov (a] chromium.org> 39320 39321 Reviewed by Yury Semikhatsky. 39322 39323 Web Inspector: move scripts concatenation logic to SourceFile. 39324 https://bugs.webkit.org/show_bug.cgi?id=56756 39325 39326 * inspector/front-end/ScriptsPanel.js: 39327 * inspector/front-end/SourceFile.js: 39328 (WebInspector.SourceFile.prototype._requestContent): 39329 (WebInspector.SourceFile.prototype._loadResourceContent): 39330 (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): 39331 (WebInspector.SourceFile.prototype._concatenateScriptsContent): 39332 39333 2011-03-23 Leandro Gracia Gil <leandrogracia (a] chromium.org> 39334 39335 Reviewed by Steve Block. 39336 39337 Media Stream API: add a flag to RuntimeEnabledFeatures. 39338 https://bugs.webkit.org/show_bug.cgi?id=56921 39339 39340 Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime. 39341 39342 Tests for the Media Stream API will be provided by the bug 56587. 39343 39344 * bindings/generic/RuntimeEnabledFeatures.cpp: 39345 * bindings/generic/RuntimeEnabledFeatures.h: 39346 (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled): 39347 (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled): 39348 (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled): 39349 39350 2011-03-23 Carol Szabo <carol.szabo (a] nokia.com> 39351 39352 Reviewed by David Hyatt. 39353 39354 Modified RenderCounter::originalText() to correctly attach 39355 the created counter to the before/after container even when 39356 that is not the RenderCounter's direct parent. 39357 39358 CSS 2.1 failure: various before-after-* tests fail 39359 https://bugs.webkit.org/show_bug.cgi?id=47207 39360 39361 Test: fast/css/counters/complex-before.html 39362 39363 * rendering/RenderCounter.cpp: 39364 (WebCore::RenderCounter::originalText): 39365 39366 2011-03-23 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 39367 39368 Reviewed by Antonio Gomes. 39369 39370 [EFL] Add play / pause button to media control 39371 https://bugs.webkit.org/show_bug.cgi?id=55463 39372 39373 Add play|pause button to media control. 39374 39375 * platform/efl/RenderThemeEfl.cpp: 39376 (WebCore::RenderThemeEfl::edjeGroupFromFormType): 39377 (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added. 39378 (WebCore::RenderThemeEfl::paintMediaPlayButton): 39379 * platform/efl/RenderThemeEfl.h: 39380 39381 2011-03-23 Aparna Nandyal <aparna.nand (a] wipro.com> 39382 39383 Reviewed by Andreas Kling. 39384 39385 [Qt] QtWebKit rendering problem when maximizing and doing a back 39386 https://bugs.webkit.org/show_bug.cgi?id=56669 39387 39388 Contents of the page are not re-sized on going back after 39389 maximizing. ContentsResized() is not getting called. Hence old 39390 document width and height are used. Corrected this behaviour by 39391 calling setBoundsSize() which calls contentsSize(). 39392 39393 * loader/FrameLoader.cpp: 39394 (WebCore::FrameLoader::open): 39395 39396 2011-03-21 Pavel Podivilov <podivilov (a] chromium.org> 39397 39398 Reviewed by Yury Semikhatsky. 39399 39400 Web Inspector: add support for formating source files in debugger presentation model. 39401 https://bugs.webkit.org/show_bug.cgi?id=56558 39402 39403 * inspector/front-end/DebuggerModel.js: 39404 (WebInspector.DebuggerModel.prototype.reset): 39405 (WebInspector.DebuggerModel.prototype.get scripts): 39406 * inspector/front-end/DebuggerPresentationModel.js: 39407 (WebInspector.DebuggerPresentationModel): 39408 (WebInspector.DebuggerPresentationModel.prototype._addScript): 39409 (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints): 39410 (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles): 39411 (WebInspector.DebuggerPresentationModel.prototype.continueToLine): 39412 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 39413 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 39414 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 39415 (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript): 39416 (WebInspector.DebuggerPresentationModel.prototype._reset): 39417 * inspector/front-end/ScriptFormatter.js: 39418 (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks): 39419 (WebInspector.ScriptFormatter.prototype.formatContent): 39420 * inspector/front-end/ScriptsPanel.js: 39421 (WebInspector.ScriptsPanel): 39422 (WebInspector.ScriptsPanel.prototype.reset): 39423 (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles): 39424 * inspector/front-end/Settings.js: 39425 * inspector/front-end/SourceFile.js: 39426 (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation): 39427 (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation): 39428 (WebInspector.FormattedSourceFile): 39429 (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation): 39430 (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation): 39431 (WebInspector.FormattedSourceFile.prototype._didRequestContent): 39432 39433 2011-03-23 Yury Semikhatsky <yurys (a] chromium.org> 39434 39435 Reviewed by Pavel Feldman. 39436 39437 Web Inspector: use unsigned char instead of char when storing script source 39438 https://bugs.webkit.org/show_bug.cgi?id=56920 39439 39440 * bindings/v8/DebuggerScript.js: 39441 * bindings/v8/ScriptDebugServer.cpp: 39442 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): 39443 * inspector/InjectedScriptManager.cpp: 39444 (WebCore::InjectedScriptManager::injectedScriptSource): 39445 * inspector/InjectedScriptSource.js: whitespace change to trigger compilation 39446 * inspector/xxd.pl: 39447 * xml/XMLViewer.xsl: 39448 39449 2011-03-23 Ilya Tikhonovsky <loislo (a] chromium.org> 39450 39451 Reviewed by Yury Semikhatsky. 39452 39453 Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent. 39454 https://bugs.webkit.org/show_bug.cgi?id=56912 39455 39456 The next functions were moved: 39457 setSearchingForNode 39458 highlightDOMNode 39459 hideDOMNodeHighlight 39460 highlightFrame 39461 hideFrameHighlight 39462 mouseDidMoveOverElement 39463 handleMousePress 39464 39465 The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.* 39466 39467 * CMakeLists.txt: 39468 * GNUmakefile.am: 39469 * WebCore.gypi: 39470 * WebCore.pro: 39471 * WebCore.vcproj/WebCore.vcproj: 39472 * WebCore.xcodeproj/project.pbxproj: 39473 * inspector/DOMNodeHighlighter.cpp: Added. 39474 (WebCore::DOMNodeHighlighter::DrawNodeHighlight): 39475 * inspector/DOMNodeHighlighter.h: Added. 39476 * inspector/Inspector.json: 39477 * inspector/InspectorAgent.cpp: 39478 (WebCore::InspectorAgent::InspectorAgent): 39479 (WebCore::InspectorAgent::~InspectorAgent): 39480 (WebCore::InspectorAgent::inspectedPageDestroyed): 39481 (WebCore::InspectorAgent::disconnectFrontend): 39482 * inspector/InspectorAgent.h: 39483 * inspector/InspectorController.cpp: 39484 (WebCore::InspectorController::drawNodeHighlight): 39485 (WebCore::InspectorController::hideHighlight): 39486 * inspector/InspectorDOMAgent.cpp: 39487 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 39488 (WebCore::InspectorDOMAgent::~InspectorDOMAgent): 39489 (WebCore::InspectorDOMAgent::clearFrontend): 39490 (WebCore::InspectorDOMAgent::handleMousePress): 39491 (WebCore::InspectorDOMAgent::mouseDidMoveOverElement): 39492 (WebCore::InspectorDOMAgent::searchingForNodeInPage): 39493 (WebCore::InspectorDOMAgent::setSearchingForNode): 39494 (WebCore::InspectorDOMAgent::highlight): 39495 (WebCore::InspectorDOMAgent::highlightDOMNode): 39496 (WebCore::InspectorDOMAgent::highlightFrame): 39497 (WebCore::InspectorDOMAgent::hideHighlight): 39498 (WebCore::InspectorDOMAgent::drawNodeHighlight): 39499 * inspector/InspectorDOMAgent.h: 39500 (WebCore::InspectorDOMAgent::hideDOMNodeHighlight): 39501 (WebCore::InspectorDOMAgent::hideFrameHighlight): 39502 * inspector/InspectorInstrumentation.cpp: 39503 (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl): 39504 (WebCore::InspectorInstrumentation::handleMousePressImpl): 39505 * inspector/InstrumentingAgents.h: 39506 (WebCore::InstrumentingAgents::InstrumentingAgents): 39507 (WebCore::InstrumentingAgents::inspectorAgent): 39508 (WebCore::InstrumentingAgents::setInspectorAgent): 39509 * inspector/front-end/ElementsPanel.js: 39510 (WebInspector.ElementsPanel.prototype.setSearchingForNode): 39511 * inspector/front-end/ResourcesPanel.js: 39512 (WebInspector.FrameTreeElement.prototype.onselect): 39513 (WebInspector.FrameTreeElement.prototype.set hovered): 39514 * inspector/front-end/inspector.js: 39515 (WebInspector.highlightDOMNode): 39516 39517 2011-03-23 Yury Semikhatsky <yurys (a] chromium.org> 39518 39519 Unreviewed. Rollout r81768 which broke compilation on Win. 39520 39521 * xml/XMLTreeViewer.cpp: 39522 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 39523 * xml/XMLViewer.xsl: 39524 39525 2011-03-23 Yury Semikhatsky <yurys (a] chromium.org> 39526 39527 Reviewed by Pavel Feldman. 39528 39529 Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer 39530 https://bugs.webkit.org/show_bug.cgi?id=56919 39531 39532 * xml/XMLTreeViewer.cpp: 39533 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 39534 * xml/XMLViewer.xsl: whitespace change to trigger compilation. 39535 39536 2011-03-21 Pavel Podivilov <podivilov (a] chromium.org> 39537 39538 Reviewed by Yury Semikhatsky. 39539 39540 Web Inspector: move content loading logic to a new SourceFile class. 39541 https://bugs.webkit.org/show_bug.cgi?id=56748 39542 39543 * WebCore.gypi: 39544 * WebCore.vcproj/WebCore.vcproj: 39545 * inspector/front-end/DebuggerPresentationModel.js: 39546 (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): 39547 (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged): 39548 (WebInspector.DebuggerPresentationModel.prototype._addScript): 39549 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 39550 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 39551 * inspector/front-end/SourceFile.js: Added. 39552 (WebInspector.SourceFile): 39553 (WebInspector.SourceFile.prototype.addScript): 39554 (WebInspector.SourceFile.prototype.requestContent): 39555 (WebInspector.SourceFile.prototype.forceLoadContent): 39556 (WebInspector.SourceFile.prototype.reload): 39557 (WebInspector.SourceFile.prototype._requestContent): 39558 (WebInspector.SourceFile.prototype._loadResourceContent): 39559 (WebInspector.SourceFile.prototype._loadScriptContent): 39560 (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent): 39561 (WebInspector.SourceFile.prototype._didRequestContent): 39562 (WebInspector.SourceFile.prototype._hasPendingResource): 39563 * inspector/front-end/WebKit.qrc: 39564 * inspector/front-end/inspector.html: 39565 39566 2011-03-23 Pavel Podivilov <podivilov (a] chromium.org> 39567 39568 Unreviewed, fix compilation broken by r81758. 39569 39570 * xml/XMLTreeViewer.cpp: 39571 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 39572 39573 2011-03-23 Pavel Feldman <pfeldman (a] chromium.org> 39574 39575 Reviewed by Yury Semikhatsky. 39576 39577 Web Inspector: define array types properly in the Inspector.json 39578 https://bugs.webkit.org/show_bug.cgi?id=56915 39579 39580 * inspector/Inspector.json: 39581 * inspector/generate-inspector-idl: 39582 39583 2011-03-23 Yury Semikhatsky <yurys (a] chromium.org> 39584 39585 Reviewed by Pavel Feldman. 39586 39587 [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h 39588 https://bugs.webkit.org/show_bug.cgi?id=56843 39589 39590 * inspector/front-end/WebKit.qrc: 39591 39592 2011-03-23 Andrey Adaikin <aandrey (a] google.com> 39593 39594 Reviewed by Yury Semikhatsky. 39595 39596 Web Inspector: Add a star while editing a source code 39597 https://bugs.webkit.org/show_bug.cgi?id=56743 39598 39599 * inspector/front-end/ScriptsPanel.js: 39600 (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited): 39601 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited): 39602 * inspector/front-end/SourceFrame.js: 39603 (WebInspector.SourceFrame.prototype._startEditing): 39604 (WebInspector.SourceFrame.prototype._registerShortcuts): 39605 (WebInspector.SourceFrame.prototype._handleSave): 39606 (WebInspector.SourceFrame.prototype._handleRevertEditing): 39607 (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited): 39608 39609 2011-03-23 Andrey Adaikin <aandrey (a] google.com> 39610 39611 Reviewed by Yury Semikhatsky. 39612 39613 Web Inspector: Scrolling and navigation is not smooth on a script with many long lines 39614 https://bugs.webkit.org/show_bug.cgi?id=56559 39615 39616 * inspector/front-end/TextViewer.js: 39617 (WebInspector.TextEditorChunkedPanel.prototype._expandChunks): 39618 (WebInspector.TextEditorMainPanel.prototype._expandChunks): 39619 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): 39620 (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines): 39621 (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines): 39622 (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit): 39623 (WebInspector.TextEditorMainPanel.prototype._paintLines): 39624 (WebInspector.TextEditorMainPanel.prototype._paintLine): 39625 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 39626 39627 2011-03-22 Yury Semikhatsky <yurys (a] chromium.org> 39628 39629 Reviewed by Pavel Feldman. 39630 39631 [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h 39632 https://bugs.webkit.org/show_bug.cgi?id=56843 39633 39634 DebuggerScript.js is now translated into a char[] array before inspector compilation. 39635 39636 * WebCore.gyp/WebCore.gyp: 39637 * WebCore.gypi: 39638 * bindings/v8/ScriptDebugServer.cpp: 39639 (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled): 39640 * bindings/v8/ScriptDebugServer.h: 39641 * inspector/InjectedScriptManager.cpp: 39642 (WebCore::InjectedScriptManager::injectedScriptSource): 39643 * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation. 39644 * inspector/xxd.pl: 39645 39646 2011-03-23 Mark Rowe <mrowe (a] apple.com> 39647 39648 Fix the 32-bit build. 39649 39650 * html/canvas/WebGLRenderingContext.cpp: 39651 (WebCore::WebGLRenderingContext::initializeNewContext): 39652 39653 2011-03-22 Noel Gordon <noel.gordon (a] gmail.com> 39654 39655 Reviewed by Ojan Vafai. 39656 39657 [chromium] skia image encoders should use <wtf/Vector.h> 39658 https://bugs.webkit.org/show_bug.cgi?id=56893 39659 39660 No new tests. Covered by existing canvas.toDataURL tests. 39661 39662 * platform/image-encoders/skia/JPEGImageEncoder.h: 39663 * platform/image-encoders/skia/PNGImageEncoder.h: 39664 39665 2011-03-22 David Hyatt <hyatt (a] apple.com> 39666 39667 Reviewed by Beth Dakin. 39668 39669 Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to 39670 free up a bit for another performance optimization I have planned. 39671 39672 * rendering/RenderObject.cpp: 39673 (WebCore::RenderObject::RenderObject): 39674 * rendering/RenderObject.h: 39675 (WebCore::RenderObject::setHasColumns): 39676 * rendering/RenderTableCell.cpp: 39677 (WebCore::RenderTableCell::RenderTableCell): 39678 * rendering/RenderTableCell.h: 39679 (WebCore::RenderTableCell::cellWidthChanged): 39680 (WebCore::RenderTableCell::setCellWidthChanged): 39681 39682 2011-03-22 David Hyatt <hyatt (a] apple.com> 39683 39684 Reviewed by Dan Bernstein. 39685 39686 https://bugs.webkit.org/show_bug.cgi?id=56892 39687 39688 Adding floats to an empty block is O(n^2). 39689 39690 If you just add floats back to back to an empty block, the addition is essentially O(n^2) 39691 once the floats move below your current line position. This is because we repeatedly ask for the 39692 available width for the line from scratch every time we add a float, regardless of whether the 39693 float even vertically intersected our current line position. 39694 39695 Change positionNewFloatOnLine to update left and right line offsets intelligently and to only 39696 do it based off the single new float that just got added. 39697 39698 This fix cuts the IE MazeSolver time in half. 39699 39700 * rendering/RenderBlock.cpp: 39701 (WebCore::RenderBlock::positionNewFloatOnLine): 39702 * rendering/RenderBlock.h: 39703 * rendering/RenderBlockLineLayout.cpp: 39704 (WebCore::RenderBlock::skipLeadingWhitespace): 39705 (WebCore::RenderBlock::findNextLineBreak): 39706 39707 2011-03-22 Beth Dakin <bdakin (a] apple.com> 39708 39709 Reviewed by Sam Weinig. 39710 39711 Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a 39712 NaN value for "value" in ScrollbarThemeMac::paint() 39713 -and corresponding- 39714 <rdar://problem/9160621> 39715 39716 * platform/mac/ScrollbarThemeMac.mm: 39717 (WebCore::ScrollbarThemeMac::paint): 39718 39719 2011-03-17 Ojan Vafai <ojan (a] chromium.org> 39720 39721 Reviewed by Antti Koivisto. 39722 39723 webkit should implement -moz-any selector (as -webkit-any obviously) 39724 https://bugs.webkit.org/show_bug.cgi?id=38095 39725 39726 For now, match the Mozilla implementation with respect to specificity 39727 and only allowing simple selectors. Both of these are likely to change 39728 pending discussion on www-style@. 39729 39730 Tests: fast/css/pseudo-any.html 39731 fast/dom/SelectorAPI/unknown-pseudo.html 39732 39733 * css/CSSGrammar.y: 39734 Create simple_selector_list. This is exactly like selector_list 39735 except it only allows simple selectors and creates a new vector 39736 instead of a reusable one since there can be multiple in one rule. 39737 * css/CSSParser.cpp: 39738 (WebCore::CSSParser::~CSSParser): 39739 (WebCore::CSSParser::lex): 39740 (WebCore::CSSParser::createFloatingSelectorVector): 39741 (WebCore::CSSParser::sinkFloatingSelectorVector): 39742 * css/CSSParser.h: 39743 * css/CSSParserValues.cpp: 39744 (WebCore::CSSParserSelector::adoptSelectorVector): 39745 * css/CSSParserValues.h: 39746 * css/CSSSelector.cpp: 39747 (WebCore::CSSSelector::specificityForOneSelector): 39748 (WebCore::CSSSelector::pseudoId): 39749 (WebCore::nameToPseudoTypeMap): 39750 (WebCore::CSSSelector::extractPseudoType): 39751 (WebCore::CSSSelector::selectorText): 39752 (WebCore::CSSSelector::setSelectorList): 39753 (WebCore::CSSSelector::RareData::RareData): 39754 (WebCore::CSSSelector::RareData::~RareData): 39755 These need to be moved into the cpp file so that we can 39756 have an OwnPtr<CSSSelectorList> in CSSSelector::RareData. 39757 * css/CSSSelector.h: 39758 (WebCore::CSSSelector::selectorList): 39759 * css/CSSSelectorList.cpp: 39760 (WebCore::forEachTagSelector): 39761 * css/CSSStyleSelector.cpp: 39762 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 39763 (WebCore::collectFeaturesFromSelector): 39764 * css/tokenizer.flex: 39765 39766 2011-03-22 John Bauman <jbauman (a] chromium.org> 39767 39768 Reviewed by Kenneth Russell. 39769 39770 Add support for preserveDrawingBuffer context creation attribute 39771 https://bugs.webkit.org/show_bug.cgi?id=56431 39772 39773 For the accelerated compositing case, only prepare the texture if it 39774 has been updated since the last composite. For the non-accelerated case, make sure to 39775 grab a copy of the image buffer and paint from that if the backbuffer 39776 would be cleared. 39777 39778 In both cases, make sure to clear the context's backbuffer before the 39779 first operation that uses it. 39780 39781 No new tests. It seems to be difficult/impossible to trigger an early 39782 compositing operation in DumpRenderTree, making this hard to 39783 test automatically. However, Chromium and Safari (Mac) have been 39784 tested manually on the webgl conformance test for this. 39785 39786 * html/HTMLCanvasElement.cpp: 39787 (WebCore::HTMLCanvasElement::paint): 39788 (WebCore::HTMLCanvasElement::makePresentationCopy): 39789 (WebCore::HTMLCanvasElement::clearPresentationCopy): 39790 * html/HTMLCanvasElement.h: 39791 * html/canvas/WebGLContextAttributes.cpp: 39792 (WebCore::WebGLContextAttributes::preserveDrawingBuffer): 39793 (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer): 39794 * html/canvas/WebGLContextAttributes.h: 39795 * html/canvas/WebGLContextAttributes.idl: 39796 * html/canvas/WebGLRenderingContext.cpp: 39797 (WebCore::WebGLRenderingContext::initializeNewContext): 39798 (WebCore::WebGLRenderingContext::markContextChanged): 39799 (WebCore::WebGLRenderingContext::clearIfComposited): 39800 (WebCore::WebGLRenderingContext::markLayerComposited): 39801 (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas): 39802 (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData): 39803 (WebCore::WebGLRenderingContext::clear): 39804 (WebCore::WebGLRenderingContext::clearColor): 39805 (WebCore::WebGLRenderingContext::clearDepth): 39806 (WebCore::WebGLRenderingContext::clearStencil): 39807 (WebCore::WebGLRenderingContext::colorMask): 39808 (WebCore::WebGLRenderingContext::disable): 39809 (WebCore::WebGLRenderingContext::drawArrays): 39810 (WebCore::WebGLRenderingContext::drawElements): 39811 (WebCore::WebGLRenderingContext::enable): 39812 (WebCore::WebGLRenderingContext::readPixels): 39813 * html/canvas/WebGLRenderingContext.h: 39814 * platform/graphics/GraphicsContext3D.h: 39815 (WebCore::GraphicsContext3D::Attributes::Attributes): 39816 * platform/graphics/chromium/WebGLLayerChromium.cpp: 39817 (WebCore::WebGLLayerChromium::updateContentsIfDirty): 39818 (WebCore::WebGLLayerChromium::textureUpdated): 39819 (WebCore::WebGLLayerChromium::setContext): 39820 * platform/graphics/chromium/WebGLLayerChromium.h: 39821 * platform/graphics/mac/GraphicsContext3DMac.mm 39822 (WebCore::GraphicsContext3D::GraphicsContext3D): 39823 (WebCore::GraphicsContext3D::~GraphicsContext3D): 39824 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 39825 (WebCore::GraphicsContext3D::reshape): 39826 (WebCore::GraphicsContext3D::prepareTexture): 39827 (WebCore::GraphicsContext3D::activeTexture): 39828 (WebCore::GraphicsContext3D::bindTexture): 39829 (WebCore::GraphicsContext3D::markContextChanged): 39830 (WebCore::GraphicsContext3D::markLayerComposited): 39831 (WebCore::GraphicsContext3D::layerComposited): 39832 * platform/graphics/qt/GraphicsContext3DQt.cpp: 39833 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 39834 (WebCore::GraphicsContext3D::markLayerComposited): 39835 (WebCore::GraphicsContext3D::markContextChanged): 39836 (WebCore::GraphicsContext3D::layerComposited): 39837 39838 2011-03-22 Sam Weinig <sam (a] webkit.org> 39839 39840 Reviewed by Mark Rowe. 39841 39842 Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER. 39843 <rdar://problem/8944718> 39844 39845 * DerivedSources.make: 39846 Remove generation of HeaderDetection.h. 39847 39848 * WebCore.xcodeproj/project.pbxproj: 39849 Remove HeaderDetection.h. 39850 39851 * platform/mac/ScrollAnimatorMac.h: 39852 * platform/mac/ScrollAnimatorMac.mm: 39853 * platform/mac/ScrollbarThemeMac.h: 39854 * platform/mac/ScrollbarThemeMac.mm: 39855 Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER). 39856 39857 2011-03-22 Victoria Kirst <vrk (a] google.com> 39858 39859 Reviewed by Kenneth Russell. 39860 39861 [chromium] Properly reset VideoLayerChromium textures after lost renderer context 39862 https://bugs.webkit.org/show_bug.cgi?id=56514 39863 39864 The VideoLayerChromium textures were still mapped to the old 39865 renderer's context when LayerRendererChromium was being recreated 39866 i.e. when GPU process is killed. This patch allows VideoLayerChromium 39867 it recreate textures in the new context when the old renderer is lost. 39868 Patch also does a bit of refactoring and code clean-up. 39869 39870 * platform/graphics/chromium/VideoLayerChromium.cpp: 39871 (WebCore::VideoLayerChromium::~VideoLayerChromium): 39872 (WebCore::VideoLayerChromium::cleanupResources): 39873 (WebCore::VideoLayerChromium::updateContentsIfDirty): 39874 (WebCore::VideoLayerChromium::allocateTexturesIfNeeded): 39875 (WebCore::VideoLayerChromium::computeVisibleSize): 39876 (WebCore::VideoLayerChromium::drawYUV): 39877 (WebCore::VideoLayerChromium::drawRGBA): 39878 (WebCore::VideoLayerChromium::resetFrameParameters): 39879 (WebCore::VideoLayerChromium::saveCurrentFrame): 39880 * platform/graphics/chromium/VideoLayerChromium.h: 39881 39882 2011-03-22 Adam Barth <abarth (a] webkit.org> 39883 39884 Reviewed by Eric Seidel. 39885 39886 WebCore GYP build should export the headers needed by WebKit 39887 https://bugs.webkit.org/show_bug.cgi?id=56883 39888 39889 * WebCore.gypi: 39890 * gyp/WebCore.gyp: 39891 - Export a couple more headers. 39892 - Remove FIXME comments for things we've already fixed. 39893 39894 2011-03-22 Anton D'Auria <adauria (a] apple.com> 39895 39896 Reviewed by Alexey Proskuryakov. 39897 39898 Add +[WebApplicationCache getOriginsWithCache] 39899 https://bugs.webkit.org/show_bug.cgi?id=56722 39900 39901 Added test that exercises WebCore API to get origins with application cache. 39902 39903 Test: http/tests/appcache/origins-with-appcache.html 39904 39905 * loader/appcache/ApplicationCacheStorage.cpp: 39906 (WebCore::ApplicationCacheStorage::getOriginsWithCache): 39907 * loader/appcache/ApplicationCacheStorage.h: 39908 39909 2011-03-22 Carol Szabo <carol.szabo (a] nokia.com> 39910 39911 Reviewed by David Hyatt. 39912 39913 Introduced double linkage between a CounterNode and its display renderer. 39914 39915 use of freed pointer in WebCore::RenderCounter::originalText() 39916 https://bugs.webkit.org/show_bug.cgi?id=56065 39917 39918 No new tests. This bug could only be reproduced manually by 39919 refreshing the page during load at a critical point. 39920 See bug attachment for testing. 39921 39922 * rendering/CounterNode.cpp: 39923 Introduced new member "m_owner" to store the renderer that has the 39924 style directives that produce the CounterNode. 39925 Repurposed m_renderer to reffer to the RenderCounter that shows the 39926 CounterNode. 39927 (WebCore::CounterNode::CounterNode): 39928 Updated member initialization. 39929 (WebCore::CounterNode::create): 39930 (WebCore::CounterNode::addRenderer): 39931 (WebCore::CounterNode::removeRenderer): 39932 Introduced to manage the renderer list associated wit this CounterNode. 39933 (WebCore::CounterNode::resetRenderers): 39934 This is the old resetRenderer. Renamed to take into account that there may be 39935 more than one renderer to a CounterNode. 39936 (WebCore::CounterNode::resetThisAndDescendantsRenderers): 39937 This is the old resetRenderers renamed for clarity. 39938 (WebCore::CounterNode::recount): 39939 (WebCore::CounterNode::insertAfter): 39940 (WebCore::CounterNode::removeChild): 39941 No functional changes. 39942 (WebCore::showTreeAndMark): 39943 Added flushing to ensure that the output is complete. 39944 * rendering/CounterNode.h: 39945 (WebCore::CounterNode::owner): 39946 Renamed from renderer() 39947 * rendering/RenderCounter.cpp: 39948 (WebCore::findPlaceForCounter): 39949 Fixed comments. No functional changes. 39950 (WebCore::RenderCounter::~RenderCounter): 39951 Made sure that the CounterNode that this renderers displays is 39952 detached from this. 39953 (WebCore::RenderCounter::originalText): 39954 (WebCore::RenderCounter::invalidate): 39955 Changed to maintain the bidirectional relationship with the displayed CounterNode. 39956 Also made "invalidate" private as it should be used only by CounterNode. 39957 (WebCore::destroyCounterNodeWithoutMapRemoval): 39958 (WebCore::RenderCounter::destroyCounterNodes): 39959 (WebCore::RenderCounter::destroyCounterNode): 39960 (WebCore::updateCounters): 39961 No change, just kept code in line with the changes above. 39962 (showCounterRendererTree): 39963 Added fflush to ensure complete display. 39964 * rendering/RenderCounter.h: 39965 * rendering/RenderObjectChildList.cpp: 39966 * rendering/RenderObjectChildList.h: 39967 Removed unneeded invalidateCounters related functions. 39968 39969 2011-03-22 Dean Jackson <dino (a] apple.com> 39970 39971 Reviewed by Simon Fraser. 39972 39973 https://bugs.webkit.org/show_bug.cgi?id=56242 39974 Interrupted accelerated animations/transitions were causing 39975 subsequent animations to not start (because they were stuck 39976 waiting for a response from the compositing layer). I renamed 39977 the instance variable that indicates whether or not to 39978 notify animations of start time, from m_waitingForStartTimeResponse 39979 to m_waitingForAsyncStartNotification, so that it makes more sense. 39980 The actual bug fix was changing the logic so that the flag is reset 39981 when the list of waiting animations becomes empty. I mistakenly committed 39982 the bad logic in r81613. 39983 39984 * page/animation/AnimationBase.cpp: 39985 (WebCore::AnimationBase::updateStateMachine): 39986 - Always set paused time as we enter the paused state 39987 * page/animation/AnimationController.cpp: 39988 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 39989 (WebCore::AnimationControllerPrivate::endAnimationUpdate): 39990 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): 39991 (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse): 39992 (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse): 39993 - reset the waiting flag when the list is empty (rather than not empty) 39994 (WebCore::AnimationControllerPrivate::startTimeResponse): 39995 * page/animation/AnimationControllerPrivate.h: 39996 - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification 39997 39998 2011-03-22 Brady Eidson <beidson (a] apple.com> 39999 40000 Reviewed by Sam Weinig. 40001 40002 <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876 40003 WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread 40004 40005 * loader/icon/IconDatabase.cpp: 40006 Add a dummy client implementation for non-Mac, non-Win ports: 40007 (WebCore::DefaultIconDatabaseClient::performImport): 40008 (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL): 40009 (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL): 40010 (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL): 40011 (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons): 40012 (WebCore::DefaultIconDatabaseClient::didFinishURLImport): 40013 (WebCore::defaultClient): 40014 40015 Either call the client directly when on the main thread, or use the dispatch functions below 40016 if on the background thread: 40017 (WebCore::IconDatabase::setIconDataForIconURL): 40018 (WebCore::IconDatabase::setIconURLForPageURL): 40019 (WebCore::IconDatabase::performURLImport): 40020 (WebCore::IconDatabase::readFromDatabase): 40021 (WebCore::IconDatabase::removeAllIconsOnThread): 40022 40023 Add a very targeted WorkItem interface for dispatching client calls on the main thread: 40024 (WebCore::ClientWorkItem::ClientWorkItem): 40025 (WebCore::ClientWorkItem::~ClientWorkItem): 40026 (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem): 40027 (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem): 40028 (WebCore::ImportedIconURLForPageURLWorkItem::performWork): 40029 (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem): 40030 (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem): 40031 (WebCore::ImportedIconDataForPageURLWorkItem::performWork): 40032 (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem): 40033 (WebCore::RemovedAllIconsWorkItem::performWork): 40034 (WebCore::performWorkItem): 40035 40036 Use the client WorkItem interface to perform these callbacks on the main thread: 40037 (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread): 40038 (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread): 40039 (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread): 40040 * loader/icon/IconDatabase.h: 40041 * loader/icon/IconDatabaseClient.h: 40042 40043 2011-03-22 David Hyatt <hyatt (a] apple.com> 40044 40045 Reviewed by Simon Fraser. 40046 40047 https://bugs.webkit.org/show_bug.cgi?id=56869 40048 40049 Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be 40050 a little faster than having to access the information from the RenderStyle's sub-structure. 40051 40052 * rendering/RenderBlock.cpp: 40053 (WebCore::RenderBlock::layoutBlock): 40054 (WebCore::RenderBlock::addOverflowFromChildren): 40055 (WebCore::RenderBlock::computeOverflow): 40056 (WebCore::RenderBlock::adjustPositionedBlock): 40057 (WebCore::RenderBlock::setLogicalLeftForChild): 40058 (WebCore::RenderBlock::setLogicalTopForChild): 40059 (WebCore::RenderBlock::layoutPositionedObjects): 40060 (WebCore::RenderBlock::paintColumnRules): 40061 (WebCore::RenderBlock::paintColumnContents): 40062 (WebCore::RenderBlock::flipFloatForWritingMode): 40063 (WebCore::blockDirectionOffset): 40064 (WebCore::inlineDirectionOffset): 40065 (WebCore::RenderBlock::logicalRectToPhysicalRect): 40066 (WebCore::RenderBlock::inlineSelectionGaps): 40067 (WebCore::RenderBlock::addOverhangingFloats): 40068 (WebCore::RenderBlock::addIntrudingFloats): 40069 (WebCore::RenderBlock::hitTestColumns): 40070 (WebCore::positionForPointRespectingEditingBoundaries): 40071 (WebCore::RenderBlock::positionForPointWithInlineChildren): 40072 (WebCore::RenderBlock::positionForPoint): 40073 (WebCore::RenderBlock::columnRectAt): 40074 (WebCore::RenderBlock::adjustPointToColumnContents): 40075 (WebCore::RenderBlock::adjustRectForColumns): 40076 (WebCore::RenderBlock::flipForWritingModeIncludingColumns): 40077 (WebCore::RenderBlock::adjustForColumns): 40078 (WebCore::RenderBlock::lastLineBoxBaseline): 40079 (WebCore::RenderBlock::nextPageLogicalTop): 40080 (WebCore::RenderBlock::adjustForUnsplittableChild): 40081 (WebCore::RenderBlock::adjustLinePositionForPagination): 40082 (WebCore::RenderBlock::collapsedMarginBeforeForChild): 40083 (WebCore::RenderBlock::collapsedMarginAfterForChild): 40084 (WebCore::RenderBlock::marginStartForChild): 40085 (WebCore::RenderBlock::marginEndForChild): 40086 (WebCore::RenderBlock::setMarginStartForChild): 40087 (WebCore::RenderBlock::setMarginEndForChild): 40088 (WebCore::RenderBlock::marginValuesForChild): 40089 * rendering/RenderBlock.h: 40090 (WebCore::RenderBlock::logicalWidthForChild): 40091 (WebCore::RenderBlock::logicalHeightForChild): 40092 (WebCore::RenderBlock::logicalTopForChild): 40093 (WebCore::RenderBlock::logicalRightOffsetForContent): 40094 (WebCore::RenderBlock::logicalLeftOffsetForContent): 40095 (WebCore::RenderBlock::logicalTopForFloat): 40096 (WebCore::RenderBlock::logicalBottomForFloat): 40097 (WebCore::RenderBlock::logicalLeftForFloat): 40098 (WebCore::RenderBlock::logicalRightForFloat): 40099 (WebCore::RenderBlock::logicalWidthForFloat): 40100 (WebCore::RenderBlock::setLogicalTopForFloat): 40101 (WebCore::RenderBlock::setLogicalLeftForFloat): 40102 (WebCore::RenderBlock::setLogicalHeightForFloat): 40103 (WebCore::RenderBlock::setLogicalWidthForFloat): 40104 (WebCore::RenderBlock::xPositionForFloatIncludingMargin): 40105 (WebCore::RenderBlock::yPositionForFloatIncludingMargin): 40106 * rendering/RenderBlockLineLayout.cpp: 40107 (WebCore::RenderBlock::createLineBoxes): 40108 (WebCore::RenderBlock::layoutInlineChildren): 40109 (WebCore::RenderBlock::checkFloatsInCleanLine): 40110 (WebCore::setStaticPositions): 40111 (WebCore::RenderBlock::findNextLineBreak): 40112 (WebCore::RenderBlock::beforeSideVisualOverflowForLine): 40113 (WebCore::RenderBlock::afterSideVisualOverflowForLine): 40114 (WebCore::RenderBlock::beforeSideLayoutOverflowForLine): 40115 (WebCore::RenderBlock::afterSideLayoutOverflowForLine): 40116 * rendering/RenderBox.cpp: 40117 (WebCore::RenderBox::marginStart): 40118 (WebCore::RenderBox::marginEnd): 40119 (WebCore::RenderBox::setMarginStart): 40120 (WebCore::RenderBox::setMarginEnd): 40121 (WebCore::RenderBox::styleDidChange): 40122 (WebCore::RenderBox::logicalScroll): 40123 (WebCore::RenderBox::computeLogicalWidth): 40124 (WebCore::RenderBox::computeLogicalHeight): 40125 (WebCore::RenderBox::availableLogicalHeightUsing): 40126 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): 40127 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): 40128 (WebCore::RenderBox::computePositionedLogicalWidth): 40129 (WebCore::computeLogicalLeftPositionedOffset): 40130 (WebCore::RenderBox::computePositionedLogicalHeight): 40131 (WebCore::computeLogicalTopPositionedOffset): 40132 (WebCore::RenderBox::computePositionedLogicalWidthReplaced): 40133 (WebCore::RenderBox::computePositionedLogicalHeightReplaced): 40134 (WebCore::RenderBox::addLayoutOverflow): 40135 (WebCore::RenderBox::flipForWritingMode): 40136 * rendering/RenderBoxModelObject.cpp: 40137 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle): 40138 * rendering/RenderObject.cpp: 40139 (WebCore::RenderObject::RenderObject): 40140 (WebCore::RenderObject::styleWillChange): 40141 * rendering/RenderObject.h: 40142 (WebCore::RenderObject::isHorizontalWritingMode): 40143 (WebCore::RenderObject::setHorizontalWritingMode): 40144 * rendering/RenderTableCell.cpp: 40145 (WebCore::RenderTableCell::paddingTop): 40146 (WebCore::RenderTableCell::paddingBottom): 40147 (WebCore::RenderTableCell::paddingLeft): 40148 (WebCore::RenderTableCell::paddingRight): 40149 (WebCore::RenderTableCell::scrollbarsChanged): 40150 * rendering/RootInlineBox.cpp: 40151 (WebCore::RootInlineBox::RootInlineBox): 40152 (WebCore::RootInlineBox::lineSelectionGap): 40153 (WebCore::RootInlineBox::verticalPositionForBox): 40154 40155 2011-03-22 Simon Fraser <simon.fraser (a] apple.com> 40156 40157 Reviewed by Beth Dakin. 40158 40159 Incorrect rendering of composited element with negative z-index child 40160 https://bugs.webkit.org/show_bug.cgi?id=56846 40161 40162 When a composited element has a child with negative z-index, we make 40163 a separate layer for that element's foreground content. This layer 40164 was positioned incorrectly (but the content happened to paint at 40165 the right location), resulting in right/bottom clipping. 40166 40167 Fix this, remove the little-used graphicsLayerToContentsCoordinates() 40168 contentsToGraphicsLayerCoordinates() methods, and optimize incremental 40169 repaints in the foreground and mask layers. 40170 40171 Tests: compositing/geometry/foreground-layer.html 40172 compositing/geometry/repaint-foreground-layer.html 40173 40174 * platform/graphics/ca/GraphicsLayerCA.cpp: 40175 (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints 40176 which fall outside the layer bounds, so callers don't have to, 40177 and to avoid unnecessary layer commits. 40178 40179 * rendering/RenderLayerBacking.cpp: 40180 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If 40181 we have a foreground layer inside a clipping layer, the foreground 40182 layer's offset is zero, since the clipping layer is its parent. 40183 40184 (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use 40185 offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates(). 40186 Also do incremental repaints of the foreground and mask layers. 40187 40188 (WebCore::RenderLayerBacking::paintContents): It was incorrect to always 40189 use compositedBounds() to compute the painting offset, since that's 40190 per-RenderLayerBacking, but a single RenderLayerBacking can have different 40191 GraphicsLayers with different offsets (e.g. the foreground layer). 40192 Instead, use offsetFromRenderer(), which gives has the correct offset. 40193 40194 * rendering/RenderLayerBacking.h: Remove unused methods. 40195 40196 2011-03-22 Chris Rogers <crogers (a] google.com> 40197 40198 Reviewed by Kenneth Russell. 40199 40200 Use default-output instead of default-input to get hardware sample-rate 40201 https://bugs.webkit.org/show_bug.cgi?id=56858 40202 40203 No new tests since audio API is not yet implemented. 40204 40205 * platform/audio/mac/AudioDestinationMac.cpp: 40206 (WebCore::AudioDestination::hardwareSampleRate): 40207 40208 2011-03-22 Pratik Solanki <psolanki (a] apple.com> 40209 40210 Reviewed by David Kilzer. 40211 40212 Implement -connection:didReceiveDataArray: NSURLConnection delegate method 40213 https://bugs.webkit.org/show_bug.cgi?id=56838 40214 40215 Add experimental support for the didReceiveDataArray callback on 40216 NSURLConnection. A RessourceHandleClient indicates its ability to 40217 handle this callback by returning true from supportsDataArray() method. 40218 Currently only SubresourceLoader uses this so we get the benefit for 40219 CSS, JS and image loads. For other clients we call didReceiveData with 40220 the CFData contents as before. 40221 40222 * WebCore.xcodeproj/project.pbxproj: 40223 * loader/ResourceLoader.h: 40224 * loader/SubresourceLoader.h: 40225 (WebCore::SubresourceLoader::supportsDataArray): 40226 * loader/cf/SubresourceLoaderCF.cpp: Added. 40227 (WebCore::SubresourceLoader::didReceiveDataArray): 40228 * loader/mac/ResourceLoaderMac.mm: 40229 (WebCore::ResourceLoader::didReceiveDataArray): 40230 * platform/SharedBuffer.cpp: 40231 (WebCore::SharedBuffer::clear): 40232 (WebCore::SharedBuffer::buffer): 40233 * platform/SharedBuffer.h: 40234 * platform/cf/SharedBufferCF.cpp: 40235 (WebCore::SharedBuffer::append): 40236 (WebCore::SharedBuffer::copyDataArrayAndClear): 40237 * platform/network/ResourceHandleClient.h: 40238 (WebCore::ResourceHandleClient::supportsDataArray): 40239 (WebCore::ResourceHandleClient::didReceiveDataArray): 40240 * platform/network/mac/ResourceHandleMac.mm: 40241 (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): 40242 40243 2011-03-22 Eric Seidel <eric (a] webkit.org> 40244 40245 Reviewed by Adam Barth. 40246 40247 Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source 40248 https://bugs.webkit.org/show_bug.cgi?id=56867 40249 40250 This should make it possible to build the gyp-generated WebCore.xcodeproj 40251 from a WebCore directory outside of Source. 40252 40253 * gyp/WebCore.gyp: 40254 * gyp/run-if-exists.sh: Added. 40255 * gyp/update-info-plist.sh: Added. 40256 40257 2011-03-22 Anders Carlsson <andersca (a] apple.com> 40258 40259 Fix WebKit2 build. 40260 40261 * WebCore.exp.in: 40262 Export a symbol needed by WebKit2. 40263 40264 2011-03-22 Adam Barth <abarth (a] webkit.org> 40265 40266 Reviewed by Eric Seidel. 40267 40268 Add the remaining steps to WebCore GYP build 40269 https://bugs.webkit.org/show_bug.cgi?id=56864 40270 40271 These steps match the normal build. After this patch, I believe the 40272 WebCore GYP build is complete. 40273 40274 * WebCore.gypi: 40275 * gyp/WebCore.gyp: 40276 * gyp/copy-inspector-resources.sh: Added. 40277 40278 2011-03-22 Beth Dakin <bdakin (a] apple.com> 40279 40280 Reviewed by Simon Fraser. 40281 40282 Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be 40283 added to Page::scrollableAreaSet() 40284 40285 * rendering/RenderListBox.cpp: 40286 (WebCore::RenderListBox::RenderListBox): 40287 (WebCore::RenderListBox::~RenderListBox): 40288 * rendering/RenderListBox.h: 40289 (WebCore::RenderListBox::disconnectFromPage): 40290 40291 2011-03-22 Chris Rogers <crogers (a] google.com> 40292 40293 Reviewed by Kenneth Russell. 40294 40295 Add high-quality band-limited audio resampling algorithm 40296 https://bugs.webkit.org/show_bug.cgi?id=56692 40297 40298 No new tests since audio API is not yet implemented. 40299 40300 * platform/audio/SincResampler.cpp: Added. 40301 (WebCore::SincResampler::SincResampler): 40302 (WebCore::SincResampler::initializeKernel): 40303 (WebCore::SincResampler::consumeSource): 40304 (WebCore::SincResampler::process): 40305 * platform/audio/SincResampler.h: Added. 40306 40307 2011-03-22 Adam Barth <abarth (a] webkit.org> 40308 40309 Reviewed by Eric Seidel. 40310 40311 WebCore GYP build should build without help from normal WebCore build 40312 https://bugs.webkit.org/show_bug.cgi?id=56860 40313 40314 Before this patch, the WebCore GYP build wasn't generating the derived 40315 sources quite right because the ENABLE macros were not being 40316 communicated to the "Derived Sources" target. 40317 40318 This patch also adds the "Copy Forwarding and ICU Headers" as well as 40319 the "Streamline Inspector Source" steps, which are present in the 40320 normal build. Unlike the normal build, these steps occur in a new 40321 target, called "WebCore Support", which is less than aesthetically 40322 beautiful. Hopefully we'll be able to move them into the WebCore 40323 target proper in the future, but that will likely require some GYP 40324 changes. 40325 40326 This patch probably could have been broken down into a couple smaller 40327 patches, but that doesn't seem necessary. 40328 40329 * WebCore.gypi: 40330 - This file appears to no longer exist. 40331 * gyp/WebCore.gyp: 40332 * gyp/copy-forwarding-and-icu-headers.sh: Added. 40333 * gyp/streamline-inspector-source.sh: Added. 40334 40335 2011-03-22 David Hyatt <hyatt (a] apple.com> 40336 40337 Reviewed by Simon Fraser. 40338 40339 https://bugs.webkit.org/show_bug.cgi?id=56859 40340 40341 Floats in the floating object list occur in the order that they are positioned. This means 40342 that for a given vertical offset, the last left object in the list that intersects that offset 40343 will be the rightmost float. There is no need to check any previous floats, since they have to be 40344 further left than that rightmost float. The same rules hold true for right-aligned floats. 40345 40346 Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment 40347 they encounter a float that intersects the vertical range. 40348 40349 This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half. 40350 40351 * rendering/RenderBlock.cpp: 40352 (WebCore::RenderBlock::logicalLeftOffsetForLine): 40353 (WebCore::RenderBlock::logicalRightOffsetForLine): 40354 40355 2011-03-22 Justin Schuh <jschuh (a] chromium.org> 40356 40357 Reviewed by Dirk Schulze. 40358 40359 SVG displacement map should validate channel selections 40360 https://bugs.webkit.org/show_bug.cgi?id=56794 40361 40362 Test: svg/filters/feDisplacementMap-crash-test.xhtml 40363 40364 * svg/SVGFEDisplacementMapElement.cpp: 40365 (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): 40366 40367 2011-03-22 Huahui Wu <mediadependent (a] gmail.com> 40368 40369 Reviewed by Steve Block. 40370 40371 [Android] Update PlatformTouchEvent for android so it can pass IDs and states around. 40372 https://bugs.webkit.org/show_bug.cgi?id=56763 40373 40374 No new tests as no new functionality is exposed. 40375 40376 * platform/PlatformTouchEvent.h: 40377 * platform/android/PlatformTouchEventAndroid.cpp: 40378 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 40379 40380 2011-03-22 David Hyatt <hyatt (a] apple.com> 40381 40382 Reviewed by Simon Fraser. 40383 40384 Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example, 40385 you can fix the height of lines and cause all line contents to be ignored. You can make lines fit to glyphs. You can ignore leading and 40386 fit to the font size. You can ignore replaced elements, etc. 40387 40388 Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox 40389 so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box 40390 height based off the block's line-box-contain value. 40391 40392 GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct. 40393 40394 RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box. 40395 40396 Added new tests in fast/block/lineboxcontain 40397 40398 * GNUmakefile.am: 40399 * WebCore.gypi: 40400 * WebCore.pro: 40401 * WebCore.vcproj/WebCore.vcproj: 40402 * WebCore.xcodeproj/project.pbxproj: 40403 * css/CSSComputedStyleDeclaration.cpp: 40404 (WebCore::createLineBoxContainValue): 40405 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 40406 * css/CSSLineBoxContainValue.cpp: Added. 40407 (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue): 40408 (WebCore::CSSLineBoxContainValue::cssText): 40409 * css/CSSLineBoxContainValue.h: Added. 40410 (WebCore::CSSLineBoxContainValue::create): 40411 (WebCore::CSSLineBoxContainValue::value): 40412 (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue): 40413 * css/CSSParser.cpp: 40414 (WebCore::CSSParser::parseValue): 40415 (WebCore::CSSParser::parseLineBoxContain): 40416 * css/CSSParser.h: 40417 * css/CSSPropertyNames.in: 40418 * css/CSSStyleSelector.cpp: 40419 (WebCore::CSSStyleSelector::applyProperty): 40420 * css/CSSValue.h: 40421 (WebCore::CSSValue::isCSSLineBoxContainValue): 40422 * css/CSSValueKeywords.in: 40423 * platform/graphics/Font.cpp: 40424 (WebCore::Font::width): 40425 * platform/graphics/Font.h: 40426 (WebCore::GlyphOverflow::GlyphOverflow): 40427 * platform/graphics/FontFastPath.cpp: 40428 (WebCore::Font::floatWidthForSimpleText): 40429 * platform/graphics/mac/FontComplexTextMac.cpp: 40430 (WebCore::Font::floatWidthForComplexText): 40431 * platform/graphics/win/FontWin.cpp: 40432 (WebCore::Font::floatWidthForComplexText): 40433 * rendering/InlineFlowBox.cpp: 40434 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 40435 * rendering/InlineFlowBox.h: 40436 * rendering/RenderBlock.h: 40437 * rendering/RenderBlockLineLayout.cpp: 40438 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 40439 (WebCore::RenderBlock::layoutInlineChildren): 40440 * rendering/RenderInline.cpp: 40441 (WebCore::RenderInline::marginLeft): 40442 (WebCore::RenderInline::marginRight): 40443 (WebCore::RenderInline::marginTop): 40444 (WebCore::RenderInline::marginBottom): 40445 (WebCore::RenderInline::marginBefore): 40446 (WebCore::RenderInline::marginAfter): 40447 * rendering/RenderInline.h: 40448 * rendering/RenderText.cpp: 40449 (WebCore::RenderText::widthFromCache): 40450 (WebCore::RenderText::width): 40451 * rendering/RootInlineBox.cpp: 40452 (WebCore::RootInlineBox::alignBoxesInBlockDirection): 40453 (WebCore::setAscentAndDescent): 40454 (WebCore::RootInlineBox::ascentAndDescentForBox): 40455 (WebCore::RootInlineBox::verticalPositionForBox): 40456 (WebCore::RootInlineBox::includeLeadingForBox): 40457 (WebCore::RootInlineBox::includeFontForBox): 40458 (WebCore::RootInlineBox::includeGlyphsForBox): 40459 (WebCore::RootInlineBox::includeMarginForBox): 40460 (WebCore::RootInlineBox::fitsToGlyphs): 40461 (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading): 40462 * rendering/RootInlineBox.h: 40463 * rendering/style/RenderStyle.cpp: 40464 (WebCore::RenderStyle::diff): 40465 * rendering/style/RenderStyle.h: 40466 (WebCore::InheritedFlags::lineBoxContain): 40467 (WebCore::InheritedFlags::setLineBoxContain): 40468 (WebCore::InheritedFlags::initialLineBoxContain): 40469 * rendering/style/StyleRareInheritedData.cpp: 40470 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 40471 (WebCore::StyleRareInheritedData::operator==): 40472 * rendering/style/StyleRareInheritedData.h: 40473 40474 2011-03-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 40475 40476 Unreviewed, rolling out r81653. 40477 http://trac.webkit.org/changeset/81653 40478 https://bugs.webkit.org/show_bug.cgi?id=56839 40479 40480 Breaks fast/text/drawBidiText.html on Chromium. (Requested by 40481 pfeldman on #webkit). 40482 40483 * rendering/RenderListBox.cpp: 40484 (WebCore::RenderListBox::paintItemForeground): 40485 40486 2011-03-22 Pavel Feldman <pfeldman (a] chromium.org> 40487 40488 Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium. 40489 40490 * inspector/Inspector.json: 40491 * inspector/InspectorDatabaseResource.cpp: 40492 (WebCore::InspectorDatabaseResource::bind): 40493 * inspector/front-end/Database.js: 40494 (WebInspector.DatabaseDispatcher.prototype.addDatabase): 40495 40496 2011-03-21 Pavel Podivilov <podivilov (a] chromium.org> 40497 40498 Reviewed by Yury Semikhatsky. 40499 40500 Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened. 40501 https://bugs.webkit.org/show_bug.cgi?id=56747 40502 40503 Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts). 40504 40505 * inspector/Inspector.json: 40506 * inspector/InspectorAgent.cpp: 40507 (WebCore::InspectorAgent::showProfilesPanel): 40508 * inspector/InspectorAgent.h: 40509 * inspector/InspectorController.cpp: 40510 (WebCore::InspectorController::InspectorController): 40511 (WebCore::InspectorController::connectFrontend): 40512 (WebCore::InspectorController::showAndEnableDebugger): 40513 * inspector/InspectorController.h: 40514 * inspector/InspectorDebuggerAgent.cpp: 40515 (WebCore::InspectorDebuggerAgent::setFrontend): 40516 (WebCore::InspectorDebuggerAgent::clearFrontend): 40517 * inspector/InspectorDebuggerAgent.h: 40518 40519 2011-03-22 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 40520 40521 Reviewed by Benjamin Poulain. 40522 40523 [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4 40524 https://bugs.webkit.org/show_bug.cgi?id=56824 40525 40526 On desktop OpenGL substitute in renderbufferStorage: 40527 - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL 40528 - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16 40529 - GL_RGBA for GL_RGBA4 and GL_RGBA565 40530 - GL_RGB for RGB5_A1. 40531 40532 Tests: fast/canvas/webgl/uninitialized-test.html 40533 40534 * platform/graphics/qt/GraphicsContext3DQt.cpp: 40535 (WebCore::GraphicsContext3D::renderbufferStorage): 40536 40537 2011-03-16 Dimitri Glazkov <dglazkov (a] chromium.org> 40538 40539 Reviewed by Eric Seidel. 40540 40541 Move volume slider positioning logic to a custom renderer. 40542 https://bugs.webkit.org/show_bug.cgi?id=56498 40543 40544 No functional change, covered by existing tests. 40545 40546 * html/shadow/MediaControls.cpp: 40547 (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic. 40548 * rendering/MediaControlElements.cpp: 40549 (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added. 40550 (WebCore::RenderMediaVolumeSliderContainer::layout): Added. 40551 (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates. 40552 (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added. 40553 (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates. 40554 * rendering/MediaControlElements.h: Changed corresponding decls. 40555 40556 2011-03-22 Andrew Wason <rectalogic (a] rectalogic.com> 40557 40558 Reviewed by Benjamin Poulain. 40559 40560 [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent 40561 https://bugs.webkit.org/show_bug.cgi?id=54138 40562 40563 * platform/graphics/qt/GraphicsContext3DQt.cpp: 40564 (WebCore::GraphicsContext3DInternal::getViewportGLWidget): 40565 Check if we actually have a QWebPageClient before dereferencing it. 40566 40567 2011-03-22 Pavel Feldman <pfeldman (a] chromium.org> 40568 40569 Reviewed by Yury Semikhatsky. 40570 40571 Web Inspector: document DOM domain types and protocol methods. 40572 https://bugs.webkit.org/show_bug.cgi?id=56807 40573 40574 * inspector/InjectedScript.cpp: 40575 (WebCore::InjectedScript::wrapNode): 40576 * inspector/InjectedScript.h: 40577 * inspector/Inspector.json: 40578 * inspector/InspectorBrowserDebuggerAgent.cpp: 40579 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 40580 * inspector/InspectorDOMAgent.cpp: 40581 (WebCore::InspectorDOMAgent::removeNode): 40582 (WebCore::InspectorDOMAgent::setNodeValue): 40583 * inspector/InspectorDOMAgent.h: 40584 * inspector/front-end/ElementsTreeOutline.js: 40585 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): 40586 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 40587 * inspector/front-end/EventListenersSidebarPane.js: 40588 * inspector/front-end/PropertiesSidebarPane.js: 40589 (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved): 40590 * inspector/front-end/RemoteObject.js: 40591 (WebInspector.RemoteObject.resolveNode): 40592 40593 2011-03-22 Adam Barth <abarth (a] webkit.org> 40594 40595 Reviewed by Eric Seidel. 40596 40597 Production configuration in GYP isn't set up correctly 40598 https://bugs.webkit.org/show_bug.cgi?id=56786 40599 40600 Update WebCore.gyp with information mined from WebCore.xcodeproj. 40601 40602 * WebCore.gypi: 40603 * gyp/WebCore.gyp: 40604 40605 2011-03-22 Ofri Wolfus <ofri (a] google.com> 40606 40607 Reviewed by Eric Seidel. 40608 40609 RTL: Select elements with a size attribute are always left aligned. 40610 https://bugs.webkit.org/show_bug.cgi?id=50928 40611 40612 Added support for alignment in RenderListBox. 40613 40614 Test: fast/forms/listbox-bidi-align.html 40615 40616 * rendering/RenderListBox.cpp: 40617 (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality. 40618 40619 2011-03-22 Ilya Sherman <isherman (a] chromium.org> 40620 40621 Reviewed by Kent Tamura. 40622 40623 Clear autofilled flag when reseting a form 40624 In service of https://code.google.com/p/chromium/issues/detail?id=70037 40625 https://bugs.webkit.org/show_bug.cgi?id=56802 40626 40627 Test: fast/forms/reset-autofilled.html 40628 40629 * html/HTMLInputElement.cpp: 40630 (WebCore::HTMLInputElement::reset): Clear the autofilled flag. 40631 40632 2011-03-22 Ilya Tikhonovsky <loislo (a] chromium.org> 40633 40634 Reviewed by Yury Semikhatsky. 40635 40636 Web Inspector: protocol cleanup. DatabaseAgent. 40637 https://bugs.webkit.org/show_bug.cgi?id=56815 40638 40639 see protocol metabug: 40640 - All events should use notification wording, not command wording: 40641 40642 addDatabase was renamed to DatabaseOpened. 40643 40644 Test: inspector/protocol/database-agent.html 40645 40646 * inspector/Inspector.json: 40647 * inspector/InspectorDatabaseResource.cpp: 40648 (WebCore::InspectorDatabaseResource::bind): 40649 * inspector/front-end/Database.js: 40650 (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened): 40651 40652 2011-03-22 Ilya Tikhonovsky <loislo (a] chromium.org> 40653 40654 Reviewed by Yury Semikhatsky. 40655 40656 Web Inspector: protocol cleanup. ConsoleAgent. 40657 https://bugs.webkit.org/show_bug.cgi?id=56806 40658 40659 renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount); 40660 new method: disable() 40661 deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command. 40662 40663 * inspector/ConsoleMessage.cpp: 40664 (WebCore::ConsoleMessage::updateRepeatCountInConsole): 40665 * inspector/Inspector.json: 40666 * inspector/InspectorConsoleAgent.cpp: 40667 (WebCore::InspectorConsoleAgent::enable): 40668 (WebCore::InspectorConsoleAgent::disable): 40669 * inspector/InspectorConsoleAgent.h: 40670 * inspector/front-end/ConsoleView.js: 40671 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated): 40672 (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount): 40673 * inspector/front-end/inspector.js: 40674 40675 2011-03-22 Kent Tamura <tkent (a] chromium.org> 40676 40677 Reviewed by Eric Seidel. 40678 40679 REGRESSION(r80096): Number type input unexpectedly rounds fractional values 40680 https://bugs.webkit.org/show_bug.cgi?id=56367 40681 40682 Because the default value of the maximum fractional digits of NSNumberFormatter 40683 and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a 40684 localized representation. This bug affects only in Mac and Chromium. 40685 40686 To fix this bug, 40687 - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and 40688 - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces() 40689 instead of parseToDoubleForNumberType(). 40690 40691 No automated tests because the behavior is locale-dependent. This change 40692 updates a manual test. 40693 40694 * html/NumberInputType.cpp: 40695 (WebCore::NumberInputType::visibleValue): 40696 Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional 40697 part length to formatLocalizedNumber(). 40698 * manual-tests/input-number-localization.html: 40699 Update the test to cover this change. 40700 * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber(). 40701 * platform/text/LocalizedNumberICU.cpp: 40702 (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits(). 40703 * platform/text/LocalizedNumberNone.cpp: 40704 (WebCore::formatLocalizedNumber): 40705 * platform/text/mac/LocalizedNumberMac.mm: 40706 (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits(). 40707 40708 2011-03-21 Abhishek Arya <inferno (a] chromium.org> 40709 40710 Reviewed by Eric Seidel. 40711 40712 Anonymous blocks need isRenderBlock cast check. Also, need 40713 to allow display BOX for flexible boxes. 40714 https://bugs.webkit.org/show_bug.cgi?id=56709 40715 40716 Test: accessibility/anchor-linked-anonymous-block-crash.html 40717 40718 * rendering/RenderBlock.cpp: 40719 (WebCore::canMergeContiguousAnonymousBlocks): remove specific 40720 fix in r81088 which is no longer needed. 40721 * rendering/RenderObject.h: 40722 (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast 40723 check. 40724 40725 2011-03-21 Abhishek Arya <inferno (a] chromium.org> 40726 40727 Reviewed by Eric Seidel. 40728 40729 Revert small change made in r78846 of replacing move with positionLineBox 40730 in the adjusting position function for inline box. 40731 https://bugs.webkit.org/show_bug.cgi?id=56300 40732 40733 The change in r78846 caused positioning line boxes during the step of adjusting 40734 position for inline box, thereby causing line boxes to be nuked. This happens as 40735 part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine. 40736 Later on, we do the positioning of line boxes again later in that function. This 40737 causes use of removed inline box leading to crash. Also, it is unnecessary to do 40738 this twice. 40739 40740 Tests: fast/inline/inline-box-adjust-position-crash.html 40741 fast/inline/inline-box-adjust-position-crash2.html 40742 40743 * rendering/InlineBox.cpp: 40744 (WebCore::InlineBox::adjustPosition): 40745 40746 2011-03-21 Adam Klein <adamk (a] chromium.org> 40747 40748 Reviewed by David Levin. 40749 40750 [fileapi] Add URI resolution support to WorkerContext 40751 https://bugs.webkit.org/show_bug.cgi?id=55644 40752 40753 Tests: http/tests/filesystem/workers/resolve-url-sync.html 40754 http/tests/filesystem/workers/resolve-url.html 40755 40756 * fileapi/LocalFileSystem.cpp: 40757 (WebCore::LocalFileSystem::readFileSystem): 40758 Add support for workers. 40759 * fileapi/LocalFileSystem.h: 40760 * workers/WorkerContext.cpp: 40761 (WebCore::WorkerContext::resolveLocalFileSystemURL): 40762 (WebCore::WorkerContext::resolveLocalFileSystemSyncURL): 40763 * workers/WorkerContext.h: 40764 * workers/WorkerContext.idl: 40765 40766 2011-03-21 David Levin <levin (a] chromium.org> 40767 40768 Reviewed by Adam Barth. 40769 40770 XHR in Workers doesn't set the referrer correctly. 40771 https://bugs.webkit.org/show_bug.cgi?id=24683 40772 40773 Tests: http/tests/xmlhttprequest/workers/referer.html 40774 http/tests/xmlhttprequest/workers/shared-worker-referer.html 40775 40776 * loader/DocumentThreadableLoader.cpp: 40777 (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer. 40778 (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer. 40779 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto. 40780 (WebCore::DocumentThreadableLoader::loadRequest): Ditto. 40781 * loader/DocumentThreadableLoader.h: Ditto. 40782 * loader/ResourceLoadScheduler.cpp: 40783 (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto. 40784 * loader/ResourceLoadScheduler.h: Ditto. 40785 * loader/SubresourceLoader.cpp: 40786 (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in. 40787 * loader/WorkerThreadableLoader.cpp: 40788 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer. 40789 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer. 40790 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer. 40791 * loader/WorkerThreadableLoader.h: 40792 40793 2011-03-21 Nate Chapin <japhet (a] chromium.org> 40794 40795 Reviewed by Brady Eidson. 40796 40797 Do not check the DocumentLoader's request cache policy 40798 in determining whether we should force revalidation of a cached 40799 subresource. If the main resource received headers telling it not 40800 to cache, that policy will be propagated to subresources. 40801 40802 The previous behavior is left in behind a flag in Settings, since 40803 QuickLook depends on it. 40804 40805 https://bugs.webkit.org/show_bug.cgi?id=38690 40806 40807 Tests: http/tests/cache/post-redirect-get.php 40808 http/tests/cache/post-with-cached-subresources.php 40809 40810 * loader/FrameLoader.cpp: 40811 (WebCore::FrameLoader::subresourceCachePolicy): 40812 (WebCore::FrameLoader::loadPostRequest): 40813 * page/Settings.cpp: 40814 (WebCore::Settings::Settings): 40815 * page/Settings.h: 40816 (WebCore::Settings::setUseQuickLookResourceCachingQuirks): 40817 (WebCore::Settings::useQuickLookResourceCachingQuirks): 40818 40819 2011-03-21 Rik Cabanier <cabanier (a] adobe.com> 40820 40821 Reviewed by James Robinson. 40822 40823 bug 56052: percentages are incorrectly rounded in WebKit 40824 https://bugs.webkit.org/show_bug.cgi?id=56052 40825 40826 test: fast/css/percentage-non-integer.html 40827 40828 * css/CSSStyleSelector.cpp: 40829 (WebCore::CSSStyleSelector::applyProperty): 40830 * page/PrintContext.cpp: 40831 (WebCore::PrintContext::pageProperty): 40832 * platform/Length.h: 40833 (WebCore::Length::Length): 40834 (WebCore::Length::operator*=): 40835 (WebCore::Length::value): 40836 (WebCore::Length::percent): 40837 (WebCore::Length::setValue): 40838 (WebCore::Length::calcValue): 40839 (WebCore::Length::calcMinValue): 40840 (WebCore::Length::isUndefined): 40841 (WebCore::Length::isZero): 40842 (WebCore::Length::isPositive): 40843 (WebCore::Length::isNegative): 40844 * rendering/AutoTableLayout.cpp: 40845 (WebCore::AutoTableLayout::recalcColumn): 40846 (WebCore::AutoTableLayout::computePreferredLogicalWidths): 40847 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 40848 (WebCore::AutoTableLayout::layout): 40849 * rendering/FixedTableLayout.cpp: 40850 (WebCore::FixedTableLayout::calcWidthArray): 40851 (WebCore::FixedTableLayout::layout): 40852 * rendering/RenderTableSection.cpp: 40853 (WebCore::RenderTableSection::addCell): 40854 (WebCore::RenderTableSection::layoutRows): 40855 * rendering/style/BorderData.h: 40856 (WebCore::BorderData::hasBorderRadius): 40857 40858 2011-03-21 Adam Barth <abarth (a] webkit.org> 40859 40860 Reviewed by Eric Seidel. 40861 40862 Add WebCoreExportFileGenerator to WebCore GYP build 40863 https://bugs.webkit.org/show_bug.cgi?id=56778 40864 40865 This target mirrors the eponymous target from WebCore.xcodeproj. 40866 40867 * WebCore.gypi: 40868 * gyp/WebCore.gyp: 40869 * generate-webcore-export-file-generator.sh: Added. 40870 40871 2011-03-21 Adam Barth <abarth (a] webkit.org> 40872 40873 Reviewed by Dimitri Glazkov. 40874 40875 WebCore GYP build shouldn't crash on startup 40876 https://bugs.webkit.org/show_bug.cgi?id=56776 40877 40878 Debug builds shouldn't define NDEBUG. This same logic exists in the 40879 project.pbxproj file. 40880 40881 * gyp/WebCore.gyp: 40882 40883 2011-03-21 Daniel Cheng <dcheng (a] chromium.org> 40884 40885 Reviewed by Tony Chang. 40886 40887 [chromium] Implement glue between DataTransferItems and the pasteboard. 40888 https://bugs.webkit.org/show_bug.cgi?id=56330 40889 40890 Support retrieving clipboard data in a paste through DataTransferItems. 40891 40892 Test: editing/pasteboard/data-transfer-items.html 40893 40894 * platform/chromium/ClipboardChromium.cpp: 40895 (WebCore::ClipboardChromium::items): 40896 * platform/chromium/DataTransferItemChromium.cpp: 40897 (WebCore::DataTransferItemChromium::createFromPasteboard): 40898 (WebCore::DataTransferItemChromium::create): 40899 (WebCore::DataTransferItemChromium::DataTransferItemChromium): 40900 (WebCore::DataTransferItemChromium::getAsString): 40901 * platform/chromium/DataTransferItemChromium.h: 40902 * platform/chromium/DataTransferItemsChromium.cpp: 40903 (WebCore::DataTransferItemsChromium::addPasteboardItem): 40904 * platform/chromium/DataTransferItemsChromium.h: 40905 40906 2011-03-21 Chris Fleizach <cfleizach (a] apple.com> 40907 40908 Reviewed by Darin Adler. 40909 40910 AX: showContextMenu not working in WK2 40911 https://bugs.webkit.org/show_bug.cgi?id=56734 40912 40913 WebKit2 is not able to directly open a context menu because the UI is in the other process. 40914 Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1 40915 code. 40916 40917 * accessibility/mac/AccessibilityObjectWrapper.mm: 40918 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]): 40919 40920 2011-03-21 Robert Kroeger <rjkroege (a] chromium.org> 40921 40922 Reviewed by Antonio Gomes. 40923 40924 Add Support to WebCore to optionally call a platform-specific gesture recognizer 40925 https://bugs.webkit.org/show_bug.cgi?id=49345 40926 40927 Added an ability for the EventHandler to invoke an optional platform 40928 specific gesture recognizer. 40929 40930 No tests added because the change should be functionally invisible. 40931 40932 * WebCore.gypi: 40933 * page/EventHandler.cpp: 40934 (WebCore::EventHandler::EventHandler): 40935 (WebCore::EventHandler::handleTouchEvent): 40936 * page/EventHandler.h: 40937 * platform/PlatformGestureRecognizer.cpp: Added. 40938 (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer): 40939 (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer): 40940 (WebCore::PlatformGestureRecognizer::create): 40941 * platform/PlatformGestureRecognizer.h: Added. 40942 40943 2011-03-21 Dean Jackson <dino (a] apple.com> 40944 40945 Reviewed by Chris Marrin and Simon Fraser. 40946 40947 https://bugs.webkit.org/show_bug.cgi?id=56325 40948 ASSERTION FAILED: paused() in AnimationBase::updateStateMachine() 40949 40950 AnimationBase had a custom linked-list/self-pointer for keeping 40951 track of animations that needed to be notified of style updates 40952 and start progress. This caused problems when AnimationBase was 40953 destroyed, since the pointer wasn't managed in any way. I replaced 40954 these pointers with HashSets and moved the code that removes animations 40955 from the sets into AnimationControllerPrivate, where it belongs. 40956 CompositeAnimation is also more careful to tell AnimationControllerPrivate 40957 when it no longer needs to keep track of waiting animations. 40958 40959 This should stop the style updates being called on non-active animations 40960 (which was the cause of the state machine error here) and should also 40961 stop a few of the related flakey test failures and occasional crashes. 40962 40963 Test: animations/body-removal-crash.html 40964 40965 * page/animation/AnimationBase.cpp: 40966 (WebCore::AnimationBase::AnimationBase): 40967 (WebCore::AnimationBase::updateStateMachine): 40968 * page/animation/AnimationBase.h: 40969 (WebCore::AnimationBase::~AnimationBase): 40970 - Remove the linked-list 40971 * page/animation/AnimationController.cpp: 40972 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 40973 (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle): 40974 (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle): 40975 (WebCore::AnimationControllerPrivate::styleAvailable): 40976 (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse): 40977 (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse): 40978 (WebCore::AnimationControllerPrivate::startTimeResponse): 40979 (WebCore::AnimationControllerPrivate::animationWillBeRemoved): 40980 - New method to remove animations from the waiting lists 40981 * page/animation/AnimationControllerPrivate.h: 40982 - use a HashSet rather than an AnimationBase* pointer. 40983 * page/animation/CompositeAnimation.cpp: 40984 (WebCore::CompositeAnimation::~CompositeAnimation): 40985 (WebCore::CompositeAnimation::clearRenderer): 40986 (WebCore::CompositeAnimation::updateTransitions): 40987 (WebCore::CompositeAnimation::updateKeyframeAnimations): 40988 - remove the animations and transitions from the lists when we know 40989 they are no longer active (rather than waiting for the AnimationBase 40990 to do it when destructing) 40991 40992 2011-03-21 Justin Schuh <jschuh (a] chromium.org> 40993 40994 Reviewed by James Robinson. 40995 40996 Stop inserting when the parent is removed 40997 https://bugs.webkit.org/show_bug.cgi?id=56690 40998 40999 Tests: fast/dom/insertedIntoDocument-child.html 41000 fast/dom/insertedIntoDocument-iframe.html 41001 fast/dom/insertedIntoDocument-sibling.html 41002 41003 * dom/ContainerNode.cpp: 41004 (WebCore::ContainerNode::insertedIntoDocument): 41005 * html/HTMLEmbedElement.cpp: 41006 (WebCore::HTMLEmbedElement::insertedIntoDocument): 41007 * html/HTMLObjectElement.cpp: 41008 (WebCore::HTMLObjectElement::insertedIntoDocument): 41009 41010 2011-03-07 David Levin <levin (a] chromium.org> 41011 41012 Reviewed by Adam Barth. 41013 41014 SubresourceLoader should expose a way to set the outgoing referer/origin 41015 https://bugs.webkit.org/show_bug.cgi?id=55903 41016 41017 No new tests as no new functionality is exposed. 41018 41019 * loader/SubresourceLoader.cpp: 41020 (WebCore::SubresourceLoader::create): 41021 * loader/SubresourceLoader.h: 41022 41023 2011-03-21 Daniel Sievers <sievers (a] google.com> 41024 41025 Reviewed by Simon Fraser. 41026 41027 [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline 41028 https://bugs.webkit.org/show_bug.cgi?id=56139 41029 41030 * WebCore.exp.in: 41031 * WebCore.order: 41032 * page/Frame.cpp: 41033 (WebCore::Frame::layerTreeAsText): 41034 * page/Frame.h: 41035 * rendering/RenderLayerCompositor.cpp: 41036 (WebCore::RenderLayerCompositor::layerTreeAsText): 41037 * rendering/RenderLayerCompositor.h: 41038 41039 2011-03-21 Chang Shu <cshu (a] webkit.org> 41040 41041 Reviewed by Alexey Proskuryakov. 41042 41043 REGRESSION (r79953): Can't type in MS Outlook 2011 41044 https://bugs.webkit.org/show_bug.cgi?id=56665 41045 41046 r79953 removed the WebView level editablity which is persistent no matter whether 41047 underlying document itself is changed and editability gets lost. The resolution is to 41048 set this WebView editable value to WebCore. This avoids the callback from WebCore to 41049 WebKit which was the main goal in r79953 to improve performance. 41050 41051 * WebCore.exp.in: 41052 * accessibility/AccessibilityRenderObject.cpp: 41053 (WebCore::AccessibilityRenderObject::isReadOnly): 41054 * dom/Node.cpp: 41055 (WebCore::Node::isContentEditable): 41056 * editing/SelectionController.cpp: 41057 (WebCore::SelectionController::setSelectionFromNone): 41058 * page/DragController.cpp: 41059 (WebCore::DragController::operationForLoad): 41060 * page/Page.cpp: 41061 (WebCore::Page::Page): 41062 * page/Page.h: 41063 (WebCore::Page::setEditable): 41064 (WebCore::Page::isEditable): 41065 41066 2011-03-21 Eric Uhrhane <ericu (a] chromium.org> 41067 41068 Reviewed by David Levin. 41069 41070 [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry* 41071 https://bugs.webkit.org/show_bug.cgi?id=56704 41072 41073 * fileapi/DOMFileSystemSync.cpp 41074 (DOMFileSystemSync::createFile) 41075 (class GetPathHelper): Added, to look up path before creating File. 41076 * fileapi/DOMFileSystem.cpp 41077 (DOMFileSystem::createFile) 41078 (GetPathCallback): Added, to look up path before creating File. 41079 * platform/FileMetadata.h 41080 (struct FileMetadata): Added new field platformPath. 41081 41082 2011-03-21 Dominic Cooney <dominicc (a] google.com> 41083 41084 Reviewed by Jeremy Orlow. 41085 41086 Establishes a V8 context before executing MediaQueryList callbacks. 41087 https://bugs.webkit.org/show_bug.cgi?id=56166 41088 41089 MediaQueryList listener callbacks didn't establish a V8 context 41090 before running script, causing crashes on C++-only 41091 callstacks (such as user resizing, printing, etc.) I believe this 41092 could also be contrived to execute media query list listener 41093 callbacks across domain. 41094 41095 Test: fast/media/media-query-list-callback.html 41096 41097 * css/MediaQueryListListener.cpp: 41098 (WebCore::MediaQueryListListener::queryChanged): 41099 41100 2011-03-21 Andreas Kling <kling (a] webkit.org> 41101 41102 Reviewed by Tor Arne Vestb. 41103 41104 [Qt] Add QNetworkReplyHandler::wasAborted() 41105 41106 Instead of checking if the ResourceHandle is null everywhere, 41107 use a wasAborted() method to make the code readable. 41108 41109 * platform/network/qt/QNetworkReplyHandler.h: 41110 (WebCore::QNetworkReplyHandler::wasAborted): 41111 * platform/network/qt/QNetworkReplyHandler.cpp: 41112 (WebCore::QNetworkReplyHandler::finish): 41113 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 41114 (WebCore::QNetworkReplyHandler::redirect): 41115 (WebCore::QNetworkReplyHandler::forwardData): 41116 (WebCore::QNetworkReplyHandler::uploadProgress): 41117 41118 2011-03-21 Christian Dywan <christian (a] lanedo.com> 41119 41120 Reviewed by Martin Robinson. 41121 41122 WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf 41123 https://bugs.webkit.org/show_bug.cgi?id=56201 41124 41125 * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf 41126 if there is no image. 41127 41128 2011-03-21 Mario Sanchez Prada <msanchez (a] igalia.com> 41129 41130 Reviewed by Martin Robinson. 41131 41132 [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes 41133 https://bugs.webkit.org/show_bug.cgi?id=56737 41134 41135 Only consider parent objects not ignoring accessibility. 41136 41137 * accessibility/gtk/WebKitAccessibleHyperlink.cpp: 41138 (webkitAccessibleHyperlinkGetStartIndex): Look for the parent 41139 object not ignoring accessibility for the current hyperlink. 41140 (webkitAccessibleHyperlinkGetEndIndex): Ditto. 41141 41142 2011-03-21 Andreas Kling <kling (a] webkit.org> 41143 41144 Reviewed by Benjamin Poulain. 41145 41146 [Qt] Remove handling of QNetworkAccessManager::UnknownOperation 41147 41148 Now that Qt 4.7 is required we never have to fall back to UnknownOperation. 41149 Custom verb requests are using CustomOperation already, so this was dead code. 41150 41151 * platform/network/qt/QNetworkReplyHandler.cpp: 41152 (WebCore::QNetworkReplyHandler::start): 41153 41154 2011-03-21 Adam Roben <aroben (a] apple.com> 41155 41156 Fix multiple-definition linker warnings on Windows 41157 41158 * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is 41159 already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the 41160 file. 41161 41162 2011-03-21 Andreas Kling <kling (a] webkit.org> 41163 41164 Reviewed by Benjamin Poulain. 41165 41166 [Qt] Clean up QNetworkReplyHandler::release() 41167 41168 Since QNetworkReplyHandler no longer uses queued connections to 41169 the QNetworkReply, it's not necessary to mess with the event 41170 queue when releasing a reply. 41171 41172 * platform/network/qt/QNetworkReplyHandler.cpp: 41173 (WebCore::QNetworkReplyHandler::abort): 41174 (WebCore::QNetworkReplyHandler::release): 41175 41176 2011-03-21 Vsevolod Vlasov <vsevik (a] chromium.org> 41177 41178 Reviewed by Pavel Feldman. 41179 41180 Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data) 41181 https://bugs.webkit.org/show_bug.cgi?id=56691 41182 41183 Added transfer size support in inspector for compressed data. 41184 41185 Test: http/tests/inspector/network/network-size-chunked.html 41186 41187 * inspector/Inspector.idl: 41188 * inspector/InspectorInstrumentation.cpp: 41189 (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl): 41190 * inspector/InspectorInstrumentation.h: 41191 (WebCore::InspectorInstrumentation::didReceiveContentLength): 41192 * inspector/InspectorResourceAgent.cpp: 41193 (WebCore::InspectorResourceAgent::didReceiveResponse): 41194 (WebCore::InspectorResourceAgent::didReceiveContentLength): 41195 * inspector/InspectorResourceAgent.h: 41196 * inspector/front-end/NetworkManager.js: 41197 (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength): 41198 * inspector/front-end/Resource.js: 41199 (WebInspector.Resource.prototype.get transferSize): 41200 (WebInspector.Resource.prototype.increaseTransferSize): 41201 * loader/ResourceLoadNotifier.cpp: 41202 (WebCore::ResourceLoadNotifier::didReceiveData): 41203 (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength): 41204 (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages): 41205 * loader/ResourceLoadNotifier.h: 41206 * loader/appcache/ApplicationCacheGroup.cpp: 41207 (WebCore::ApplicationCacheGroup::didReceiveData): 41208 * platform/network/mac/ResourceHandleMac.mm: 41209 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): 41210 * platform/network/qt/QNetworkReplyHandler.cpp: 41211 (WebCore::QNetworkReplyHandler::forwardData): 41212 * platform/network/soup/ResourceHandleSoup.cpp: 41213 (WebCore::gotChunkCallback): 41214 * platform/network/win/ResourceHandleWin.cpp: 41215 (WebCore::ResourceHandle::onRequestComplete): 41216 (WebCore::ResourceHandle::fileLoadTimer): 41217 41218 2011-03-21 Leo Yang <leo.yang (a] torchmobile.com.cn> 41219 41220 Reviewed by Dirk Schulze. 41221 41222 symbol display <use> at wrong scale 41223 https://bugs.webkit.org/show_bug.cgi?id=54538 41224 41225 SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement 41226 Quotation for referenced <symbol>: "If attributes 'width' 41227 and/or 'height' are provided on the 'use' element, then 41228 these attributes will be transferred to the generated 'svg'." 41229 Quotation for referenced <svg>: "If attributes 'width' 41230 and/or 'height' are provided on the 'use' element, then 41231 these values will override the corresponding attributes 41232 on the 'svg' in the generated tree." 41233 For above quotations, we should treat 'use' element as referencing 41234 'use' element, just like Firefox 3.6 and Opera 11, instead of 41235 corrensponding 'use' element. 41236 41237 Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg 41238 svg/custom/use-transfer-width-height-properties-to-svg1.svg 41239 svg/custom/use-transfer-width-height-properties-to-svg2.svg 41240 svg/custom/use-transfer-width-height-properties-to-symbol.svg 41241 svg/custom/use-transfer-width-height-properties-to-symbol1.svg 41242 svg/custom/use-transfer-width-height-properties-to-symbol2.svg 41243 41244 * svg/SVGElementInstance.cpp: 41245 (WebCore::SVGElementInstance::SVGElementInstance): 41246 * svg/SVGElementInstance.h: 41247 (WebCore::SVGElementInstance::create): 41248 (WebCore::SVGElementInstance::correspondingUseElement): 41249 (WebCore::SVGElementInstance::directUseElement): 41250 (WebCore::SVGElementInstance::clearUseElements): 41251 * svg/SVGUseElement.cpp: 41252 (WebCore::updateContainerSize): 41253 (WebCore::SVGUseElement::updateContainerSizes): 41254 (WebCore::dumpInstanceTree): 41255 (WebCore::SVGUseElement::detachInstance): 41256 (WebCore::SVGUseElement::buildInstanceTree): 41257 41258 2011-03-21 Jaehun Lim <ljaehun.lim (a] samsung.com> 41259 41260 Reviewed by Pavel Feldman. 41261 41262 Fix build break when inspector is enabled. 41263 https://bugs.webkit.org/show_bug.cgi?id=56735 41264 41265 * loader/FrameLoader.cpp: 41266 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR). 41267 41268 2011-03-21 Philippe Normand <pnormand (a] igalia.com> 41269 41270 Unreviewed, GTK distcheck build fix. 41271 41272 * GNUmakefile.am: 41273 41274 2011-03-21 Julien Chaffraix <jchaffraix (a] webkit.org> 41275 41276 Reviewed by Eric Seidel. 41277 41278 Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform 41279 ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4) 41280 41281 Test: fast/css/webkit-empty-transform-preserve3d-crash.html 41282 41283 * rendering/RenderBox.cpp: 41284 (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the 41285 rest of the code and check that the RenderBox has a layer to avoid 41286 crashing on the layer() call. 41287 41288 2011-03-21 Pavel Feldman <pfeldman (a] chromium.org> 41289 41290 Reviewed by Yury Semikhatsky. 41291 41292 Web Inspector: move cookie processing and appcache from DOMAgent.js 41293 https://bugs.webkit.org/show_bug.cgi?id=56713 41294 41295 * inspector/front-end/ApplicationCacheItemsView.js: 41296 (WebInspector.ApplicationCacheDispatcher): 41297 (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): 41298 (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus): 41299 (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState): 41300 * inspector/front-end/CookieItemsView.js: 41301 (WebInspector.Cookies.getCookiesAsync): 41302 (WebInspector.Cookies.buildCookiesFromString): 41303 (WebInspector.Cookies.cookieMatchesResourceURL): 41304 (WebInspector.Cookies.cookieDomainMatchesResourceDomain): 41305 * inspector/front-end/DOMAgent.js: 41306 (WebInspector.DOMNode.prototype.eventListeners): 41307 * inspector/front-end/EventListenersSidebarPane.js: 41308 (WebInspector.EventListenersSidebarPane.prototype.update): 41309 41310 2011-03-21 Pavel Feldman <pfeldman (a] chromium.org> 41311 41312 Reviewed by Yury Semikhatsky. 41313 41314 Web Inspector: migrate Inspector.json to valid JSON types. 41315 https://bugs.webkit.org/show_bug.cgi?id=56651 41316 41317 This change migrates inspector from long to int as 41318 dom, storage, database and other id types. 41319 41320 * inspector/InjectedScriptHost.cpp: 41321 (WebCore::InjectedScriptHost::inspectedNode): 41322 (WebCore::InjectedScriptHost::databaseIdImpl): 41323 (WebCore::InjectedScriptHost::storageIdImpl): 41324 (WebCore::InjectedScriptHost::didCreateWorker): 41325 (WebCore::InjectedScriptHost::didDestroyWorker): 41326 * inspector/InjectedScriptHost.h: 41327 * inspector/InjectedScriptHost.idl: 41328 * inspector/Inspector.json: 41329 * inspector/InspectorAgent.cpp: 41330 (WebCore::InspectorAgent::highlightDOMNode): 41331 * inspector/InspectorAgent.h: 41332 * inspector/InspectorBrowserDebuggerAgent.cpp: 41333 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 41334 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 41335 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 41336 (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint): 41337 * inspector/InspectorBrowserDebuggerAgent.h: 41338 * inspector/InspectorCSSAgent.cpp: 41339 (WebCore::InspectorCSSAgent::getStylesForNode): 41340 (WebCore::InspectorCSSAgent::getInlineStyleForNode): 41341 (WebCore::InspectorCSSAgent::getComputedStyleForNode): 41342 (WebCore::InspectorCSSAgent::setPropertyText): 41343 (WebCore::InspectorCSSAgent::toggleProperty): 41344 (WebCore::InspectorCSSAgent::addRule): 41345 (WebCore::InspectorCSSAgent::elementForId): 41346 * inspector/InspectorCSSAgent.h: 41347 * inspector/InspectorConsoleAgent.cpp: 41348 (WebCore::InspectorConsoleAgent::count): 41349 (WebCore::InspectorConsoleAgent::addInspectedNode): 41350 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 41351 * inspector/InspectorConsoleAgent.h: 41352 * inspector/InspectorDOMAgent.cpp: 41353 (WebCore::InspectorDOMAgent::bind): 41354 (WebCore::InspectorDOMAgent::unbind): 41355 (WebCore::InspectorDOMAgent::assertNode): 41356 (WebCore::InspectorDOMAgent::assertElement): 41357 (WebCore::InspectorDOMAgent::assertHTMLElement): 41358 (WebCore::InspectorDOMAgent::nodeToSelectOn): 41359 (WebCore::InspectorDOMAgent::pushChildNodesToFrontend): 41360 (WebCore::InspectorDOMAgent::nodeForId): 41361 (WebCore::InspectorDOMAgent::getChildNodes): 41362 (WebCore::InspectorDOMAgent::querySelector): 41363 (WebCore::InspectorDOMAgent::querySelectorAll): 41364 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 41365 (WebCore::InspectorDOMAgent::boundNodeId): 41366 (WebCore::InspectorDOMAgent::setAttribute): 41367 (WebCore::InspectorDOMAgent::removeAttribute): 41368 (WebCore::InspectorDOMAgent::removeNode): 41369 (WebCore::InspectorDOMAgent::setNodeName): 41370 (WebCore::InspectorDOMAgent::getOuterHTML): 41371 (WebCore::InspectorDOMAgent::setOuterHTML): 41372 (WebCore::InspectorDOMAgent::setNodeValue): 41373 (WebCore::InspectorDOMAgent::getEventListenersForNode): 41374 (WebCore::InspectorDOMAgent::resolveNode): 41375 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 41376 (WebCore::InspectorDOMAgent::buildObjectForNode): 41377 (WebCore::InspectorDOMAgent::loadEventFired): 41378 (WebCore::InspectorDOMAgent::didInsertDOMNode): 41379 (WebCore::InspectorDOMAgent::didRemoveDOMNode): 41380 (WebCore::InspectorDOMAgent::didModifyDOMAttr): 41381 (WebCore::InspectorDOMAgent::characterDataModified): 41382 (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): 41383 (WebCore::InspectorDOMAgent::reportNodesAsSearchResults): 41384 (WebCore::InspectorDOMAgent::copyNode): 41385 (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend): 41386 * inspector/InspectorDOMAgent.h: 41387 * inspector/InspectorDOMStorageAgent.cpp: 41388 (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries): 41389 (WebCore::InspectorDOMStorageAgent::setDOMStorageItem): 41390 (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem): 41391 (WebCore::InspectorDOMStorageAgent::storageId): 41392 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 41393 * inspector/InspectorDOMStorageAgent.h: 41394 * inspector/InspectorDOMStorageResource.cpp: 41395 * inspector/InspectorDOMStorageResource.h: 41396 (WebCore::InspectorDOMStorageResource::id): 41397 * inspector/InspectorDatabaseAgent.cpp: 41398 (WebCore::InspectorDatabaseAgent::getDatabaseTableNames): 41399 (WebCore::InspectorDatabaseAgent::executeSQL): 41400 (WebCore::InspectorDatabaseAgent::databaseId): 41401 (WebCore::InspectorDatabaseAgent::databaseForId): 41402 * inspector/InspectorDatabaseAgent.h: 41403 * inspector/InspectorDatabaseResource.cpp: 41404 * inspector/InspectorDatabaseResource.h: 41405 (WebCore::InspectorDatabaseResource::id): 41406 * inspector/InspectorDebuggerAgent.cpp: 41407 (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState): 41408 * inspector/InspectorDebuggerAgent.h: 41409 * inspector/InspectorProfilerAgent.cpp: 41410 (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize): 41411 * inspector/InspectorProfilerAgent.h: 41412 * inspector/InspectorResourceAgent.cpp: 41413 (WebCore::InspectorResourceAgent::identifierForInitialRequest): 41414 (WebCore::InspectorResourceAgent::willSendRequest): 41415 (WebCore::InspectorResourceAgent::markResourceAsCached): 41416 (WebCore::InspectorResourceAgent::didReceiveResponse): 41417 (WebCore::InspectorResourceAgent::didReceiveContentLength): 41418 (WebCore::InspectorResourceAgent::didFinishLoading): 41419 (WebCore::InspectorResourceAgent::didFailLoading): 41420 (WebCore::InspectorResourceAgent::setInitialContent): 41421 (WebCore::InspectorResourceAgent::didCreateWebSocket): 41422 (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest): 41423 (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse): 41424 (WebCore::InspectorResourceAgent::didCloseWebSocket): 41425 * inspector/generate-inspector-idl: 41426 41427 2011-03-21 Pavel Feldman <pfeldman (a] chromium.org> 41428 41429 Reviewed by Yury Semikhatsky. 41430 41431 Web Inspector: make frameId in network agent of type string, not unsigned long. 41432 https://bugs.webkit.org/show_bug.cgi?id=56708 41433 41434 * inspector/Inspector.json: 41435 * inspector/InspectorAgent.cpp: 41436 (WebCore::InspectorAgent::highlightFrame): 41437 * inspector/InspectorAgent.h: 41438 * inspector/InspectorResourceAgent.cpp: 41439 (WebCore::pointerAsId): 41440 (WebCore::buildObjectForDocumentLoader): 41441 (WebCore::buildObjectForFrame): 41442 (WebCore::InspectorResourceAgent::frameDetachedFromParent): 41443 (WebCore::InspectorResourceAgent::frameForId): 41444 (WebCore::InspectorResourceAgent::resourceContent): 41445 * inspector/InspectorResourceAgent.h: 41446 * inspector/front-end/ResourcesPanel.js: 41447 (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame): 41448 41449 2011-03-21 Pavel Feldman <pfeldman (a] chromium.org> 41450 41451 Reviewed by Yury Semikhatsky. 41452 41453 Web Inspector: expose object id as string, not JSON struct in the protocol. 41454 https://bugs.webkit.org/show_bug.cgi?id=56681 41455 41456 * bindings/js/JSInjectedScriptHostCustom.cpp: 41457 (WebCore::JSInjectedScriptHost::inspect): 41458 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 41459 (WebCore::V8InjectedScriptHost::inspectCallback): 41460 * inspector/InjectedScript.cpp: 41461 (WebCore::InjectedScript::evaluateOn): 41462 (WebCore::InjectedScript::evaluateOnCallFrame): 41463 (WebCore::InjectedScript::getProperties): 41464 (WebCore::InjectedScript::nodeForObjectId): 41465 (WebCore::InjectedScript::setPropertyValue): 41466 (WebCore::InjectedScript::releaseObject): 41467 * inspector/InjectedScript.h: 41468 * inspector/InjectedScriptHost.cpp: 41469 (WebCore::InjectedScriptHost::inspectImpl): 41470 * inspector/InjectedScriptHost.h: 41471 * inspector/InjectedScriptManager.cpp: 41472 (WebCore::InjectedScriptManager::injectedScriptForObjectId): 41473 (WebCore::InjectedScriptManager::releaseObjectGroup): 41474 * inspector/InjectedScriptManager.h: 41475 * inspector/InjectedScriptSource.js: 41476 * inspector/Inspector.json: 41477 * inspector/InspectorConsoleAgent.cpp: 41478 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 41479 * inspector/InspectorDOMAgent.cpp: 41480 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 41481 * inspector/InspectorDOMAgent.h: 41482 * inspector/InspectorDebuggerAgent.cpp: 41483 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 41484 * inspector/InspectorDebuggerAgent.h: 41485 * inspector/InspectorRuntimeAgent.cpp: 41486 (WebCore::InspectorRuntimeAgent::evaluateOn): 41487 (WebCore::InspectorRuntimeAgent::getProperties): 41488 (WebCore::InspectorRuntimeAgent::setPropertyValue): 41489 (WebCore::InspectorRuntimeAgent::releaseObject): 41490 (WebCore::InspectorRuntimeAgent::releaseObjectGroup): 41491 * inspector/InspectorRuntimeAgent.h: 41492 * inspector/front-end/ConsoleView.js: 41493 (WebInspector.ConsoleView.prototype.completions.evaluatedProperties): 41494 (WebInspector.ConsoleView.prototype.completions): 41495 * inspector/front-end/PropertiesSidebarPane.js: 41496 * inspector/front-end/ScriptsPanel.js: 41497 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult): 41498 * inspector/front-end/WatchExpressionsSidebarPane.js: 41499 (WebInspector.WatchExpressionsSection.prototype.update): 41500 * inspector/front-end/inspector.js: 41501 (WebInspector.inspect): 41502 41503 2011-03-20 Bill Budge <bbudge (a] chromium.org> 41504 41505 Reviewed by Adam Barth. 41506 41507 Rename ThreadSafeShared to ThreadSafeRefCounted 41508 https://bugs.webkit.org/show_bug.cgi?id=56714 41509 41510 No new tests. Exposes no new functionality. 41511 41512 * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h. 41513 * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed. 41514 * bindings/v8/SerializedScriptValue.h: 41515 * dom/Document.cpp: 41516 * dom/default/PlatformMessagePortChannel.h: 41517 * fileapi/FileThread.h: 41518 * loader/ThreadableLoaderClientWrapper.h: 41519 (WebCore::ThreadableLoaderClientWrapper::create): 41520 (WebCore::ThreadableLoaderClientWrapper::clearClient): 41521 (WebCore::ThreadableLoaderClientWrapper::done): 41522 (WebCore::ThreadableLoaderClientWrapper::didSendData): 41523 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): 41524 (WebCore::ThreadableLoaderClientWrapper::didReceiveData): 41525 (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata): 41526 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): 41527 (WebCore::ThreadableLoaderClientWrapper::didFail): 41528 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): 41529 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): 41530 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): 41531 * page/SecurityOrigin.h: 41532 * platform/CrossThreadCopier.h: 41533 * platform/network/BlobData.h: 41534 * platform/network/cf/SocketStreamHandle.h: 41535 * storage/AbstractDatabase.h: 41536 * storage/DatabaseAuthorizer.h: 41537 * storage/DatabaseCallback.h: 41538 * storage/DatabaseThread.h: 41539 * storage/IDBCallbacks.h: 41540 * storage/IDBCursorBackendInterface.h: 41541 * storage/IDBDatabaseBackendInterface.h: 41542 * storage/IDBFactoryBackendInterface.h: 41543 * storage/IDBIndexBackendInterface.h: 41544 * storage/IDBKey.h: 41545 * storage/IDBKeyRange.h: 41546 * storage/IDBObjectStoreBackendInterface.h: 41547 * storage/IDBRequest.h: 41548 * storage/IDBTransactionBackendInterface.h: 41549 * storage/SQLError.h: 41550 * storage/SQLResultSet.h: 41551 * storage/SQLStatement.h: 41552 * storage/SQLStatementCallback.h: 41553 * storage/SQLStatementErrorCallback.h: 41554 * storage/SQLTransaction.h: 41555 * storage/SQLTransactionCallback.h: 41556 * storage/SQLTransactionErrorCallback.h: 41557 * websockets/ThreadableWebSocketChannelClientWrapper.h: 41558 * workers/DefaultSharedWorkerRepository.cpp: 41559 41560 2011-03-20 Andreas Kling <kling (a] webkit.org> 41561 41562 Reviewed by Kenneth Rohde Christiansen. 41563 41564 [Qt] Clean up redirection logic in QNetworkReplyHandler 41565 https://bugs.webkit.org/show_bug.cgi?id=56717 41566 41567 * platform/network/qt/QNetworkReplyHandler.cpp: 41568 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 41569 Use resetState() when constructing QNRH as well. 41570 41571 (WebCore::QNetworkReplyHandler::resetState): 41572 Delete (deferred) the m_reply if one exists (only when redirecting.) 41573 41574 (WebCore::QNetworkReplyHandler::finish): 41575 Return early when redirecting. 41576 41577 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 41578 (WebCore::QNetworkReplyHandler::redirect): 41579 Move the redirection logic from sendResponseIfNeeded() into a 41580 separate redirect() method. 41581 41582 2011-03-19 Andreas Kling <kling (a] webkit.org> 41583 41584 Reviewed by Benjamin Poulain. 41585 41586 [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError() 41587 41588 The function doesn't ignore anything, thus it shouldn't have an imperative name. 41589 41590 * platform/network/qt/QNetworkReplyHandler.cpp: 41591 (WebCore::shouldIgnoreHttpError): 41592 (WebCore::QNetworkReplyHandler::finish): 41593 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 41594 41595 2011-03-19 Andreas Kling <kling (a] webkit.org> 41596 41597 Reviewed by Benjamin Poulain. 41598 41599 [Qt] Kill layer violation FIXME in ResourceHandleQt. 41600 41601 We were including qwebframe_p.h from WebKit/qt for no reason. 41602 41603 * platform/network/qt/ResourceHandleQt.cpp: 41604 41605 2011-03-19 Andreas Kling <kling (a] webkit.org> 41606 41607 Reviewed by Benjamin Poulain. 41608 41609 [Qt] Refactor handling of deferred loads 41610 https://bugs.webkit.org/show_bug.cgi?id=56715 41611 41612 Split QNetworkReplyHandler's "load mode" into two parameters 41613 instead of trying to fit the deferral mechanism into it. 41614 41615 Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.) 41616 41617 * platform/network/qt/QNetworkReplyHandler.cpp: 41618 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 41619 (WebCore::QNetworkReplyHandler::setLoadingDeferred): 41620 (WebCore::QNetworkReplyHandler::resumeDeferredLoad): 41621 (WebCore::QNetworkReplyHandler::finish): 41622 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 41623 (WebCore::QNetworkReplyHandler::forwardData): 41624 (WebCore::QNetworkReplyHandler::start): 41625 (WebCore::QNetworkReplyHandler::resetState): 41626 * platform/network/qt/QNetworkReplyHandler.h: 41627 * platform/network/qt/ResourceHandleQt.cpp: 41628 (WebCore::ResourceHandle::start): 41629 (WebCore::ResourceHandle::loadResourceSynchronously): 41630 (WebCore::ResourceHandle::platformSetDefersLoading): 41631 41632 2011-03-19 Anton D'Auria <adauria (a] apple.com> 41633 41634 Reviewed by Alexey Proskuryakov. 41635 41636 ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin 41637 https://bugs.webkit.org/show_bug.cgi?id=56415 41638 41639 To delete all Application Cache for an origin, we must obsolete all 41640 in-memory cache groups for that origin. If a cache group isn't in memory, 41641 then it must be deleted from disk. The previous implementation correctly 41642 removed on-disk cache groups, but did not mark in-memory cache groups as obsolete. 41643 This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed() 41644 when the DocumentLoader was destroyed. 41645 41646 Test: http/tests/appcache/origin-delete.html 41647 41648 * WebCore.exp.in: 41649 * WebCore.xcodeproj/project.pbxproj: 41650 * loader/appcache/ApplicationCache.cpp: 41651 (WebCore::ApplicationCache::clearStorageID): 41652 (WebCore::ApplicationCache::deleteCacheForOrigin): 41653 * loader/appcache/ApplicationCache.h: 41654 * loader/appcache/ApplicationCacheStorage.cpp: 41655 (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup): 41656 * loader/appcache/ApplicationCacheStorage.h: 41657 41658 2011-03-19 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 41659 41660 Reviewed by Antonio Gomes. 41661 41662 [EFL] Add dummy GeolocationServiceEfl. cpp | h 41663 https://bugs.webkit.org/show_bug.cgi?id=56710 41664 41665 Add dummy GeolocationServiceEfl.cpp | h to platform/efl. 41666 41667 * CMakeListsEfl.txt: 41668 * platform/efl/GeolocationServiceEfl.cpp: Added. 41669 (WebCore::GeolocationServiceEfl::create): 41670 (WebCore::GeolocationServiceEfl::GeolocationServiceEfl): 41671 (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl): 41672 (WebCore::GeolocationServiceEfl::startUpdating): 41673 (WebCore::GeolocationServiceEfl::stopUpdating): 41674 (WebCore::GeolocationServiceEfl::suspend): 41675 (WebCore::GeolocationServiceEfl::resume): 41676 (WebCore::GeolocationServiceEfl::lastPosition): 41677 (WebCore::GeolocationServiceEfl::lastError): 41678 * platform/efl/GeolocationServiceEfl.h: Added. 41679 41680 2011-03-19 Patrick Gansterer <paroga (a] webkit.org> 41681 41682 Unreviewed, rolling out r81551. 41683 http://trac.webkit.org/changeset/81551 41684 https://bugs.webkit.org/show_bug.cgi?id=55336 41685 41686 Broke some storage tests on Win32. 41687 41688 * platform/win/FileSystemWin.cpp: 41689 (WebCore::statFile): 41690 (WebCore::getFileSize): 41691 (WebCore::getFileModificationTime): 41692 (WebCore::fileExists): 41693 41694 2011-03-19 Andreas Kling <kling (a] webkit.org> 41695 41696 Reviewed by Benjamin Poulain. 41697 41698 [Qt] Remove support for Qt 4.6 41699 https://bugs.webkit.org/show_bug.cgi?id=56712 41700 41701 * platform/graphics/qt/FontPlatformDataQt.cpp: 41702 (WebCore::FontPlatformData::FontPlatformData): 41703 * platform/graphics/qt/FontQt.cpp: 41704 (WebCore::drawTextCommon): 41705 (WebCore::Font::drawSimpleText): 41706 (WebCore::Font::floatWidthForSimpleText): 41707 (WebCore::Font::offsetForPositionForSimpleText): 41708 (WebCore::Font::selectionRectForSimpleText): 41709 * platform/graphics/qt/GraphicsContext3DQt.cpp: 41710 (WebCore::GraphicsContext3DInternal::paint): 41711 * platform/graphics/qt/ImageBufferQt.cpp: 41712 (WebCore::getImageData): 41713 * platform/graphics/qt/ImageDecoderQt.cpp: 41714 (WebCore::ImageDecoderQt::internalHandleCurrentImage): 41715 * platform/graphics/qt/PathQt.cpp: 41716 (WebCore::Path::transform): 41717 * platform/network/qt/DnsPrefetchHelper.h: 41718 (WebCore::DnsPrefetchHelper::DnsPrefetchHelper): 41719 (WebCore::DnsPrefetchHelper::lookup): 41720 * platform/network/qt/NetworkStateNotifierPrivate.h: 41721 * platform/network/qt/NetworkStateNotifierQt.cpp: 41722 * platform/network/qt/QNetworkReplyHandler.cpp: 41723 (WebCore::QNetworkReplyHandler::httpMethod): 41724 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 41725 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 41726 (WebCore::QNetworkReplyHandler::start): 41727 * platform/network/qt/ResourceRequestQt.cpp: 41728 (WebCore::ResourceRequest::toNetworkRequest): 41729 * platform/qt/RenderThemeQt.cpp: 41730 (WebCore::RenderThemeQt::paintMediaSliderTrack): 41731 41732 2011-03-19 Patrick Gansterer <paroga (a] webkit.org> 41733 41734 Reviewed by Adam Roben. 41735 41736 Use Win32 API to get file information 41737 https://bugs.webkit.org/show_bug.cgi?id=55336 41738 41739 Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx() 41740 and GetFileAttributesEx() so we can share the code with WinCE. 41741 41742 * platform/win/FileSystemWin.cpp: 41743 (WebCore::createFileHandle): 41744 (WebCore::getFileInformation): 41745 (WebCore::getFileSize): 41746 (WebCore::getFileModificationTime): 41747 (WebCore::fileExists): 41748 41749 2011-03-19 Xan Lopez <xlopez (a] igalia.com> 41750 41751 Reviewed by Martin Robinson. 41752 41753 [GTK] Simplify GObjectEventListener 41754 https://bugs.webkit.org/show_bug.cgi?id=56698 41755 41756 Get rid of special case for DOMWindow, since it's also an 41757 EventTarget. 41758 41759 * bindings/gobject/GObjectEventListener.cpp: 41760 (WebCore::GObjectEventListener::GObjectEventListener): remove 41761 DOMWindow special casing. 41762 (WebCore::GObjectEventListener::~GObjectEventListener): ditto. 41763 (WebCore::GObjectEventListener::gobjectDestroyed): 41764 * bindings/gobject/GObjectEventListener.h: 41765 (WebCore::GObjectEventListener::addEventListener): ditto. 41766 (WebCore::GObjectEventListener::removeEventListener): ditto. 41767 41768 2011-03-19 Ben Taylor <bentaylor.solx86 (a] gmail.com> 41769 41770 Reviewed by Nikolas Zimmermann. 41771 41772 https://bugs.webkit.org/show_bug.cgi?id=56195 41773 Fix conditional which had an int for one case and a pointer for another. 41774 Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198 41775 41776 No new tests. Fix compilation on Solaris 10 with Sun Studio C++ 41777 41778 * svg/SVGElement.cpp: 41779 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 41780 41781 2011-03-19 Patrick Gansterer <paroga (a] webkit.org> 41782 41783 Reviewed by Darin Adler. 41784 41785 Rename WTF::StringHasher methods 41786 https://bugs.webkit.org/show_bug.cgi?id=53532 41787 41788 Rename createHash to computeHash and createBlobHash to hashMemory. 41789 Also add a using WTF::StringHasher in the header file. 41790 41791 * dom/Document.cpp: 41792 (WebCore::FormElementKeyHash::hash): 41793 * dom/QualifiedName.h: 41794 (WebCore::hashComponents): 41795 * dom/StyledElement.cpp: 41796 (WebCore::MappedAttributeHash::hash): 41797 * loader/appcache/ApplicationCacheStorage.cpp: 41798 (WebCore::urlHostHash): 41799 * page/SecurityOriginHash.h: 41800 (WebCore::SecurityOriginHash::hash): 41801 * platform/LinkHash.cpp: 41802 (WebCore::visitedLinkHashInline): 41803 * platform/cf/BinaryPropertyList.cpp: 41804 (WebCore::IntegerArrayHash::hash): 41805 * platform/cf/SchedulePair.h: 41806 (WebCore::SchedulePairHash::hash): 41807 * platform/graphics/FontCache.cpp: 41808 (WebCore::computeHash): 41809 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 41810 (WebCore::FontPlatformData::RefCountedHFONT::hash): 41811 * platform/graphics/cocoa/FontPlatformData.h: 41812 (WebCore::FontPlatformData::hash): 41813 * platform/graphics/pango/FontPlatformData.h: 41814 (WebCore::FontPlatformData::hash): 41815 * platform/graphics/wince/FontPlatformData.cpp: 41816 (WebCore::FixedSizeFontDataKeyHash::hash): 41817 * platform/graphics/wx/FontPlatformDataWx.cpp: 41818 (WebCore::FontPlatformData::computeHash): 41819 * platform/network/ProtectionSpaceHash.h: 41820 (WebCore::ProtectionSpaceHash::hash): 41821 * plugins/PluginPackage.cpp: 41822 (WebCore::PluginPackage::hash): 41823 * plugins/win/PluginPackageWin.cpp: 41824 (WebCore::PluginPackage::hash): 41825 * svg/properties/SVGAnimatedPropertyDescription.h: 41826 (WebCore::SVGAnimatedPropertyDescriptionHash::hash): 41827 41828 2011-03-18 David Kilzer <ddkilzer (a] apple.com> 41829 41830 <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m 41831 41832 Reviewed by Anders Carlsson. 41833 41834 Fixes the following static analyzer warning: 41835 41836 Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]' 41837 return self; 41838 ^ 41839 41840 * page/mac/WebCoreViewFactory.m: 41841 (-[WebCoreViewFactory init]): Assign the result of [super init] 41842 to self. 41843 41844 2011-03-18 Adam Barth <abarth (a] webkit.org> 41845 41846 Reviewed by Dimitri Glazkov. 41847 41848 WebCore GYP build should build 41849 https://bugs.webkit.org/show_bug.cgi?id=56696 41850 41851 After this patch, the WebCore GYP build successfully compiles and 41852 links. I haven't trying executing it yet. 41853 41854 * WebCore.gypi: 41855 - DOMMouseEvent should be included as part of the Objective-C bindings. 41856 * WebCore.xcodeproj/project.pbxproj: 41857 - RenderSVGPath.cpp was mistakenly included directly in the project 41858 instead of being built by RenderSVGAllInOne. 41859 * gyp/WebCore.gyp: 41860 - Exclude some more files from the build. These files are absent 41861 in the normal build. I didn't see them earlier because the dead 41862 code stripping was hiding them. (They're probably unreferenced.) 41863 - Switch to using RenderSVGAllInOne. I'm not entirely sure if this 41864 part of the patch is necessary, but it matches the normal build 41865 more closely. 41866 * platform/mac/WebCoreObjCExtras.mm: 41867 - The normal build passes the -Wdeprecated-declarations flag when 41868 compiling this file. The GYP folks explicitly do not want to add 41869 that feature to GYP, and there does not appear to be a way to 41870 remove the deprecated call from this file. 41871 * rendering/svg/RenderSVGAllInOne.cpp: 41872 - Add RenderSVGPath.cpp, which was missing previously. 41873 41874 2011-03-18 Adam Barth <abarth (a] webkit.org> 41875 41876 Reviewed by Dimitri Glazkov. 41877 41878 WebCore GYP build should (almost!) link 41879 https://bugs.webkit.org/show_bug.cgi?id=56689 41880 41881 This patch is a grab-bag of small changes to bring the WebCore GYP 41882 build down to two link errors or one compile error (take your pick). 41883 We might need a GYP change to get this last file to compile, however. 41884 41885 * WebCore.gypi: 41886 * gyp/WebCore.gyp: 41887 41888 2011-03-16 Ryosuke Niwa <rniwa (a] webkit.org> 41889 41890 Reviewed by Ojan Vafai. 41891 41892 Add a test for r81266 and fix HTML Editing for fallback contents in object element 41893 https://bugs.webkit.org/show_bug.cgi?id=56505 41894 41895 The bug was caused by canHaveChildrenForEditing's always returning false even when 41896 object element used fallback content. Fixed the bug by adding a check. 41897 41898 Test: editing/editability/ignored-content.html 41899 41900 * editing/htmlediting.cpp: 41901 (WebCore::canHaveChildrenForEditing): 41902 41903 2011-03-18 Andy Estes <aestes (a] apple.com> 41904 41905 Reviewed by Eric Seidel. 41906 41907 REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag 41908 https://bugs.webkit.org/show_bug.cgi?id=56380 41909 41910 Fix two issues with parsing a fragment that has a foreign content 41911 element as its context element. The first issue is that the parser will 41912 initially be in the InForeignContentMode insertion mode when processing 41913 the first tag in the fragment in this case so one call site needs to 41914 change from currentElement() to currentNode(). The second issue is that 41915 when we changed fragments from using a fake HTML root element to a 41916 DocumentFragment we broke checks that assumed the root element was in 41917 the HTML namespace. Fix this by claiming that the DocumentFragment is 41918 also in the HTML namespace. 41919 41920 Test: fast/parser/fragment-foreign-content-context.html 41921 41922 * html/parser/HTMLElementStack.cpp: 41923 (WebCore::HTMLNames::isForeignContentScopeMarker): 41924 (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope): 41925 * html/parser/HTMLElementStack.h: 41926 (WebCore::isInHTMLNamespace): 41927 * html/parser/HTMLTreeBuilder.cpp: 41928 (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): 41929 (WebCore::HTMLTreeBuilder::processStartTag): 41930 (WebCore::HTMLTreeBuilder::processEndTag): 41931 41932 2011-03-18 James Robinson <jamesr (a] chromium.org> 41933 41934 Reviewed by Dimitri Glazkov. 41935 41936 REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows 41937 https://bugs.webkit.org/show_bug.cgi?id=56629 41938 41939 Preserves offsets as absolute floating point offsets and rounds to 41940 advances at the last possible second. I can't prove to myself that 41941 this is sound but it seems to work on the test cases I've constructed. 41942 41943 Will probably change the pixel tests on chromium windows given that we 41944 were horribly broken before this patch. 41945 41946 * platform/graphics/chromium/FontChromiumWin.cpp: 41947 (WebCore::Font::drawGlyphs): 41948 (WebCore::Font::drawComplexText): 41949 41950 2011-03-18 Ryosuke Niwa <rniwa (a] webkit.org> 41951 41952 Reviewed by Eric Seidel. 41953 41954 REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms 41955 https://bugs.webkit.org/show_bug.cgi?id=56599 41956 41957 Debug build fix. 41958 41959 * dom/Position.cpp: 41960 (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node, 41961 then we can't necessarily instantiate a position inside the node. 41962 * editing/VisibleSelection.cpp: 41963 (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e 41964 could be null. Exit early in those cases as well. 41965 41966 2011-03-18 Adam Barth <abarth (a] webkit.org> 41967 41968 Reviewed by Eric Seidel. 41969 41970 Add ObjC bindings to the WebCore GYP build 41971 https://bugs.webkit.org/show_bug.cgi?id=56671 41972 41973 It turns out we generate a bunch of ObjC bindings files that we don't 41974 actually build. I've manually synced the list of ObjC derived source 41975 files to match the existing list. This brings us down to 19 link 41976 errors. 41977 41978 * WebCore.gypi: 41979 * gyp/WebCore.gyp: 41980 41981 2011-03-18 Ryuan Choi <ryuan.choi (a] samsung.com> 41982 41983 Reviewed by Eric Seidel. 41984 41985 [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt 41986 https://bugs.webkit.org/show_bug.cgi?id=56624 41987 41988 No new tests, just splitting jsc related configuration. 41989 41990 * CMakeLists.txt: 41991 * UseJSC.cmake: Added. 41992 41993 2011-03-16 Stephen White <senorblanco (a] chromium.org> 41994 41995 Reviewed by Kenneth Russell. 41996 41997 Implement GPU-accelerated shadows. 41998 https://bugs.webkit.org/show_bug.cgi?id=56476 41999 42000 For hard shadows, we simply offset the CTM and draw in the shadow 42001 color. For soft shadows, we use a separable Gaussian convolution, 42002 with a bilinear downsample and Mitchell-Netravali upsample in order to 42003 preserve quality. 42004 42005 * WebCore.gypi: 42006 Add BicubicShader and ConvolutionShader to the build. 42007 * platform/graphics/chromium/GLES2Canvas.cpp: 42008 (WebCore::GLES2Canvas::State::State): 42009 Add shadow-related members to the GLES2Canvas::State 42010 (WebCore::GLES2Canvas::State::shadowActive): 42011 Add a helper function to know if shadows are active. 42012 (WebCore::GLES2Canvas::clearRect): 42013 (WebCore::GLES2Canvas::scissorClear): 42014 Refactor the scissor clearing function out of clearRect(). 42015 (WebCore::GLES2Canvas::fillPath): 42016 Add hook for shadow rendering in paths. Bind framebuffer at this level. 42017 (WebCore::GLES2Canvas::fillRect): 42018 Add hook for shadow rendering in rects. Bind framebuffer at this level. 42019 (WebCore::GLES2Canvas::fillRectInternal): 42020 Rename fillRect() -> fillRectInternal(), which does bind its vertex 42021 buffer, but does not bind the framebuffer. 42022 (WebCore::GLES2Canvas::setShadowColor): 42023 (WebCore::GLES2Canvas::setShadowOffset): 42024 (WebCore::GLES2Canvas::setShadowBlur): 42025 (WebCore::GLES2Canvas::setShadowsIgnoreTransforms): 42026 Implement graphicsContext-style setters for shadow parameters. 42027 (WebCore::GLES2Canvas::clipPath): 42028 Call fillPathInternal(), not fillPath(). 42029 (WebCore::GLES2Canvas::restore): 42030 (WebCore::GLES2Canvas::drawTexturedRect): 42031 Bind the framebuffer at this level. Do not bind vertices here (will 42032 be done in drawTexturedQuad). 42033 (WebCore::GLES2Canvas::drawTexturedRectTile): 42034 drawQuad() -> drawTexturedQuad(). 42035 (WebCore::GLES2Canvas::convolveRect): 42036 Implement one pass of a convolution filter (X or Y). 42037 (WebCore::gauss): 42038 (WebCore::buildKernel): 42039 Some helper functions to build a Gaussian convolution kernel. 42040 (WebCore::GLES2Canvas::drawTexturedQuad): 42041 Rename drawQuad() -> drawTexturedQuad(), to be more clear. Do not 42042 bind the framebuffer at this level (it will be done higher). 42043 (WebCore::GLES2Canvas::drawTexturedQuadMitchell): 42044 Implement Mitchell-Netravali bicubic sampling, using BicubicShader. 42045 (WebCore::GLES2Canvas::fillPathInternal): 42046 Rename fillPath() -> fillPathInternal(), which does use quad vertices, 42047 but does not bind the framebuffer or set the compositing mode. 42048 (WebCore::GLES2Canvas::flipRect): 42049 Implement a helper function to flip a rectangle in Y within the canvas. 42050 (WebCore::GLES2Canvas::clearBorders): 42051 Implement a helper function to clear an n-pixel border around a rect. 42052 (WebCore::GLES2Canvas::beginShadowDraw): 42053 Setup before drawing a primitive's shadow: for hard shadows, just 42054 offset the CTM by the shadow offset. For soft shadows, bind to an 42055 offscreen DrawingBuffer. 42056 (WebCore::GLES2Canvas::endShadowDraw): 42057 Tear-down after drawing a primitive's shadow: for hard shadows, just 42058 restore the CTM. For soft shadows, downsample (if necessary), then 42059 blur in X, blur in Y, upsample if necessary). 42060 * platform/graphics/chromium/GLES2Canvas.h: 42061 * platform/graphics/gpu/BicubicShader.cpp: Added. 42062 (WebCore::BicubicShader::BicubicShader): 42063 (WebCore::BicubicShader::create): 42064 (WebCore::BicubicShader::use): 42065 * platform/graphics/gpu/BicubicShader.h: Added. 42066 Implement a bicubic image filtering shader. 42067 * platform/graphics/gpu/ConvolutionShader.cpp: Added. 42068 (WebCore::ConvolutionShader::ConvolutionShader): 42069 (WebCore::ConvolutionShader::create): 42070 (WebCore::ConvolutionShader::use): 42071 * platform/graphics/gpu/ConvolutionShader.h: Added. 42072 Implement a 1-dimensional convolution shader. In order to minimize 42073 texture samples, this shader is parameterized at compile time by the 42074 width of the convolution kernel. 42075 * platform/graphics/gpu/DrawingBuffer.h: 42076 (WebCore::DrawingBuffer::colorBuffer): 42077 Add an accessor to retrieve a DrawingBuffer's texture ID. 42078 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 42079 (WebCore::SharedGraphicsContext3D::create): 42080 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 42081 (WebCore::SharedGraphicsContext3D::useBicubicProgram): 42082 (WebCore::SharedGraphicsContext3D::useConvolutionProgram): 42083 Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for 42084 each possible kernel width). 42085 (WebCore::SharedGraphicsContext3D::getOffscreenBuffer): 42086 Implement a simple cache of offscreen DrawingBuffers, integer-indexed. 42087 This is done to minimize the VRAM usage: only 2 buffers are used for 42088 all canvases. 42089 * platform/graphics/gpu/SharedGraphicsContext3D.h: 42090 Add bicubic and convolution shader members, and useXXX() functions. 42091 * platform/graphics/skia/GraphicsContextSkia.cpp: 42092 (WebCore::GraphicsContext::setPlatformShadow): 42093 Hook into GraphicsContextSkia's platform shadow setters to set 42094 parameters on GLES2Canvas. 42095 * platform/graphics/skia/PlatformContextSkia.cpp: 42096 (WebCore::PlatformContextSkia::canAccelerate): 42097 Remove shadows (loopers) from the list of things we can't accelerate. 42098 42099 2011-03-18 Andreas Kling <kling (a] webkit.org> 42100 42101 Reviewed by Darin Adler. 42102 42103 Remove unused method FontFallbackList::fontDataForCharacters() 42104 https://bugs.webkit.org/show_bug.cgi?id=56657 42105 42106 * platform/graphics/Font.h: 42107 * platform/graphics/FontFallbackList.cpp: 42108 * platform/graphics/FontFallbackList.h: 42109 42110 2011-03-18 Andreas Kling <kling (a] webkit.org> 42111 42112 Reverting accidental changes in r81498. 42113 42114 2011-03-18 Ilya Tikhonovsky <loislo (a] chromium.org> 42115 42116 Reviewed by Yury Semikhatsky. 42117 42118 Web Inspector: rename console agent events. 42119 https://bugs.webkit.org/show_bug.cgi?id=56646 42120 42121 addConsoleMessage -> consoleMessage 42122 updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate 42123 updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate 42124 42125 * inspector/ConsoleMessage.cpp: 42126 (WebCore::ConsoleMessage::addToFrontend): 42127 (WebCore::ConsoleMessage::updateRepeatCountInConsole): 42128 * inspector/Inspector.json: 42129 * inspector/InspectorConsoleAgent.cpp: 42130 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 42131 * inspector/front-end/ConsoleView.js: 42132 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage): 42133 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate): 42134 (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate): 42135 42136 2011-03-18 Sheriff Bot <webkit.review.bot (a] gmail.com> 42137 42138 Unreviewed, rolling out r81487. 42139 http://trac.webkit.org/changeset/81487 42140 https://bugs.webkit.org/show_bug.cgi?id=56662 42141 42142 "Breaks inspector/styles/styles-add-blank-property.html" 42143 (Requested by apavlov on #webkit). 42144 42145 * inspector/Inspector.json: 42146 * inspector/InspectorCSSAgent.cpp: 42147 (WebCore::InspectorCSSAgent::getAllStyles): 42148 * inspector/InspectorCSSAgent.h: 42149 * inspector/InspectorStyleSheet.cpp: 42150 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): 42151 * inspector/InspectorStyleSheet.h: 42152 * inspector/front-end/AuditRules.js: 42153 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): 42154 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 42155 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 42156 * inspector/front-end/CSSStyleModel.js: 42157 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 42158 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 42159 (WebInspector.CSSStyleModel.prototype._onRevert): 42160 (WebInspector.CSSStyleSheet): 42161 (WebInspector.CSSStyleSheet.prototype.setText): 42162 42163 2011-03-18 Justin Novosad <junov (a] chromium.org> 42164 42165 Reviewed by Kenneth Russell. 42166 42167 [Chromium] Canvas shadow is not working with drawImage 42168 https://bugs.webkit.org/show_bug.cgi?id=55506 42169 42170 Patch also fixes shadow blur quality and color. 42171 Affects Chromium win/linux. Also fixes the following bugs: 42172 https://bugs.webkit.org/show_bug.cgi?id=50112 42173 https://bugs.webkit.org/show_bug.cgi?id=51989 42174 https://bugs.webkit.org/show_bug.cgi?id=55410 42175 No tests were added, impact is already covered by multiple layout tests. 42176 42177 * platform/graphics/skia/GraphicsContextSkia.cpp: 42178 (WebCore::GraphicsContext::setPlatformShadow): 42179 * platform/graphics/skia/ImageSkia.cpp: 42180 (WebCore::paintSkBitmap): 42181 42182 2011-03-15 Alexander Pavlov <apavlov (a] chromium.org> 42183 42184 Reviewed by Pavel Feldman. 42185 42186 Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js 42187 https://bugs.webkit.org/show_bug.cgi?id=56310 42188 42189 Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing 42190 "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned 42191 by CSSAgent.getStyleSheet() anymore. 42192 42193 Test: inspector/styles/get-set-stylesheet-text.html 42194 42195 * inspector/Inspector.json: 42196 * inspector/InspectorCSSAgent.cpp: 42197 (WebCore::InspectorCSSAgent::getAllStyleSheets): 42198 * inspector/InspectorCSSAgent.h: 42199 * inspector/InspectorStyleSheet.cpp: 42200 (WebCore::InspectorStyleSheet::buildObjectForStyleSheet): 42201 (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo): 42202 * inspector/InspectorStyleSheet.h: 42203 * inspector/front-end/AuditRules.js: 42204 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback): 42205 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 42206 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 42207 * inspector/front-end/CSSStyleModel.js: 42208 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 42209 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 42210 (WebInspector.CSSStyleModel.prototype._onRevert): 42211 (WebInspector.CSSStyleSheet): 42212 (WebInspector.CSSStyleSheet.prototype.setText): 42213 42214 2011-03-18 David Keijser <keijser (a] gmail.com> and Xan Lopez <xlopez (a] igalia.com> 42215 42216 Reviewed by Martin Robinson. 42217 42218 [GTK] On-demand event-listeners for DOM event signals 42219 https://bugs.webkit.org/show_bug.cgi?id=49649 42220 42221 Add explicit EventTarget API to add/remove event listeners instead 42222 of using GSignal, which due to internal limitations in glib makes 42223 us preemptively add listeners for all event types. 42224 42225 * bindings/gobject/GObjectEventListener.cpp: add new 42226 addEventListener/removeEventListener methods, and small 42227 refactoring to store an EventTarget internally instead of a DOM 42228 node, which is more generic and can be reused in more cases. 42229 * bindings/gobject/GObjectEventListener.h: ditto. 42230 * bindings/gobject/WebKitDOMEventTarget.cpp: 42231 (webkit_dom_event_target_add_event_listener): new iface method to 42232 add an event listener. 42233 (webkit_dom_event_target_remove_event_listener): new iface method 42234 to remove an event listener. 42235 * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods. 42236 * bindings/scripts/CodeGeneratorGObject.pm: change code generation 42237 accordingly. 42238 42239 2011-03-18 Brady Eidson <beidson (a] apple.com> 42240 42241 Reviewed by Sam Weinig. 42242 42243 https://bugs.webkit.org/show_bug.cgi?id=56425 42244 More groundwork for WebKit2 IconDatabase 42245 42246 -Update the synchronous method names to be prefixed with "synchronous." 42247 -Call asynchronous versions of the appropriate methods if the IconDatabase supports them. 42248 42249 Update icon database calls to be prefixed with "synchronous": 42250 * loader/archive/cf/LegacyWebArchive.cpp: 42251 (WebCore::LegacyWebArchive::create): 42252 * loader/icon/IconDatabaseBase.h: 42253 (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL): 42254 (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL): 42255 (WebCore::IconDatabaseBase::synchronousIconForPageURL): 42256 * loader/icon/IconDatabase.cpp: 42257 (WebCore::IconDatabase::synchronousIconForPageURL): 42258 (WebCore::IconDatabase::readIconForPageURLFromDisk): 42259 (WebCore::IconDatabase::synchronousIconURLForPageURL): 42260 (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): 42261 (WebCore::IconDatabase::synchronousIconDataKnownForIconURL): 42262 * loader/icon/IconDatabase.h: 42263 * loader/icon/IconDatabaseBase.cpp: 42264 (WebCore::IconDatabaseBase::synchronousIconURLForPageURL): 42265 42266 Add nascent support for an asynchronous icon database mode: 42267 * loader/icon/IconDatabaseBase.h: 42268 (WebCore::EnumCallback::create): 42269 (WebCore::EnumCallback::~EnumCallback): 42270 (WebCore::EnumCallback::performCallback): 42271 (WebCore::EnumCallback::invalidate): 42272 (WebCore::EnumCallback::EnumCallback): 42273 (WebCore::ObjectCallback::create): 42274 (WebCore::ObjectCallback::~ObjectCallback): 42275 (WebCore::ObjectCallback::performCallback): 42276 (WebCore::ObjectCallback::invalidate): 42277 (WebCore::ObjectCallback::ObjectCallback): 42278 (WebCore::IconDatabaseBase::supportsAsynchronousMode): 42279 (WebCore::IconDatabaseBase::loadDecisionForIconURL): 42280 (WebCore::IconDatabaseBase::iconDataForIconURL): 42281 42282 Add interfaces to use the asynchronous versions of certain IconDatabase calls: 42283 * loader/DocumentLoader.cpp: 42284 (WebCore::DocumentLoader::~DocumentLoader): 42285 (WebCore::DocumentLoader::iconLoadDecisionAvailable): 42286 (WebCore::iconLoadDecisionCallback): 42287 (WebCore::DocumentLoader::getIconLoadDecisionForIconURL): 42288 (WebCore::DocumentLoader::continueIconLoadWithDecision): 42289 (WebCore::iconDataCallback): 42290 (WebCore::DocumentLoader::getIconDataForIconURL): 42291 * loader/DocumentLoader.h: 42292 42293 Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous 42294 icon database modes: 42295 * loader/FrameLoader.cpp: 42296 (WebCore::FrameLoader::iconLoadDecisionReceived): 42297 (WebCore::FrameLoader::startIconLoader): 42298 (WebCore::FrameLoader::continueIconLoadWithDecision): 42299 * loader/FrameLoader.h: 42300 42301 * WebCore.exp.in: 42302 42303 2011-03-18 Pavel Feldman <pfeldman (a] chromium.org> 42304 42305 Not reviewed: add missing brace to the generated Inspector.idl. 42306 42307 * inspector/generate-inspector-idl: 42308 42309 2011-03-18 Pavel Feldman <pfeldman (a] chromium.org> 42310 42311 Reviewed by Yury Semikhatsky. 42312 42313 Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug. 42314 https://bugs.webkit.org/show_bug.cgi?id=56294 42315 42316 * CMakeLists.txt: 42317 * CodeGenerators.pri: 42318 * DerivedSources.make: 42319 * GNUmakefile.am: 42320 * WebCore.gyp/WebCore.gyp: 42321 * inspector/Inspector.idl: Removed. 42322 * inspector/Inspector.json: Added. 42323 * inspector/generate-inspector-idl: Added. 42324 42325 2011-03-18 Pavel Podivilov <podivilov (a] chromium.org> 42326 42327 Reviewed by Yury Semikhatsky. 42328 42329 Web Inspector: implement inspector session storage. 42330 https://bugs.webkit.org/show_bug.cgi?id=56643 42331 42332 We would like to enable debugger/profiler from frontend side only. 42333 However, when user clicks "Start Debugging JavaScript" in Safari, we 42334 need to enable debugger when frontend is opened or re-opened for the 42335 same page. The idea is to store debugger-enabled setting in session 42336 storage and check it on frontend load. 42337 42338 * inspector/InspectorFrontendClient.h: 42339 (WebCore::InspectorFrontendClient::saveSessionSetting): 42340 (WebCore::InspectorFrontendClient::loadSessionSetting): 42341 * inspector/InspectorFrontendHost.cpp: 42342 (WebCore::InspectorFrontendHost::saveSessionSetting): 42343 (WebCore::InspectorFrontendHost::loadSessionSetting): 42344 * inspector/InspectorFrontendHost.h: 42345 * inspector/InspectorFrontendHost.idl: 42346 42347 2011-03-18 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 42348 42349 Reviewed by Kenneth Rohde Christiansen. 42350 42351 [Qt] Enable GraphicsContext3D only when the window surface support OpenGL 42352 https://bugs.webkit.org/show_bug.cgi?id=56555 42353 42354 Allow creation of WebGLRenderingContext in the HTMLCanvasElement 42355 only if accelerated compositing is enabled. In GraphicsContext3D, 42356 while blitting the surface check that viewport hasn't changed from 42357 creation and painter is associated to the viewport. 42358 42359 * html/HTMLCanvasElement.cpp: 42360 (WebCore::HTMLCanvasElement::getContext): 42361 * platform/graphics/qt/GraphicsContext3DQt.cpp: 42362 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 42363 (WebCore::GraphicsContext3DInternal::getViewportGLWidget): 42364 (WebCore::GraphicsContext3DInternal::paint): 42365 42366 2011-03-17 Pavel Podivilov <podivilov (a] chromium.org> 42367 42368 Reviewed by Pavel Feldman. 42369 42370 Web Inspector: extract content loading logic from scripts panel. 42371 https://bugs.webkit.org/show_bug.cgi?id=55237 42372 42373 Encapsulate source files creation logic in debugger presentation model 42374 to support source mappings in a pluggable way. 42375 42376 * inspector/front-end/DebuggerPresentationModel.js: 42377 (WebInspector.DebuggerPresentationModel.prototype.sourceFile): 42378 (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource): 42379 (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): 42380 (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): 42381 (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): 42382 (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished): 42383 (WebInspector.DebuggerPresentationModel.prototype._addScript): 42384 (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded): 42385 (WebInspector.DebuggerPresentationModel.prototype._resourceForURL): 42386 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 42387 (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded): 42388 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): 42389 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): 42390 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 42391 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 42392 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 42393 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 42394 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 42395 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): 42396 (WebInspector.DebuggerPresentationModel.prototype.reset): 42397 * inspector/front-end/ScriptsPanel.js: 42398 (WebInspector.ScriptsPanel): 42399 (WebInspector.ScriptsPanel.prototype._sourceFileAdded): 42400 (WebInspector.ScriptsPanel.prototype._showSourceFrame): 42401 (WebInspector.ScriptsPanel.prototype._sourceFileChanged): 42402 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 42403 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): 42404 42405 2011-03-18 Yury Semikhatsky <yurys (a] chromium.org> 42406 42407 Reviewed by Pavel Feldman. 42408 42409 Web Inspector: console doesn't scroll when multiline expression is being evaluated 42410 https://bugs.webkit.org/show_bug.cgi?id=56639 42411 42412 Always scoll in the console when command result is received. 42413 42414 * inspector/front-end/ConsoleView.js: 42415 (WebInspector.ConsoleView.prototype.addMessage): 42416 42417 2011-03-18 Adam Roben <aroben (a] apple.com> 42418 42419 Fix a CFNumber leak seen on the leaks bot 42420 42421 Reviewed by Gavin Barraclough. 42422 42423 * platform/network/mac/FormDataStreamMac.mm: 42424 (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be 42425 released. 42426 42427 2011-03-17 Adam Barth <abarth (a] webkit.org> 42428 42429 Reviewed by Eric Seidel. 42430 42431 Add some of the remaining platform/mac files to WebCore GYP build 42432 https://bugs.webkit.org/show_bug.cgi?id=56616 42433 42434 These files used to be hard, but are now magically easy. 76 link errors. 42435 42436 * gyp/WebCore.gyp: 42437 42438 2011-03-17 Adam Klein <adamk (a] chromium.org> 42439 42440 Reviewed by Adam Barth. 42441 42442 [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL 42443 https://bugs.webkit.org/show_bug.cgi?id=56502 42444 42445 * fileapi/Entry.idl: 42446 * fileapi/EntryBase.cpp: 42447 (WebCore::EntryBase::toURL): 42448 * fileapi/EntryBase.h: 42449 * fileapi/EntrySync.idl: 42450 * page/DOMWindow.cpp: 42451 (WebCore::DOMWindow::resolveLocalFileSystemURL): 42452 * page/DOMWindow.h: 42453 * page/DOMWindow.idl: 42454 42455 2011-03-17 Adam Barth <abarth (a] webkit.org> 42456 42457 Reviewed by Eric Seidel. 42458 42459 Update CSP directive parser to match spec 42460 https://bugs.webkit.org/show_bug.cgi?id=56582 42461 42462 Brandon updated the CSP spec. I've updated our implementation to 42463 match. In the process, I found a couple bugs in the spec, which I've 42464 sent to the working group. This patch assumes that the bugs will be 42465 fixed in the way I suggested. If they get fixed a different way, we 42466 might need to update the parser again. 42467 42468 Test: http/tests/security/contentSecurityPolicy/directive-parsing.html 42469 42470 * page/ContentSecurityPolicy.cpp: 42471 (WebCore::isDirectiveNameCharacter): 42472 (WebCore::isDirectiveValueCharacter): 42473 (WebCore::advanceUntil): 42474 (WebCore::ContentSecurityPolicy::parse): 42475 (WebCore::ContentSecurityPolicy::parseDirective): 42476 * page/ContentSecurityPolicy.h: 42477 42478 2011-03-17 Adam Barth <abarth (a] webkit.org> 42479 42480 Reviewed by Eric Seidel. 42481 42482 WebCore GYP build should have PrivateHeaders 42483 https://bugs.webkit.org/show_bug.cgi?id=56604 42484 42485 I've manually verified that this produces the correct set of 42486 PrivateHeaders (modulo the ForwardingHeaders and icu issue). 42487 Unforunately, this patch breakes compile slightly, but I'll fix that 42488 in a followup patch. 42489 42490 * WebCore.gyp/WebCore.gyp: 42491 * WebCore.gypi: 42492 * gyp/WebCore.gyp: 42493 42494 2011-03-17 Victoria Kirst <vrk (a] google.com> 42495 42496 Reviewed by Kenneth Russell. 42497 42498 [chromium] Video colors have wrong brightness/contrast 42499 https://bugs.webkit.org/show_bug.cgi?id=56598 42500 42501 This patch changes the YUV to RGB color conversion matrix 42502 to have brighter whites and darker blacks in accordance to 42503 the BT.601 standard. 42504 42505 * platform/graphics/chromium/ShaderChromium.cpp: 42506 (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo): 42507 (WebCore::FragmentShaderYUVVideo::init): 42508 (WebCore::FragmentShaderYUVVideo::getShaderString): 42509 * platform/graphics/chromium/ShaderChromium.h: 42510 (WebCore::FragmentShaderYUVVideo::yuvAdjLocation): 42511 * platform/graphics/chromium/VideoLayerChromium.cpp: 42512 (WebCore::VideoLayerChromium::drawYUV): 42513 * platform/graphics/chromium/VideoLayerChromium.h: 42514 42515 2011-03-17 Zhenyao Mo <zmo (a] google.com> 42516 42517 Reviewed by Adam Barth. 42518 42519 RequestAnimationFrame callbacks prevent Document from being released on detach 42520 https://bugs.webkit.org/show_bug.cgi?id=56607 42521 42522 * dom/Document.cpp: 42523 (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks. 42524 (WebCore::Document::detach): Ditto. 42525 42526 2011-03-17 Beth Dakin <bdakin (a] apple.com> 42527 42528 Reviewed by Darin Adler. 42529 42530 Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes 42531 fail to appear 42532 -and corresponding- 42533 <rdar://problem/8953779> 42534 42535 * platform/mac/ScrollAnimatorMac.mm: 42536 (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]): 42537 42538 2011-03-17 Dan Bernstein <mitz (a] apple.com> 42539 42540 Reviewed by Beth Dakin. 42541 42542 <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it 42543 https://bugs.webkit.org/show_bug.cgi?id=56480 42544 42545 Test: fast/text/emphasis-combined-text.html 42546 42547 * rendering/InlineTextBox.cpp: 42548 (WebCore::rotation): Added this helper. 42549 (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text, 42550 centered vertically. 42551 42552 2011-03-17 Jian Li <jianli (a] chromium.org> 42553 42554 Reviewed by Adam Barth. 42555 42556 Blob URL should not be allow to get created from the code running from data URI 42557 https://bugs.webkit.org/show_bug.cgi?id=56600 42558 42559 Test: http/tests/fileapi/create-blob-url-from-data-url.html 42560 42561 * dom/ScriptExecutionContext.cpp: 42562 (WebCore::ScriptExecutionContext::createPublicBlobURL): 42563 * fileapi/BlobURL.cpp: 42564 (WebCore::BlobURL::createBlobURL): 42565 * fileapi/EntryBase.cpp: 42566 (WebCore::EntryBase::toURI): 42567 * fileapi/FileReaderLoader.cpp: 42568 (WebCore::FileReaderLoader::start): 42569 42570 2011-03-17 Jeff Miller <jeffm (a] apple.com> 42571 42572 Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically: 42573 42574 *.mode* 42575 *.pbxuser 42576 *.perspective* 42577 project.xcworkspace 42578 xcuserdata 42579 42580 * WebCore.xcodeproj: Modified property svn:ignore. 42581 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore. 42582 42583 2011-03-17 Sam Weinig <sam (a] webkit.org> 42584 42585 Fix Mac build. 42586 42587 * WebCore.exp.in: 42588 Add missing symbol. 42589 42590 2011-03-17 Ryosuke Niwa <rniwa (a] webkit.org> 42591 42592 Reviewed by Adele Peterson and Enrica Casucci. 42593 42594 Assert that editing does not ignore position's anchorNode if position is an offset in anchor 42595 https://bugs.webkit.org/show_bug.cgi?id=56027 42596 42597 Debug build fix. 42598 42599 * dom/Element.cpp: 42600 (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate 42601 a position inside the node. Call firstPositionInOrBeforeNode instead. 42602 * editing/ReplaceSelectionCommand.cpp: 42603 (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead 42604 of just when the node is br. 42605 * editing/htmlediting.cpp: 42606 (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element 42607 so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead. 42608 42609 2011-03-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 42610 42611 Unreviewed, rolling out r81369. 42612 http://trac.webkit.org/changeset/81369 42613 https://bugs.webkit.org/show_bug.cgi?id=56579 42614 42615 breaks debugger test (Requested by podivilov on #webkit). 42616 42617 * inspector/front-end/DebuggerPresentationModel.js: 42618 (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): 42619 (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): 42620 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 42621 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): 42622 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): 42623 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 42624 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 42625 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 42626 (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation): 42627 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 42628 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 42629 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): 42630 (WebInspector.DebuggerPresentationModel.prototype.reset): 42631 * inspector/front-end/ScriptsPanel.js: 42632 (WebInspector.ScriptsPanel): 42633 (WebInspector.ScriptsPanel.prototype._parsedScriptSource): 42634 (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource): 42635 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 42636 (WebInspector.ScriptsPanel.prototype._addScript): 42637 (WebInspector.ScriptsPanel.prototype._resourceForURL): 42638 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 42639 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded): 42640 (WebInspector.ScriptsPanel.prototype._showSourceFrame): 42641 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame): 42642 (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript): 42643 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 42644 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): 42645 42646 2011-03-17 Ryosuke Niwa <rniwa (a] webkit.org> 42647 42648 Reviewed by Justin Garcia. 42649 42650 Assert that editing does not ignore position's anchorNode if position is an offset in anchor 42651 https://bugs.webkit.org/show_bug.cgi?id=56027 42652 42653 Added the assertion in Position::Position and Position::moveToPosition. This assertion catches 42654 places where we instantiate positions inside a node on which editingIgnoresContent returns true. 42655 42656 Test: editing/execCommand/button.html 42657 42658 * dom/Position.cpp: 42659 (WebCore::Position::Position): Added an assertion. 42660 (WebCore::Position::moveToPosition): Ditto. 42661 * dom/PositionIterator.cpp: 42662 (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below 42663 a node whose content is ignored by editing. While this does not avoid creation of positions 42664 inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve 42665 the underlying problem. Without this change, the assertion hits in existing layout tests. 42666 cannot be tested directly. 42667 * editing/ApplyStyleCommand.cpp: 42668 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode 42669 instead of firstPositionInNode because startNode may as well be a br element. Without this change, 42670 the assertion hits in existing layout tests. 42671 * editing/htmlediting.cpp: 42672 (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test 42673 for this. 42674 * editing/visible_units.cpp: 42675 (WebCore::previousBoundary): Added a FIXME. 42676 (WebCore::startPositionForLine): Because br can also have an inline text box, checking that 42677 startBox is an inline text box isn't an adequate to instantiate a position inside startNode. 42678 Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout 42679 tests. 42680 42681 2011-03-17 Pavel Podivilov <podivilov (a] chromium.org> 42682 42683 Reviewed by Pavel Feldman. 42684 42685 Web Inspector: extract content loading logic from scripts panel. 42686 https://bugs.webkit.org/show_bug.cgi?id=55237 42687 42688 Encapsulate source files creation logic in debugger presentation model 42689 to support source mappings in a pluggable way. 42690 42691 * inspector/front-end/DebuggerPresentationModel.js: 42692 (WebInspector.DebuggerPresentationModel.prototype.sourceFile): 42693 (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource): 42694 (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent): 42695 (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): 42696 (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): 42697 (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished): 42698 (WebInspector.DebuggerPresentationModel.prototype._addScript): 42699 (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded): 42700 (WebInspector.DebuggerPresentationModel.prototype._resourceForURL): 42701 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 42702 (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded): 42703 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): 42704 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): 42705 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 42706 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 42707 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 42708 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 42709 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 42710 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): 42711 (WebInspector.DebuggerPresentationModel.prototype.reset): 42712 * inspector/front-end/ScriptsPanel.js: 42713 (WebInspector.ScriptsPanel): 42714 (WebInspector.ScriptsPanel.prototype._sourceFileAdded): 42715 (WebInspector.ScriptsPanel.prototype._showSourceFrame): 42716 (WebInspector.ScriptsPanel.prototype._sourceFileChanged): 42717 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 42718 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent): 42719 42720 2011-03-17 Pavel Feldman <pfeldman (a] chromium.org> 42721 42722 Reviewed by Yury Semikhatsky. 42723 42724 Web Inspector: add types markup to the IDL, remove Value types from the protocol. 42725 https://bugs.webkit.org/show_bug.cgi?id=56562 42726 42727 * inspector/ConsoleMessage.cpp: 42728 (WebCore::ConsoleMessage::addToFrontend): 42729 * inspector/InjectedScript.cpp: 42730 (WebCore::InjectedScript::evaluate): 42731 (WebCore::InjectedScript::evaluateOn): 42732 (WebCore::InjectedScript::evaluateOnCallFrame): 42733 (WebCore::InjectedScript::getProperties): 42734 (WebCore::InjectedScript::setPropertyValue): 42735 (WebCore::InjectedScript::callFrames): 42736 (WebCore::InjectedScript::makeCall): 42737 (WebCore::InjectedScript::makeObjectCall): 42738 * inspector/InjectedScript.h: 42739 * inspector/InjectedScriptSource.js: 42740 (.): 42741 * inspector/Inspector.idl: 42742 * inspector/InspectorApplicationCacheAgent.cpp: 42743 (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): 42744 * inspector/InspectorApplicationCacheAgent.h: 42745 * inspector/InspectorCSSAgent.cpp: 42746 (WebCore::InspectorCSSAgent::getStylesForNode): 42747 (WebCore::InspectorCSSAgent::getInlineStyleForNode): 42748 (WebCore::InspectorCSSAgent::getComputedStyleForNode): 42749 (WebCore::InspectorCSSAgent::getStyleSheet): 42750 (WebCore::InspectorCSSAgent::setPropertyText): 42751 (WebCore::InspectorCSSAgent::toggleProperty): 42752 (WebCore::InspectorCSSAgent::setRuleSelector): 42753 (WebCore::InspectorCSSAgent::addRule): 42754 * inspector/InspectorCSSAgent.h: 42755 * inspector/InspectorDOMAgent.cpp: 42756 (WebCore::InspectorDOMAgent::resolveNode): 42757 * inspector/InspectorDOMAgent.h: 42758 * inspector/InspectorDebuggerAgent.cpp: 42759 (WebCore::InspectorDebuggerAgent::editScriptSource): 42760 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 42761 (WebCore::InspectorDebuggerAgent::currentCallFrames): 42762 * inspector/InspectorDebuggerAgent.h: 42763 * inspector/InspectorResourceAgent.cpp: 42764 (WebCore::InspectorResourceAgent::identifierForInitialRequest): 42765 * inspector/InspectorRuntimeAgent.cpp: 42766 (WebCore::InspectorRuntimeAgent::evaluate): 42767 (WebCore::InspectorRuntimeAgent::evaluateOn): 42768 (WebCore::InspectorRuntimeAgent::getProperties): 42769 (WebCore::InspectorRuntimeAgent::setPropertyValue): 42770 * inspector/InspectorRuntimeAgent.h: 42771 * inspector/ScriptCallStack.cpp: 42772 (WebCore::ScriptCallStack::buildInspectorArray): 42773 * inspector/ScriptCallStack.h: 42774 * inspector/TimelineRecordFactory.cpp: 42775 (WebCore::TimelineRecordFactory::createGenericRecord): 42776 * inspector/front-end/NetworkManager.js: 42777 (WebInspector.NetworkDispatcher.prototype._createResource): 42778 42779 2011-03-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 42780 42781 Unreviewed, rolling out r81350. 42782 http://trac.webkit.org/changeset/81350 42783 https://bugs.webkit.org/show_bug.cgi?id=56560 42784 42785 "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests" 42786 (Requested by apavlov on #webkit). 42787 42788 * WebCore.gypi: 42789 * platform/graphics/chromium/GLES2Canvas.cpp: 42790 (WebCore::GLES2Canvas::State::State): 42791 (WebCore::GLES2Canvas::clearRect): 42792 (WebCore::GLES2Canvas::fillPath): 42793 (WebCore::GLES2Canvas::fillRect): 42794 (WebCore::GLES2Canvas::clipPath): 42795 (WebCore::GLES2Canvas::restore): 42796 (WebCore::GLES2Canvas::drawTexturedRect): 42797 (WebCore::GLES2Canvas::drawTexturedRectTile): 42798 (WebCore::GLES2Canvas::drawQuad): 42799 * platform/graphics/chromium/GLES2Canvas.h: 42800 * platform/graphics/gpu/BicubicShader.cpp: Removed. 42801 * platform/graphics/gpu/BicubicShader.h: Removed. 42802 * platform/graphics/gpu/ConvolutionShader.cpp: Removed. 42803 * platform/graphics/gpu/ConvolutionShader.h: Removed. 42804 * platform/graphics/gpu/DrawingBuffer.h: 42805 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 42806 (WebCore::SharedGraphicsContext3D::create): 42807 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 42808 * platform/graphics/gpu/SharedGraphicsContext3D.h: 42809 * platform/graphics/skia/GraphicsContextSkia.cpp: 42810 (WebCore::GraphicsContext::setPlatformShadow): 42811 * platform/graphics/skia/PlatformContextSkia.cpp: 42812 (WebCore::PlatformContextSkia::canAccelerate): 42813 42814 2011-03-17 Mikhail Naganov <mnaganov (a] chromium.org> 42815 42816 Reviewed by Yury Semikhatsky. 42817 42818 Web Inspector: Clean up Inspector strings. 42819 https://bugs.webkit.org/show_bug.cgi?id=56557 42820 42821 * English.lproj/localizedStrings.js: 42822 42823 2011-03-14 Pavel Podivilov <podivilov (a] chromium.org> 42824 42825 Reviewed by Yury Semikhatsky. 42826 42827 Web Inspector: refactor event listener breakpoints. 42828 https://bugs.webkit.org/show_bug.cgi?id=56305 42829 42830 - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints 42831 - store event listener breakpoints in a separate separate setting 42832 - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane 42833 42834 Test: inspector/debugger/event-listener-breakpoints.html 42835 42836 * inspector/Inspector.idl: 42837 * inspector/InspectorAgent.cpp: 42838 (WebCore::InspectorAgent::setFrontend): 42839 * inspector/InspectorBrowserDebuggerAgent.cpp: 42840 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 42841 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 42842 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 42843 (WebCore::InspectorBrowserDebuggerAgent::clear): 42844 * inspector/InspectorBrowserDebuggerAgent.h: 42845 * inspector/InspectorInstrumentation.cpp: 42846 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 42847 * inspector/front-end/BreakpointManager.js: 42848 (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint): 42849 (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint): 42850 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 42851 (WebInspector.BreakpointManager.prototype._projectChanged): 42852 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 42853 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 42854 (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): 42855 * inspector/front-end/BreakpointsSidebarPane.js: 42856 (WebInspector.EventListenerBreakpointsSidebarPane): 42857 (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): 42858 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): 42859 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): 42860 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): 42861 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint): 42862 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint): 42863 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): 42864 (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint): 42865 (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 42866 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints): 42867 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints): 42868 * inspector/front-end/CallStackSidebarPane.js: 42869 (WebInspector.CallStackSidebarPane.prototype.update): 42870 (WebInspector.CallStackSidebarPane.prototype.setStatus): 42871 (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit): 42872 * inspector/front-end/ScriptsPanel.js: 42873 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 42874 (WebInspector.ScriptsPanel.prototype._clearInterface): 42875 * inspector/front-end/Settings.js: 42876 (WebInspector.Settings): 42877 42878 2011-03-16 Stephen White <senorblanco (a] chromium.org> 42879 42880 Reviewed by Kenneth Russell. 42881 42882 Implement GPU-accelerated shadows. 42883 https://bugs.webkit.org/show_bug.cgi?id=56476 42884 42885 For hard shadows, we simply offset the CTM and draw in the shadow 42886 color. For soft shadows, we use a separable Gaussian convolution, 42887 with a bilinear downsample and Mitchell-Netravali upsample in order to 42888 preserve quality. 42889 42890 * WebCore.gypi: 42891 Add BicubicShader and ConvolutionShader to the build. 42892 * platform/graphics/chromium/GLES2Canvas.cpp: 42893 (WebCore::GLES2Canvas::State::State): 42894 Add shadow-related members to the GLES2Canvas::State 42895 (WebCore::GLES2Canvas::State::shadowActive): 42896 Add a helper function to know if shadows are active. 42897 (WebCore::GLES2Canvas::clearRect): 42898 (WebCore::GLES2Canvas::scissorClear): 42899 Refactor the scissor clearing function out of clearRect(). 42900 (WebCore::GLES2Canvas::fillPath): 42901 Add hook for shadow rendering in paths. Bind framebuffer at this level. 42902 (WebCore::GLES2Canvas::fillRect): 42903 Add hook for shadow rendering in rects. Bind framebuffer at this level. 42904 (WebCore::GLES2Canvas::fillRectInternal): 42905 Rename fillRect() -> fillRectInternal(), which does bind its vertex 42906 buffer, but does not bind the framebuffer. 42907 (WebCore::GLES2Canvas::setShadowColor): 42908 (WebCore::GLES2Canvas::setShadowOffset): 42909 (WebCore::GLES2Canvas::setShadowBlur): 42910 (WebCore::GLES2Canvas::setShadowsIgnoreTransforms): 42911 Implement graphicsContext-style setters for shadow parameters. 42912 (WebCore::GLES2Canvas::clipPath): 42913 Call fillPathInternal(), not fillPath(). 42914 (WebCore::GLES2Canvas::restore): 42915 (WebCore::GLES2Canvas::drawTexturedRect): 42916 Bind the framebuffer at this level. Do not bind vertices here (will 42917 be done in drawTexturedQuad). 42918 (WebCore::GLES2Canvas::drawTexturedRectTile): 42919 drawQuad() -> drawTexturedQuad(). 42920 (WebCore::GLES2Canvas::convolveRect): 42921 Implement one pass of a convolution filter (X or Y). 42922 (WebCore::gauss): 42923 (WebCore::buildKernel): 42924 Some helper functions to build a Gaussian convolution kernel. 42925 (WebCore::GLES2Canvas::drawTexturedQuad): 42926 Rename drawQuad() -> drawTexturedQuad(), to be more clear. Do not 42927 bind the framebuffer at this level (it will be done higher). 42928 (WebCore::GLES2Canvas::drawTexturedQuadMitchell): 42929 Implement Mitchell-Netravali bicubic sampling, using BicubicShader. 42930 (WebCore::GLES2Canvas::fillPathInternal): 42931 Rename fillPath() -> fillPathInternal(), which does use quad vertices, 42932 but does not bind the framebuffer or set the compositing mode. 42933 (WebCore::GLES2Canvas::flipRect): 42934 Implement a helper function to flip a rectangle in Y within the canvas. 42935 (WebCore::GLES2Canvas::clearBorders): 42936 Implement a helper function to clear an n-pixel border around a rect. 42937 (WebCore::GLES2Canvas::beginShadowDraw): 42938 Setup before drawing a primitive's shadow: for hard shadows, just 42939 offset the CTM by the shadow offset. For soft shadows, bind to an 42940 offscreen DrawingBuffer. 42941 (WebCore::GLES2Canvas::endShadowDraw): 42942 Tear-down after drawing a primitive's shadow: for hard shadows, just 42943 restore the CTM. For soft shadows, downsample (if necessary), then 42944 blur in X, blur in Y, upsample if necessary). 42945 * platform/graphics/chromium/GLES2Canvas.h: 42946 * platform/graphics/gpu/BicubicShader.cpp: Added. 42947 (WebCore::BicubicShader::BicubicShader): 42948 (WebCore::BicubicShader::create): 42949 (WebCore::BicubicShader::use): 42950 * platform/graphics/gpu/BicubicShader.h: Added. 42951 Implement a bicubic image filtering shader. 42952 * platform/graphics/gpu/ConvolutionShader.cpp: Added. 42953 (WebCore::ConvolutionShader::ConvolutionShader): 42954 (WebCore::ConvolutionShader::create): 42955 (WebCore::ConvolutionShader::use): 42956 * platform/graphics/gpu/ConvolutionShader.h: Added. 42957 Implement a 1-dimensional convolution shader. In order to minimize 42958 texture samples, this shader is parameterized at compile time by the 42959 width of the convolution kernel. 42960 * platform/graphics/gpu/DrawingBuffer.h: 42961 (WebCore::DrawingBuffer::colorBuffer): 42962 Add an accessor to retrieve a DrawingBuffer's texture ID. 42963 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 42964 (WebCore::SharedGraphicsContext3D::create): 42965 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 42966 (WebCore::SharedGraphicsContext3D::useBicubicProgram): 42967 (WebCore::SharedGraphicsContext3D::useConvolutionProgram): 42968 Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for 42969 each possible kernel width). 42970 (WebCore::SharedGraphicsContext3D::getOffscreenBuffer): 42971 Implement a simple cache of offscreen DrawingBuffers, integer-indexed. 42972 This is done to minimize the VRAM usage: only 2 buffers are used for 42973 all canvases. 42974 * platform/graphics/gpu/SharedGraphicsContext3D.h: 42975 Add bicubic and convolution shader members, and useXXX() functions. 42976 * platform/graphics/skia/GraphicsContextSkia.cpp: 42977 (WebCore::GraphicsContext::setPlatformShadow): 42978 Hook into GraphicsContextSkia's platform shadow setters to set 42979 parameters on GLES2Canvas. 42980 * platform/graphics/skia/PlatformContextSkia.cpp: 42981 (WebCore::PlatformContextSkia::canAccelerate): 42982 Remove shadows (loopers) from the list of things we can't accelerate. 42983 42984 2011-03-17 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 42985 42986 Reviewed by Andreas Kling. 42987 42988 Tiled backing store should only request repaint for updated areas 42989 https://bugs.webkit.org/show_bug.cgi?id=56464 42990 42991 Reuse updateBackBuffer's dirty rectangle calculations to only 42992 invalidate the necessary parts of the window. 42993 42994 * platform/graphics/Tile.h: 42995 * platform/graphics/TiledBackingStore.cpp: 42996 (WebCore::TiledBackingStore::updateTileBuffers): 42997 * platform/graphics/qt/TileQt.cpp: 42998 (WebCore::Tile::updateBackBuffer): 42999 43000 2011-03-17 Mikhail Naganov <mnaganov (a] chromium.org> 43001 43002 Reviewed by Pavel Feldman. 43003 43004 Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes. 43005 https://bugs.webkit.org/show_bug.cgi?id=56395 43006 43007 * inspector/front-end/DetailedHeapshotGridNodes.js: 43008 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 43009 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 43010 * inspector/front-end/HeapSnapshot.js: 43011 (WebInspector.HeapSnapshotRetainerEdge): Added 43012 (WebInspector.HeapSnapshotRetainerEdgeIterator): Added 43013 (WebInspector.HeapSnapshotNode.prototype.get retainers): 43014 (WebInspector.HeapSnapshot.prototype.dispose): 43015 (WebInspector.HeapSnapshot.prototype.hasId): 43016 (WebInspector.HeapSnapshot.prototype.retainers): 43017 (WebInspector.HeapSnapshot.prototype._buildRetainers): 43018 (WebInspector.HeapSnapshot.prototype._buildIdsList): 43019 (WebInspector.HeapSnapshot.prototype._buildNodeIndex): 43020 (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex): 43021 (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex): 43022 (WebInspector.HeapSnapshot.prototype._getRetainerIndex): 43023 (WebInspector.HeapSnapshot.prototype._markInvisibleEdges): 43024 (WebInspector.HeapSnapshot.prototype._numbersComparator): 43025 (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge): 43026 (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter): 43027 (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath): 43028 (WebInspector.HeapSnapshotPathFinder.prototype._pathToString): 43029 43030 2011-03-17 Sheriff Bot <webkit.review.bot (a] gmail.com> 43031 43032 Unreviewed, rolling out r81243. 43033 http://trac.webkit.org/changeset/81243 43034 https://bugs.webkit.org/show_bug.cgi?id=56471 43035 43036 Breaks GTK 64-bit Debug tests (Requested by podivilov on 43037 #webkit). 43038 43039 * inspector/Inspector.idl: 43040 * inspector/InspectorAgent.cpp: 43041 (WebCore::InspectorAgent::setFrontend): 43042 * inspector/InspectorBrowserDebuggerAgent.cpp: 43043 (WebCore::InspectorBrowserDebuggerAgent::setFrontend): 43044 (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): 43045 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 43046 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 43047 (WebCore::InspectorBrowserDebuggerAgent::discardBindings): 43048 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 43049 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 43050 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 43051 (WebCore::InspectorBrowserDebuggerAgent::clear): 43052 * inspector/InspectorBrowserDebuggerAgent.h: 43053 * inspector/InspectorInstrumentation.cpp: 43054 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 43055 * inspector/front-end/BreakpointManager.js: 43056 (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint): 43057 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint): 43058 (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): 43059 (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): 43060 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 43061 (WebInspector.BreakpointManager.prototype._projectChanged): 43062 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 43063 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 43064 (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): 43065 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): 43066 (WebInspector.EventListenerBreakpoint): 43067 (WebInspector.EventListenerBreakpoint.prototype._enable): 43068 (WebInspector.EventListenerBreakpoint.prototype._disable): 43069 (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON): 43070 (WebInspector.EventListenerBreakpointView): 43071 (WebInspector.EventListenerBreakpointView.eventNameForUI): 43072 (WebInspector.EventListenerBreakpointView.prototype.get eventName): 43073 (WebInspector.EventListenerBreakpointView.prototype.compareTo): 43074 (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement): 43075 (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement): 43076 (WebInspector.EventListenerBreakpointView.prototype._uiEventName): 43077 * inspector/front-end/BreakpointsSidebarPane.js: 43078 (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): 43079 (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): 43080 (WebInspector.EventListenerBreakpointsSidebarPane): 43081 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): 43082 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): 43083 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): 43084 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded): 43085 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged): 43086 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved): 43087 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): 43088 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged): 43089 * inspector/front-end/CallStackSidebarPane.js: 43090 (WebInspector.CallStackSidebarPane.prototype.update): 43091 (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit): 43092 (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): 43093 (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit): 43094 * inspector/front-end/ScriptsPanel.js: 43095 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 43096 (WebInspector.ScriptsPanel.prototype._clearInterface): 43097 * inspector/front-end/Settings.js: 43098 (WebInspector.Settings): 43099 43100 2011-03-17 Adam Barth <abarth (a] webkit.org> 43101 43102 Reviewed by Eric Seidel. 43103 43104 Add more ObjC++ files to the build 43105 https://bugs.webkit.org/show_bug.cgi?id=56548 43106 43107 96 link errors. 43108 43109 * WebCore.gypi: 43110 * gyp/WebCore.gyp: 43111 43112 2011-03-17 Adam Barth <abarth (a] webkit.org> 43113 43114 Reviewed by Eric Seidel. 43115 43116 Add a few Objective-C++ files to the WebCore GYP build 43117 https://bugs.webkit.org/show_bug.cgi?id=56547 43118 43119 464 link errors. 43120 43121 * gyp/WebCore.gyp: 43122 43123 2011-03-17 Yuta Kitamura <yutak (a] chromium.org> 43124 43125 Unreviewed build fix. 43126 43127 Non-ASCII characters in XMLTreeViewer.{cpp,h} 43128 https://bugs.webkit.org/show_bug.cgi?id=56549 43129 43130 * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents. 43131 * xml/XMLTreeViewer.h: Ditto. 43132 43133 2011-03-17 Adam Barth <abarth (a] webkit.org> 43134 43135 Reviewed by Eric Seidel. 43136 43137 Add plugins and bridge to the WebCore GYP build 43138 https://bugs.webkit.org/show_bug.cgi?id=56546 43139 43140 506 link errors. 43141 43142 * gyp/WebCore.gyp: 43143 43144 2011-03-16 Jeff Johnson <github (a] lapcatsoftware.com> 43145 43146 Reviewed by Alexey Proskuryakov. 43147 43148 Logic error in -[WebHTMLView close] 43149 https://bugs.webkit.org/show_bug.cgi?id=56445 43150 43151 The function setDraggingImageURL() is no longer called and can be deleted. 43152 43153 No new tests. Deleting dead code. 43154 43155 * page/DragController.h: 43156 43157 2011-03-16 Naoki Takano <takano.naoki (a] gmail.com> 43158 43159 Reviewed by Ryosuke Niwa. 43160 43161 Textarea maxlength doesn't account for newlines 43162 https://bugs.webkit.org/show_bug.cgi?id=54443 43163 43164 When a user presses a return key, TypingCommand::insertLineBreak() is called. 43165 So before append a new line, check if we can add the new line. 43166 43167 * editing/TypingCommand.cpp: 43168 (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line. 43169 (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line. 43170 (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line. 43171 43172 2011-03-16 Adam Barth <abarth (a] webkit.org> 43173 43174 Reviewed by Eric Seidel. 43175 43176 WebCore GYP build should build more derived sources 43177 https://bugs.webkit.org/show_bug.cgi?id=56529 43178 43179 This patch brings us down to 597 link errors. 43180 43181 * gyp/WebCore.gyp: 43182 43183 2011-03-16 Adam Barth <abarth (a] webkit.org> 43184 43185 Reviewed by Eric Seidel. 43186 43187 WebCore GYP should build (most) remaining source files 43188 https://bugs.webkit.org/show_bug.cgi?id=56515 43189 43190 We're still not building all the files and we have 1305 link errors, 43191 but this patch is progress. 43192 43193 * WebCore.gypi: 43194 * gyp/WebCore.gyp: 43195 * plugins/PluginStream.cpp: 43196 43197 2011-03-16 Dan Bernstein <mitz (a] apple.com> 43198 43199 Reviewed by Alexey Proskuryakov. 43200 43201 Update the default navigator.vendor value 43202 https://bugs.webkit.org/show_bug.cgi?id=56449 43203 43204 * page/NavigatorBase.cpp: Updated the default value of 43205 WEBCORE_NAVIGATOR_VENDOR. 43206 43207 2011-03-16 John Bauman <jbauman (a] chromium.org> 43208 43209 Reviewed by James Robinson. 43210 43211 texImage2D gets old contents of canvas 43212 https://bugs.webkit.org/show_bug.cgi?id=56414 43213 43214 Always update the canvas contents in copiedImage, as there's no reason 43215 to ask for an out-of-date image. 43216 43217 * html/HTMLCanvasElement.cpp: 43218 (WebCore::HTMLCanvasElement::copiedImage): 43219 43220 2011-03-16 Adam Barth <abarth (a] webkit.org> 43221 43222 Reviewed by James Robinson. 43223 43224 Remove USE(BUILTIN_UTF8_CODEC) 43225 https://bugs.webkit.org/show_bug.cgi?id=56508 43226 43227 * platform/text/TextCodecICU.cpp: 43228 (WebCore::TextCodecICU::registerEncodingNames): 43229 * platform/text/TextEncodingRegistry.cpp: 43230 (WebCore::buildBaseTextCodecMaps): 43231 43232 2011-03-16 Joseph Pecoraro <joepeck (a] webkit.org> 43233 43234 Reviewed by Kenneth Rohde Christiansen. 43235 43236 Viewport no longer allows an auto value for "user-scalable" 43237 https://bugs.webkit.org/show_bug.cgi?id=55416 43238 43239 This restores our behavior before r67376 the default "user-scalable" 43240 behavior can be defined by a WebKit client if a value was not 43241 explicitly provided in web content (via the viewport <meta> tag). 43242 Here, all WebKit ports default to "yes" after computing 43243 viewport arguments. However, in the future they may consider 43244 changing the default user-scalable value based on the type 43245 of the document being viewed, a user preference, or other reasons. 43246 43247 Covered by existing tests. Should be no changes. 43248 43249 * dom/ViewportArguments.cpp: 43250 (WebCore::computeViewportAttributes): be explicit about 0. 43251 (WebCore::findUserScalableValue): convert to return a float, the instance variable type. 43252 * dom/ViewportArguments.h: 43253 (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to 43254 allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the 43255 WebKit client. 43256 43257 2011-03-16 David Levin <levin (a] chromium.org> 43258 43259 Reviewed by Dmitry Titov. 43260 43261 REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test". 43262 43263 Conditional jump or move depends on uninitialised value(s) 43264 WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117) 43265 43266 * page/Settings.cpp: 43267 (WebCore::Settings::Settings): 43268 43269 2011-03-16 Beth Dakin <bdakin (a] apple.com> 43270 43271 Reviewed by Darin Adler. 43272 43273 Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay 43274 scrollbars thumb in overflow regions does not work 43275 -and corresponding- 43276 <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow 43277 regions does not work 43278 43279 Up until now, overlay scrollbars have always been treated in the Render Tree as if 43280 they have a thickness of 0 because they should not affect layout. However, it is 43281 important to consider their size when hit-testing because otherwise, we have this 43282 bug! This patch adds a boolean parameter to overflowClipRect(), 43283 RenderLayer::verticalScrollbarWidth(), and 43284 RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include 43285 the actual overlay scrollbar thickness. It defaults to false and is only sent is 43286 as true from RenderBloc::nodeAtPoint(). 43287 43288 * rendering/RenderBlock.cpp: 43289 (WebCore::RenderBlock::nodeAtPoint): 43290 * rendering/RenderBox.cpp: 43291 (WebCore::RenderBox::overflowClipRect): 43292 * rendering/RenderBox.h: 43293 * rendering/RenderLayer.cpp: 43294 (WebCore::RenderLayer::verticalScrollbarWidth): 43295 (WebCore::RenderLayer::horizontalScrollbarHeight): 43296 * rendering/RenderLayer.h: 43297 * rendering/RenderTable.cpp: 43298 (WebCore::RenderTable::overflowClipRect): 43299 * rendering/RenderTable.h: 43300 43301 2011-03-16 Keith Kyzivat <keith.kyzivat (a] nokia.com> 43302 43303 Reviewed by Andreas Kling. 43304 43305 [Qt] Fix std::swap not found issue on mobile Qt devices. 43306 https://bugs.webkit.org/show_bug.cgi?id=56463 43307 43308 Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found 43309 on some Qt mobile devices. 43310 43311 No new tests: No tests needed - compilation verified manually. 43312 43313 * platform/text/qt/TextBreakIteratorQt.cpp: 43314 (WebCore::acquireLineBreakIterator): 43315 43316 2011-03-16 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 43317 43318 Reviewed by Kenneth Rohde Christiansen. 43319 43320 [Qt] WebGL content not shown when accelerated compositing is enabled 43321 https://bugs.webkit.org/show_bug.cgi?id=56339 43322 43323 Removed all previously implemented WebGL code from GraphicsLayerQt 43324 because API has changed. GraphicsContext3D provides PlatformLayer 43325 that is added as a child of GraphicsLayer and is therefore painted 43326 through QGraphicsView pipeline. 43327 43328 * platform/graphics/GraphicsContext3D.h: 43329 * platform/graphics/qt/GraphicsContext3DQt.cpp: 43330 (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): 43331 (WebCore::GraphicsContext3DInternal::paint): 43332 (WebCore::GraphicsContext3DInternal::boundingRect): 43333 (WebCore::GraphicsContext3D::platformLayer): 43334 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): 43335 (WebCore::GraphicsContext3D::reshape): 43336 * platform/graphics/qt/GraphicsLayerQt.cpp: 43337 (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): 43338 (WebCore::GraphicsLayerQtImpl::paint): 43339 (WebCore::GraphicsLayerQtImpl::flushChanges): 43340 (WebCore::GraphicsLayerQt::setContentsToCanvas): 43341 * platform/graphics/qt/GraphicsLayerQt.h: 43342 43343 2011-03-16 Ryosuke Niwa <rniwa (a] webkit.org> 43344 43345 Reviewed by Tony Chang. 43346 43347 Get rid of nearestMailBlockquote 43348 https://bugs.webkit.org/show_bug.cgi?id=56439 43349 43350 Removed nearestMailBlockquote and replaced the calls to the function by calls 43351 to enclosingNodeOfType and highestEnclosingNodeOfType. 43352 43353 Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to 43354 respect editing boundaries. Added a test for the former command. 43355 43356 Test: editing/execCommand/break-non-editable-blockquote.html 43357 43358 * editing/BreakBlockquoteCommand.cpp: 43359 (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary 43360 when looking for a Mail blockquote. 43361 * editing/DeleteSelectionCommand.cpp: 43362 (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto. 43363 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 43364 * editing/ReplaceSelectionCommand.cpp: 43365 (WebCore::hasMatchingQuoteLevel): 43366 (WebCore::handleStyleSpansBeforeInsertion): 43367 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 43368 (WebCore::ReplaceSelectionCommand::doApply): 43369 * editing/htmlediting.cpp: 43370 (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance. 43371 (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check. 43372 * editing/htmlediting.h: 43373 (WebCore::firstPositionInOrBeforeNode): Added a null pointer check. 43374 (WebCore::lastPositionInOrAfterNode): Ditto. 43375 * editing/markup.cpp: 43376 (WebCore::highestAncestorToWrapMarkup): 43377 (WebCore::createMarkup): 43378 43379 2011-03-16 Jer Noble <jer.noble (a] apple.com> 43380 43381 Reviewed by Beth Dakin. 43382 43383 RenderFullScreen::createFullScreenStyle() leaks 43384 https://bugs.webkit.org/show_bug.cgi?id=53384 43385 43386 Two problems: a) not calling release() on the style returned in setFullScreenRenderer 43387 causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed, 43388 not just detached, when it is no longer needed. 43389 43390 * dom/Document.cpp: 43391 (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set. 43392 * rendering/RenderFullScreen.cpp: 43393 (RenderFullScreen::createFullScreenStyle): release() the return value. 43394 43395 2011-03-16 Mike Reed <reed (a] google.com> 43396 43397 Reviewed by James Robinson. 43398 43399 Reestablish typeface/size/encoding when drawing stroked text 43400 https://bugs.webkit.org/show_bug.cgi?id=56481 43401 43402 No new tests. LayoutTests/svg/css/composite-shadow-text.svg 43403 43404 * platform/graphics/skia/SkiaFontWin.cpp: 43405 (WebCore::paintSkiaText): 43406 43407 2011-03-16 Daniel Sievers <sievers (a] google.com> 43408 43409 Reviewed by James Robinson. 43410 43411 Add setting to always force compositing mode 43412 https://bugs.webkit.org/show_bug.cgi?id=56156 43413 43414 No new tests needed as this defaults to disabled (and is unfeasible 43415 to be tested through property overriding at runtime). 43416 43417 * page/Settings.h: 43418 (WebCore::Settings::setForceCompositingMode): 43419 (WebCore::Settings::forceCompositingMode): 43420 * rendering/RenderLayerCompositor.cpp: 43421 (WebCore::RenderLayerCompositor::RenderLayerCompositor): 43422 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 43423 * rendering/RenderLayerCompositor.h: 43424 43425 2011-03-16 Vangelis Kokkevis <vangelis (a] chromium.org> 43426 43427 Reviewed by Kenneth Russell. 43428 43429 [chromium] Fixing backface visibility for transformed layers. 43430 https://bugs.webkit.org/show_bug.cgi?id=56237 43431 43432 Test: platform/chromium/compositing/backface-visibility-transformed.html 43433 43434 * platform/graphics/chromium/LayerRendererChromium.cpp: 43435 (WebCore::LayerRendererChromium::drawLayer): 43436 43437 2011-03-16 Dimitri Glazkov <dglazkov (a] chromium.org> 43438 43439 Reviewed by Darin Adler. 43440 43441 REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts. 43442 https://bugs.webkit.org/show_bug.cgi?id=56469 43443 43444 Technically, this is not a regression, but rather uncovering of an old 43445 problem. When the RenderSlider::layout was written, the layout state was 43446 pushed with a wrong offset. However, since the whole slider track was 43447 always repainted, the problem didn't manifest itself until we actually 43448 started being more precise in our repaints. 43449 43450 Test: fast/repaint/slider-thumb-float.html 43451 43452 * rendering/RenderSlider.cpp: 43453 (WebCore::RenderSlider::layout): Changed to pass actual thumb offset 43454 to the LayoutStateMaintainer, rather than thumb size. 43455 43456 2011-03-16 Dimitri Glazkov <dglazkov (a] chromium.org> 43457 43458 Reviewed by Eric Carlson. 43459 43460 Add play state callbacks to MediaControls, kill timeUpdate timer. 43461 https://bugs.webkit.org/show_bug.cgi?id=56473 43462 43463 No change in behavior, covered by existing tests. 43464 43465 * html/HTMLMediaElement.cpp: 43466 (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to 43467 media controls. 43468 (WebCore::HTMLMediaElement::updatePlayState): Ditto. 43469 * html/shadow/MediaControls.cpp: 43470 (WebCore::MediaControls::MediaControls): Removed initialization of the timer. 43471 (WebCore::MediaControls::playbackProgressed): Added. 43472 (WebCore::MediaControls::playbackStarted): Added, for now routing to just 43473 call playbackProgressed. 43474 (WebCore::MediaControls::playbackStopped): Ditto. 43475 (WebCore::MediaControls::update): Removed the code to start/stop the 43476 timer that's now gone. 43477 * html/shadow/MediaControls.h: Removed timer decls. 43478 43479 2011-03-16 Bill Budge <bbudge (a] chromium.org> 43480 43481 Reviewed by David Levin. 43482 43483 DocumentThreadableLoaderClient needs a protected default Constructor 43484 https://bugs.webkit.org/show_bug.cgi?id=56479 43485 43486 No new tests. Exposes no new functionality. 43487 43488 * loader/DocumentThreadableLoaderClient.h: 43489 (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient): 43490 43491 2011-03-16 David Levin <levin (a] chromium.org> 43492 43493 Chromium Leopard build fix attempt #2. 43494 43495 Same error as before. 43496 * bindings/v8/V8GCController.cpp: 43497 43498 2011-03-16 David Levin <levin (a] chromium.org> 43499 43500 Chromium Leopard build fix attempt. 43501 43502 The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace. 43503 43504 * bindings/v8/V8GCController.cpp: 43505 43506 2011-03-16 Ryosuke Niwa <rniwa (a] webkit.org> 43507 43508 Reviewed by Dimitri Glazkov and Darin Adler. 43509 43510 Node::isContentEditable should always call parentNode() instead of parentOrHostNode() 43511 https://bugs.webkit.org/show_bug.cgi?id=56472 43512 43513 Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode(). 43514 Node::isContentEditable now calls parentNode() on all nodes. 43515 43516 No tests are added since this behavior change is not visible to scripts at the moment. 43517 43518 * dom/Node.cpp: 43519 (WebCore::Node::isContentEditable): 43520 43521 2011-03-16 Chris Fleizach <cfleizach (a] apple.com> 43522 43523 Reviewed by Darin Adler. 43524 43525 WK2: Need to propagate enhanced accessibility flag from UI -> web process 43526 https://bugs.webkit.org/show_bug.cgi?id=56379 43527 43528 Allow the enhanced accessibility flag to be toggleable. 43529 43530 * accessibility/AXObjectCache.h: 43531 (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility): 43532 43533 2011-03-16 Csaba Osztrogonc <ossy (a] webkit.org> 43534 43535 [Qt] Buildfix after r81230. 43536 43537 * WebCore.pri: Missing include path added. 43538 43539 2011-03-15 Oliver Hunt <oliver (a] apple.com> 43540 43541 Reviewed by Geoffrey Garen. 43542 43543 Make Structure creation require a JSGlobalData 43544 https://bugs.webkit.org/show_bug.cgi?id=56438 43545 43546 Mechanical change to make all structure creation use GlobalData 43547 43548 * bindings/js/JSAudioConstructor.cpp: 43549 (WebCore::JSAudioConstructor::JSAudioConstructor): 43550 * bindings/js/JSAudioConstructor.h: 43551 (WebCore::JSAudioConstructor::createStructure): 43552 * bindings/js/JSDOMBinding.h: 43553 (WebCore::DOMObjectWithGlobalPointer::createStructure): 43554 (WebCore::DOMConstructorObject::createStructure): 43555 (WebCore::getDOMStructure): 43556 * bindings/js/JSDOMGlobalObject.h: 43557 (WebCore::JSDOMGlobalObject::createStructure): 43558 * bindings/js/JSDOMWindowBase.h: 43559 (WebCore::JSDOMWindowBase::createStructure): 43560 * bindings/js/JSDOMWindowShell.cpp: 43561 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 43562 (WebCore::JSDOMWindowShell::setWindow): 43563 * bindings/js/JSDOMWindowShell.h: 43564 (WebCore::JSDOMWindowShell::createStructure): 43565 * bindings/js/JSImageConstructor.cpp: 43566 (WebCore::JSImageConstructor::JSImageConstructor): 43567 * bindings/js/JSImageConstructor.h: 43568 (WebCore::JSImageConstructor::createStructure): 43569 * bindings/js/JSImageDataCustom.cpp: 43570 (WebCore::toJS): 43571 * bindings/js/JSOptionConstructor.cpp: 43572 (WebCore::JSOptionConstructor::JSOptionConstructor): 43573 * bindings/js/JSOptionConstructor.h: 43574 (WebCore::JSOptionConstructor::createStructure): 43575 * bindings/js/JSWorkerContextBase.h: 43576 (WebCore::JSWorkerContextBase::createStructure): 43577 * bindings/js/WorkerScriptController.cpp: 43578 (WebCore::WorkerScriptController::initScript): 43579 * bindings/scripts/CodeGeneratorJS.pm: 43580 * bridge/c/CRuntimeObject.h: 43581 (JSC::Bindings::CRuntimeObject::createStructure): 43582 * bridge/c/c_instance.cpp: 43583 (JSC::Bindings::CRuntimeMethod::createStructure): 43584 * bridge/jni/jsc/JavaInstanceJSC.cpp: 43585 (JavaRuntimeMethod::createStructure): 43586 * bridge/jni/jsc/JavaRuntimeObject.h: 43587 (JSC::Bindings::JavaRuntimeObject::createStructure): 43588 * bridge/objc/ObjCRuntimeObject.h: 43589 (JSC::Bindings::ObjCRuntimeObject::createStructure): 43590 * bridge/objc/objc_instance.mm: 43591 (ObjCRuntimeMethod::createStructure): 43592 * bridge/objc/objc_runtime.h: 43593 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 43594 * bridge/runtime_array.h: 43595 (JSC::RuntimeArray::createStructure): 43596 * bridge/runtime_method.h: 43597 (JSC::RuntimeMethod::createStructure): 43598 * bridge/runtime_object.h: 43599 (JSC::Bindings::RuntimeObject::createStructure): 43600 43601 2011-03-16 Pratik Solanki <psolanki (a] apple.com> 43602 43603 Reviewed by Alexey Proskuryakov. 43604 43605 REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001 43606 https://bugs.webkit.org/show_bug.cgi?id=56345 43607 43608 Add NULL check for Content-Type header field. 43609 43610 Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html 43611 43612 * platform/network/mac/WebCoreURLResponse.mm: 43613 (WebCore::adjustMIMETypeIfNecessary): 43614 43615 2011-03-15 Levi Weintraub <leviw (a] chromium.org> 43616 43617 Reviewed by Ryosuke Niwa. 43618 43619 REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior 43620 https://bugs.webkit.org/show_bug.cgi?id=56407 43621 43622 Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that 43623 weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that 43624 have had children appended to them that editing wouldn't normally allow. 43625 43626 Tests: editing/style/iframe-onload-crash-mac.html 43627 editing/style/iframe-onload-crash-unix.html 43628 editing/style/iframe-onload-crash-win.html 43629 43630 * editing/TextIterator.cpp: 43631 (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range. 43632 * editing/htmlediting.cpp: 43633 (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children 43634 for hr and datagrid, as you can append any node to another using javascript. 43635 43636 2011-03-16 Mikhail Naganov <mnaganov (a] chromium.org> 43637 43638 Reviewed by Pavel Feldman. 43639 43640 [Chromium] Report object groups and single DOM-related objects 43641 to the new heap profiler. 43642 https://bugs.webkit.org/show_bug.cgi?id=53659 43643 43644 * Android.v8bindings.mk: 43645 * WebCore.gypi: 43646 * WebCore.pro: 43647 * bindings/scripts/CodeGeneratorV8.pm: 43648 * bindings/v8/RetainedDOMInfo.cpp: Added. 43649 (WebCore::RetainedDOMInfo::RetainedDOMInfo): 43650 * bindings/v8/RetainedDOMInfo.h: Added. 43651 * bindings/v8/RetainedObjectInfo.h: Added. 43652 * bindings/v8/ScriptProfiler.cpp: 43653 (WebCore::retainedDOMInfo): 43654 (WebCore::ScriptProfiler::initialize): 43655 * bindings/v8/ScriptProfiler.h: 43656 * bindings/v8/V8DOMWindowShell.cpp: 43657 (WebCore::V8DOMWindowShell::initContextIfNeeded): 43658 * bindings/v8/V8GCController.cpp: 43659 (WebCore::GroupId::GrouperItem::GrouperItem): 43660 (WebCore::GroupId::GrouperItem::groupId): 43661 (WebCore::GroupId::GrouperItem::createRetainedObjectInfo): 43662 (WebCore::calculateGroupId): 43663 (WebCore::GrouperVisitor::visitDOMWrapper): 43664 (WebCore::GrouperVisitor::applyGrouping): 43665 * bindings/v8/WrapperTypeInfo.h: 43666 * inspector/front-end/DetailedHeapshotGridNodes.js: 43667 (WebInspector.HeapSnapshotConstructorNode): 43668 (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider): 43669 (WebInspector.HeapSnapshotDiffNode): 43670 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider): 43671 (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider): 43672 * inspector/front-end/DetailedHeapshotView.js: 43673 (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource): 43674 (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh): 43675 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching): 43676 (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext): 43677 (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder): 43678 (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot): 43679 (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects): 43680 * inspector/front-end/HeapSnapshot.js: 43681 (WebInspector.HeapSnapshotNode.prototype.get className): 43682 (WebInspector.HeapSnapshot.prototype._buildAggregates): 43683 (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots): 43684 (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren): 43685 * inspector/front-end/heapProfiler.css: 43686 (.detailed-heapshot-view .retaining-paths-view .title > span): 43687 (.detailed-heapshot-view .retaining-paths-to-windows): 43688 43689 2011-03-16 Sam Weinig <sam (a] webkit.org> 43690 43691 Reviewed by Adam Roben. 43692 43693 Add WebKit2 API to figure out if an input or textarea was edited 43694 https://bugs.webkit.org/show_bug.cgi?id=56474 43695 43696 Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit 43697 and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited] 43698 as well as API in WebKit2. 43699 43700 * WebCore.exp.in: 43701 * bindings/objc/DOMHTML.mm: 43702 (-[DOMHTMLInputElement _isEdited]): 43703 (-[DOMHTMLTextAreaElement _isEdited]): 43704 * html/HTMLInputElement.cpp: 43705 (WebCore::HTMLInputElement::lastChangeWasUserEdit): 43706 * html/HTMLInputElement.h: 43707 * html/HTMLTextAreaElement.cpp: 43708 (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit): 43709 * html/HTMLTextAreaElement.h: 43710 43711 2011-03-15 Pavel Feldman <pfeldman (a] chromium.org> 43712 43713 Reviewed by Yury Semikhatsky. 43714 43715 Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) 43716 https://bugs.webkit.org/show_bug.cgi?id=56376 43717 43718 * inspector/InspectorBrowserDebuggerAgent.cpp: 43719 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 43720 * inspector/front-end/DOMAgent.js: 43721 (WebInspector.DOMAgent.prototype._setDocument): 43722 43723 2011-03-16 Dan Bernstein <mitz (a] apple.com> 43724 43725 Reviewed by Simon Fraser. 43726 43727 text-combine text retains compressed font after adding characters to it 43728 https://bugs.webkit.org/show_bug.cgi?id=56448 43729 43730 Test: fast/dynamic/text-combine.html 43731 43732 * css/CSSStyleSelector.cpp: 43733 (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since 43734 only the clones on the RenderCombineText will be mutated. 43735 * rendering/RenderCombineText.cpp: 43736 (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parents 43737 style. 43738 (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if 43739 the text cannot be combined. 43740 * rendering/RenderCombineText.h: 43741 (WebCore::RenderCombineText::originalFont): Added. Returns the parents font. 43742 43743 2011-03-14 Pavel Podivilov <podivilov (a] chromium.org> 43744 43745 Reviewed by Yury Semikhatsky. 43746 43747 Web Inspector: refactor event listener breakpoints. 43748 https://bugs.webkit.org/show_bug.cgi?id=56305 43749 43750 - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints 43751 - store event listener breakpoints in a separate separate setting 43752 - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane 43753 43754 Test: inspector/debugger/event-listener-breakpoints.html 43755 43756 * inspector/Inspector.idl: 43757 * inspector/InspectorAgent.cpp: 43758 (WebCore::InspectorAgent::setFrontend): 43759 * inspector/InspectorBrowserDebuggerAgent.cpp: 43760 (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint): 43761 (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint): 43762 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 43763 (WebCore::InspectorBrowserDebuggerAgent::clear): 43764 * inspector/InspectorBrowserDebuggerAgent.h: 43765 * inspector/InspectorInstrumentation.cpp: 43766 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 43767 * inspector/front-end/BreakpointManager.js: 43768 (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint): 43769 (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint): 43770 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 43771 (WebInspector.BreakpointManager.prototype._projectChanged): 43772 (WebInspector.BreakpointManager.prototype._saveBreakpoints): 43773 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 43774 (WebInspector.BreakpointManager.prototype._createDOMBreakpointId): 43775 * inspector/front-end/BreakpointsSidebarPane.js: 43776 (WebInspector.EventListenerBreakpointsSidebarPane): 43777 (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI): 43778 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory): 43779 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked): 43780 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): 43781 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint): 43782 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint): 43783 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox): 43784 (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint): 43785 (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 43786 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints): 43787 (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints): 43788 * inspector/front-end/CallStackSidebarPane.js: 43789 (WebInspector.CallStackSidebarPane.prototype.update): 43790 (WebInspector.CallStackSidebarPane.prototype.setStatus): 43791 (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit): 43792 * inspector/front-end/ScriptsPanel.js: 43793 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 43794 (WebInspector.ScriptsPanel.prototype._clearInterface): 43795 * inspector/front-end/Settings.js: 43796 (WebInspector.Settings): 43797 43798 2011-03-16 David Kilzer <ddkilzer (a] apple.com> 43799 43800 Minor clean-up after r81156, r81172 43801 43802 Follow-up for: 43803 <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++ 43804 43805 * platform/graphics/GraphicsLayer.h: Removed unused @class 43806 WebLayer declaration. 43807 * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef 43808 struct CAPropertyAnimation to class declaration. 43809 43810 2011-03-16 Andrey Adaikin <aandrey (a] google.com> 43811 43812 Reviewed by Yury Semikhatsky. 43813 43814 Web Inspector: Remove live-edit code 43815 https://bugs.webkit.org/show_bug.cgi?id=56177 43816 43817 * inspector/front-end/Settings.js: 43818 * inspector/front-end/SourceFrame.js: 43819 (WebInspector.SourceFrame): 43820 (WebInspector.SourceFrame.prototype._doubleClick): 43821 * inspector/front-end/TextViewer.js: 43822 (WebInspector.TextEditorMainPanel): 43823 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 43824 43825 2011-03-16 Alexis Menard <alexis.menard (a] openbossa.org> 43826 43827 Reviewed by Martin Robinson. 43828 43829 [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it. 43830 https://bugs.webkit.org/show_bug.cgi?id=56403 43831 43832 In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING); 43833 As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched 43834 i.e the pause() made when beginScrubbing is done is just internal. 43835 43836 No new tests: Verified manually. 43837 43838 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 43839 (WebCore::MediaPlayerPrivateGStreamer::updateStates): 43840 43841 2011-03-16 Adam Barth <abarth (a] webkit.org> 43842 43843 Reviewed by Eric Seidel. 43844 43845 WebCore GYP build should build platform/ 43846 https://bugs.webkit.org/show_bug.cgi?id=56430 43847 43848 Adding platform/ to the GYP build required disabling 43849 ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent 43850 style issues. I suspect we'll end up excluding some of these files 43851 from the build in the final analysis, but we might as well fix the 43852 style errors while we're here. 43853 43854 * bindings/js/JSMainThreadExecState.h: 43855 * bindings/js/ScheduledAction.h: 43856 * css/CSSPrimitiveValueCache.cpp: 43857 * gyp/WebCore.gyp: 43858 * platform/KillRingNone.cpp: 43859 (WebCore::KillRing::append): 43860 (WebCore::KillRing::prepend): 43861 * platform/graphics/ContextShadow.h: 43862 * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: 43863 (WebCore::LoopBlinnPathProcessor::buildContours): 43864 (WebCore::TessellationState::combineCallback): 43865 * platform/graphics/gpu/PODRedBlackTree.h: 43866 (WebCore::PODRedBlackTree::updateNode): 43867 (WebCore::PODRedBlackTree::logIfVerbose): 43868 * platform/graphics/opengl/TextureMapperGL.cpp: 43869 * platform/graphics/opengl/TextureMapperGL.h: 43870 * platform/graphics/texmap/TextureMapper.h: 43871 (WebCore::BitmapTexture::save): 43872 (WebCore::TextureMapper::paintToTarget): 43873 * platform/graphics/texmap/TextureMapperNode.h: 43874 43875 2011-03-15 Philippe Normand <pnormand (a] igalia.com> 43876 43877 Reviewed by Eric Carlson. 43878 43879 [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails 43880 https://bugs.webkit.org/show_bug.cgi?id=56370 43881 43882 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 43883 (WebCore::mediaPlayerPrivateMessageCallback): Let the 43884 mediaPlayerClient handle the stream error, in this case the 43885 HTMLMediaElement will emit a stalled event. 43886 43887 2011-03-10 Philippe Normand <pnormand (a] igalia.com> 43888 43889 Reviewed by Martin Robinson. 43890 43891 [GStreamer] Frame accurate seeking isn't always accurate 43892 https://bugs.webkit.org/show_bug.cgi?id=55217 43893 43894 Attempt to build the seek GstClockTime position by converting the 43895 float time value to a GTimeVal value rounded at microsecond 43896 precision. Additionally perform the seek with the ACCURATE seek 43897 flag. These modifications at least fix this manual-test: 43898 http://www.massive-interactive.nl/html5_video/smpte_test_universal.html 43899 43900 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 43901 (WebCore::MediaPlayerPrivateGStreamer::currentTime): 43902 (WebCore::MediaPlayerPrivateGStreamer::seek): 43903 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: 43904 43905 2011-03-15 Yury Semikhatsky <yurys (a] chromium.org> 43906 43907 Reviewed by Pavel Feldman. 43908 43909 Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests 43910 https://bugs.webkit.org/show_bug.cgi?id=56389 43911 43912 Instead of sending one big request populateScriptObjects each agent requests 43913 for initial data in its constructor. 43914 43915 * inspector/Inspector.idl: 43916 * inspector/InspectorAgent.cpp: 43917 (WebCore::InspectorAgent::InspectorAgent): 43918 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 43919 (WebCore::InspectorAgent::setFrontend): 43920 (WebCore::InspectorAgent::pushDataCollectedOffline): 43921 (WebCore::InspectorAgent::getPreferredPanel): 43922 * inspector/InspectorAgent.h: 43923 * inspector/InspectorDOMAgent.cpp: 43924 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 43925 (WebCore::InspectorDOMAgent::setFrontend): 43926 (WebCore::InspectorDOMAgent::restore): 43927 * inspector/InspectorDOMAgent.h: 43928 (WebCore::InspectorDOMAgent::create): 43929 * inspector/InspectorDebuggerAgent.cpp: 43930 (WebCore::InspectorDebuggerAgent::setFrontend): 43931 * inspector/InspectorDebuggerAgent.h: 43932 * inspector/InspectorProfilerAgent.h: 43933 (WebCore::InspectorProfilerAgent::isEnabled): 43934 * inspector/front-end/ProfilesPanel.js: 43935 (WebInspector.ProfilesPanel): 43936 * inspector/front-end/ScriptsPanel.js: 43937 (WebInspector.ScriptsPanel): 43938 * inspector/front-end/inspector.js: 43939 43940 2011-03-15 Ryosuke Niwa <rniwa (a] webkit.org> 43941 43942 Reviewed by Darin Adler. 43943 43944 Devirtualize isContentEditable and isRichlyContentEditable 43945 https://bugs.webkit.org/show_bug.cgi?id=56421 43946 43947 Rewrote Node::isContentEditable as a non-recursive non-virtual function. 43948 43949 * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable. 43950 * dom/Document.h: Ditto. 43951 * dom/Node.cpp: 43952 (WebCore::Node::isContentEditable): Rewritten. 43953 * dom/Node.h: 43954 (WebCore::Node::isContentEditable): Calls isContentEditable(Editable). 43955 (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable). 43956 * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable. 43957 * html/HTMLElement.h: Ditto. 43958 43959 2011-03-15 Adam Barth <abarth (a] webkit.org> 43960 43961 Reviewed by Eric Seidel. 43962 43963 WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/ 43964 https://bugs.webkit.org/show_bug.cgi?id=56412 43965 43966 Yay for smooth sailing. 43967 43968 * gyp/WebCore.gyp: 43969 43970 2011-03-15 Dimitri Glazkov <dglazkov (a] chromium.org> 43971 43972 Reviewed by Kent Tamura. 43973 43974 REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved 43975 https://bugs.webkit.org/show_bug.cgi?id=56059 43976 43977 Test: fast/dom/HTMLInputElement/input-slider-update-styled.html 43978 43979 * html/RangeInputType.cpp: 43980 (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue. 43981 * html/shadow/SliderThumbElement.cpp: 43982 (WebCore::SliderThumbElement::setPositionFromValue): Added. 43983 (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint. 43984 (WebCore::SliderThumbElement::setPositionFromPoint): Ditto. 43985 (WebCore::SliderThumbElement::defaultEventHandler): Ditto. 43986 * html/shadow/SliderThumbElement.h: Added decls. 43987 43988 2011-03-15 David Levin <levin (a] chromium.org> 43989 43990 Attempted build fix following r81213. Same song second verse. 43991 43992 * platform/image-encoders/skia/PNGImageEncoder.cpp: 43993 (WebCore::encodePixels): 43994 43995 2011-03-15 David Levin <levin (a] chromium.org> 43996 43997 Attempted build fix for Chromium OSX release build following r81213. 43998 43999 * platform/image-encoders/skia/JPEGImageEncoder.cpp: 44000 (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call. 44001 44002 2011-03-15 John Bauman <jbauman (a] chromium.org> 44003 44004 Reviewed by Kenneth Russell. 44005 44006 Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D 44007 https://bugs.webkit.org/show_bug.cgi?id=56238 44008 44009 Attempt to get an ImageData (non-premultiplied) from a WebGL canvas 44010 instead of getting an ImageBuffer, so there's a chance the data can be 44011 passed straight through to the consumer with no premultiplication 44012 necessary. Fixes Chromium and Safari. 44013 44014 Test: fast/canvas/webgl/premultiplyalpha-test.html 44015 44016 * html/HTMLCanvasElement.cpp: 44017 (WebCore::HTMLCanvasElement::toDataURL): 44018 (WebCore::HTMLCanvasElement::getImageData): 44019 * html/HTMLCanvasElement.h: 44020 * html/canvas/WebGLRenderingContext.cpp: 44021 (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData): 44022 (WebCore::WebGLRenderingContext::texImage2D): 44023 (WebCore::WebGLRenderingContext::texSubImage2D): 44024 * html/canvas/WebGLRenderingContext.h: 44025 * platform/graphics/GraphicsContext3D.h: 44026 * platform/graphics/ImageBuffer.h: 44027 * platform/graphics/cg/ImageBufferCG.cpp: 44028 (WebCore::CGImageToDataURL): 44029 (WebCore::ImageBuffer::toDataURL): 44030 (WebCore::ImageDataToDataURL): 44031 * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: 44032 (WebCore::GraphicsContext3D::validateAttributes): 44033 (WebCore::GraphicsContext3D::readRenderingResults): 44034 (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas): 44035 (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): 44036 * platform/graphics/qt/GraphicsContext3DQt.cpp: 44037 (WebCore::GraphicsContext3D::paintRenderingResultsToImageData): 44038 * platform/graphics/skia/ImageBufferSkia.cpp: 44039 (WebCore::ImageToDataURL): 44040 (WebCore::ImageBuffer::toDataURL): 44041 (WebCore::ImageDataToDataURL): 44042 * platform/image-encoders/skia/JPEGImageEncoder.cpp: 44043 (WebCore::preMultipliedBGRAtoRGB): 44044 (WebCore::RGBAtoRGB): 44045 (WebCore::encodePixels): 44046 (WebCore::JPEGImageEncoder::encode): 44047 * platform/image-encoders/skia/JPEGImageEncoder.h: 44048 * platform/image-encoders/skia/PNGImageEncoder.cpp: 44049 (WebCore::preMultipliedBGRAtoRGBA): 44050 (WebCore::encodePixels): 44051 (WebCore::PNGImageEncoder::encode): 44052 * platform/image-encoders/skia/PNGImageEncoder.h: 44053 44054 2011-03-15 Kevin Ollivier <kevino (a] theolliviers.com> 44055 44056 [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled. 44057 44058 * storage/IDBDatabaseCallbacksImpl.cpp: 44059 44060 2011-03-15 Brady Eidson <beidson (a] apple.com> 44061 44062 Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425 44063 44064 * loader/icon/IconDatabaseBase.h: #include instead of forward declare. 44065 44066 2011-03-15 Beth Dakin <bdakin (a] apple.com> 44067 44068 Reviewed by Darin Adler. 44069 44070 Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 44071 send notifications appropriate times (showing up, resizing) 44072 -and corresponding- 44073 https://bugs.webkit.org/show_bug.cgi?id=56067 44074 44075 The general strategy here is to add a HashSet of ScrollableAreas to the page that 44076 can be accessed when necessary to send notifications to all ScrollableAreas. In 44077 turn, all of the ScrollableArea classes that add themselves to the HashSet must 44078 keep a weak pointer to Page so that they can remove themselves without relying on 44079 Frames or Renderers to still have references. 44080 44081 Find layers for relevant node and if the layers are in the Page's ScrollableArea 44082 set, then send the relevant notification. 44083 * page/EventHandler.cpp: 44084 (WebCore::layerForNode): 44085 (WebCore::EventHandler::mouseMoved): 44086 (WebCore::EventHandler::updateMouseEventTargetNode): 44087 44088 When the page is set active or not active, iterate through the Page's 44089 ScrollableAreas to send hide/show notifications. 44090 * page/FocusController.cpp: 44091 (WebCore::FocusController::setActive): 44092 44093 When a FrameView is created, add it to the ScrollableArea set. When it's 44094 destroyed, remove it. 44095 * page/FrameView.cpp: 44096 (WebCore::FrameView::FrameView): 44097 (WebCore::FrameView::~FrameView): 44098 44099 Iterate through the Page's ScrollableAreas to send the paint notification. 44100 (WebCore::FrameView::notifyPageThatContentAreaWillPaint): 44101 * page/FrameView.h: 44102 (WebCore::FrameView::disconnectFromPage): 44103 44104 Add the new ScrollableArea set. 44105 * page/Page.cpp: 44106 (WebCore::Page::~Page): 44107 (WebCore::Page::addScrollableArea): 44108 (WebCore::Page::removeScrollableArea): 44109 (WebCore::Page::containsScrollableArea): 44110 * page/Page.h: 44111 (WebCore::Page::scrollableAreaSet): 44112 44113 notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView. 44114 * platform/ScrollView.cpp: 44115 (WebCore::ScrollView::notifyPageThatContentAreaWillPaint): 44116 44117 Call notifyPageThatContentAreaWillPaint() instead of calling 44118 contentAreaWillPaint() just for the ScrollView. 44119 (WebCore::ScrollView::paint): 44120 * platform/ScrollView.h: 44121 44122 Add/remove ScrollableAreas to the set. Add new disconnectFromPage(). 44123 * platform/ScrollableArea.h: 44124 (WebCore::ScrollableArea::disconnectFromPage): 44125 * rendering/RenderDataGrid.cpp: 44126 (WebCore::RenderDataGrid::RenderDataGrid): 44127 (WebCore::RenderDataGrid::~RenderDataGrid): 44128 * rendering/RenderDataGrid.h: 44129 (WebCore::RenderDataGrid::disconnectFromPage): 44130 * rendering/RenderLayer.cpp: 44131 (WebCore::RenderLayer::RenderLayer): 44132 (WebCore::RenderLayer::~RenderLayer): 44133 * rendering/RenderLayer.h: 44134 (WebCore::RenderLayer::disconnectFromPage): 44135 * rendering/RenderListBox.cpp: 44136 (WebCore::RenderListBox::RenderListBox): 44137 (WebCore::RenderListBox::~RenderListBox): 44138 * rendering/RenderListBox.h: 44139 (WebCore::RenderListBox::disconnectFromPage): 44140 44141 Should have implemented this ScrollableArea-interface function a while ago. 44142 (WebCore::RenderLayer::currentMousePosition): 44143 44144 2011-03-15 Brady Eidson <beidson (a] apple.com> 44145 44146 Reviewed by Sam Weinig. 44147 44148 https://bugs.webkit.org/show_bug.cgi?id=56425 44149 WebKit2 icon database. 44150 44151 * WebCore.exp.in: 44152 44153 2011-03-15 Adam Barth <abarth (a] webkit.org> 44154 44155 Reviewed by Dimitri Glazkov. 44156 44157 WebCore GYP build should build editing, fileapi, history, and html 44158 https://bugs.webkit.org/show_bug.cgi?id=56411 44159 44160 These all went smoothly. 44161 44162 * gyp/WebCore.gyp: 44163 44164 2011-03-15 Adam Barth <abarth (a] webkit.org> 44165 44166 Reviewed by Eric Seidel. 44167 44168 WebCore GYP build should build dom/ 44169 https://bugs.webkit.org/show_bug.cgi?id=56409 44170 44171 * gyp/WebCore.gyp: 44172 44173 2011-03-15 Adam Barth <abarth (a] webkit.org> 44174 44175 Reviewed by Eric Seidel. 44176 44177 WebCore GYP build should build css/ 44178 https://bugs.webkit.org/show_bug.cgi?id=56408 44179 44180 CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the 44181 build yet. I've punted on that problem for now, but we'll come back to 44182 it. 44183 44184 * gyp/WebCore.gyp: 44185 44186 2011-03-15 Adam Barth <abarth (a] webkit.org> 44187 44188 Reviewed by Dimitri Glazkov. 44189 44190 WebCore GYP build should build bindings/ 44191 https://bugs.webkit.org/show_bug.cgi?id=56406 44192 44193 I wanted to include bindings/objc in this patch, but they were somewhat 44194 complicated. It looks like they include headers from the output 44195 directory (via PrivateHeaders), but we haven't wired up the 44196 PrivateHeaders yet. 44197 44198 * gyp/WebCore.gyp: 44199 44200 2011-03-15 James Simonsen <simonjam (a] chromium.org> 44201 44202 Reviewed by Tony Gentilcore. 44203 44204 Need different behavior for ensuring execution order of dynamically loaded scripts 44205 https://bugs.webkit.org/show_bug.cgi?id=50115 44206 44207 Dynamically added scripts with async=false will load in parallel, but execute in order. 44208 See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async 44209 44210 Tests: fast/dom/HTMLScriptElement/script-async-attr.html 44211 http/tests/misc/script-async-load-execute-in-order.html 44212 44213 * Android.mk: Rename AsyncScriptRunner -> ScriptRunner. 44214 * CMakeLists.txt: Ditto. 44215 * GNUmakefile.am: Ditto. 44216 * WebCore.gypi: Ditto. 44217 * WebCore.pro: Ditto. 44218 * WebCore.vcproj/WebCore.vcproj: Ditto. 44219 * WebCore.xcodeproj/project.pbxproj: Ditto. 44220 * dom/DOMAllInOne.cpp: Ditto. 44221 * dom/Document.cpp: 44222 (WebCore::Document::Document): Ditto. 44223 (WebCore::Document::~Document): Ditto. 44224 * dom/Document.h: 44225 (WebCore::Document::scriptRunner): Ditto. 44226 * dom/ScriptElement.cpp: 44227 (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder. 44228 (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes. 44229 (WebCore::ScriptElement::prepareScript): Added support for forceAsync. 44230 (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed. 44231 * dom/ScriptElement.h: 44232 (WebCore::ScriptElement::forceAsync): Added. 44233 * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp. 44234 (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue. 44235 (WebCore::ScriptRunner::~ScriptRunner): Ditto. 44236 (WebCore::ScriptRunner::executeScriptSoon): 44237 (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added. 44238 (WebCore::ScriptRunner::suspend): 44239 (WebCore::ScriptRunner::resume): 44240 (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready. 44241 * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h. 44242 (WebCore::ScriptRunner::create): 44243 (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too. 44244 * html/HTMLScriptElement.cpp: 44245 (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes. 44246 (WebCore::HTMLScriptElement::setAsync): Ditto. 44247 (WebCore::HTMLScriptElement::async): Include forceAsync in calculation. 44248 * html/HTMLScriptElement.h: 44249 * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior. 44250 * page/PageGroupLoadDeferrer.cpp: 44251 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner. 44252 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto. 44253 44254 2011-03-15 Tony Chang <tony (a] chromium.org> 44255 44256 Reviewed by Adam Barth. 44257 44258 pngcrush images used by inspector 44259 https://bugs.webkit.org/show_bug.cgi?id=56426 44260 44261 This saves 120k in WebCore and 8k in WebKit/chromium. I ran 44262 pngcrush -brute, so none of the meta data (ancillary chunks) 44263 are modified. 44264 44265 No new tests, just compressing png files. 44266 44267 * inspector/front-end/Images/applicationCache.png: 44268 * inspector/front-end/Images/auditsIcon.png: 44269 * inspector/front-end/Images/back.png: 44270 * inspector/front-end/Images/breakpointBorder.png: 44271 * inspector/front-end/Images/breakpointConditionalBorder.png: 44272 * inspector/front-end/Images/breakpointConditionalCounterBorder.png: 44273 * inspector/front-end/Images/breakpointCounterBorder.png: 44274 * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: 44275 * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: 44276 * inspector/front-end/Images/checker.png: 44277 * inspector/front-end/Images/clearConsoleButtonGlyph.png: 44278 * inspector/front-end/Images/closeButtons.png: 44279 * inspector/front-end/Images/consoleButtonGlyph.png: 44280 * inspector/front-end/Images/consoleIcon.png: 44281 * inspector/front-end/Images/cookie.png: 44282 * inspector/front-end/Images/database.png: 44283 * inspector/front-end/Images/databaseTable.png: 44284 * inspector/front-end/Images/debuggerContinue.png: 44285 * inspector/front-end/Images/debuggerPause.png: 44286 * inspector/front-end/Images/debuggerStepInto.png: 44287 * inspector/front-end/Images/debuggerStepOut.png: 44288 * inspector/front-end/Images/debuggerStepOver.png: 44289 * inspector/front-end/Images/disclosureTriangleSmallDown.png: 44290 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: 44291 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: 44292 * inspector/front-end/Images/disclosureTriangleSmallRight.png: 44293 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: 44294 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: 44295 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: 44296 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: 44297 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: 44298 * inspector/front-end/Images/dockButtonGlyph.png: 44299 * inspector/front-end/Images/elementsIcon.png: 44300 * inspector/front-end/Images/enableOutlineButtonGlyph.png: 44301 * inspector/front-end/Images/enableSolidButtonGlyph.png: 44302 * inspector/front-end/Images/errorIcon.png: 44303 * inspector/front-end/Images/errorMediumIcon.png: 44304 * inspector/front-end/Images/errorRedDot.png: 44305 * inspector/front-end/Images/excludeButtonGlyph.png: 44306 * inspector/front-end/Images/focusButtonGlyph.png: 44307 * inspector/front-end/Images/forward.png: 44308 * inspector/front-end/Images/frame.png: 44309 * inspector/front-end/Images/garbageCollectButtonGlyph.png: 44310 * inspector/front-end/Images/gearButtonGlyph.png: 44311 * inspector/front-end/Images/glossyHeader.png: 44312 * inspector/front-end/Images/glossyHeaderPressed.png: 44313 * inspector/front-end/Images/glossyHeaderSelected.png: 44314 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: 44315 * inspector/front-end/Images/goArrow.png: 44316 * inspector/front-end/Images/graphLabelCalloutLeft.png: 44317 * inspector/front-end/Images/graphLabelCalloutRight.png: 44318 * inspector/front-end/Images/helpButtonGlyph.png: 44319 * inspector/front-end/Images/largerResourcesButtonGlyph.png: 44320 * inspector/front-end/Images/localStorage.png: 44321 * inspector/front-end/Images/networkIcon.png: 44322 * inspector/front-end/Images/nodeSearchButtonGlyph.png: 44323 * inspector/front-end/Images/paneAddButtons.png: 44324 * inspector/front-end/Images/paneBottomGrow.png: 44325 * inspector/front-end/Images/paneBottomGrowActive.png: 44326 * inspector/front-end/Images/paneGrowHandleLine.png: 44327 * inspector/front-end/Images/paneSettingsButtons.png: 44328 * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: 44329 * inspector/front-end/Images/percentButtonGlyph.png: 44330 * inspector/front-end/Images/popoverArrows.png: 44331 * inspector/front-end/Images/popoverBackground.png: 44332 * inspector/front-end/Images/profileGroupIcon.png: 44333 * inspector/front-end/Images/profileIcon.png: 44334 * inspector/front-end/Images/profileSmallIcon.png: 44335 * inspector/front-end/Images/profilesIcon.png: 44336 * inspector/front-end/Images/profilesSilhouette.png: 44337 * inspector/front-end/Images/programCounterBorder.png: 44338 * inspector/front-end/Images/radioDot.png: 44339 * inspector/front-end/Images/recordButtonGlyph.png: 44340 * inspector/front-end/Images/recordToggledButtonGlyph.png: 44341 * inspector/front-end/Images/reloadButtonGlyph.png: 44342 * inspector/front-end/Images/resourceCSSIcon.png: 44343 * inspector/front-end/Images/resourceDocumentIcon.png: 44344 * inspector/front-end/Images/resourceDocumentIconSmall.png: 44345 * inspector/front-end/Images/resourceJSIcon.png: 44346 * inspector/front-end/Images/resourcePlainIcon.png: 44347 * inspector/front-end/Images/resourcePlainIconSmall.png: 44348 * inspector/front-end/Images/resourcesIcon.png: 44349 * inspector/front-end/Images/resourcesSizeGraphIcon.png: 44350 * inspector/front-end/Images/resourcesTimeGraphIcon.png: 44351 * inspector/front-end/Images/scriptsIcon.png: 44352 * inspector/front-end/Images/scriptsSilhouette.png: 44353 * inspector/front-end/Images/searchSmallBlue.png: 44354 * inspector/front-end/Images/searchSmallBrightBlue.png: 44355 * inspector/front-end/Images/searchSmallGray.png: 44356 * inspector/front-end/Images/searchSmallWhite.png: 44357 * inspector/front-end/Images/segment.png: 44358 * inspector/front-end/Images/segmentEnd.png: 44359 * inspector/front-end/Images/segmentHover.png: 44360 * inspector/front-end/Images/segmentHoverEnd.png: 44361 * inspector/front-end/Images/segmentSelected.png: 44362 * inspector/front-end/Images/segmentSelectedEnd.png: 44363 * inspector/front-end/Images/sessionStorage.png: 44364 * inspector/front-end/Images/splitviewDimple.png: 44365 * inspector/front-end/Images/splitviewDividerBackground.png: 44366 * inspector/front-end/Images/statusbarButtons.png: 44367 * inspector/front-end/Images/statusbarMenuButton.png: 44368 * inspector/front-end/Images/statusbarMenuButtonSelected.png: 44369 * inspector/front-end/Images/statusbarResizerHorizontal.png: 44370 * inspector/front-end/Images/statusbarResizerVertical.png: 44371 * inspector/front-end/Images/successGreenDot.png: 44372 * inspector/front-end/Images/thumbActiveHoriz.png: 44373 * inspector/front-end/Images/thumbActiveVert.png: 44374 * inspector/front-end/Images/thumbHoriz.png: 44375 * inspector/front-end/Images/thumbHoverHoriz.png: 44376 * inspector/front-end/Images/thumbHoverVert.png: 44377 * inspector/front-end/Images/thumbVert.png: 44378 * inspector/front-end/Images/timelineBarBlue.png: 44379 * inspector/front-end/Images/timelineBarGray.png: 44380 * inspector/front-end/Images/timelineBarGreen.png: 44381 * inspector/front-end/Images/timelineBarOrange.png: 44382 * inspector/front-end/Images/timelineBarPurple.png: 44383 * inspector/front-end/Images/timelineBarRed.png: 44384 * inspector/front-end/Images/timelineBarYellow.png: 44385 * inspector/front-end/Images/timelineCheckmarks.png: 44386 * inspector/front-end/Images/timelineDots.png: 44387 * inspector/front-end/Images/timelineHollowPillBlue.png: 44388 * inspector/front-end/Images/timelineHollowPillGray.png: 44389 * inspector/front-end/Images/timelineHollowPillGreen.png: 44390 * inspector/front-end/Images/timelineHollowPillOrange.png: 44391 * inspector/front-end/Images/timelineHollowPillPurple.png: 44392 * inspector/front-end/Images/timelineHollowPillRed.png: 44393 * inspector/front-end/Images/timelineHollowPillYellow.png: 44394 * inspector/front-end/Images/timelineIcon.png: 44395 * inspector/front-end/Images/timelinePillBlue.png: 44396 * inspector/front-end/Images/timelinePillGray.png: 44397 * inspector/front-end/Images/timelinePillGreen.png: 44398 * inspector/front-end/Images/timelinePillOrange.png: 44399 * inspector/front-end/Images/timelinePillPurple.png: 44400 * inspector/front-end/Images/timelinePillRed.png: 44401 * inspector/front-end/Images/timelinePillYellow.png: 44402 * inspector/front-end/Images/toolbarItemSelected.png: 44403 * inspector/front-end/Images/trackHoriz.png: 44404 * inspector/front-end/Images/trackVert.png: 44405 * inspector/front-end/Images/treeDownTriangleBlack.png: 44406 * inspector/front-end/Images/treeDownTriangleWhite.png: 44407 * inspector/front-end/Images/treeRightTriangleBlack.png: 44408 * inspector/front-end/Images/treeRightTriangleWhite.png: 44409 * inspector/front-end/Images/treeUpTriangleBlack.png: 44410 * inspector/front-end/Images/treeUpTriangleWhite.png: 44411 * inspector/front-end/Images/undockButtonGlyph.png: 44412 * inspector/front-end/Images/userInputIcon.png: 44413 * inspector/front-end/Images/userInputPreviousIcon.png: 44414 * inspector/front-end/Images/userInputResultIcon.png: 44415 * inspector/front-end/Images/warningIcon.png: 44416 * inspector/front-end/Images/warningMediumIcon.png: 44417 * inspector/front-end/Images/warningOrangeDot.png: 44418 * inspector/front-end/Images/warningsErrors.png: 44419 44420 2011-03-15 Ryosuke Niwa <rniwa (a] webkit.org> 44421 44422 Reviewed by Tony Chang. 44423 44424 Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node 44425 https://bugs.webkit.org/show_bug.cgi?id=56372 44426 44427 The bug was caused by insertNodeAfter's calling parentElement on document's child. 44428 Fixed this by changing the node that AppendNodeCommand takes. 44429 44430 There was also a bug that document node always returned false for isContentEditable 44431 and isContentRichlyEditable because they never overrode Node's default implementation. 44432 Fixed this by overriding them in Document. 44433 44434 Test: editing/execCommand/append-node-under-document.html 44435 44436 * dom/Document.cpp: 44437 (WebCore::Document::isContentEditable): Added. 44438 (WebCore::Document::isContentRichlyEditable): Added. 44439 * dom/Document.h: 44440 * editing/AppendNodeCommand.cpp: 44441 (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element. 44442 * editing/AppendNodeCommand.h: 44443 (WebCore::AppendNodeCommand::create): Ditto. 44444 * editing/CompositeEditCommand.cpp: 44445 (WebCore::CompositeEditCommand::appendNode): Ditto. 44446 (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement. 44447 * editing/CompositeEditCommand.h: 44448 44449 2011-03-15 David Grogan <dgrogan (a] chromium.org> 44450 44451 Reviewed by Jeremy Orlow. 44452 44453 Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects 44454 https://bugs.webkit.org/show_bug.cgi?id=56350 44455 44456 When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects 44457 calls stop() on each ActiveDOMObject. 44458 44459 Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed: 44460 * IDBDatabase::stop() causes the chrome message dispatcher to remove 44461 its reference to IDBDatabase, which it has as type 44462 IDBDatabaseCallbacks. 44463 * If that reference is the last one, the IDBDatabase is destroyed. 44464 * Destroying an ActiveDOMObject while they are being iterated over causes 44465 a defensive crash. 44466 44467 This change creates a separate IDBDatabaseCallbacks object that is not 44468 an ActiveDOMObject, so it can be destroyed by 44469 ScriptExecutionContext::stopActiveDOMObjects. 44470 44471 Because the chrome message dispatcher is only used in multi-process 44472 chromium, that's the only platform affected. Chromium browser tests 44473 forthcoming. 44474 44475 * WebCore.gypi: 44476 * storage/IDBDatabase.cpp: 44477 (WebCore::IDBDatabase::IDBDatabase): 44478 (WebCore::IDBDatabase::~IDBDatabase): 44479 (WebCore::IDBDatabase::setVersion): 44480 (WebCore::IDBDatabase::close): 44481 (WebCore::IDBDatabase::open): 44482 * storage/IDBDatabase.h: 44483 * storage/IDBDatabaseCallbacks.h: 44484 (WebCore::IDBDatabaseCallbacks::unRegisterDatabase): 44485 * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h. 44486 (WebCore::IDBDatabaseCallbacksImpl::create): 44487 (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl): 44488 (WebCore::IDBDatabaseCallbacksImpl::onVersionChange): 44489 (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase): 44490 * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h. 44491 (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl): 44492 44493 2011-03-15 Adam Barth <abarth (a] webkit.org> 44494 44495 Reviewed by Dimitri Glazkov. 44496 44497 accessibility should build in WebCore GYP build 44498 https://bugs.webkit.org/show_bug.cgi?id=56405 44499 44500 This patch changes our include/exclude strategy to more closely match 44501 the strategy used by the Chromium GYP build system. Ideally, we'd find 44502 a way to share more of these patterns. In the meantime, I'm going to 44503 slowly increase the number of translation units in the project and 44504 adjust the include/exclude filters appropriately. 44505 44506 * gyp/WebCore.gyp: 44507 44508 2011-03-15 Alexey Proskuryakov <ap (a] apple.com> 44509 44510 Reviewed by Darin Adler. 44511 44512 REGRESSION (WebKit2): keygen element doesn't work 44513 https://bugs.webkit.org/show_bug.cgi?id=56402 44514 <rdar://problem/9006545> 44515 44516 Covered by existing regresison tests. 44517 44518 * English.lproj/Localizable.strings: 44519 44520 * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added 44521 _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore. 44522 44523 * platform/mac/SSLKeyGeneratorMac.mm: Removed. 44524 * platform/mac/WebCoreKeyGenerator.h: Removed. 44525 * platform/mac/WebCoreKeyGenerator.m: Removed. 44526 * platform/mac/WebCoreSystemInterface.h: 44527 * platform/mac/WebCoreSystemInterface.mm: 44528 * WebCore.xcodeproj/project.pbxproj: 44529 Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more. 44530 Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit. 44531 44532 * platform/LocalizationStrategy.h: 44533 * platform/LocalizedStrings.cpp: 44534 (WebCore::keygenMenuItem512): 44535 (WebCore::keygenMenuItem1024): 44536 (WebCore::keygenMenuItem2048): 44537 (WebCore::keygenKeychainItemName): 44538 * platform/LocalizedStrings.h: 44539 Added strings used by keygen element, now that the code using them is in WebCore. 44540 44541 * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm. 44542 (WebCore::getSupportedKeySizes): 44543 (WebCore::signedPublicKeyAndChallengeString): 44544 Moved the code from WebKit. There is never any need to provide implementation at runtime, 44545 like old code was doing. 44546 44547 * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes): 44548 Added a FIXME about localization. Note that Safari for Windows doesn't support keygen. 44549 44550 2011-03-15 Anders Carlsson <andersca (a] apple.com> 44551 44552 Fix clang build. 44553 44554 * platform/graphics/GraphicsContext3D.h: 44555 * platform/graphics/GraphicsLayer.h: 44556 44557 2011-03-15 Simon Fraser <simon.fraser (a] apple.com> 44558 44559 Fix Lion build after r81161. 44560 44561 Pass the PlatformCALayer down into drawLayerContents() 44562 so we can use its acceleratesDrawing() method. 44563 44564 * platform/graphics/mac/WebLayer.h: 44565 * platform/graphics/mac/WebLayer.mm: 44566 (drawLayerContents): 44567 (-[WebLayer drawInContext:]): 44568 * platform/graphics/mac/WebTiledLayer.mm: 44569 (-[WebTiledLayer drawInContext:]): 44570 44571 2011-03-15 Alok priyadarshi <alokp (a] chromium.org> 44572 44573 Reviewed by James Robinson. 44574 44575 Valgrind error due to uninitialized PluginLayerChromium::m_textureId 44576 https://bugs.webkit.org/show_bug.cgi?id=56390 44577 44578 * platform/graphics/chromium/PluginLayerChromium.cpp: 44579 (WebCore::PluginLayerChromium::PluginLayerChromium): 44580 * platform/graphics/chromium/PluginLayerChromium.h: 44581 (WebCore::PluginLayerChromium::textureId): 44582 44583 2011-03-14 Nikolas Zimmermann <nzimmermann (a] rim.com> 44584 44585 Reviewed by Dirk Schulze. 44586 44587 REGRESSION (r68976): Incorrect bidi rendering in SVG text 44588 https://bugs.webkit.org/show_bug.cgi?id=53980 44589 44590 rework the test engine or SVG "text-intro" tests so we can turn them back on 44591 https://bugs.webkit.org/show_bug.cgi?id=6524 44592 44593 svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present 44594 https://bugs.webkit.org/show_bug.cgi?id=11662 44595 44596 svg/batik/text/textBiDi.svg failing 44597 https://bugs.webkit.org/show_bug.cgi?id=17392 44598 44599 SVG bidi examples at w3C I18N WG tutorials are not rendered correctly. 44600 https://bugs.webkit.org/show_bug.cgi?id=24374 44601 44602 Implement proper bidirectionality support for SVG text. 44603 44604 BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in 44605 the order the characters appear in the markup), and when laying out bidi text, we associated the current character 44606 in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout. 44607 The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct. 44608 44609 Long story: 44610 Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics> 44611 for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in 44612 the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with 44613 "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6 44614 width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class). 44615 The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands 44616 that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10"). 44617 44618 To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all 44619 characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to 44620 determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the 44621 inline box tree, in _visual order_, as it will appear on screen. 44622 44623 After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the 44624 found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout 44625 rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position 44626 in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order, 44627 the x/y/.. lists are all in logical order. 44628 44629 Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction: 44630 the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20". 44631 44632 Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine, 44633 before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now 44634 process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order. 44635 44636 Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated, 44637 which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of 44638 shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by 44639 dozens of new tests. 44640 44641 Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg 44642 svg/W3C-I18N/g-dirLTR-ubOverride.svg 44643 svg/W3C-I18N/g-dirRTL-ubNone.svg 44644 svg/W3C-I18N/g-dirRTL-ubOverride.svg 44645 svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg 44646 svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg 44647 svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg 44648 svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg 44649 svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg 44650 svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg 44651 svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg 44652 svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg 44653 svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg 44654 svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg 44655 svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg 44656 svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg 44657 svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg 44658 svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg 44659 svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg 44660 svg/W3C-I18N/text-anchor-no-markup.svg 44661 svg/W3C-I18N/text-dirLTR-ubNone.svg 44662 svg/W3C-I18N/text-dirLTR-ubOverride.svg 44663 svg/W3C-I18N/text-dirRTL-ubNone.svg 44664 svg/W3C-I18N/text-dirRTL-ubOverride.svg 44665 svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg 44666 svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg 44667 svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg 44668 svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg 44669 svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg 44670 svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg 44671 svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg 44672 svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg 44673 svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg 44674 svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg 44675 svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg 44676 svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg 44677 svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg 44678 svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg 44679 svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg 44680 svg/W3C-I18N/tspan-direction-ltr.svg 44681 svg/W3C-I18N/tspan-direction-rtl.svg 44682 svg/W3C-SVG-1.1-SE/text-intro-02-b.svg 44683 svg/W3C-SVG-1.1-SE/text-intro-05-t.svg 44684 svg/W3C-SVG-1.1-SE/text-intro-09-b.svg 44685 svg/W3C-SVG-1.1/text-align-08-b.svg 44686 svg/W3C-SVG-1.1/text-fonts-03-t.svg 44687 svg/W3C-SVG-1.1/text-intro-01-t.svg 44688 svg/W3C-SVG-1.1/text-intro-02-b.svg 44689 svg/W3C-SVG-1.1/text-intro-03-b.svg 44690 svg/W3C-SVG-1.1/text-intro-04-t.svg 44691 svg/text/bidi-reorder-value-lists.svg 44692 svg/text/bidi-text-anchor-direction.svg 44693 svg/text/bidi-text-query.svg 44694 svg/text/bidi-tspans.svg 44695 44696 * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text. 44697 (WebCore::RenderBlock::determineStartPosition): 44698 * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/ 44699 (WebCore::SVGInlineTextBox::offsetForPositionInFragment): 44700 (WebCore::SVGInlineTextBox::constructTextRun): 44701 (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates): 44702 * rendering/svg/SVGRenderTreeAsText.cpp: Ditto. 44703 (WebCore::writeSVGInlineTextBox): 44704 * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup). 44705 This is needed as we have to process x/y/dx/dy/rotate value lists of text/tspan/.. elements in logical order, not in visual 44706 order as the characters are presented on screen. 44707 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 44708 (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder): 44709 (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes): 44710 * rendering/svg/SVGRootInlineBox.h: 44711 * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption. 44712 (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left. 44713 (WebCore::SVGTextChunk::calculateLength): 44714 (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl). 44715 * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield. 44716 (WebCore::SVGTextChunk::isVerticalText): 44717 (WebCore::SVGTextChunk::hasDesiredTextLength): 44718 (WebCore::SVGTextChunk::hasTextAnchor): 44719 (WebCore::SVGTextChunk::hasLengthAdjustSpacing): 44720 (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs): 44721 * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes. 44722 (WebCore::SVGTextChunkBuilder::addTextChunk): 44723 (WebCore::SVGTextChunkBuilder::processTextChunk): 44724 * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text. 44725 (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array. 44726 * rendering/svg/SVGTextLayoutAttributesBuilder.cpp 44727 (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object 44728 that we cache, refers to the _rendered_ character. For Arabic text that means, that we're 44729 measuring the shaped width of the glyph, not the glyph in its isolated form. Without that 44730 fix reordering boxes containing Arabic is wrong. 44731 * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm 44732 has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have 44733 to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine, 44734 to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog. 44735 (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine): 44736 (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph. 44737 The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for 44738 Arabic until now.) 44739 (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices): 44740 (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list. 44741 (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): 44742 * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct. 44743 (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange): 44744 * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method. 44745 (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed. 44746 * rendering/svg/SVGTextMetrics.h: 44747 (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic). 44748 * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/ 44749 (WebCore::SVGTextQuery::subStringLengthCallback): 44750 (WebCore::SVGTextQuery::startPositionOfCharacterCallback): 44751 (WebCore::SVGTextQuery::endPositionOfCharacterCallback): 44752 (WebCore::calculateGlyphBoundaries): 44753 44754 2011-03-15 Sergio Villar Senin <svillar (a] igalia.com> 44755 44756 Reviewed by Xan Lopez. 44757 44758 [GTK] Fix make distcheck for 1.3.13 release 44759 https://bugs.webkit.org/show_bug.cgi?id=56371 44760 44761 No new tests as this is a build fix. 44762 44763 * GNUmakefile.am: added a couple of missing files. 44764 44765 2011-03-08 Levi Weintraub <leviw (a] chromium.org> 44766 44767 Reviewed by Ryosuke Niwa. 44768 44769 Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode 44770 https://bugs.webkit.org/show_bug.cgi?id=52642 44771 44772 Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous 44773 functions that create new positions. Also fixing various parts of editing code that 44774 incorrectly handled the new positions now being created. 44775 44776 No new tests as this is refactoring/cleanup. 44777 44778 * accessibility/AccessibilityRenderObject.cpp: 44779 (WebCore::AccessibilityRenderObject::visiblePositionRange): 44780 * dom/Position.cpp: 44781 (WebCore::Position::parentAnchoredEquivalent): 44782 (WebCore::Position::previous): 44783 (WebCore::Position::next): 44784 (WebCore::Position::atFirstEditingPositionForNode): 44785 (WebCore::Position::atLastEditingPositionForNode): 44786 (WebCore::Position::upstream): 44787 (WebCore::Position::isCandidate): 44788 (WebCore::Position::getInlineBoxAndOffset): 44789 * dom/Position.h: 44790 (WebCore::operator==): 44791 * dom/PositionIterator.cpp: 44792 (WebCore::PositionIterator::operator Position): 44793 * editing/ApplyBlockElementCommand.cpp: 44794 (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): 44795 * editing/CompositeEditCommand.cpp: 44796 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 44797 * editing/DeleteSelectionCommand.cpp: 44798 (WebCore::isTableCellEmpty): 44799 (WebCore::DeleteSelectionCommand::removeNode): 44800 * editing/InsertLineBreakCommand.cpp: 44801 (WebCore::InsertLineBreakCommand::doApply): 44802 * editing/InsertListCommand.cpp: 44803 (WebCore::InsertListCommand::unlistifyParagraph): 44804 * editing/ReplaceSelectionCommand.cpp: 44805 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): 44806 * editing/TypingCommand.cpp: 44807 (WebCore::TypingCommand::forwardDeleteKeyPressed): 44808 * editing/VisibleSelection.cpp: 44809 (WebCore::VisibleSelection::selectionFromContentsOfNode): 44810 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 44811 * editing/htmlediting.cpp: 44812 (WebCore::firstEditablePositionAfterPositionInRoot): 44813 (WebCore::lastEditablePositionBeforePositionInRoot): 44814 (WebCore::enclosingEmptyListItem): 44815 * editing/htmlediting.h: 44816 * editing/visible_units.cpp: 44817 (WebCore::startOfParagraph): 44818 (WebCore::endOfParagraph): 44819 (WebCore::startOfEditableContent): 44820 (WebCore::endOfEditableContent): 44821 * rendering/RenderBox.cpp: 44822 (WebCore::RenderBox::positionForPoint): 44823 44824 2011-03-15 Beth Dakin <bdakin (a] apple.com> 44825 44826 Attempted build fix. 44827 44828 * platform/mac/ScrollAnimatorMac.mm: 44829 (WebCore::ScrollAnimatorMac::cancelAnimations): 44830 44831 2011-03-15 David Hyatt <hyatt (a] apple.com> 44832 44833 Reviewed by Dave Levin. 44834 44835 https://bugs.webkit.org/show_bug.cgi?id=56329 44836 44837 Fix FontCache problems on Linux. Make sure not to mutate the platform data passed in to SimpleFontData's 44838 constructor. Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of 44839 mutating orientation. 44840 44841 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 44842 (WebCore::SimpleFontData::platformInit): 44843 44844 2011-03-15 Simon Fraser <simon.fraser (a] apple.com> 44845 44846 Reviewed by Dan Bernstein. 44847 44848 Disable ShadowBlur shadow drawing in accelerated contexts 44849 https://bugs.webkit.org/show_bug.cgi?id=56392 44850 44851 When drawing into a graphics context that is accelerated, don't use 44852 ShadowBlur, because it may be slower. 44853 44854 * platform/graphics/GraphicsContext.h: 44855 * platform/graphics/cg/GraphicsContextCG.cpp: 44856 (WebCore::GraphicsContext::fillRect): 44857 (WebCore::GraphicsContext::fillRoundedRect): 44858 (WebCore::GraphicsContext::fillRectWithRoundedHole): 44859 (WebCore::GraphicsContext::setIsCALayerContext): 44860 (WebCore::GraphicsContext::isCALayerContext): 44861 (WebCore::GraphicsContext::setIsAcceleratedContext): 44862 (WebCore::GraphicsContext::isAcceleratedContext): 44863 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 44864 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 44865 * platform/graphics/mac/WebLayer.mm: 44866 (drawLayerContents): 44867 44868 2011-03-15 Beth Dakin <bdakin (a] apple.com> 44869 44870 Reviewed by Simon Fraser. 44871 44872 Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6% 44873 44874 Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new 44875 page. 44876 * loader/FrameLoader.cpp: 44877 (WebCore::FrameLoader::transitionToCommitted): 44878 44879 Scroll animations should be suspended if the FrameLoadState is anything but 44880 complete. 44881 * page/FrameView.cpp: 44882 (WebCore::FrameView::shouldSuspendScrollAnimations): 44883 * page/FrameView.h: 44884 * platform/ScrollableArea.h: 44885 (WebCore::ScrollableArea::shouldSuspendScrollAnimations): 44886 * rendering/RenderDataGrid.cpp: 44887 (WebCore::RenderDataGrid::shouldSuspendScrollAnimations): 44888 * rendering/RenderDataGrid.h: 44889 * rendering/RenderLayer.cpp: 44890 (WebCore::RenderLayer::shouldSuspendScrollAnimations): 44891 * rendering/RenderLayer.h: 44892 * rendering/RenderListBox.cpp: 44893 (WebCore::RenderListBox::shouldSuspendScrollAnimations): 44894 * rendering/RenderListBox.h: 44895 44896 New virtual function cancelAnimations() is only needed on the Mac, so the base 44897 class is empty. 44898 * platform/ScrollAnimator.h: 44899 (WebCore::ScrollAnimator::cancelAnimations): 44900 44901 ScrollAnimatorMac needs to keep track of whether the page has been scrolled since 44902 it started loading. If so, we will override optimizations that wait for the 44903 FrameLoadState to be complete before animating scrollbars. 44904 * platform/mac/ScrollAnimatorMac.h: 44905 (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad): 44906 44907 If the scrollbar animations should be suspended, we start a timer to make sure 44908 that we do flash the scrollbars. Animating the scrollbars is expensive, so this is 44909 both a performance optimization and a UI enhancement since the scrollbar won't 44910 jump around nearly as much on a page load. 44911 * platform/mac/ScrollAnimatorMac.mm: 44912 (-[ScrollbarPainterDelegate cancelAnimations]): 44913 (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]): 44914 (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]): 44915 (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]): 44916 (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): 44917 (WebCore::ScrollAnimatorMac::scroll): 44918 (WebCore::ScrollAnimatorMac::handleWheelEvent): 44919 (WebCore::ScrollAnimatorMac::cancelAnimations): 44920 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): 44921 (WebCore::ScrollAnimatorMac::beginScrollGesture): 44922 (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer): 44923 (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive): 44924 (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer): 44925 (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired): 44926 44927 New WebCoreSystemInterface function to force the scrollbars to flash 44928 * WebCore.exp.in: 44929 * platform/mac/WebCoreSystemInterface.h: 44930 * platform/mac/WebCoreSystemInterface.mm: 44931 44932 2011-03-15 Dimitri Glazkov <dglazkov (a] chromium.org> 44933 44934 Reviewed by Adam Barth. 44935 44936 Remove stale comment at RenderStyle::diff. 44937 https://bugs.webkit.org/show_bug.cgi?id=56387 44938 44939 * rendering/style/RenderStyle.cpp: Removed comment. 44940 44941 2011-03-15 David Kilzer <ddkilzer (a] apple.com> 44942 44943 <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++ 44944 44945 Reviewed by Simon Fraser. 44946 44947 Typedef-ing Objective-C classes as void* for pure C++ makes it 44948 easier for bugs to creep in because compilers can't do any type 44949 checking for void pointers. 44950 44951 * platform/graphics/GraphicsContext3D.h: Changed typedef 44952 declarations for CALayer and WebGLLayer from void* to structs. 44953 (WebCore::GraphicsContext3D::platformLayer): Changed 44954 static_cast<CALayer*> to reinterpret_cast<CALayer*> now that 44955 CALayer and WebGLLayer are not void pointers. 44956 * platform/graphics/GraphicsLayer.h: Changed typedef declaration 44957 for PlatformLayer from void* to struct CALayer. 44958 * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef 44959 declaration for CAPropertyAnimation from void* to a struct. 44960 Extracted typdef for PlatformAnimationRef. 44961 44962 2011-03-15 Ilya Sherman <isherman (a] chromium.org> 44963 44964 Reviewed by Tony Chang. 44965 44966 Autofilled form elements are assigned fixed background color but not text color 44967 https://bugs.webkit.org/show_bug.cgi?id=48382 44968 44969 Test: fast/forms/input-autofilled.html 44970 44971 * css/html.css: 44972 (input:-webkit-autofill): Added foreground color: #000000 44973 * css/wml.css: 44974 (input:-webkit-autofill): Added foreground color: #000000 44975 44976 2011-03-15 Alexis Menard <alexis.menard (a] openbossa.org> 44977 44978 Reviewed by Eric Carlson. 44979 44980 HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element 44981 if it's an internal pause for example. 44982 https://bugs.webkit.org/show_bug.cgi?id=56374 44983 44984 In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the 44985 change into the DOM. 44986 44987 No new tests: Verified manually. 44988 44989 * html/HTMLMediaElement.cpp: 44990 (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged): 44991 44992 2011-03-12 Pavel Podivilov <podivilov (a] chromium.org> 44993 44994 Reviewed by Yury Semikhatsky. 44995 44996 Web Inspector: re-implement xhr breakpoints. 44997 https://bugs.webkit.org/show_bug.cgi?id=56252 44998 44999 - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints 45000 - store xhr breakpoints in a separate setting 45001 - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane 45002 45003 Test: inspector/debugger/xhr-breakpoints.html 45004 45005 * inspector/InspectorBrowserDebuggerAgent.cpp: 45006 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 45007 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 45008 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 45009 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 45010 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 45011 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 45012 (WebCore::InspectorBrowserDebuggerAgent::clear): 45013 * inspector/InspectorBrowserDebuggerAgent.h: 45014 * inspector/front-end/BreakpointManager.js: 45015 (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): 45016 (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): 45017 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 45018 (WebInspector.BreakpointManager.prototype._projectChanged): 45019 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 45020 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): 45021 * inspector/front-end/BreakpointsSidebarPane.js: 45022 (WebInspector.XHRBreakpointsSidebarPane): 45023 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing): 45024 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked): 45025 (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): 45026 (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): 45027 (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): 45028 (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu): 45029 (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): 45030 (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing): 45031 (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked): 45032 (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint): 45033 (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 45034 (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints): 45035 (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): 45036 (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged): 45037 * inspector/front-end/CallStackSidebarPane.js: 45038 (WebInspector.CallStackSidebarPane.prototype.update): 45039 (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): 45040 * inspector/front-end/ScriptsPanel.js: 45041 (WebInspector.ScriptsPanel): 45042 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 45043 (WebInspector.ScriptsPanel.prototype._clearInterface): 45044 * inspector/front-end/Settings.js: 45045 (WebInspector.Settings): 45046 * inspector/front-end/inspector.js: 45047 (WebInspector.resetFocusElement): 45048 (WebInspector.set attached): 45049 45050 2011-03-15 Kevin Ollivier <kevino (a] theolliviers.com> 45051 45052 Reviewed by Darin Adler. 45053 45054 Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export 45055 info into the headers rather than in export symbol definition files, but disable it on 45056 all platforms initially so we can deal with port build issues one port at a time. 45057 45058 https://bugs.webkit.org/show_bug.cgi?id=27551 45059 45060 * config.h: 45061 * platform/mac/LoggingMac.mm: 45062 45063 2011-03-15 Ilya Tikhonovsky <loislo (a] chromium.org> 45064 45065 Unreviewed build fix. 45066 45067 Chromium: shared lib linux build are failing. 45068 45069 Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library. 45070 It was webcore_remaining instead of webcore_platform. 45071 45072 * WebCore.gyp/WebCore.gyp: 45073 45074 2011-03-15 Yury Semikhatsky <yurys (a] chromium.org> 45075 45076 Reviewed by Pavel Feldman. 45077 45078 Web Inspector: expanding/collapsing object shouldn't affect outer console.group expansion state 45079 https://bugs.webkit.org/show_bug.cgi?id=56373 45080 45081 * inspector/front-end/Section.js: 45082 (WebInspector.Section): 45083 (WebInspector.Section.prototype.toggleExpanded): 45084 (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section. 45085 45086 2011-03-15 Pavel Feldman <pfeldman (a] chromium.org> 45087 45088 Reviewed by Yury Semikhatsky. 45089 45090 Web Inspector: crash upon "//html//@id" search in elements panel. 45091 https://bugs.webkit.org/show_bug.cgi?id=56334 45092 45093 * inspector/InspectorDOMAgent.cpp: 45094 * inspector/front-end/ElementsTreeOutline.js: 45095 45096 2011-03-15 Andrey Kosyakov <caseq (a] chromium.org> 45097 45098 Reviewed by Yury Semikhatsky. 45099 45100 Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix) 45101 https://bugs.webkit.org/show_bug.cgi?id=56327 45102 45103 * inspector/front-end/ExtensionAPI.js: 45104 (WebInspector.injectedExtensionAPI): 45105 * inspector/front-end/ExtensionAPISchema.json: 45106 45107 2011-03-15 Yury Semikhatsky <yurys (a] chromium.org> 45108 45109 Reviewed by Pavel Feldman. 45110 45111 Web Inspector: when console.groupEnd calls twice 45112 https://bugs.webkit.org/show_bug.cgi?id=56114 45113 45114 Test: inspector/console/console-nested-group.html 45115 45116 * inspector/ConsoleMessage.h: 45117 (WebCore::ConsoleMessage::type): 45118 * inspector/InspectorConsoleAgent.cpp: 45119 (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages. 45120 45121 2011-03-15 Chris Mumford <chris.mumford (a] palm.com> 45122 45123 Reviewed by Adam Barth. 45124 45125 Initializing several member variables that were not initialized in 45126 their constructors. These values were all read prior to initialization 45127 as reported by Valgrind. 45128 45129 No new tests: No feature additions/removals. 45130 45131 * accessibility/AccessibilityImageMapLink.cpp: 45132 (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink): 45133 * editing/DeleteSelectionCommand.cpp: 45134 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 45135 * html/HTMLCanvasElement.cpp: 45136 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 45137 * xml/XPathResult.cpp: 45138 (WebCore::XPathResult::XPathResult): 45139 45140 2011-03-15 Ben Taylor <bentaylor.solx86 (a] gmail.com> 45141 45142 Reviewed by Adam Barth. 45143 45144 https://bugs.webkit.org/show_bug.cgi?id=56255 45145 Fix build on Solaris 10/Sun Studio 12 C++ 45146 45147 No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++ 45148 45149 * bridge/runtime_array.h: 45150 (JSC::RuntimeArray::getConcreteArray): 45151 45152 2011-03-14 Sam Weinig <sam (a] webkit.org> 45153 45154 Reviewed by Adam Roben 45155 45156 about:blank fake responses don't get serialized when sent the UIProcess 45157 <rdar://problem/9108119> 45158 https://bugs.webkit.org/show_bug.cgi?id=56357 45159 45160 Test: AboutBlankLoad 45161 45162 * platform/network/cf/ResourceResponse.h: 45163 * platform/network/cf/ResourceResponseCFNet.cpp: 45164 (WebCore::ResourceResponse::cfURLResponse): 45165 Create a CFURLResponseRef if one does not exist yet as we do for 45166 NSURLResponses on the mac. 45167 45168 2011-03-14 Alexis Menard <alexis.menard (a] openbossa.org> 45169 45170 Reviewed by Kenneth Rohde Christiansen. 45171 45172 [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback. 45173 https://bugs.webkit.org/show_bug.cgi?id=56145 45174 45175 We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough. 45176 positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because 45177 of a bug in QtMultimedia. 45178 45179 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 45180 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): 45181 (WebCore::MediaPlayerPrivateQt::seek): 45182 (WebCore::MediaPlayerPrivateQt::stateChanged): 45183 (WebCore::MediaPlayerPrivateQt::positionChanged): 45184 * platform/graphics/qt/MediaPlayerPrivateQt.h: 45185 45186 2011-03-14 Alexey Proskuryakov <ap (a] apple.com> 45187 45188 Reviewed by Adam Roben. 45189 45190 https://bugs.webkit.org/show_bug.cgi?id=44138 45191 Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html 45192 45193 https://bugs.webkit.org/show_bug.cgi?id=55375 45194 http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows 45195 45196 https://bugs.webkit.org/show_bug.cgi?id=56185 45197 http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows 45198 45199 * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that 45200 a pointer can be passed across threads when wrapped in a RefPtr. 45201 45202 * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists 45203 when executing a method on main thread by using RefPtr. 45204 45205 2011-03-14 Sam Weinig <sam (a] webkit.org> 45206 45207 Mac build fix. Part 1 of N. 45208 45209 * WebCore.exp.in: 45210 45211 2011-03-14 Joseph Pecoraro <joepeck (a] webkit.org> 45212 45213 Reviewed by Eric Carlson. 45214 45215 Stalled media elements don't stop delaying the load event 45216 https://bugs.webkit.org/show_bug.cgi?id=56316 45217 45218 We should stop delaying the load event when the load has 45219 stalled naturally, or if we require a user gesture to 45220 continue the load. 45221 45222 Test: http/tests/media/video-play-stall-before-meta-data.html 45223 45224 * html/HTMLMediaElement.cpp: 45225 (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying. 45226 (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying. 45227 45228 2011-03-13 MORITA Hajime <morrita (a] google.com> 45229 45230 Reviewed by Tony Chang. 45231 45232 Crash when dragging and dropping in a document with an invalid XHTML header 45233 https://bugs.webkit.org/show_bug.cgi?id=48799 45234 45235 DragController tried to dispatch textInput event even when the 45236 drag destination is not the editable area. 45237 This change skips the event dispatching on that case. 45238 45239 Test: editing/pasteboard/drop-file-svg.html 45240 45241 * page/DragController.cpp: 45242 (WebCore::DragController::dispatchTextInputEventFor): 45243 (WebCore::DragController::concludeEditDrag): 45244 45245 2011-03-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 45246 45247 Unreviewed, rolling out r81094. 45248 http://trac.webkit.org/changeset/81094 45249 https://bugs.webkit.org/show_bug.cgi?id=56355 45250 45251 Broke the chromium DRT related build. (Requested by dave_levin 45252 on #webkit). 45253 45254 * WebCore.exp.in: 45255 * WebCore.order: 45256 * page/Frame.cpp: 45257 (WebCore::Frame::layerTreeAsText): 45258 * page/Frame.h: 45259 * rendering/RenderLayerCompositor.cpp: 45260 (WebCore::RenderLayerCompositor::layerTreeAsText): 45261 * rendering/RenderLayerCompositor.h: 45262 45263 2011-03-14 Adam Barth <abarth (a] webkit.org> 45264 45265 Apparently we need to exclude DefaultSharedWorkerRepository.cpp from 45266 the Chromium build, otherwise the objects visible in the global scope 45267 change. 45268 45269 * WebCore.gyp/WebCore.gyp: 45270 45271 2011-03-14 Adam Barth <abarth (a] webkit.org> 45272 45273 Attempted Chromium build fix. Exclude AllInOne harder. 45274 45275 * WebCore.gyp/WebCore.gyp: 45276 45277 2011-03-14 Ryosuke Niwa <rniwa (a] webkit.org> 45278 45279 Reviewed by Darin Adler. 45280 45281 EventHandler calls shouldChangeSelection needlessly 45282 https://bugs.webkit.org/show_bug.cgi?id=56324 45283 45284 Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and 45285 avoided calling shouldChangeSelection and setSelection when the existing 45286 selection is identical to that of new selection. 45287 45288 * page/EventHandler.cpp: 45289 (WebCore::setSelectionIfNeeded): Extracted. 45290 (WebCore::setNonDirectionalSelectionIfNeeded): Extracted. 45291 (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above. 45292 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto. 45293 (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto. 45294 (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto. 45295 (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto. 45296 (WebCore::EventHandler::handleMouseReleaseEvent): Ditto. 45297 45298 2011-03-14 Daniel Sievers <sievers (a] google.com> 45299 45300 Reviewed by Simon Fraser. 45301 45302 [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline 45303 https://bugs.webkit.org/show_bug.cgi?id=56139 45304 45305 * WebCore.exp.in: 45306 * WebCore.order: 45307 * page/Frame.cpp: 45308 (WebCore::Frame::layerTreeAsText): 45309 * page/Frame.h: 45310 * rendering/RenderLayerCompositor.cpp: 45311 (WebCore::RenderLayerCompositor::layerTreeAsText): 45312 * rendering/RenderLayerCompositor.h: 45313 45314 2011-03-14 Adam Barth <abarth (a] webkit.org> 45315 45316 Reviewed by Dimitri Glazkov. 45317 45318 Add remaining files to WebCore.gypi 45319 https://bugs.webkit.org/show_bug.cgi?id=56351 45320 45321 Adding the remaining files to WebCore.gypi required updating the 45322 include/exclude lists in WebCore.gyp. These lists aren't overly 45323 elegant, but we can try to improve them in the future. 45324 45325 * WebCore.gyp/WebCore.gyp: 45326 * WebCore.gypi: 45327 * bindings/v8/ScriptCachedFrameData.cpp: 45328 - Added ifdefs to this file to match the header. 45329 * platform/graphics/WOFFFileFormat.cpp: 45330 - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER). 45331 45332 2011-03-14 Anton Muhin <antonm (a] chromium.org> 45333 45334 Reviewed by Adam Barth. 45335 45336 [v8] Rework object group building. 45337 https://bugs.webkit.org/show_bug.cgi?id=55399 45338 45339 Instead of going top-down (from owner to owned elements), go up---from objects 45340 to their group ids. That fits better to v8's object grouping model and guarantees 45341 that each wrapper belongs to the single group. 45342 45343 Alas, this cannot be implemented for one kind of objects---CSSProperties. 45344 45345 Part of core GC algorithm and tested extensively by exisiting layout tests. 45346 45347 * bindings/scripts/CodeGeneratorV8.pm: 45348 * bindings/scripts/test/V8/V8TestInterface.cpp: 45349 * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: 45350 * bindings/scripts/test/V8/V8TestObj.cpp: 45351 * bindings/v8/V8GCController.cpp: 45352 (WebCore::calculateGroupId): 45353 (WebCore::calculateRootStyleSheet): 45354 (WebCore::GrouperVisitor::visitDOMWrapper): 45355 (WebCore::GrouperVisitor::applyGrouping): 45356 (WebCore::V8GCController::gcPrologue): 45357 * bindings/v8/WrapperTypeInfo.h: 45358 (WebCore::WrapperTypeInfo::isSubclass): 45359 * css/CSSRuleList.h: 45360 (WebCore::CSSRuleList::styleList): 45361 * css/StyleSheetList.h: 45362 (WebCore::StyleSheetList::document): 45363 45364 2011-03-14 Kent Tamura <tkent (a] chromium.org> 45365 45366 Reviewed by James Robinson. 45367 45368 Assertion failure by form validation message for <select required> with float:left 45369 https://bugs.webkit.org/show_bug.cgi?id=55995 45370 45371 Test: fast/forms/interactive-validation-select-crash.html 45372 45373 * rendering/RenderBlock.cpp: 45374 (WebCore::canMergeContiguousAnonymousBlocks): 45375 isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock(). 45376 45377 2011-03-14 Balazs Kelemen <kbalazs (a] webkit.org> 45378 45379 Reviewed by Adam Roben. 45380 45381 [Qt][WK2]Unbreak InjectedBundle on Qt 45382 https://bugs.webkit.org/show_bug.cgi?id=54109 45383 45384 No code changes so no new tests. 45385 45386 Revert the changes that were needed to use KURL 45387 in WebKitTestRunner. 45388 45389 * Configurations/WebCore.xcconfig: 45390 * WebCore.exp.in: 45391 45392 2011-03-14 Jarkko Sakkinen <jarkko.j.sakkinen (a] gmail.com> 45393 45394 Reviewed by Kenneth Rohde Christiansen. 45395 45396 [Qt] Compilation fails with --3d-canvas 45397 https://bugs.webkit.org/show_bug.cgi?id=55964 45398 45399 * WebCore.pro: 45400 * platform/graphics/qt/Extensions3DQt.cpp: 45401 45402 2011-03-14 Brian Weinstein <bweinstein (a] apple.com> 45403 45404 Reviewed by Adam Roben and Gavin Barraclough. 45405 45406 FileSystemWin.cpp needs listDirectory() implementation 45407 https://bugs.webkit.org/show_bug.cgi?id=56331 45408 <rdar://problem/9126635> 45409 45410 Move PathWalker from an inline class in WebKit2 to its own class in WebCore, 45411 so it can be used from both WebCore and WebKit2. 45412 45413 Implement FileSystemWin::listDirectory using PathWalker to populate the Vector 45414 of paths matching the passed in pattern. 45415 45416 * WebCore.vcproj/WebCore.vcproj: 45417 * platform/win/FileSystemWin.cpp: 45418 (WebCore::listDirectory): Call through to PathWalker. 45419 * platform/win/PathWalker.cpp: Added. 45420 (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument 45421 for the pattern to pass to the Windows File APIs. 45422 (WebCore::PathWalker::~PathWalker): Moved from WebKit2. 45423 (WebCore::PathWalker::isValid): Ditto. 45424 (WebCore::PathWalker::data): Ditto. 45425 (WebCore::PathWalker::step): Ditto. 45426 * platform/win/PathWalker.h: Added. 45427 45428 2011-03-14 Brady Eidson <beidson (a] apple.com> 45429 45430 Reviewed by Anders Carlsson. 45431 45432 https://bugs.webkit.org/show_bug.cgi?id=56320 45433 Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()" 45434 45435 Remove HistoryItem::icon(): 45436 * history/HistoryItem.cpp: 45437 * history/HistoryItem.h: 45438 * WebCore.exp.in: 45439 45440 * loader/icon/IconDatabaseBase.h: 45441 (WebCore::IconDatabaseBase::defaultIcon): 45442 45443 2011-03-14 Andy Estes <aestes (a] apple.com> 45444 45445 Reviewed by Darin Adler. 45446 45447 Timer-based events should inherit the user gesture state of their 45448 originating event in certain cases. 45449 https://bugs.webkit.org/show_bug.cgi?id=55104 45450 45451 If a timer is installed by a gesture-originated event and will fire 45452 within one second, the timer-initiated event should behave as if it 45453 were also initiated by a user gesture. Multi-shot timers should only 45454 get this behavior on their first execution. Nested timers should not 45455 get this behavior. This makes us compatible with Gecko when handling 45456 popups and file chooser dialogs created from timer events. 45457 45458 Test: fast/events/popup-blocking-timers.html 45459 45460 * page/DOMTimer.cpp: 45461 (WebCore::timeoutId): Create a helper function so that m_timeoutId can 45462 be initialized in the data member initialization list. 45463 (WebCore::shouldForwardUserGesture): Ditto, but for 45464 m_shouldForwardUserGesture. 45465 (WebCore::DOMTimer::DOMTimer): Move initialization of data members from 45466 the ctor body to the data member initialization list. Also rename the 45467 argument 'timeout' to 'interval'. 45468 (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its 45469 state based on the value of m_shouldForwardUserGesture. 45470 (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was 45471 renamed to m_originalInterval. 45472 * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename 45473 m_originalTimeout to m_originalInterval. 45474 45475 2011-03-09 Levi Weintraub <leviw (a] chromium.org> 45476 45477 Reviewed by Ryosuke Niwa. 45478 45479 Deleting content directly following a button inserts an unnecessary placeholder 45480 https://bugs.webkit.org/show_bug.cgi?id=56053 45481 45482 Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's 45483 enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite 45484 DeleteSelectionCommand treating them as blockflow. 45485 45486 Test: editing/deleting/delete-inserts-br-after-button.html 45487 45488 * editing/DeleteSelectionCommand.cpp: 45489 (WebCore::DeleteSelectionCommand::mergeParagraphs): 45490 45491 2011-03-14 David Hyatt <hyatt (a] apple.com> 45492 45493 Reviewed by Dan Bernstein. 45494 45495 https://bugs.webkit.org/show_bug.cgi?id=45164 45496 45497 REGRESSION: <a><img align=top></a> Clickable area too large 45498 45499 Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped 45500 painting. 45501 45502 * rendering/InlineFlowBox.cpp: 45503 (WebCore::InlineFlowBox::nodeAtPoint): 45504 45505 2011-03-14 Chris Marrin <cmarrin (a] apple.com> 45506 45507 Reviewed by Adam Roben. 45508 45509 REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong 45510 https://bugs.webkit.org/show_bug.cgi?id=52845 45511 45512 The lastCommitTime() value in CACFLayerTreeHost was returning as the time 45513 the render previous to this one happened. That often made it seem like 45514 animations started more in the past than they did, breaking many animations. 45515 The startAnimations() call actually fires from a CACF callback after all the 45516 WebKit content has been rendered. So sending currentTime as the start time 45517 to the animations is close enough for proper synchronization. 45518 45519 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 45520 (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): 45521 45522 2011-03-11 Ryosuke Niwa <rniwa (a] webkit.org> 45523 45524 Reviewed by Tony Chang. 45525 45526 Selection uses first mousemove's localRect instead of that of mousedown 45527 https://bugs.webkit.org/show_bug.cgi?id=56213 45528 45529 Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent 45530 using the mouse coordinates of the mousedown event that started the drag. 45531 45532 Test: editing/selection/drag-select-rapidly.html 45533 45534 * page/EventHandler.cpp: 45535 (WebCore::EventHandler::handleMouseDraggedEvent): 45536 45537 2011-03-14 Mark Rowe <mrowe (a] apple.com> 45538 45539 Reviewed by Timothy Hatcher. 45540 45541 Apply a large, blunt object directly to the skull of the Leopard build. 45542 45543 * Configurations/Base.xcconfig: Disable the generation of debugging symbols when 45544 building the Debug configuration on Leopard. This should cut the size of the object 45545 files that the linker needs to process by over 85%. This will hopefully allow them 45546 to fit in to the 32-bit address space of the Leopard linker. 45547 45548 2011-03-14 David Hyatt <hyatt (a] apple.com> 45549 45550 Reviewed by Beth Dakin. 45551 45552 https://bugs.webkit.org/show_bug.cgi?id=56246 45553 45554 Add support for relative positioning to table cells. Back out the code that hacked around the lack of support 45555 for offsetLeft, and add new tests to demonstrate that relative positioning works. 45556 45557 * css/CSSStyleSelector.cpp: 45558 (WebCore::CSSStyleSelector::adjustRenderStyle): 45559 * rendering/RenderObject.cpp: 45560 (WebCore::RenderObject::offsetParent): 45561 * rendering/RenderObject.h: 45562 (WebCore::RenderObject::isRelPositioned): 45563 * rendering/RenderTableCell.h: 45564 * rendering/style/RenderStyle.h: 45565 * rendering/style/StyleRareNonInheritedData.cpp: 45566 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 45567 (WebCore::StyleRareNonInheritedData::operator==): 45568 * rendering/style/StyleRareNonInheritedData.h: 45569 45570 2011-03-14 David Hyatt <hyatt (a] apple.com> 45571 45572 Reviewed by Beth Dakin. 45573 45574 Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230. Go back to repainting the root 45575 layer, since first layouts and printing mess up otherwise. 45576 45577 * page/FrameView.cpp: 45578 (WebCore::FrameView::layout): 45579 45580 2011-03-11 David Hyatt <hyatt (a] apple.com> 45581 45582 Reviewed by Simon Fraser. 45583 45584 Clean up full repainting of layers during layout and at other times. Platforms that did not do an invalidation on 45585 size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate 45586 for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed 45587 all of the child layers. This is no longer the case since the overflow changes that tightened up visual overflow 45588 and limited that overflow only to content that the layer painted. 45589 45590 Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's 45591 m_doFullRepaint boolean is set. This will flush out any ports that aren't just invalidating the world on their 45592 own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with 45593 the other ports. 45594 45595 Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer. 45596 I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch), 45597 but the behavior should be the same. 45598 45599 No new tests, since this is untestable on ports that invalidate on a resize. 45600 45601 * page/FrameView.cpp: 45602 (WebCore::FrameView::layout): 45603 * rendering/RenderBoxModelObject.cpp: 45604 (WebCore::RenderBoxModelObject::styleDidChange): 45605 * rendering/RenderLayer.cpp: 45606 (WebCore::RenderLayer::updateLayerPositions): 45607 (WebCore::RenderLayer::removeOnlyThisLayer): 45608 * rendering/RenderLayer.h: 45609 45610 2011-03-11 Oliver Hunt <oliver (a] apple.com> 45611 45612 Reviewed by Gavin Barraclough. 45613 45614 Ensure all values are correctly tagged in the registerfile 45615 https://bugs.webkit.org/show_bug.cgi?id=56214 45616 45617 Make sure everything builds still. 45618 45619 * bridge/c/c_class.cpp: 45620 * bridge/c/c_runtime.cpp: 45621 * bridge/jni/JavaMethod.cpp: 45622 * plugins/PluginViewNone.cpp: 45623 45624 2011-03-14 Luiz Agostini <luiz.agostini (a] openbossa.org> 45625 45626 Unreviewed build fix for r81035. 45627 45628 * html/HTMLDetailsElement.cpp: 45629 (WebCore::HTMLDetailsElement::defaultEventHandler): 45630 * rendering/RenderDetailsMarker.cpp: 45631 (WebCore::createDownArrowPath): 45632 (WebCore::createUpArrowPath): 45633 (WebCore::createLeftArrowPath): 45634 (WebCore::createRightArrowPath): 45635 45636 2011-03-13 Jer Noble <jer.noble (a] apple.com> 45637 45638 FullScreen: Handle entering full screen security restrictions 45639 https://bugs.webkit.org/show_bug.cgi?id=56264 45640 45641 Tests: fullscreen/full-screen-iframe-allowed.html 45642 fullscreen/full-screen-iframe-not-allowed.html 45643 45644 Disable full screen documents in the following conditions: 45645 1) requesting element is in an iframe which does not have a 45646 webkitallowfullscreen attribute. 45647 2) page is not processing a user gesture. 45648 45649 * dom/Document.cpp: 45650 (WebCore::Document::fullScreenIsAllowedForElement): Added. Checks 45651 to see if elements contained in IFRAMES are allowed to 45652 enter full screen. 45653 (WebCore::Document::webkitRequestFullScreenForElement): Checks 45654 if page is currently processing a user gesture. 45655 * dom/Document.h: 45656 * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr. 45657 * html/HTMLFrameElementBase.cpp: 45658 (WebCore::HTMLFrameElementBase::allowFullScreen): Added. 45659 * html/HTMLFrameElementBase.h: 45660 45661 2011-03-14 Anton D'Auria <adauria (a] apple.com> 45662 45663 Reviewed by David Levin. 45664 45665 REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync 45666 https://bugs.webkit.org/show_bug.cgi?id=56303 45667 45668 Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor. 45669 45670 * storage/StorageAreaSync.cpp: 45671 (WebCore::StorageAreaSync::StorageAreaSync): 45672 45673 2011-03-14 Steve Block <steveblock (a] google.com> 45674 45675 Reviewed by Oliver Hunt. 45676 45677 JavaMethod.cpp does not compile with V8 45678 https://bugs.webkit.org/show_bug.cgi?id=56306 45679 45680 Moved the ScopeChain.h include to JavaStringJSC. 45681 45682 No new tests, build fix only. 45683 45684 * bridge/jni/JavaMethod.cpp: 45685 * bridge/jni/jsc/JavaStringJSC.h 45686 45687 2011-02-28 Luiz Agostini <luiz.agostini (a] openbossa.org> 45688 45689 Reviewed by Dave Hyatt. 45690 45691 HTML5 <details> and <summary>: rendering 45692 https://bugs.webkit.org/show_bug.cgi?id=51071 45693 45694 Tests: fast/html/details-add-summary-1-and-click.html 45695 fast/html/details-add-summary-1.html 45696 fast/html/details-add-summary-10-and-click.html 45697 fast/html/details-add-summary-10.html 45698 fast/html/details-add-summary-2-and-click.html 45699 fast/html/details-add-summary-2.html 45700 fast/html/details-add-summary-3-and-click.html 45701 fast/html/details-add-summary-3.html 45702 fast/html/details-add-summary-4-and-click.html 45703 fast/html/details-add-summary-4.html 45704 fast/html/details-add-summary-5-and-click.html 45705 fast/html/details-add-summary-5.html 45706 fast/html/details-add-summary-6-and-click.html 45707 fast/html/details-add-summary-6.html 45708 fast/html/details-add-summary-7-and-click.html 45709 fast/html/details-add-summary-7.html 45710 fast/html/details-add-summary-8-and-click.html 45711 fast/html/details-add-summary-8.html 45712 fast/html/details-add-summary-9-and-click.html 45713 fast/html/details-add-summary-9.html 45714 fast/html/details-mouse-click.html 45715 fast/html/details-no-summary1.html 45716 fast/html/details-no-summary2.html 45717 fast/html/details-no-summary3.html 45718 fast/html/details-no-summary4.html 45719 fast/html/details-open-javascript.html 45720 fast/html/details-open1.html 45721 fast/html/details-open2.html 45722 fast/html/details-open3.html 45723 fast/html/details-open4.html 45724 fast/html/details-open5.html 45725 fast/html/details-open6.html 45726 fast/html/details-position.html 45727 fast/html/details-remove-summary-1-and-click.html 45728 fast/html/details-remove-summary-1.html 45729 fast/html/details-remove-summary-2-and-click.html 45730 fast/html/details-remove-summary-2.html 45731 fast/html/details-remove-summary-3-and-click.html 45732 fast/html/details-remove-summary-3.html 45733 fast/html/details-remove-summary-4-and-click.html 45734 fast/html/details-remove-summary-4.html 45735 fast/html/details-remove-summary-5-and-click.html 45736 fast/html/details-remove-summary-5.html 45737 fast/html/details-remove-summary-6-and-click.html 45738 fast/html/details-remove-summary-6.html 45739 fast/html/details-writing-mode.html 45740 45741 http://www.w3.org/TR/html5/interactive-elements.html#the-details-element 45742 45743 The main <summary> element is the first <summary> element of a <details> element. 45744 All other childs of the <details> element are rendered only if the attribute 'open' is set. 45745 Click event toggles the 'open' attribute. 45746 45747 * html/HTMLDetailsElement.cpp: 45748 (WebCore::HTMLDetailsElement::HTMLDetailsElement): 45749 (WebCore::HTMLDetailsElement::findMainSummary): 45750 (WebCore::HTMLDetailsElement::childrenChanged): 45751 (WebCore::HTMLDetailsElement::finishParsingChildren): 45752 (WebCore::HTMLDetailsElement::parseMappedAttribute): 45753 (WebCore::HTMLDetailsElement::childShouldCreateRenderer): 45754 (WebCore::HTMLDetailsElement::defaultEventHandler): 45755 * html/HTMLDetailsElement.h: 45756 (WebCore::HTMLDetailsElement::mainSummary): 45757 45758 Method createRenderer added to class HTMLSummaryElement. 45759 45760 * html/HTMLSummaryElement.cpp: 45761 (WebCore::HTMLSummaryElement::createRenderer): 45762 * html/HTMLSummaryElement.h: 45763 45764 The first <summary> element is positioned at the top of its <details> parent. 45765 The area occupied by this main <summary> element is the interactive area of the 45766 <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer 45767 is created and added to the corresponding RenderDetails object. 45768 45769 * rendering/RenderDetails.cpp: 45770 (WebCore::RenderDetails::RenderDetails): 45771 (WebCore::RenderDetails::destroy): 45772 (WebCore::RenderDetails::summaryBlock): 45773 (WebCore::RenderDetails::contentBlock): 45774 (WebCore::RenderDetails::addChild): 45775 (WebCore::RenderDetails::removeChild): 45776 (WebCore::RenderDetails::setMarkerStyle): 45777 (WebCore::RenderDetails::styleDidChange): 45778 (WebCore::RenderDetails::getRenderPosition): 45779 (WebCore::RenderDetails::markerDestroyed): 45780 (WebCore::RenderDetails::summaryDestroyed): 45781 (WebCore::RenderDetails::moveSummaryToContents): 45782 (WebCore::RenderDetails::createSummaryStyle): 45783 (WebCore::RenderDetails::replaceMainSummary): 45784 (WebCore::RenderDetails::createDefaultSummary): 45785 (WebCore::RenderDetails::checkMainSummary): 45786 (WebCore::RenderDetails::layout): 45787 (WebCore::RenderDetails::isOpen): 45788 (WebCore::RenderDetails::getParentOfFirstLineBox): 45789 (WebCore::RenderDetails::firstNonMarkerChild): 45790 (WebCore::RenderDetails::updateMarkerLocation): 45791 * rendering/RenderDetails.h: 45792 (WebCore::RenderDetails::interactiveArea): 45793 (WebCore::RenderDetails::removeLeftoverAnonymousBlock): 45794 (WebCore::RenderDetails::createsAnonymousWrapper): 45795 (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation): 45796 45797 A marker is added to the main <summary> element to indicate the current value of the 'open' 45798 attribute of the <details> element. 45799 45800 * rendering/RenderDetailsMarker.cpp: 45801 (WebCore::RenderDetailsMarker::RenderDetailsMarker): 45802 (WebCore::RenderDetailsMarker::destroy): 45803 (WebCore::RenderDetailsMarker::lineHeight): 45804 (WebCore::RenderDetailsMarker::baselinePosition): 45805 (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): 45806 (WebCore::RenderDetailsMarker::layout): 45807 (WebCore::RenderDetailsMarker::getRelativeMarkerRect): 45808 (WebCore::RenderDetailsMarker::isOpen): 45809 (WebCore::createPath): 45810 (WebCore::createDownArrowPath): 45811 (WebCore::createUpArrowPath): 45812 (WebCore::createLeftArrowPath): 45813 (WebCore::createRightArrowPath): 45814 (WebCore::RenderDetailsMarker::orientation): 45815 (WebCore::RenderDetailsMarker::getCanonicalPath): 45816 (WebCore::RenderDetailsMarker::getPath): 45817 (WebCore::RenderDetailsMarker::paint): 45818 * rendering/RenderDetailsMarker.h: 45819 (WebCore::toRenderDetailsMarker): 45820 45821 * rendering/RenderSummary.cpp: 45822 (WebCore::RenderSummary::RenderSummary): 45823 (WebCore::RenderSummary::destroy): 45824 (WebCore::RenderSummary::parentDetails): 45825 (WebCore::RenderSummary::styleDidChange): 45826 * rendering/RenderSummary.h: 45827 45828 * rendering/RenderTreeAsText.cpp: 45829 (WebCore::RenderTreeAsText::writeRenderObject): 45830 45831 2011-03-14 Brady Eidson <beidson (a] apple.com> 45832 45833 Reviewed by Sam Weinig. 45834 45835 https://bugs.webkit.org/show_bug.cgi?id=56296 45836 Clean up IconDatabaseBase header. 45837 45838 -Get rid of the "PlatformString.h" include and replace it with a forward declaration. 45839 -Group methods by which are used in WebCore directly and which are used in WebKit ports. 45840 45841 This'll make it easier to use in external frameworks (like WebKit2). 45842 45843 * loader/icon/IconDatabase.h: 45844 * loader/icon/IconDatabaseBase.h: 45845 (WebCore::IconDatabaseBase::retainIconForPageURL): 45846 (WebCore::IconDatabaseBase::releaseIconForPageURL): 45847 (WebCore::IconDatabaseBase::iconForPageURL): 45848 (WebCore::IconDatabaseBase::setIconURLForPageURL): 45849 (WebCore::IconDatabaseBase::setIconDataForIconURL): 45850 (WebCore::IconDatabaseBase::iconDataKnownForIconURL): 45851 (WebCore::IconDatabaseBase::loadDecisionForIconURL): 45852 (WebCore::IconDatabaseBase::importIconURLForPageURL): 45853 (WebCore::IconDatabaseBase::importIconDataForIconURL): 45854 (WebCore::IconDatabaseBase::open): 45855 45856 2011-03-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 45857 45858 Unreviewed, rolling out r81026. 45859 http://trac.webkit.org/changeset/81026 45860 https://bugs.webkit.org/show_bug.cgi?id=56313 45861 45862 Breaks gtk 64-bit tests (Requested by podivilov on #webkit). 45863 45864 * inspector/InspectorBrowserDebuggerAgent.cpp: 45865 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 45866 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 45867 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 45868 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 45869 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 45870 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 45871 (WebCore::InspectorBrowserDebuggerAgent::clear): 45872 * inspector/InspectorBrowserDebuggerAgent.h: 45873 * inspector/front-end/BreakpointManager.js: 45874 (WebInspector.BreakpointManager.prototype.createXHRBreakpoint): 45875 (WebInspector.BreakpointManager.prototype._createXHRBreakpoint): 45876 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 45877 (WebInspector.BreakpointManager.prototype._projectChanged): 45878 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 45879 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): 45880 (WebInspector.BreakpointManager.prototype._createXHRBreakpointId): 45881 (WebInspector.XHRBreakpoint): 45882 (WebInspector.XHRBreakpoint.prototype._enable): 45883 (WebInspector.XHRBreakpoint.prototype._disable): 45884 (WebInspector.XHRBreakpoint.prototype._serializeToJSON): 45885 (WebInspector.XHRBreakpointView): 45886 (WebInspector.XHRBreakpointView.prototype.compareTo): 45887 (WebInspector.XHRBreakpointView.prototype.populateEditElement): 45888 (WebInspector.XHRBreakpointView.prototype.populateLabelElement): 45889 (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement): 45890 * inspector/front-end/BreakpointsSidebarPane.js: 45891 (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked): 45892 (WebInspector.XHRBreakpointsSidebarPane): 45893 (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem): 45894 (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint): 45895 (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog): 45896 * inspector/front-end/CallStackSidebarPane.js: 45897 (WebInspector.CallStackSidebarPane.prototype.update): 45898 * inspector/front-end/ScriptsPanel.js: 45899 (WebInspector.ScriptsPanel): 45900 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 45901 (WebInspector.ScriptsPanel.prototype._clearInterface): 45902 * inspector/front-end/Settings.js: 45903 (WebInspector.Settings): 45904 * inspector/front-end/inspector.js: 45905 (WebInspector.resetFocusElement): 45906 (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded): 45907 (WebInspector.createXHRBreakpointsSidebarPane): 45908 (WebInspector.set attached): 45909 45910 2011-03-14 Mikhail Naganov <mnaganov (a] chromium.org> 45911 45912 Reviewed by Pavel Feldman. 45913 45914 Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function. 45915 https://bugs.webkit.org/show_bug.cgi?id=56312 45916 45917 Test: inspector/utilities.html 45918 45919 * inspector/front-end/utilities.js: 45920 45921 2011-03-12 Pavel Podivilov <podivilov (a] chromium.org> 45922 45923 Reviewed by Yury Semikhatsky. 45924 45925 Web Inspector: re-implement xhr breakpoints. 45926 https://bugs.webkit.org/show_bug.cgi?id=56252 45927 45928 - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints 45929 - store xhr breakpoints in a separate setting 45930 - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane 45931 45932 Test: inspector/debugger/xhr-breakpoints.html 45933 45934 * inspector/InspectorBrowserDebuggerAgent.cpp: 45935 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 45936 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 45937 (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint): 45938 (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint): 45939 (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint): 45940 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 45941 (WebCore::InspectorBrowserDebuggerAgent::clear): 45942 * inspector/InspectorBrowserDebuggerAgent.h: 45943 * inspector/front-end/BreakpointManager.js: 45944 (WebInspector.BreakpointManager.prototype.setXHRBreakpoint): 45945 (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint): 45946 (WebInspector.BreakpointManager.prototype.breakpointViewForEventData): 45947 (WebInspector.BreakpointManager.prototype._projectChanged): 45948 (WebInspector.BreakpointManager.prototype._validateBreakpoints): 45949 (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId): 45950 * inspector/front-end/BreakpointsSidebarPane.js: 45951 (WebInspector.XHRBreakpointsSidebarPane): 45952 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing): 45953 (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked): 45954 (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint): 45955 (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint): 45956 (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint): 45957 (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu): 45958 (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked): 45959 (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing): 45960 (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked): 45961 (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint): 45962 (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 45963 (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints): 45964 (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints): 45965 (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged): 45966 * inspector/front-end/CallStackSidebarPane.js: 45967 (WebInspector.CallStackSidebarPane.prototype.update): 45968 (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit): 45969 * inspector/front-end/ScriptsPanel.js: 45970 (WebInspector.ScriptsPanel): 45971 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 45972 (WebInspector.ScriptsPanel.prototype._clearInterface): 45973 * inspector/front-end/Settings.js: 45974 (WebInspector.Settings): 45975 * inspector/front-end/inspector.js: 45976 (WebInspector.resetFocusElement): 45977 (WebInspector.set attached): 45978 45979 2011-03-14 Pavel Podivilov <podivilov (a] chromium.org> 45980 45981 Reviewed by Pavel Feldman. 45982 45983 Web Inspector: move breakpoints restoring to debugger presentation model. 45984 https://bugs.webkit.org/show_bug.cgi?id=56123 45985 45986 DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since 45987 setBreakpoint/removeBreakpoint are now called from DPM only. 45988 45989 * inspector/InspectorDebuggerAgent.cpp: 45990 (WebCore::InspectorDebuggerAgent::disable): 45991 (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown): 45992 * inspector/front-end/DebuggerModel.js: 45993 (WebInspector.DebuggerModel.prototype.enableDebugger): 45994 (WebInspector.DebuggerModel.prototype._debuggerWasEnabled): 45995 (WebInspector.DebuggerModel.prototype._debuggerWasDisabled): 45996 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): 45997 (WebInspector.DebuggerModel.prototype.setBreakpoint): 45998 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 45999 (WebInspector.DebuggerModel.prototype.removeBreakpoint): 46000 (WebInspector.DebuggerModel.prototype._breakpointResolved): 46001 (WebInspector.DebuggerModel.prototype.reset): 46002 (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled): 46003 (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled): 46004 * inspector/front-end/DebuggerPresentationModel.js: 46005 (WebInspector.DebuggerPresentationModel): 46006 (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled): 46007 (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): 46008 (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): 46009 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 46010 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): 46011 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 46012 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): 46013 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): 46014 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): 46015 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): 46016 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 46017 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 46018 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 46019 (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints): 46020 (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints): 46021 (WebInspector.DebuggerPresentationModel.prototype.reset): 46022 * inspector/front-end/ScriptsPanel.js: 46023 (WebInspector.ScriptsPanel): 46024 (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled): 46025 (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled): 46026 46027 2011-03-14 Sheriff Bot <webkit.review.bot (a] gmail.com> 46028 46029 Unreviewed, rolling out r81015. 46030 http://trac.webkit.org/changeset/81015 46031 https://bugs.webkit.org/show_bug.cgi?id=56308 46032 46033 A Similar patch landed in r76960 (Requested by philn-tp on 46034 #webkit). 46035 46036 * GNUmakefile.am: 46037 46038 2011-03-14 Pavel Feldman <pfeldman (a] chromium.org> 46039 46040 Reviewed by Yury Semikhatsky. 46041 46042 Web Inspector: don't use innerText, use textContent instead. 46043 https://bugs.webkit.org/show_bug.cgi?id=56307 46044 46045 * inspector/front-end/AuditFormatters.js: 46046 (WebInspector.AuditFormatters.snippet): 46047 * inspector/front-end/ElementsTreeOutline.js: 46048 * inspector/front-end/GoToLineDialog.js: 46049 * inspector/front-end/HelpScreen.js: 46050 (WebInspector.HelpScreen): 46051 * inspector/front-end/ShortcutsHelp.js: 46052 (WebInspector.ShortcutsSection.prototype.renderSection): 46053 (WebInspector.ShortcutsSection.prototype._renderHeader): 46054 46055 2011-03-14 Andrey Adaikin <aandrey (a] google.com> 46056 46057 Reviewed by Pavel Feldman. 46058 46059 Web Inspector: [Text editor] Disable live-edit in favor of the text editor 46060 https://bugs.webkit.org/show_bug.cgi?id=56176 46061 46062 * inspector/front-end/Settings.js: 46063 46064 2011-03-14 Andrey Adaikin <aandrey (a] google.com> 46065 46066 Reviewed by Pavel Feldman. 46067 46068 Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter 46069 https://bugs.webkit.org/show_bug.cgi?id=56095 46070 46071 * inspector/front-end/TextViewer.js: 46072 (WebInspector.TextViewer): 46073 46074 2011-03-11 Pavel Podivilov <podivilov (a] chromium.org> 46075 46076 Reviewed by Pavel Feldman. 46077 46078 Web Inspector: move breakpoints restoring after live edit to debugger presentation model. 46079 https://bugs.webkit.org/show_bug.cgi?id=56179 46080 46081 Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel. 46082 46083 * inspector/front-end/DebuggerModel.js: 46084 (WebInspector.DebuggerModel): 46085 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): 46086 (WebInspector.DebuggerModel.prototype.setBreakpoint): 46087 (WebInspector.DebuggerModel.prototype.reset): 46088 (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource): 46089 (WebInspector.DebuggerModel.prototype.editScriptSource): 46090 (WebInspector.DebuggerModel.prototype.get callFrames): 46091 (WebInspector.DebuggerModel.prototype._pausedScript): 46092 (WebInspector.DebuggerModel.prototype._resumedScript): 46093 * inspector/front-end/DebuggerPresentationModel.js: 46094 (WebInspector.DebuggerPresentationModel): 46095 (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged): 46096 * inspector/front-end/ScriptsPanel.js: 46097 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 46098 46099 2011-03-10 Alexander Pavlov <apavlov (a] chromium.org> 46100 46101 Reviewed by Pavel Feldman. 46102 46103 Web Inspector: Optimize backend-frontend data transfer volume for CSS styles 46104 https://bugs.webkit.org/show_bug.cgi?id=56111 46105 46106 This change reduces the getStylesForNode() payload more than twice for BODY elements. 46107 46108 * inspector/InspectorStyleSheet.cpp: 46109 (WebCore::InspectorStyle::populateObjectWithStyleProperties): 46110 * inspector/front-end/CSSStyleModel.js: 46111 (WebInspector.CSSProperty.parsePayload): 46112 46113 2011-03-14 John Knottenbelt <jknotten (a] chromium.org> 46114 46115 Reviewed by Steve Block. 46116 46117 Detach Geolocation from Frame when Page destroyed. 46118 https://bugs.webkit.org/show_bug.cgi?id=52877 46119 46120 On Page destruction, any outstanding Geolocation permission 46121 requests should be cancelled, because the Geolocation can only 46122 access the client indirectly via m_frame->page(). 46123 46124 Page destruction is signalled by a call to the 46125 Frame::pageDestroyed() method. This explictly calls 46126 DOMWindow::resetGeolocation which ultimately calls Geolocation::reset. 46127 46128 Geolocation::reset() detaches from the GeolocationController, 46129 cancels requests, watches and single shots, and sets the 46130 permission state back to Unknown. 46131 46132 Frame::pageDestroyed() is also called by FrameLoader even though 46133 the page is not destroyed. We should still cancel permission 46134 requests, because the GeolocationClient will become inaccessible 46135 to the Geolocation object after this call. 46136 46137 Frame::transferChildFrameToNewDocument also indirectly calls 46138 Geolocation::reset when the frame is reparented between 46139 pages. Ideally we would like the Geolocation's activities to 46140 continue after reparenting, see bug 46141 https://bugs.webkit.org/show_bug.cgi?id=55577 46142 46143 Since GeolocationController is owned by Page, and all Geolocation 46144 objects will now unsubscribe from the GeolocationController on 46145 pageDetached(), we no longer need to call stopUpdating() from the 46146 GeolocationController's destructor. Instead we can simply assert 46147 that there should be no no observers. See related bug 46148 https://bugs.webkit.org/show_bug.cgi?id=52216 . 46149 46150 Introduced new method 'numberOfPendingPermissionRequests' on 46151 GeolocationClientMock to count the number of outstanding pending 46152 permission requests. This provides a reusable implementation for 46153 client-based implementations of the LayoutTestController's 46154 numberOfPendingGeolocationPermissionRequests method. 46155 46156 Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html 46157 46158 * page/DOMWindow.cpp: 46159 (WebCore::DOMWindow::resetGeolocation): 46160 * page/DOMWindow.h: 46161 * page/Frame.cpp: 46162 (WebCore::Frame::pageDestroyed): 46163 (WebCore::Frame::transferChildFrameToNewDocument): 46164 * page/Geolocation.cpp: 46165 (WebCore::Geolocation::~Geolocation): 46166 (WebCore::Geolocation::page): 46167 (WebCore::Geolocation::reset): 46168 (WebCore::Geolocation::disconnectFrame): 46169 (WebCore::Geolocation::lastPosition): 46170 (WebCore::Geolocation::requestPermission): 46171 (WebCore::Geolocation::startUpdating): 46172 (WebCore::Geolocation::stopUpdating): 46173 * page/Geolocation.h: 46174 * page/GeolocationController.cpp: 46175 (WebCore::GeolocationController::~GeolocationController): 46176 * page/Navigator.cpp: 46177 (WebCore::Navigator::resetGeolocation): 46178 * page/Navigator.h: 46179 * platform/mock/GeolocationClientMock.cpp: 46180 (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests): 46181 * platform/mock/GeolocationClientMock.h: 46182 46183 2011-03-14 Andrey Adaikin <aandrey (a] google.com> 46184 46185 Reviewed by Pavel Feldman. 46186 46187 Web Inspector: REGRESSION: Messed up with the tabIndex for text editor 46188 https://bugs.webkit.org/show_bug.cgi?id=56183 46189 46190 * inspector/front-end/SourceFrame.js: 46191 (WebInspector.SourceFrame.prototype._handleKeyDown): 46192 (WebInspector.SourceFrame.prototype._handleSave): 46193 (WebInspector.SourceFrame.prototype._handleRevertEditing): 46194 * inspector/front-end/TextViewer.js: 46195 (WebInspector.TextEditorMainPanel): 46196 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 46197 46198 2011-03-14 Chris Rogers <crogers (a] google.com> 46199 46200 Reviewed by Xan Lopez. 46201 46202 Add all web audio auto-generated files to GTK make system 46203 https://bugs.webkit.org/show_bug.cgi?id=50497 46204 46205 No new tests since these are build-system tweaks. 46206 46207 * GNUmakefile.am: 46208 46209 2011-03-14 Pavel Feldman <pfeldman (a] chromium.org> 46210 46211 Reviewed by Yury Semikhatsky. 46212 46213 Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel. 46214 https://bugs.webkit.org/show_bug.cgi?id=56268 46215 46216 * inspector/Inspector.idl: 46217 * inspector/InspectorDOMAgent.cpp: 46218 (WebCore::InspectorDOMAgent::reset): 46219 (WebCore::InspectorDOMAgent::performSearch): 46220 (WebCore::InspectorDOMAgent::cancelSearch): 46221 (WebCore::InspectorDOMAgent::onMatchJobsTimer): 46222 (WebCore::InspectorDOMAgent::reportNodesAsSearchResults): 46223 * inspector/InspectorDOMAgent.h: 46224 * inspector/front-end/DOMAgent.js: 46225 (WebInspector.DOMAgent.prototype.requestDocument.mycallback): 46226 (WebInspector.DOMAgent.prototype.requestDocument): 46227 (WebInspector.DOMAgent.prototype._attributesUpdated): 46228 (WebInspector.DOMAgent.prototype._characterDataModified): 46229 (WebInspector.DOMAgent.prototype._documentUpdated): 46230 (WebInspector.DOMAgent.prototype._setDocument): 46231 (WebInspector.DOMAgent.prototype._childNodeCountUpdated): 46232 (WebInspector.DOMAgent.prototype._childNodeInserted): 46233 (WebInspector.DOMAgent.prototype._childNodeRemoved): 46234 (WebInspector.DOMAgent.prototype._removeBreakpoints): 46235 (WebInspector.DOMAgent.prototype.performSearch): 46236 (WebInspector.DOMAgent.prototype.cancelSearch): 46237 (WebInspector.DOMDispatcher.prototype.searchResults): 46238 * inspector/front-end/ElementsPanel.js: 46239 (WebInspector.ElementsPanel): 46240 (WebInspector.ElementsPanel.prototype._reset): 46241 (WebInspector.ElementsPanel.prototype._documentUpdated): 46242 (WebInspector.ElementsPanel.prototype.searchCanceled): 46243 (WebInspector.ElementsPanel.prototype.performSearch): 46244 (WebInspector.ElementsPanel.prototype._addNodesToSearchResult): 46245 (WebInspector.ElementsPanel.prototype._attributesUpdated): 46246 (WebInspector.ElementsPanel.prototype._characterDataModified): 46247 (WebInspector.ElementsPanel.prototype._nodeInserted): 46248 (WebInspector.ElementsPanel.prototype._nodeRemoved): 46249 (WebInspector.ElementsPanel.prototype._childNodeCountUpdated): 46250 (WebInspector.ElementsPanel.prototype.updateModifiedNodes): 46251 46252 2011-03-14 Pavel Feldman <pfeldman (a] chromium.org> 46253 46254 Reviewed by Yury Semikhatsky. 46255 46256 Web Inspector: add tests for edit dom operations. 46257 https://bugs.webkit.org/show_bug.cgi?id=56248 46258 46259 Test: inspector/elements/edit-dom-actions.html 46260 46261 * inspector/Inspector.idl: 46262 * inspector/InspectorDOMAgent.cpp: 46263 (WebCore::InspectorDOMAgent::assertNode): 46264 (WebCore::InspectorDOMAgent::assertElement): 46265 (WebCore::InspectorDOMAgent::assertHTMLElement): 46266 (WebCore::InspectorDOMAgent::nodeToSelectOn): 46267 (WebCore::InspectorDOMAgent::querySelector): 46268 (WebCore::InspectorDOMAgent::querySelectorAll): 46269 (WebCore::InspectorDOMAgent::setAttribute): 46270 (WebCore::InspectorDOMAgent::removeAttribute): 46271 (WebCore::InspectorDOMAgent::getOuterHTML): 46272 (WebCore::InspectorDOMAgent::setOuterHTML): 46273 * inspector/InspectorDOMAgent.h: 46274 * inspector/front-end/DOMAgent.js: 46275 (WebInspector.DOMNode.prototype.setAttribute): 46276 (WebInspector.DOMNode.prototype.removeAttribute): 46277 * inspector/front-end/inspector.js: 46278 (WebInspector.startEditing.defaultFinishHandler): 46279 46280 2011-03-14 Brady Eidson <beidson (a] apple.com> 46281 46282 Reviewed by Dan Bernstein. 46283 46284 <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172 46285 Need WK2 API to view/manage origins with LocalStorage 46286 46287 * storage/StorageTracker.cpp: 46288 (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread 46289 before the StorageTracker thread can do it on the background thread. 46290 46291 2011-03-13 Anton D'Auria <adauria (a] apple.com> 46292 46293 Reviewed by Brady Eidson and David Levin, landed by Brady Eidson. 46294 46295 Fixed lock-taking order to prevent deadlock, added lock for m_client, 46296 removed premature return in syncImportOriginIdentifiers when tracker 46297 db does not exist because that prevented syncFileSystemAndTrackerDatabase() 46298 from running until next LocalStorage db creation, cleaned up 46299 StorageTracker::scheduleTask() code for readability. 46300 46301 https://bugs.webkit.org/show_bug.cgi?id=56285 46302 46303 * storage/StorageTracker.cpp: 46304 (WebCore::StorageTracker::trackerDatabasePath): 46305 (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't 46306 optionally opened (as in the case when it doesn't exist on disk), don't 46307 exit early and call syncFileSystemAndTrackerDatabase(), which will create 46308 a tracker db if localstorage db files are found on disk by calling setOriginDetails. 46309 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): 46310 (WebCore::StorageTracker::setOriginDetails): 46311 (WebCore::StorageTracker::scheduleTask): readability changes. 46312 (WebCore::StorageTracker::syncSetOriginDetails): 46313 (WebCore::StorageTracker::syncDeleteAllOrigins): 46314 (WebCore::StorageTracker::syncDeleteOrigin): 46315 (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock. 46316 (WebCore::StorageTracker::setClient): 46317 * storage/StorageTracker.h: 46318 46319 2011-03-13 Anton D'Auria <adauria (a] apple.com> 46320 46321 Reviewed and landed by Brady Eidson. 46322 46323 Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1 46324 https://bugs.webkit.org/show_bug.cgi?id=56240 46325 46326 This assertion is invalid until LocalStorage is either global or is isolated by PageGroup. 46327 46328 * storage/StorageTracker.cpp: 46329 (WebCore::StorageTracker::origins): 46330 (WebCore::StorageTracker::deleteAllOrigins): 46331 (WebCore::StorageTracker::deleteOrigin): 46332 46333 2011-03-13 Pratik Solanki <psolanki (a] apple.com> 46334 46335 Reviewed by Dan Bernstein. 46336 46337 Make adjustMIMETypeIfNecessary use CFNetwork directly 46338 https://bugs.webkit.org/show_bug.cgi?id=55912 46339 46340 Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain. 46341 46342 * platform/network/mac/WebCoreURLResponse.mm: 46343 (WebCore::adjustMIMETypeIfNecessary): 46344 46345 2011-03-13 Dan Bernstein <mitz (a] apple.com> 46346 46347 Reviewed by Sam Weinig. 46348 46349 Include hyphenation information in text representation of render tree 46350 https://bugs.webkit.org/show_bug.cgi?id=56287 46351 46352 (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation 46353 string. 46354 46355 2011-03-13 David Levin <levin (a] chromium.org> 46356 46357 Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288 46358 above addressing this FIXME. 46359 46360 * css/CSSStyleSelector.cpp: 46361 (WebCore::CSSStyleSelector::applyProperty): 46362 46363 2011-03-13 David Levin <levin (a] chromium.org> 46364 46365 Build fix adding remaining enum values to switch statement. 46366 46367 * css/CSSStyleSelector.cpp: 46368 (WebCore::CSSStyleSelector::applyProperty): 46369 46370 2011-03-13 Sam Weinig <sam (a] webkit.org> 46371 46372 Fix windows build. 46373 46374 * platform/network/cf/ResourceErrorCF.cpp: 46375 (WebCore::ResourceError::ResourceError): 46376 Add missing constructor. 46377 46378 2011-03-13 David Sosby <dsosby (a] rim.com> 46379 46380 Reviewed by Dan Bernstein. 46381 46382 REGRESSION: Soft hyphen is not always rendered 46383 https://bugs.webkit.org/show_bug.cgi?id=56017 46384 46385 The check to flag a text block as hyphenated was only 46386 occurring at break points in the line. If no break points 46387 were found after the soft hyphen then the line would not 46388 be flagged hyphenated. Adding a check for soft hyphen at 46389 the end of the text run resolves the issue. 46390 46391 Test: fast/text/soft-hyphen-4.html 46392 46393 * rendering/RenderBlockLineLayout.cpp: 46394 (WebCore::RenderBlock::findNextLineBreak): 46395 46396 2011-03-13 Dan Bernstein <mitz (a] apple.com> 46397 46398 Reviewed by Mark Rowe. 46399 46400 REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode 46401 https://bugs.webkit.org/show_bug.cgi?id=56280 46402 46403 * rendering/RenderBlockLineLayout.cpp: 46404 (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0. 46405 46406 2011-03-13 Sam Weinig <sam (a] webkit.org> 46407 46408 Reviewed by Anders Carlsson. 46409 46410 Add ability to create a WKErrorRef 46411 <rdar://problem/9115768> 46412 https://bugs.webkit.org/show_bug.cgi?id=56279 46413 46414 * WebCore.exp.in: 46415 Add new exports. 46416 46417 * platform/network/cf/ResourceError.h: 46418 * platform/network/cf/ResourceErrorCF.cpp: 46419 (WebCore::ResourceError::platformCompare): 46420 (WebCore::ResourceError::cfError): 46421 (WebCore::ResourceError::operator CFErrorRef): 46422 (WebCore::ResourceError::ResourceError): 46423 (WebCore::ResourceError::cfStreamError): 46424 (WebCore::ResourceError::operator CFStreamError): 46425 * platform/network/mac/ResourceErrorMac.mm: 46426 (WebCore::ResourceError::ResourceError): 46427 (WebCore::ResourceError::platformCompare): 46428 (WebCore::ResourceError::nsError): 46429 (WebCore::ResourceError::operator NSError *): 46430 (WebCore::ResourceError::cfError): 46431 (WebCore::ResourceError::operator CFErrorRef): 46432 Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef 46433 regardless of whether CFNetwork is being used. 46434 46435 2011-03-13 Pratik Solanki <psolanki (a] apple.com> 46436 46437 Reviewed by Brady Eidson. 46438 46439 Make adjustMIMETypeIfNecessary use CFNetwork directly 46440 https://bugs.webkit.org/show_bug.cgi?id=55912 46441 46442 Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function 46443 WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally 46444 identical. 46445 46446 Testing is covered by existing LayoutTests. 46447 46448 * WebCore.exp.in: 46449 * platform/mac/WebCoreSystemInterface.h: 46450 * platform/mac/WebCoreSystemInterface.mm: 46451 * platform/network/mac/ResourceHandleMac.mm: 46452 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 46453 * platform/network/mac/WebCoreURLResponse.h: 46454 * platform/network/mac/WebCoreURLResponse.mm: 46455 (WebCore::createBinaryExtensionsSet): 46456 (WebCore::createExtensionToMIMETypeMap): 46457 (WebCore::mimeTypeFromUTITree): 46458 (WebCore::adjustMIMETypeIfNecessary): 46459 46460 2011-03-13 Jeremy Moskovich <jeremy (a] chromium.org> 46461 46462 Reviewed by Dimitri Glazkov. 46463 46464 Update comment in CSSValueKeywords.in 46465 https://bugs.webkit.org/show_bug.cgi?id=56266 46466 46467 The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h 46468 in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated. 46469 46470 No tests - just updating a comment. 46471 46472 * css/CSSValueKeywords.in: 46473 46474 2011-03-13 Anton D'Auria <adauria (a] apple.com> 46475 46476 Reviewed by Alice Liu. 46477 46478 StorageTracker constructor shouldn't have initialization code and isMainThread() assertion 46479 https://bugs.webkit.org/show_bug.cgi?id=56259 46480 46481 Move all StorageTracker initialization to 46482 StorageTracker::initializeTracker. This also removes the 46483 requirement that the StorageTracker constructor isn't run 46484 on the main thread. 46485 46486 * storage/StorageTracker.cpp: 46487 (WebCore::StorageTracker::initializeTracker): 46488 (WebCore::StorageTracker::tracker): 46489 (WebCore::StorageTracker::StorageTracker): 46490 46491 2011-03-13 Rob Buis <rwlbuis (a] gmail.com> 46492 46493 Reviewed by Dave Hyatt. 46494 46495 REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com 46496 https://bugs.webkit.org/show_bug.cgi?id=53470 46497 46498 Prefer !important over normal properties when dealing with duplicate properties in style rules. 46499 46500 Test: fast/css/duplicate-property-in-rule-important.html 46501 46502 * css/CSSMutableStyleDeclaration.cpp: 46503 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 46504 46505 2011-03-12 Sheriff Bot <webkit.review.bot (a] gmail.com> 46506 46507 Unreviewed, rolling out r80895. 46508 http://trac.webkit.org/changeset/80895 46509 https://bugs.webkit.org/show_bug.cgi?id=56261 46510 46511 Causing crashes in several tests including 46512 t1202-counters-16-c.html (see 46513 http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html) 46514 (Requested by dave_levin on #webkit). 46515 46516 * rendering/CounterNode.cpp: 46517 (WebCore::CounterNode::CounterNode): 46518 (WebCore::CounterNode::create): 46519 (WebCore::CounterNode::resetRenderer): 46520 (WebCore::CounterNode::resetRenderers): 46521 (WebCore::CounterNode::recount): 46522 (WebCore::CounterNode::insertAfter): 46523 (WebCore::CounterNode::removeChild): 46524 (WebCore::showTreeAndMark): 46525 * rendering/CounterNode.h: 46526 (WebCore::CounterNode::renderer): 46527 * rendering/RenderCounter.cpp: 46528 (WebCore::findPlaceForCounter): 46529 (WebCore::RenderCounter::~RenderCounter): 46530 (WebCore::RenderCounter::originalText): 46531 (WebCore::RenderCounter::invalidate): 46532 (WebCore::destroyCounterNodeWithoutMapRemoval): 46533 (WebCore::RenderCounter::destroyCounterNodes): 46534 (WebCore::RenderCounter::destroyCounterNode): 46535 (WebCore::updateCounters): 46536 (showCounterRendererTree): 46537 * rendering/RenderCounter.h: 46538 * rendering/RenderObjectChildList.cpp: 46539 (WebCore::invalidateCountersInContainer): 46540 (WebCore::RenderObjectChildList::invalidateCounters): 46541 * rendering/RenderObjectChildList.h: 46542 46543 2011-03-12 Darin Adler <darin (a] apple.com> 46544 46545 Reviewed by Dan Bernstein. 46546 46547 REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array 46548 https://bugs.webkit.org/show_bug.cgi?id=56258 46549 46550 No tests because the wrong hashing is mostly harmless. The only symptom 46551 we have seen is an occasional assertion in debug builds about the size 46552 not being a multiple of two. But a worse hash is worse for performance too. 46553 46554 * platform/cf/BinaryPropertyList.cpp: 46555 (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather 46556 than the number of array entries. 46557 46558 2011-03-12 Cameron Zwarich <zwarich (a] apple.com> 46559 46560 Not reviewed. 46561 46562 Fix the build with newer GCCs and remove some extra whitespae. 46563 46564 * bindings/js/SerializedScriptValue.cpp: 46565 (WebCore::uint8_t): 46566 46567 2011-03-12 Cameron Zwarich <zwarich (a] apple.com> 46568 46569 Rubber-stamped by Oliver Hunt. 46570 46571 Removed unused ARMv5 code. The ARMv5 case now falls under the general 46572 unaligned accessed case. 46573 46574 * bindings/js/SerializedScriptValue.cpp: 46575 (WebCore::CloneDeserializer::readLittleEndian): 46576 (WebCore::CloneDeserializer::readString): 46577 46578 2011-03-12 Cameron Zwarich <zwarich (a] apple.com> 46579 46580 Reviewed by Oliver Hunt. 46581 46582 WebCore fails to build with Clang on ARM 46583 https://bugs.webkit.org/show_bug.cgi?id=56257 46584 46585 Add an explicit instantiation of writeLittleEndian for uint8_t and move it to 46586 namespace scope, since explicit specializations are not allowed at class scope. 46587 46588 * bindings/js/SerializedScriptValue.cpp: 46589 (WebCore::writeLittleEndian): 46590 46591 2011-03-11 Darin Adler <darin (a] apple.com> 46592 46593 Reviewed by Sam Weinig. 46594 46595 Dragging image to desktop gives webloc instead of image file in WebKit2 46596 https://bugs.webkit.org/show_bug.cgi?id=56193 46597 46598 * WebCore.exp.in: Added some additional exports. Re-sorted. 46599 46600 2011-03-12 Sheriff Bot <webkit.review.bot (a] gmail.com> 46601 46602 Unreviewed, rolling out r80919. 46603 http://trac.webkit.org/changeset/80919 46604 https://bugs.webkit.org/show_bug.cgi?id=56251 46605 46606 all windows bots failed to compile this change (Requested by 46607 loislo on #webkit). 46608 46609 * bridge/c/c_class.cpp: 46610 * bridge/c/c_runtime.cpp: 46611 * bridge/jni/JavaMethod.cpp: 46612 * plugins/PluginViewNone.cpp: 46613 46614 2011-03-12 Patrick Gansterer <paroga (a] webkit.org> 46615 46616 Unreviewed WinCE build fix for r80900. 46617 46618 * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp. 46619 46620 2011-03-12 Andras Becsi <abecsi (a] webkit.org> 46621 46622 Unreviewed typo fix. 46623 46624 No new tests needed. 46625 46626 * WebCore.pro: Fix typo in header name. 46627 46628 2011-03-12 Pavel Feldman <pfeldman (a] chromium.org> 46629 46630 Not reviewed: Inspect Element action regression fix. 46631 46632 * inspector/front-end/inspector.js: 46633 (WebInspector.inspect): 46634 46635 2011-03-12 Ilya Tikhonovsky <loislo (a] chromium.org> 46636 46637 Unreviewed. One line fix for inspector/dom-breakpoints.html 46638 46639 * inspector/front-end/BreakpointManager.js: 46640 (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode): 46641 46642 2011-03-12 Ilya Tikhonovsky <loislo (a] chromium.org> 46643 46644 Unreviewed build fix. 46645 46646 Almost all inspector tests are crashing after r80928. 46647 46648 * inspector/front-end/inspector.js: 46649 46650 2011-03-11 Pavel Feldman <pfeldman (a] chromium.org> 46651 46652 Reviewed by Yury Semikhatsky. 46653 46654 Web Inspector: follow up to error reporting, fixing multiple regressions. 46655 https://bugs.webkit.org/show_bug.cgi?id=56243 46656 46657 * inspector/InjectedScript.cpp: 46658 (WebCore::InjectedScript::setPropertyValue): 46659 * inspector/InjectedScript.h: 46660 * inspector/Inspector.idl: 46661 * inspector/InspectorDOMAgent.cpp: 46662 (WebCore::InspectorDOMAgent::getChildNodes): 46663 (WebCore::InspectorDOMAgent::getOuterHTML): 46664 (WebCore::InspectorDOMAgent::getEventListenersForNode): 46665 * inspector/InspectorDOMAgent.h: 46666 * inspector/InspectorRuntimeAgent.cpp: 46667 (WebCore::InspectorRuntimeAgent::setPropertyValue): 46668 * inspector/InspectorRuntimeAgent.h: 46669 * inspector/front-end/DOMAgent.js: 46670 (WebInspector.DOMNode.prototype.setNodeName): 46671 (WebInspector.DOMNode.prototype.setNodeValue): 46672 (WebInspector.DOMNode.prototype.getChildNodes): 46673 (WebInspector.DOMNode.prototype.getOuterHTML): 46674 (WebInspector.DOMNode.prototype.setOuterHTML): 46675 (WebInspector.DOMNode.prototype.removeNode): 46676 (WebInspector.DOMNode.prototype.copyNode): 46677 (WebInspector.DOMAgent.prototype.pushNodeToFrontend): 46678 (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): 46679 (WebInspector.EventListeners.getEventListenersForNode): 46680 * inspector/front-end/DOMStorage.js: 46681 (WebInspector.DOMStorage.prototype.getEntries): 46682 (WebInspector.DOMStorage.prototype.setItem): 46683 (WebInspector.DOMStorage.prototype.removeItem): 46684 * inspector/front-end/DOMStorageItemsView.js: 46685 (WebInspector.DOMStorageItemsView.prototype.update): 46686 (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): 46687 * inspector/front-end/ElementsTreeOutline.js: 46688 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): 46689 (WebInspector.ElementsTreeElement.prototype.updateChildren): 46690 (): 46691 * inspector/front-end/EventListenersSidebarPane.js: 46692 (WebInspector.EventListenersSidebarPane.prototype.update.callback): 46693 (WebInspector.EventListenersSidebarPane.prototype.update): 46694 * inspector/front-end/ObjectPropertiesSection.js: 46695 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback): 46696 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): 46697 * inspector/front-end/PropertiesSidebarPane.js: 46698 (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved): 46699 * inspector/front-end/RemoteObject.js: 46700 (WebInspector.RemoteObject.prototype.setPropertyValue): 46701 (WebInspector.RemoteObject.prototype.evaluate): 46702 * inspector/front-end/inspector.js: 46703 46704 2011-03-12 Jer Noble <jer.noble (a] apple.com> 46705 46706 Unreviewed build fix. 46707 46708 Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING) 46709 checks. 46710 46711 * dom/Document.cpp: 46712 (WebCore::Document::webkitWillEnterFullScreenForElement): 46713 (WebCore::Document::webkitDidEnterFullScreenForElement): 46714 (WebCore::Document::webkitWillExitFullScreenForElement): 46715 (WebCore::Document::webkitDidExitFullScreenForElement): 46716 46717 2011-03-12 Ryuan Choi <ryuan.choi (a] samsung.com> 46718 46719 Unreviewed build fix. 46720 46721 [EFL] Fix build break because of several reason. 46722 https://bugs.webkit.org/show_bug.cgi?id=56244 46723 46724 * CMakeLists.txt: Add missing files. 46725 * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL). 46726 46727 2011-03-11 Yury Semikhatsky <yurys (a] chromium.org> 46728 46729 Reviewed by Pavel Feldman. 46730 46731 Web Inspector: move profiler related methods from inspector agent to profiler agent 46732 https://bugs.webkit.org/show_bug.cgi?id=56204 46733 46734 * inspector/Inspector.idl: 46735 * inspector/InspectorAgent.cpp: 46736 (WebCore::InspectorAgent::InspectorAgent): 46737 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 46738 (WebCore::InspectorAgent::setFrontend): 46739 (WebCore::InspectorAgent::disconnectFrontend): 46740 (WebCore::InspectorAgent::populateScriptObjects): 46741 (WebCore::InspectorAgent::showProfilesPanel): 46742 * inspector/InspectorAgent.h: 46743 * inspector/InspectorController.cpp: 46744 (WebCore::InspectorController::enableProfiler): 46745 (WebCore::InspectorController::disableProfiler): 46746 (WebCore::InspectorController::profilerEnabled): 46747 (WebCore::InspectorController::startUserInitiatedProfiling): 46748 (WebCore::InspectorController::stopUserInitiatedProfiling): 46749 (WebCore::InspectorController::isRecordingUserInitiatedProfile): 46750 * inspector/InspectorInstrumentation.cpp: 46751 (WebCore::InspectorInstrumentation::profilerEnabledImpl): 46752 * inspector/InspectorProfilerAgent.cpp: 46753 (WebCore::InspectorProfilerAgent::create): 46754 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): 46755 (WebCore::InspectorProfilerAgent::enable): 46756 (WebCore::InspectorProfilerAgent::disable): 46757 (WebCore::InspectorProfilerAgent::setFrontend): 46758 (WebCore::InspectorProfilerAgent::clearFrontend): 46759 (WebCore::InspectorProfilerAgent::restore): 46760 (WebCore::InspectorProfilerAgent::restoreEnablement): 46761 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 46762 (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): 46763 * inspector/InspectorProfilerAgent.h: 46764 (WebCore::InspectorProfilerAgent::start): 46765 (WebCore::InspectorProfilerAgent::stop): 46766 * inspector/front-end/ProfileView.js: 46767 (WebInspector.CPUProfileType.prototype.buttonClicked): 46768 * inspector/front-end/ProfilesPanel.js: 46769 (WebInspector.ProfilesPanel): 46770 (WebInspector.ProfilesPanel.prototype._registerProfileType): 46771 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 46772 * inspector/front-end/inspector.js: 46773 (WebInspector._createPanels): 46774 46775 2011-03-11 Jer Noble <jer.noble (a] apple.com> 46776 46777 Reviewed by Anders Carlsson. 46778 46779 WebCore::Document should notify ChromeClient when the full screen renderer's backing changes. 46780 https://bugs.webkit.org/show_bug.cgi?id=56226 46781 46782 * dom/Document.cpp: 46783 (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer(). 46784 (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto. 46785 (WebCore::Document::webkitWillExitFullScreenForElement): Ditto. 46786 (WebCore::Document::webkitDidExitFullScreenForElement): Ditto. 46787 (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size. 46788 46789 2011-03-11 Jer Noble <jer.noble (a] apple.com> 46790 46791 Reviewed by Anders Carlsson. 46792 46793 Create new interface stubs to support full screen mode in WebKit2. 46794 46795 WebKit2: Plumb new full screen animation APIs through WebKit2. 46796 https://bugs.webkit.org/show_bug.cgi?id=55993 46797 46798 * page/ChromeClient.h: 46799 (WebCore::ChromeClient::setRootFullScreenLayer): Added. 46800 46801 2011-03-11 Oliver Hunt <oliver (a] apple.com> 46802 46803 Reviewed by Gavin Barraclough. 46804 46805 Ensure all values are correctly tagged in the registerfile 46806 https://bugs.webkit.org/show_bug.cgi?id=56214 46807 46808 Make sure everything builds still. 46809 46810 * bridge/c/c_class.cpp: 46811 * bridge/c/c_runtime.cpp: 46812 * bridge/jni/JavaMethod.cpp: 46813 * plugins/PluginViewNone.cpp: 46814 46815 2011-03-11 Mark Rowe <mrowe (a] apple.com> 46816 46817 Fix the 32-bit build. 46818 46819 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: 46820 (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): 46821 46822 2011-03-11 Mark Rowe <mrowe (a] apple.com> 46823 46824 Rubber-stamped by Eric Carlsson. 46825 46826 <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects. 46827 46828 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: 46829 (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer): 46830 (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset): 46831 46832 2011-03-11 Chris Marrin <cmarrin (a] apple.com> 46833 46834 Unreviewed. 46835 46836 Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468 46837 46838 * platform/graphics/ca/GraphicsLayerCA.cpp: 46839 (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): 46840 46841 2011-03-11 Brady Eidson <beidson (a] apple.com> 46842 46843 Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216 46844 46845 * loader/icon/IconDatabase.h: Make this guy public. 46846 46847 2011-03-11 Brady Eidson <beidson (a] apple.com> 46848 46849 Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216 46850 46851 * loader/icon/IconDatabase.h: 46852 (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here? 46853 46854 2011-03-11 Brady Eidson <beidson (a] apple.com> 46855 46856 https://bugs.webkit.org/show_bug.cgi?id=56216 46857 Fix the Qt build following the same pattern of the patch. 46858 46859 * loader/icon/IconDatabase.h: 46860 * loader/icon/IconDatabaseBase.cpp: 46861 (WebCore::IconDatabaseBase::databasePath): Added to the virtual base. 46862 * loader/icon/IconDatabaseBase.h: 46863 (WebCore::IconDatabaseBase::isOpen): Ditto. 46864 46865 2011-03-11 Ben Taylor <bentaylor.solx86 (a] gmail.com> 46866 46867 Reviewed by Alexey Proskuryakov. 46868 46869 https://bugs.webkit.org/show_bug.cgi?id=56198 46870 Fix conditional which had an int for one case and a pointer for another. 46871 46872 No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++ 46873 46874 * loader/appcache/ApplicationCacheGroup.cpp: 46875 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 46876 46877 2011-03-11 Brady Eidson <beidson (a] apple.com> 46878 46879 Windows build fix. 46880 46881 * history/HistoryItem.cpp: 46882 * loader/icon/IconDatabaseBase.cpp: 46883 46884 2011-03-11 Brady Eidson <beidson (a] apple.com> 46885 46886 Reviewed by Sam Weinig. 46887 46888 <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216 46889 Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation. 46890 46891 Project file stuff: 46892 * Android.mk: 46893 * CMakeLists.txt: 46894 * GNUmakefile.am: 46895 * WebCore.gyp/WebCore.gyp: 46896 * WebCore.gypi: 46897 * WebCore.pro: 46898 * WebCore.xcodeproj/project.pbxproj: 46899 * WebCore.vcproj/WebCore.vcproj: 46900 46901 * loader/icon/IconDatabase.cpp: 46902 * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase. 46903 46904 * loader/icon/IconDatabaseBase.cpp: Added. 46905 (WebCore::IconDatabaseBase::iconURLForPageURL): 46906 (WebCore::iconDatabase): 46907 (WebCore::setGlobalIconDatabase): 46908 * loader/icon/IconDatabaseBase.h: Added. 46909 (WebCore::IconDatabaseBase::IconDatabaseBase): 46910 (WebCore::IconDatabaseBase::~IconDatabaseBase): 46911 (WebCore::IconDatabaseBase::setEnabled): 46912 (WebCore::IconDatabaseBase::isEnabled): 46913 (WebCore::IconDatabaseBase::defaultIcon): 46914 (WebCore::IconDatabaseBase::retainIconForPageURL): 46915 (WebCore::IconDatabaseBase::releaseIconForPageURL): 46916 (WebCore::IconDatabaseBase::iconForPageURL): 46917 (WebCore::IconDatabaseBase::setIconURLForPageURL): 46918 (WebCore::IconDatabaseBase::setIconDataForIconURL): 46919 (WebCore::IconDatabaseBase::iconDataKnownForIconURL): 46920 (WebCore::IconDatabaseBase::loadDecisionForIconURL): 46921 (WebCore::IconDatabaseBase::pageURLMappingCount): 46922 (WebCore::IconDatabaseBase::retainedPageURLCount): 46923 (WebCore::IconDatabaseBase::iconRecordCount): 46924 (WebCore::IconDatabaseBase::iconRecordCountWithData): 46925 (WebCore::IconDatabaseBase::importIconURLForPageURL): 46926 (WebCore::IconDatabaseBase::importIconDataForIconURL): 46927 (WebCore::IconDatabaseBase::shouldStopThreadActivity): 46928 (WebCore::IconDatabaseBase::open): 46929 (WebCore::IconDatabaseBase::close): 46930 (WebCore::IconDatabaseBase::removeAllIcons): 46931 (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled): 46932 (WebCore::IconDatabaseBase::setClient): 46933 46934 * loader/icon/IconDatabaseNone.cpp: Removed. 46935 46936 2011-03-11 Brady Eidson <beidson (a] apple.com> 46937 46938 Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878 46939 46940 * page/PageGroup.h: Declare this method, even if the definition will end up being empty. 46941 46942 2011-03-11 Michael Nordman <michaeln (a] google.com> 46943 46944 Reviewed by Dmitry Titov. 46945 46946 Adding the '~' to the dtor (duh). 46947 46948 No new tests. 46949 46950 * storage/SQLCallbackWrapper.h: 46951 (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper): 46952 46953 2011-03-11 Carol Szabo <carol.szabo (a] nokia.com> 46954 46955 Reviewed by David Hyatt. 46956 46957 Introduced double linkage between a CounterNode and its display renderer. 46958 46959 use of freed pointer in WebCore::RenderCounter::originalText() 46960 https://bugs.webkit.org/show_bug.cgi?id=56065 46961 46962 No new tests. This bug could only be reproduced manually by 46963 refreshing the page during load at a critical point. 46964 See bug attachment for testing. 46965 46966 * rendering/CounterNode.cpp: 46967 Introduced new member "m_owner" to store the renderer that has the 46968 style directives that produce the CounterNode. 46969 Repurposed m_renderer to reffer to the RenderCounter that shows the 46970 CounterNode. 46971 (WebCore::CounterNode::CounterNode): 46972 Updated member initialization. 46973 (WebCore::CounterNode::create): 46974 (WebCore::CounterNode::resetRenderer): 46975 (WebCore::CounterNode::resetRenderers): 46976 (WebCore::CounterNode::recount): 46977 (WebCore::CounterNode::removeChild): 46978 (WebCore::CounterNode::insertAfter): 46979 No functional changes. 46980 (WebCore::showTreeAndMark): 46981 Added flushing to ensure that the output is complete. 46982 * rendering/CounterNode.h: 46983 (WebCore::CounterNode::owner): 46984 Renamed from renderer() 46985 (WebCore::CounterNode::renderer): 46986 (WebCore::CounterNode::setRenderer): 46987 Added new accessors for the display renderer. 46988 * rendering/RenderCounter.cpp: 46989 (WebCore::findPlaceForCounter): 46990 Fixed comments. No functional changes. 46991 (WebCore::RenderCounter::~RenderCounter): 46992 Made sure that the CounterNode that this renderers displays is 46993 detached from this. 46994 (WebCore::RenderCounter::originalText): 46995 (WebCore::RenderCounter::invalidate): 46996 Added code to update m_renderer on the displayed CounterNode. 46997 (WebCore::destroyCounterNodeWithoutMapRemoval): 46998 (WebCore::RenderCounter::destroyCounterNodes): 46999 (WebCore::RenderCounter::destroyCounterNode): 47000 (WebCore::updateCounters): 47001 No change, just kept code in line with the changes above. 47002 (showCounterRendererTree): 47003 Added fflush to ensure complete display. 47004 * rendering/RenderCounter.h: 47005 * rendering/RenderObjectChildList.cpp: 47006 * rendering/RenderObjectChildList.h: 47007 Removed unneeded invalidateCounters related functions. 47008 47009 2011-03-11 Luke Macpherson <macpherson (a] chromium.org> 47010 47011 Reviewed by Eric Seidel. 47012 47013 Introduce lookup-table based approach for applying CSS properties. 47014 The aim is to be a starting point for refactoring 47015 CSSStyleSelector::applyProperty() into more readable, maintainable code. 47016 https://bugs.webkit.org/show_bug.cgi?id=54707 47017 47018 No new behavior / covered by existing tests. 47019 47020 * css/CSSStyleApplyProperty.cpp: Added. 47021 (WebCore::ApplyPropertyNull): 47022 Class that provides empty implementations of inherit, initial, value. 47023 (WebCore::ApplyPropertyDefault::ApplyPropertyDefault): 47024 Class that calls the appropriate RenderStyle setters directly. 47025 (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase): 47026 Class for handling CSSProperty*Color. 47027 (WebCore::ApplyPropertyColor::ApplyPropertyColor): 47028 Class for handling CSSPropertyColor. 47029 (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty): 47030 Singleton initializer. 47031 (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): 47032 Constructor that bulds up the map from property id to apply-er objects. 47033 * css/CSSStyleApplyProperty.h: Added. 47034 (WebCore::CSSStyleApplyProperty::inherit): 47035 Handle the inherit case for a given property. 47036 (WebCore::CSSStyleApplyProperty::initial): 47037 Handle the initial case for a given property. 47038 (WebCore::CSSStyleApplyProperty::value): 47039 Apply a value to a given property. 47040 (WebCore::CSSStyleApplyProperty::implements): 47041 Returns true if the provided property id is implemented. 47042 (WebCore::CSSStyleApplyProperty::index): 47043 Private function to determine the index of a property the property map. 47044 (WebCore::CSSStyleApplyProperty::valid): 47045 Function to determine that a given property id is valid. 47046 (WebCore::CSSStyleApplyProperty::setPropertyValue): 47047 (WebCore::CSSStyleApplyProperty::propertyValue): 47048 * css/CSSStyleSelector.cpp: 47049 (WebCore::CSSStyleSelector::CSSStyleSelector): 47050 Get reference to the CSSStyleApplyProperty singleton. 47051 (WebCore::CSSStyleSelector::applyProperty): 47052 Now calls into CSSStyleApplyProperty for implemented property ids. 47053 Deleted color-related methods from the property id switch. 47054 * css/CSSStyleSelector.h: 47055 (WebCore::CSSStyleSelector::style): 47056 Made public to allow access from CSSStyleApplyProperty. 47057 (WebCore::CSSStyleSelector::parentStyle): 47058 Made public to allow access from CSSStyleApplyProperty. 47059 * rendering/style/RenderStyle.h: 47060 Made CSSStyleApplyProperty a friend class. Necessary because it needs 47061 to access the private getters and setters on this clsass. 47062 47063 2011-03-11 Anton D'Auria <adauria (a] apple.com> 47064 47065 Reviewed and landed by Brady Eidson. 47066 47067 Add WebKit1 API to view and delete local storage 47068 https://bugs.webkit.org/show_bug.cgi?id=51878 47069 47070 Created StorageTracker as a central point for tracking and deleting LocalStorage per origin. 47071 StorageTracker maintains its own database of origin identifiers and backing db paths, 47072 and this allows it to contain more relational data in the future, like variable quotas per origin. 47073 47074 On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds 47075 an origin entry when StorageAreaSync performs a first sync for an origin. 47076 47077 All StorageTracker file operations are performed on one background thread with a task queue. 47078 47079 Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html 47080 storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html 47081 storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html 47082 storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html 47083 storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html 47084 47085 * GNUmakefile.am: 47086 * WebCore.exp.in: 47087 * WebCore.gypi: 47088 * WebCore.pro: 47089 * WebCore.vcproj/WebCore.vcproj: 47090 * WebCore.xcodeproj/project.pbxproj: 47091 * page/PageGroup.cpp: 47092 (WebCore::PageGroup::clearLocalStorageForAllOrigins): 47093 (WebCore::PageGroup::clearLocalStorageForOrigin): 47094 (WebCore::PageGroup::syncLocalStorage): 47095 (WebCore::PageGroup::numberOfPageGroups): 47096 * page/PageGroup.h: 47097 * platform/chromium/FileSystemChromium.cpp: 47098 (WebCore::listDirectory): 47099 * platform/posix/FileSystemPOSIX.cpp: 47100 (WebCore::listDirectory): 47101 * storage/LocalStorageTask.cpp: 47102 (WebCore::LocalStorageTask::LocalStorageTask): 47103 (WebCore::LocalStorageTask::performTask): 47104 * storage/LocalStorageTask.h: 47105 (WebCore::LocalStorageTask::createOriginIdentifiersImport): 47106 (WebCore::LocalStorageTask::createSetOriginDetails): 47107 (WebCore::LocalStorageTask::createDeleteOrigin): 47108 (WebCore::LocalStorageTask::createDeleteAllOrigins): 47109 * storage/StorageAreaImpl.cpp: 47110 (WebCore::StorageAreaImpl::clearForOriginDeletion): 47111 (WebCore::StorageAreaImpl::sync): 47112 * storage/StorageAreaImpl.h: 47113 * storage/StorageAreaSync.cpp: 47114 (WebCore::StorageAreaSync::scheduleCloseDatabase): 47115 (WebCore::StorageAreaSync::openDatabase): 47116 (WebCore::StorageAreaSync::sync): 47117 (WebCore::StorageAreaSync::deleteEmptyDatabase): 47118 (WebCore::StorageAreaSync::scheduleSync): 47119 * storage/StorageAreaSync.h: 47120 * storage/StorageNamespace.h: 47121 * storage/StorageNamespaceImpl.cpp: 47122 (WebCore::StorageNamespaceImpl::clearOriginForDeletion): 47123 (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion): 47124 (WebCore::StorageNamespaceImpl::sync): 47125 * storage/StorageNamespaceImpl.h: 47126 * storage/StorageTracker.cpp: Added. 47127 (WebCore::StorageTracker::initializeTracker): 47128 (WebCore::StorageTracker::tracker): 47129 (WebCore::StorageTracker::StorageTracker): 47130 (WebCore::StorageTracker::setStorageDirectoryPath): 47131 (WebCore::StorageTracker::trackerDatabasePath): 47132 (WebCore::StorageTracker::openTrackerDatabase): 47133 (WebCore::StorageTracker::importOriginIdentifiers): 47134 (WebCore::StorageTracker::syncImportOriginIdentifiers): 47135 (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): 47136 (WebCore::StorageTracker::setOriginDetails): 47137 (WebCore::StorageTracker::scheduleTask): 47138 (WebCore::StorageTracker::syncSetOriginDetails): 47139 (WebCore::StorageTracker::origins): 47140 (WebCore::StorageTracker::deleteAllOrigins): 47141 (WebCore::StorageTracker::syncDeleteAllOrigins): 47142 (WebCore::StorageTracker::deleteOrigin): 47143 (WebCore::StorageTracker::syncDeleteOrigin): 47144 (WebCore::StorageTracker::willDeleteAllOrigins): 47145 (WebCore::StorageTracker::willDeleteOrigin): 47146 (WebCore::StorageTracker::canDeleteOrigin): 47147 (WebCore::StorageTracker::cancelDeletingOrigin): 47148 (WebCore::StorageTracker::setClient): 47149 (WebCore::StorageTracker::syncLocalStorage): 47150 * storage/StorageTracker.h: Added. 47151 * storage/StorageTrackerClient.h: Added. 47152 (WebCore::StorageTrackerClient::~StorageTrackerClient): 47153 47154 2011-03-11 Steve Block <steveblock (a] google.com> 47155 47156 Reviewed by Jeremy Orlow. 47157 47158 JavaMethod does not correctly check for a null jstring for the method name 47159 https://bugs.webkit.org/show_bug.cgi?id=56187 47160 47161 No new tests, simple typo fix. 47162 47163 * bridge/jni/JavaMethod.cpp: 47164 (JavaMethod::JavaMethod): 47165 47166 2011-03-11 Adrienne Walker <enne (a] google.com> 47167 47168 Reviewed by James Robinson. 47169 47170 [chromium] Compositor uses too much texture memory for scrollbars 47171 https://bugs.webkit.org/show_bug.cgi?id=56212 47172 47173 Compositor invalidations can be off the page (and very large), but 47174 scrollbars only need to care about the invalidation that's visible. 47175 The large invalidation was causing the tiler layer size to grow 47176 needlessly larger than the scrollbar. 47177 47178 * platform/graphics/chromium/LayerRendererChromium.cpp: 47179 (WebCore::LayerRendererChromium::invalidateRootLayerRect): 47180 47181 2011-03-11 David Hyatt <hyatt (a] apple.com> 47182 47183 Reviewed by Simon Fraser. 47184 47185 https://bugs.webkit.org/show_bug.cgi?id=52987 47186 47187 REGRESSION: Overflowing columns not repainted correctly 47188 47189 Make sure to add in column overflow as visual overflow as well. It was only propagating layout overflow, which is obviously not 47190 sufficient, since blocks paint their own columns. 47191 47192 Added fast/multicol/scrolling-overflow.html 47193 47194 * rendering/RenderBlock.cpp: 47195 (WebCore::RenderBlock::addOverflowFromChildren): 47196 47197 2011-03-11 Matthew Delaney <mdelaney (a] apple.com> 47198 47199 Reviewed by Simon Fraser. 47200 47201 Set canvasUsesAcceleratedDrawing setting to be off(false) by default 47202 https://bugs.webkit.org/show_bug.cgi?id=56215 47203 47204 No new tests. Does not affect behavior. Just keeping the setting off by default. 47205 47206 * page/Settings.cpp: 47207 (WebCore::Settings::Settings): 47208 47209 2011-03-11 Andy Estes <aestes (a] apple.com> 47210 47211 Reviewed by David Hyatt. 47212 47213 Table cells with dynamically added percentage height descendants do not 47214 grow in size if the table has already been laid out. 47215 https://bugs.webkit.org/show_bug.cgi?id=56174 47216 47217 Table cells ignore their specified size and collapse to fit their 47218 children. When a descendent with percentage height is present before 47219 the table is first laid out, the descendent is sized based on the 47220 specified size of the table cell. However, when the child isn't present 47221 when the table is first laid out, the table cell ignores its specified 47222 size and collapses down to 0. Then, when the child div is added in a 47223 separate run loop iteration, it is sized to be 100% of the collapsed 47224 cell height instead of 100% of the cell's specified height. We should 47225 not get different layouts depending on the timing of tree construction. 47226 47227 Fix this by clearing intrinsic padding before calculating the table 47228 cell's override height when we detect a child that should flex the 47229 table cell. 47230 47231 Test: fast/table/dynamic-descendant-percentage-height.html 47232 47233 * rendering/RenderTableCell.cpp: 47234 (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear 47235 intrinsic padding before setting the override size. 47236 * rendering/RenderTableCell.h: 47237 * rendering/RenderTableSection.cpp: 47238 (WebCore::RenderTableSection::layoutRows): Call 47239 setOverrideSizeFromRowHeight() instead of setOverrideSize(). 47240 47241 2011-03-11 Michael Nordman <michaeln (a] google.com> 47242 47243 Reviewed by David Levin. 47244 47245 Add SQLCallbackWrapper 47246 Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects 47247 which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread. 47248 https://bugs.webkit.org/show_bug.cgi?id=55919 47249 47250 No new tests, existing tests apply. 47251 47252 * GNUmakefile.am: 47253 * WebCore.gypi: 47254 * WebCore.pro: 47255 * WebCore.vcproj/WebCore.vcproj: 47256 * WebCore.xcodeproj/project.pbxproj: 47257 * storage/SQLCallbackWrapper.h: Added. 47258 (WebCore::SQLCallbackWrapper::SQLCallbackWrapper): 47259 (WebCore::SQLCallbackWrapper::clear): 47260 (WebCore::SQLCallbackWrapper::unwrap): 47261 (WebCore::SQLCallbackWrapper::hasCallback): 47262 (WebCore::SQLCallbackWrapper::safeRelease): 47263 * storage/SQLStatement.cpp: 47264 (WebCore::SQLStatement::create): 47265 (WebCore::SQLStatement::SQLStatement): 47266 (WebCore::SQLStatement::performCallback): 47267 * storage/SQLStatement.h: 47268 (WebCore::SQLStatement::hasStatementCallback): 47269 (WebCore::SQLStatement::hasStatementErrorCallback): 47270 * storage/SQLTransaction.cpp: 47271 (WebCore::SQLTransaction::SQLTransaction): 47272 (WebCore::SQLTransaction::executeSQL): 47273 (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase): 47274 (WebCore::SQLTransaction::deliverTransactionCallback): 47275 (WebCore::SQLTransaction::deliverStatementCallback): 47276 (WebCore::SQLTransaction::postflightAndCommit): 47277 (WebCore::SQLTransaction::deliverSuccessCallback): 47278 (WebCore::SQLTransaction::handleTransactionError): 47279 (WebCore::SQLTransaction::deliverTransactionErrorCallback): 47280 * storage/SQLTransaction.h: 47281 47282 2011-03-11 Eric Carlson <eric.carlson (a] apple.com> 47283 47284 Reviewed by Sam Weinig. 47285 47286 <rdar://problem/8955589> Adopt AVFoundation media back end on Lion. 47287 47288 No new tests, existing media tests cover this. 47289 47290 * WebCore.xcodeproj/project.pbxproj: 47291 * platform/graphics/MediaPlayer.cpp: 47292 (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC. 47293 (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace. 47294 (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto. 47295 (WebCore::MediaPlayer::inMediaDocument): Ditto. 47296 * platform/graphics/MediaPlayer.h: 47297 47298 * platform/graphics/avfoundation: Added. 47299 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added. 47300 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added. 47301 47302 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added. 47303 * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added. 47304 47305 2011-03-11 Dean Jackson <dino (a] apple.com> 47306 47307 Reviewed by Simon Fraser. 47308 47309 https://bugs.webkit.org/show_bug.cgi?id=56205 47310 m_restrictions needs to allow multiple values (a bitfield) 47311 47312 HTMLMediaElement::m_restrictions needs to hold multiple values, so 47313 change BehaviorRestrictions to an unsigned typedef and rename the 47314 existing enum BehaviorRestrictionFlags. 47315 47316 * html/HTMLMediaElement.h: 47317 (WebCore::HTMLMediaElement::setBehaviorRestrictions): 47318 47319 2011-03-11 David Hyatt <hyatt (a] apple.com> 47320 47321 Reviewed by Dan Bernstein. 47322 47323 https://bugs.webkit.org/show_bug.cgi?id=47206 47324 47325 Table rows don't support ::before/::after. Add support to RenderTableRow::styleDidChange so that ::before/::after content gets 47326 properly constructed. 47327 47328 Added fast/css-generated-content/table-row-before-after.html 47329 47330 * rendering/RenderTableRow.cpp: 47331 (WebCore::RenderTableRow::styleDidChange): 47332 * rendering/RenderTableRow.h: 47333 47334 2011-03-11 James Robinson <jamesr (a] chromium.org> 47335 47336 Reviewed by Kenneth Russell. 47337 47338 [chromium] Avoid updating a composited layer's contents if the layer has nonpositive dimensions 47339 https://bugs.webkit.org/show_bug.cgi?id=56209 47340 47341 This matches the behavior prior to r80482. No test since the only changes in 47342 behavior are avoiding work on invisible layers, which is unobservable, 47343 and fixing a crash due to bug 56153. 47344 47345 * platform/graphics/chromium/LayerRendererChromium.cpp: 47346 (WebCore::LayerRendererChromium::updateContentsRecursive): 47347 47348 2011-03-11 David Hyatt <hyatt (a] apple.com> 47349 47350 Reviewed by Simon Fraser. 47351 47352 https://bugs.webkit.org/show_bug.cgi?id=47159 47353 47354 CSS2.1 failures in background position parsing. 47355 47356 Rewrite background position component parsing to match the spec. Our old parsing would allow "100% left" to be valid 47357 when it should not have. Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for 47358 it to understand what the first component was. 47359 47360 For individual property parsing using background-position-x/y, I added new functions that just handle that without 47361 worrying about the other component. 47362 47363 In order to pass the CSS2.1 test, I also had to fix multiple background parsing. The number of layers in multiple 47364 backgrounds is determined solely by the background-image property and not by any of the other properties. cullEmptyLayers 47365 has been changed to always consider a layer empty if it has no image set, even if other properties are set. 47366 47367 A number of layout tests had to be patched as they were invalid. A couple of them relied on incorrect background-position 47368 parsing (e.g., "50 left") and another relied on incorrect multiple background parsing. It's not clear if the computed style 47369 should actually include the additional values when no image is set though, so that should perhaps be the subject of a 47370 follow-up bug. 47371 47372 Added fast/backgrounds/background-position-parsing.html 47373 47374 * css/CSSParser.cpp: 47375 (WebCore::CSSParser::parseFillPositionX): 47376 (WebCore::CSSParser::parseFillPositionY): 47377 (WebCore::CSSParser::parseFillPositionComponent): 47378 (WebCore::CSSParser::parseFillPosition): 47379 (WebCore::CSSParser::parseFillProperty): 47380 (WebCore::CSSParser::parseTransformOrigin): 47381 (WebCore::CSSParser::parsePerspectiveOrigin): 47382 * css/CSSParser.h: 47383 * rendering/style/FillLayer.cpp: 47384 (WebCore::FillLayer::fillUnsetProperties): 47385 (WebCore::FillLayer::cullEmptyLayers): 47386 47387 2011-03-11 Vangelis Kokkevis <vangelis (a] chromium.org> 47388 47389 Reviewed by James Robinson. 47390 47391 [chromium] Allow large layers with non-identity transforms to be drawn 47392 as long as their visible portion is smaller than the largest supported 47393 texture size. This code will soon be replaced by tiled layers. 47394 https://bugs.webkit.org/show_bug.cgi?id=55984 47395 47396 Test: platform/chromium/compositing/huge-layer-rotated.html 47397 47398 * platform/graphics/chromium/ContentLayerChromium.cpp: 47399 (WebCore::ContentLayerChromium::updateContentsIfDirty): 47400 (WebCore::ContentLayerChromium::draw): 47401 * platform/graphics/chromium/ContentLayerChromium.h: 47402 47403 2011-03-09 Chris Marrin <cmarrin (a] apple.com> 47404 47405 Reviewed by Adam Roben. 47406 47407 REGRESSION (5.0.3-ToT): Scrolling text doesn't scroll in Star Wars intro animation 47408 https://bugs.webkit.org/show_bug.cgi?id=52468 47409 47410 Added WIN32 to the ifdef controlling whether animations are applied in normal or 47411 reverse order. On Mac, animations used to be applied in reverse, but 47412 <rdar://problem/7095638> fixed this in the release after Snow Leopard. 47413 But that patch has not be applied to the Safari Windows SDK yet. For now 47414 I've made Windows use the reverse order logig. <rdar://problem/9112233> is 47415 tracking the inclusion of the patch on Windows. 47416 47417 * platform/graphics/ca/GraphicsLayerCA.cpp: 47418 (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): 47419 47420 2011-03-11 Tony Gentilcore <tonyg (a] chromium.org> 47421 47422 Reviewed by Eric Seidel. 47423 47424 Let the parser yield for layout before running scripts 47425 https://bugs.webkit.org/show_bug.cgi?id=54355 47426 47427 Prior to this patch, the parser would yield to perform a layout/paint before running a 47428 script only if the script or a stylesheet blocking the script is not loaded yet. Since we 47429 don't preload scan into the body while parsing the head, typically we'll block on a script 47430 early in the body that causes us to yield to do the first paint within a reasonable time. 47431 47432 However, I'm planning to change the PreloadScanner to scan into the body from the head. 47433 That significantly improves overall load time, but would hurt first paint time because 47434 fewer scripts would be blocked during parsing and thus wouldn't yield. 47435 47436 This change causes us to yield before running scripts if we haven't painted yet (regardless 47437 of whether or not the script is loaded). In addition to allowing the above mentioned 47438 PreloadScanner change to be implemented without regressing first paint time, this also 47439 improves first paint time by itself. 47440 47441 I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate 47442 bandwidth. This patch improved average first paint time by 1% over an unlimited connection, 47443 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically 47444 signifcant change in page load time. 47445 47446 Within the pages tested, 33 had no statistically significant change in time to first paint, 47447 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set 47448 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu. 47449 47450 * html/parser/HTMLDocumentParser.cpp: 47451 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point. 47452 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused 47453 means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does 47454 the right thing whether we are just before a token or waiting for a script. Now that we may 47455 yield before a token or before a script, this may be called while paused. 47456 * html/parser/HTMLParserScheduler.cpp: 47457 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added. 47458 * page/FrameView.h: 47459 (WebCore::FrameView::hasEverPainted): Added. 47460 47461 2011-03-11 Dimitri Glazkov <dglazkov (a] chromium.org> 47462 47463 Fix crashes in dom/html/level2/html/HTMLInputElement*. 47464 47465 * css/CSSStyleSelector.cpp: 47466 (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e, 47467 because e can certainly be a null. 47468 47469 2011-03-09 Dimitri Glazkov <dglazkov (a] chromium.org> 47470 47471 Reviewed by David Hyatt. 47472 47473 Choke text-decoration when entering shadow DOM subtree. 47474 https://bugs.webkit.org/show_bug.cgi?id=56044 47475 47476 No new tests, because the functionality can't be tested yet. 47477 47478 * css/CSSStyleSelector.cpp: 47479 (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root. 47480 47481 2011-03-08 Dimitri Glazkov <dglazkov (a] chromium.org> 47482 47483 Reviewed by Eric Carlson. 47484 47485 Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer. 47486 https://bugs.webkit.org/show_bug.cgi?id=55972 47487 47488 Instead of poking at the time display elements all the way from RenderMedia, 47489 let the standard layout cycle take care of things. Move the logic of calculating 47490 when to collapse the time display elements into a custom renderer, since 47491 this is not something that can be accomplished with CSS. 47492 47493 Also, the logic of keeping the timeline slider at least 100px needed refreshing, 47494 since it didn't actually keep it at 100px. 47495 47496 * html/shadow/MediaControls.cpp: Moved the logic of determining visibility 47497 of time display elements to RenderMediaControlTimeDisplay, eliminating 47498 updateTimeDisplayVisibility method. 47499 * html/shadow/MediaControls.h: Removed decl. 47500 * rendering/MediaControlElements.cpp: 47501 (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay): 47502 Added new renderer class. 47503 (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected) 47504 size-sensing logic, still using hard-coded values. 47505 (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement): 47506 Removed m_isVisible member, which is no longer necessary. 47507 (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to 47508 return the new renderer. 47509 * rendering/MediaControlElements.h: Adjusted decls. 47510 * rendering/RenderMedia.cpp: 47511 (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at 47512 media controls in layout. 47513 47514 2011-03-09 Dimitri Glazkov <dglazkov (a] chromium.org> 47515 47516 Reviewed by Eric Carlson. 47517 47518 Start focusing updates to media controls, away from always updating everything. 47519 https://bugs.webkit.org/show_bug.cgi?id=56038 47520 47521 For now, the new methods just call generic MediaControls::update. 47522 47523 Covered by existing tests. 47524 47525 * html/HTMLMediaElement.cpp: 47526 (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset. 47527 (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute. 47528 (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume. 47529 (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls 47530 accessor. 47531 (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use 47532 MediaControls::changedClosedCaptionsVisibility. 47533 (WebCore::HTMLMediaElement::mediaControls): Added. 47534 (WebCore::HTMLMediaElement::hasMediaControls): Added. 47535 * html/HTMLMediaElement.h: Added decls. 47536 * html/shadow/MediaControls.cpp: 47537 (WebCore::MediaControls::reset): Added. 47538 (WebCore::MediaControls::changedMute): Added. 47539 (WebCore::MediaControls::changedVolume): Added. 47540 (WebCore::MediaControls::changedClosedCaptionsVisibility): Added. 47541 * html/shadow/MediaControls.h: Added decls. 47542 47543 2011-03-11 Alexis Menard <alexis.menard (a] openbossa.org> 47544 47545 Reviewed by Martin Robinson. 47546 47547 [GStreamer] When seeking webKitWebSrcStop release the frame but should not. 47548 https://bugs.webkit.org/show_bug.cgi?id=55703 47549 47550 When calling webKitWebSrcStop in case of a seeking, the frame should not 47551 be reset (the source hasn't change). The frame may be used to get the network 47552 context. Some network stack (like Qt) are relaying on the network context 47553 to work. 47554 47555 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 47556 (webKitWebSrcStop): 47557 47558 2011-03-11 Dean Jackson <dino (a] apple.com> 47559 47560 Unreviewed. 47561 47562 Build fixes for GTK and Leopard. 47563 47564 * bindings/gobject/GNUmakefile.am: 47565 - add missing WebKitAnimation* generated bindings 47566 * page/WebKitAnimation.idl: 47567 - use double in place of float (the core values are double anyway) 47568 47569 2011-03-11 Dean Jackson <dino (a] apple.com> 47570 47571 Unreviewed build fix for QT. 47572 47573 * WebCore.pro: 47574 47575 2011-03-11 Dean Jackson <dino (a] apple.com> 47576 47577 Reviewed by Simon Fraser and Chris Marrin. 47578 47579 https://bugs.webkit.org/show_bug.cgi?id=54151 47580 Implement an API to play/pause/scrub animations 47581 47582 This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList 47583 APIs, exposed via Element.getWebKitAnimations(). This first pass 47584 is a read-only API - a subsequent commit will add the ability 47585 to scrub animations. 47586 47587 Test: animations/animation-api-1.html 47588 47589 * Android.derived.jscbindings.mk: 47590 * Android.derived.v8bindings.mk: 47591 * Android.mk: 47592 * Android.v8bindings.mk: 47593 * CMakeLists.txt: 47594 * CodeGenerators.pri: 47595 * DerivedSources.cpp: 47596 * DerivedSources.make: 47597 * GNUmakefile.am: 47598 * WebCore.gypi: 47599 * WebCore.pro: 47600 * WebCore.vcproj/WebCore.vcproj: 47601 * WebCore.xcodeproj/project.pbxproj: 47602 - All build settings updated for new files 47603 * bindings/js/JSBindingsAllInOne.cpp: 47604 - Include new custom files 47605 * bindings/js/JSWebKitAnimationCustom.cpp: Added. 47606 (WebCore::JSWebKitAnimation::iterationCount): 47607 - Custom property getter so that we can return INFINITY 47608 * bindings/js/JSWebKitAnimationListCustom.cpp: Added. 47609 (WebCore::JSWebKitAnimationList::markChildren): 47610 - Make sure WebKitAnimations are marked 47611 * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added. 47612 (WebCore::V8WebkitAnimation::iterationCountAccessorGetter): 47613 - Custom property getter so that we can return INFINITY 47614 * dom/Element.cpp: 47615 (WebCore::Element::webkitGetAnimations): 47616 * dom/Element.h: 47617 * dom/Element.idl: 47618 - New API entry point 47619 * page/DOMWindow.idl: 47620 - Constructor definitions for WebKitAnimation and WebKitAnimationList 47621 * page/animation/AnimationBase.cpp: 47622 (WebCore::AnimationBase::~AnimationBase): 47623 - Since AnimationBase can now live longer (if a WebKitAnimation is 47624 held in Javascript) we need to guard for the renderer having disappeared. 47625 (WebCore::AnimationBase::setElapsedTime): 47626 (WebCore::AnimationBase::play): 47627 (WebCore::AnimationBase::pause): 47628 - Stub implementations at present 47629 * page/animation/AnimationBase.h: 47630 (WebCore::AnimationBase::animation): 47631 - Expose the Animation properties 47632 * page/animation/AnimationController.cpp: 47633 (WebCore::AnimationControllerPrivate::animationsForRenderer): 47634 (WebCore::AnimationController::animationsForRenderer): 47635 - Builds the list of WebKitAnimations 47636 * page/animation/AnimationController.h: 47637 * page/animation/AnimationControllerPrivate.h: 47638 * page/animation/CompositeAnimation.cpp: 47639 (WebCore::CompositeAnimation::updateKeyframeAnimations): 47640 - Make sure we clear the renderer if we are removing the animation 47641 (WebCore::CompositeAnimation::animations): 47642 * page/animation/CompositeAnimation.h: 47643 * page/WebKitAnimation.cpp: Added. 47644 (WebCore::WebKitAnimation::WebKitAnimation): 47645 (WebCore::WebKitAnimation::name): 47646 (WebCore::WebKitAnimation::duration): 47647 (WebCore::WebKitAnimation::elapsedTime): 47648 (WebCore::WebKitAnimation::setElapsedTime): 47649 (WebCore::WebKitAnimation::delay): 47650 (WebCore::WebKitAnimation::iterationCount): 47651 (WebCore::WebKitAnimation::paused): 47652 (WebCore::WebKitAnimation::ended): 47653 (WebCore::WebKitAnimation::direction): 47654 (WebCore::WebKitAnimation::fillMode): 47655 (WebCore::WebKitAnimation::pause): 47656 (WebCore::WebKitAnimation::play): 47657 - The implementation of the new API. All the read-only parts are 47658 done, but elapsedTime, play() and pause() are stubs. 47659 * page/WebKitAnimation.h: Added. 47660 (WebCore::WebKitAnimation::create): 47661 (WebCore::WebKitAnimation::~WebKitAnimation): 47662 * page/WebKitAnimation.idl: Added. 47663 * page/WebKitAnimationList.cpp: Added. 47664 * page/WebKitAnimationList.h: Added. 47665 * page/WebKitAnimationList.idl: Added. 47666 - Copies NodeList implementation 47667 47668 2011-03-11 Ilya Tikhonovsky <loislo (a] chromium.org> 47669 47670 Reviewed by Yury Semikhatsky. 47671 47672 Web Inspector: introduce error argument for all the callbacks on frontend. 47673 https://bugs.webkit.org/show_bug.cgi?id=56100 47674 47675 * inspector/CodeGeneratorInspector.pm: 47676 * inspector/front-end/AuditRules.js: 47677 (WebInspector.AuditRules.evaluateInTargetWindow): 47678 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback): 47679 (WebInspector.AuditRules.UnusedCssRule.prototype.doRun): 47680 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): 47681 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 47682 * inspector/front-end/CSSStyleModel.js: 47683 (WebInspector.CSSStyleModel.prototype.getStylesAsync): 47684 (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync): 47685 (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync): 47686 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 47687 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): 47688 (WebInspector.CSSStyleModel.prototype.addRule): 47689 (WebInspector.CSSStyleModel.prototype.addRule.callback): 47690 (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback): 47691 (WebInspector.CSSStyleModel.prototype._styleSheetChanged): 47692 (WebInspector.CSSStyleModel.prototype._onRevert): 47693 (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt): 47694 (WebInspector.CSSProperty.prototype.setText.callback): 47695 (WebInspector.CSSProperty.prototype.setText): 47696 (WebInspector.CSSProperty.prototype.setDisabled.callback): 47697 (WebInspector.CSSProperty.prototype.setDisabled): 47698 (WebInspector.CSSStyleSheet.createForId): 47699 (WebInspector.CSSStyleSheet.prototype.setText): 47700 * inspector/front-end/ConsoleView.js: 47701 (WebInspector.ConsoleView.prototype.evalInInspectedWindow): 47702 * inspector/front-end/DOMAgent.js: 47703 (WebInspector.DOMNode.prototype.setNodeName): 47704 (WebInspector.DOMNode.prototype.setNodeValue): 47705 (WebInspector.DOMNode.prototype.setAttribute): 47706 (WebInspector.DOMNode.prototype.removeAttribute): 47707 (WebInspector.DOMNode.prototype.childNodes.mycallback): 47708 (WebInspector.DOMNode.prototype.childNodes): 47709 (WebInspector.DOMNode.prototype.outerHTML): 47710 (WebInspector.DOMNode.prototype.setOuterHTML): 47711 (WebInspector.DOMNode.prototype.removeNode): 47712 (WebInspector.DOMNode.prototype.copyNode): 47713 (WebInspector.DOMAgent.prototype.pushNodeToFrontend): 47714 (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): 47715 (WebInspector.DOMAgent.prototype._documentUpdated): 47716 (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync): 47717 (WebInspector.Cookies.getCookiesAsync): 47718 (WebInspector.EventListeners.getEventListenersForNodeAsync): 47719 * inspector/front-end/DOMStorage.js: 47720 (WebInspector.DOMStorage.prototype.getEntries): 47721 (WebInspector.DOMStorage.prototype.setItem): 47722 (WebInspector.DOMStorage.prototype.removeItem): 47723 * inspector/front-end/Database.js: 47724 (WebInspector.Database.prototype.getTableNames): 47725 (WebInspector.Database.prototype.executeSql): 47726 * inspector/front-end/DebuggerModel.js: 47727 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): 47728 (WebInspector.DebuggerModel.prototype.setBreakpoint): 47729 (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId): 47730 (WebInspector.DebuggerModel.prototype.editScriptSource): 47731 * inspector/front-end/ElementsPanel.js: 47732 (WebInspector.ElementsPanel.prototype._setSearchingForNode): 47733 * inspector/front-end/ElementsTreeOutline.js: 47734 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): 47735 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 47736 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback): 47737 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): 47738 (): 47739 * inspector/front-end/ExtensionPanel.js: 47740 (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate): 47741 * inspector/front-end/ExtensionServer.js: 47742 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 47743 * inspector/front-end/NetworkManager.js: 47744 (WebInspector.NetworkManager.prototype.requestContent): 47745 (WebInspector.NetworkManager.prototype._processCachedResources): 47746 * inspector/front-end/ProfileView.js: 47747 (WebInspector.CPUProfileView.profileCallback): 47748 (WebInspector.CPUProfileView): 47749 * inspector/front-end/ProfilesPanel.js: 47750 * inspector/front-end/RemoteObject.js: 47751 (WebInspector.RemoteObject.resolveNode): 47752 (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder): 47753 (WebInspector.RemoteObject.prototype.getProperties): 47754 (WebInspector.RemoteObject.prototype.setPropertyValue): 47755 (WebInspector.RemoteObject.prototype.evaluate): 47756 * inspector/front-end/Script.js: 47757 (WebInspector.Script.prototype.requestSource.didGetScriptSource): 47758 (WebInspector.Script.prototype.requestSource): 47759 * inspector/front-end/ScriptsPanel.js: 47760 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper): 47761 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 47762 (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions): 47763 * inspector/front-end/inspector.js: 47764 (): 47765 (WebInspector.doLoadedDone.onPopulateScriptObjects): 47766 (WebInspector.doLoadedDone.propertyNamesCallback): 47767 (WebInspector.doLoadedDone): 47768 47769 2011-03-11 Yury Semikhatsky <yurys (a] chromium.org> 47770 47771 Reviewed by Pavel Feldman. 47772 47773 Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost 47774 https://bugs.webkit.org/show_bug.cgi?id=56173 47775 47776 Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController. 47777 47778 * CMakeLists.txt: 47779 * GNUmakefile.am: 47780 * WebCore.gypi: 47781 * WebCore.pro: 47782 * WebCore.vcproj/WebCore.vcproj: 47783 * WebCore.xcodeproj/project.pbxproj: 47784 * bindings/js/JSInjectedScriptHostCustom.cpp: 47785 * bindings/js/JSInjectedScriptManager.cpp: Added. 47786 (WebCore::InjectedScriptManager::createInjectedScript): 47787 (WebCore::InjectedScriptManager::discardInjectedScript): 47788 (WebCore::InjectedScriptManager::injectedScriptFor): 47789 (WebCore::InjectedScriptManager::canAccessInspectedWindow): 47790 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 47791 * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp. 47792 (WebCore::WeakReferenceCallback): 47793 (WebCore::createInjectedScriptHostV8Wrapper): 47794 (WebCore::InjectedScriptManager::createInjectedScript): 47795 (WebCore::InjectedScriptManager::discardInjectedScript): 47796 (WebCore::InjectedScriptManager::injectedScriptFor): 47797 (WebCore::InjectedScriptManager::canAccessInspectedWindow): 47798 * inspector/ConsoleMessage.cpp: 47799 (WebCore::ConsoleMessage::addToFrontend): 47800 * inspector/ConsoleMessage.h: 47801 * inspector/InjectedScript.cpp: 47802 (WebCore::InjectedScript::canAccessInspectedWindow): 47803 * inspector/InjectedScript.h: 47804 * inspector/InjectedScriptHost.cpp: 47805 (WebCore::InjectedScriptHost::create): 47806 (WebCore::InjectedScriptHost::InjectedScriptHost): 47807 (WebCore::InjectedScriptHost::~InjectedScriptHost): 47808 (WebCore::InjectedScriptHost::disconnect): 47809 (WebCore::InjectedScriptHost::inspectImpl): 47810 (WebCore::InjectedScriptHost::clearConsoleMessages): 47811 (WebCore::InjectedScriptHost::databaseIdImpl): 47812 (WebCore::InjectedScriptHost::storageIdImpl): 47813 * inspector/InjectedScriptHost.h: 47814 (WebCore::InjectedScriptHost::init): 47815 (WebCore::InjectedScriptHost::setFrontend): 47816 (WebCore::InjectedScriptHost::clearFrontend): 47817 * inspector/InjectedScriptManager.cpp: Added. 47818 (WebCore::InjectedScriptManager::create): 47819 (WebCore::InjectedScriptManager::InjectedScriptManager): 47820 (WebCore::InjectedScriptManager::~InjectedScriptManager): 47821 (WebCore::InjectedScriptManager::disconnect): 47822 (WebCore::InjectedScriptManager::injectedScriptHost): 47823 (WebCore::InjectedScriptManager::injectedScriptForId): 47824 (WebCore::InjectedScriptManager::injectedScriptForObjectId): 47825 (WebCore::InjectedScriptManager::discardInjectedScripts): 47826 (WebCore::InjectedScriptManager::releaseObjectGroup): 47827 (WebCore::InjectedScriptManager::injectedScriptSource): 47828 (WebCore::InjectedScriptManager::injectScript): 47829 * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h. 47830 * inspector/Inspector.idl: 47831 * inspector/InspectorAgent.cpp: 47832 (WebCore::InspectorAgent::InspectorAgent): 47833 (WebCore::InspectorAgent::inspectedPageDestroyed): 47834 (WebCore::InspectorAgent::focusNode): 47835 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 47836 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 47837 (WebCore::InspectorAgent::didCommitLoad): 47838 (WebCore::InspectorAgent::domContentLoadedEventFired): 47839 * inspector/InspectorAgent.h: 47840 * inspector/InspectorBrowserDebuggerAgent.cpp: 47841 * inspector/InspectorConsoleAgent.cpp: 47842 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 47843 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 47844 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 47845 (WebCore::InspectorConsoleAgent::addInspectedNode): 47846 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 47847 (WebCore::InspectorConsoleAgent::addConsoleMessage): 47848 * inspector/InspectorConsoleAgent.h: 47849 * inspector/InspectorController.cpp: 47850 (WebCore::InspectorController::InspectorController): 47851 (WebCore::InspectorController::connectFrontend): 47852 (WebCore::InspectorController::disconnectFrontend): 47853 * inspector/InspectorController.h: 47854 * inspector/InspectorDOMAgent.cpp: 47855 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 47856 (WebCore::InspectorDOMAgent::discardBindings): 47857 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 47858 (WebCore::InspectorDOMAgent::resolveNode): 47859 * inspector/InspectorDOMAgent.h: 47860 (WebCore::InspectorDOMAgent::create): 47861 * inspector/InspectorDebuggerAgent.cpp: 47862 (WebCore::InspectorDebuggerAgent::create): 47863 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 47864 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 47865 (WebCore::InspectorDebuggerAgent::currentCallFrames): 47866 * inspector/InspectorDebuggerAgent.h: 47867 * inspector/InspectorRuntimeAgent.cpp: 47868 (WebCore::InspectorRuntimeAgent::create): 47869 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): 47870 (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): 47871 (WebCore::InspectorRuntimeAgent::evaluate): 47872 (WebCore::InspectorRuntimeAgent::evaluateOn): 47873 (WebCore::InspectorRuntimeAgent::getProperties): 47874 (WebCore::InspectorRuntimeAgent::setPropertyValue): 47875 (WebCore::InspectorRuntimeAgent::releaseObject): 47876 (WebCore::InspectorRuntimeAgent::releaseObjectGroup): 47877 * inspector/InspectorRuntimeAgent.h: 47878 * inspector/front-end/ElementsPanel.js: 47879 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 47880 (WebInspector.ElementsPanel): 47881 47882 2011-03-11 Anton Muhin <antonm (a] chromium.org> 47883 47884 Reviewed by Adam Barth. 47885 47886 [v8] Change the way group id for CSS objects is calculated 47887 https://bugs.webkit.org/show_bug.cgi?id=56117 47888 47889 Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group 47890 as they should not be reachable in JavaScript. 47891 47892 Covered by existing layout tests. Fact of absence of retention is not trivial to prove. 47893 47894 * bindings/v8/V8GCController.cpp: 47895 (WebCore::calculateGroupId): 47896 (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper): 47897 47898 2011-03-11 Alexander Pavlov <apavlov (a] chromium.org> 47899 47900 Reviewed by Yury Semikhatsky. 47901 47902 Web Inspector: hover over elements in Elements panel does not highlight nodes 47903 https://bugs.webkit.org/show_bug.cgi?id=56121 47904 47905 In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary 47906 is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate 47907 for these 16px when computing the test point coordinates. 47908 47909 * inspector/front-end/ElementsTreeOutline.js: 47910 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): 47911 47912 2011-03-11 Yury Semikhatsky <yurys (a] chromium.org> 47913 47914 Unreviewed. Roll out r80837. 47915 47916 * CMakeLists.txt: 47917 * GNUmakefile.am: 47918 * WebCore.gypi: 47919 * WebCore.pro: 47920 * WebCore.vcproj/WebCore.vcproj: 47921 * WebCore.xcodeproj/project.pbxproj: 47922 * bindings/js/JSInjectedScriptHostCustom.cpp: 47923 (WebCore::InjectedScriptHost::createInjectedScript): 47924 (WebCore::InjectedScriptHost::discardInjectedScript): 47925 (WebCore::InjectedScriptHost::injectedScriptFor): 47926 (WebCore::InjectedScriptHost::canAccessInspectedWindow): 47927 * bindings/js/JSInjectedScriptManager.cpp: Removed. 47928 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 47929 (WebCore::WeakReferenceCallback): 47930 (WebCore::createInjectedScriptHostV8Wrapper): 47931 (WebCore::InjectedScriptHost::createInjectedScript): 47932 (WebCore::InjectedScriptHost::discardInjectedScript): 47933 (WebCore::InjectedScriptHost::injectedScriptFor): 47934 (WebCore::InjectedScriptHost::canAccessInspectedWindow): 47935 * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed. 47936 * inspector/ConsoleMessage.cpp: 47937 (WebCore::ConsoleMessage::addToFrontend): 47938 * inspector/ConsoleMessage.h: 47939 * inspector/InjectedScript.cpp: 47940 (WebCore::InjectedScript::canAccessInspectedWindow): 47941 * inspector/InjectedScript.h: 47942 * inspector/InjectedScriptHost.cpp: 47943 (WebCore::InjectedScriptHost::InjectedScriptHost): 47944 (WebCore::InjectedScriptHost::~InjectedScriptHost): 47945 (WebCore::InjectedScriptHost::inspectImpl): 47946 (WebCore::InjectedScriptHost::clearConsoleMessages): 47947 (WebCore::InjectedScriptHost::databaseIdImpl): 47948 (WebCore::InjectedScriptHost::storageIdImpl): 47949 (WebCore::InjectedScriptHost::injectedScriptForId): 47950 (WebCore::InjectedScriptHost::injectedScriptForObjectId): 47951 (WebCore::InjectedScriptHost::injectedScriptForMainFrame): 47952 (WebCore::InjectedScriptHost::discardInjectedScripts): 47953 (WebCore::InjectedScriptHost::releaseObjectGroup): 47954 (WebCore::InjectedScriptHost::frontend): 47955 (WebCore::InjectedScriptHost::injectedScriptSource): 47956 (WebCore::InjectedScriptHost::injectScript): 47957 * inspector/InjectedScriptHost.h: 47958 (WebCore::InjectedScriptHost::create): 47959 (WebCore::InjectedScriptHost::inspectorAgent): 47960 (WebCore::InjectedScriptHost::disconnectController): 47961 * inspector/InjectedScriptManager.cpp: Removed. 47962 * inspector/InjectedScriptManager.h: Removed. 47963 * inspector/Inspector.idl: 47964 * inspector/InspectorAgent.cpp: 47965 (WebCore::InspectorAgent::InspectorAgent): 47966 (WebCore::InspectorAgent::inspectedPageDestroyed): 47967 (WebCore::InspectorAgent::focusNode): 47968 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 47969 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 47970 (WebCore::InspectorAgent::didCommitLoad): 47971 (WebCore::InspectorAgent::domContentLoadedEventFired): 47972 * inspector/InspectorAgent.h: 47973 (WebCore::InspectorAgent::injectedScriptHost): 47974 * inspector/InspectorBrowserDebuggerAgent.cpp: 47975 * inspector/InspectorConsoleAgent.cpp: 47976 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 47977 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 47978 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 47979 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 47980 (WebCore::InspectorConsoleAgent::addConsoleMessage): 47981 * inspector/InspectorConsoleAgent.h: 47982 * inspector/InspectorController.cpp: 47983 (WebCore::InspectorController::InspectorController): 47984 (WebCore::InspectorController::connectFrontend): 47985 (WebCore::InspectorController::disconnectFrontend): 47986 * inspector/InspectorController.h: 47987 * inspector/InspectorDOMAgent.cpp: 47988 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 47989 (WebCore::InspectorDOMAgent::discardBindings): 47990 (WebCore::InspectorDOMAgent::addInspectedNode): 47991 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 47992 (WebCore::InspectorDOMAgent::resolveNode): 47993 * inspector/InspectorDOMAgent.h: 47994 (WebCore::InspectorDOMAgent::create): 47995 * inspector/InspectorDebuggerAgent.cpp: 47996 (WebCore::InspectorDebuggerAgent::create): 47997 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 47998 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 47999 (WebCore::InspectorDebuggerAgent::currentCallFrames): 48000 * inspector/InspectorDebuggerAgent.h: 48001 * inspector/InspectorRuntimeAgent.cpp: 48002 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): 48003 (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): 48004 (WebCore::InspectorRuntimeAgent::evaluate): 48005 (WebCore::InspectorRuntimeAgent::evaluateOn): 48006 (WebCore::InspectorRuntimeAgent::getProperties): 48007 (WebCore::InspectorRuntimeAgent::setPropertyValue): 48008 (WebCore::InspectorRuntimeAgent::releaseObject): 48009 (WebCore::InspectorRuntimeAgent::releaseObjectGroup): 48010 * inspector/InspectorRuntimeAgent.h: 48011 (WebCore::InspectorRuntimeAgent::create): 48012 * inspector/front-end/ElementsPanel.js: 48013 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 48014 (WebInspector.ElementsPanel): 48015 48016 2011-03-11 Yury Semikhatsky <yurys (a] chromium.org> 48017 48018 Reviewed by Pavel Feldman. 48019 48020 Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost 48021 https://bugs.webkit.org/show_bug.cgi?id=56173 48022 48023 Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController. 48024 48025 * CMakeLists.txt: 48026 * GNUmakefile.am: 48027 * WebCore.gypi: 48028 * WebCore.pro: 48029 * WebCore.vcproj/WebCore.vcproj: 48030 * WebCore.xcodeproj/project.pbxproj: 48031 * bindings/js/JSInjectedScriptHostCustom.cpp: 48032 * bindings/js/JSInjectedScriptManager.cpp: Added. 48033 (WebCore::InjectedScriptManager::createInjectedScript): 48034 (WebCore::InjectedScriptManager::discardInjectedScript): 48035 (WebCore::InjectedScriptManager::injectedScriptFor): 48036 (WebCore::InjectedScriptManager::canAccessInspectedWindow): 48037 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 48038 * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp. 48039 (WebCore::WeakReferenceCallback): 48040 (WebCore::createInjectedScriptHostV8Wrapper): 48041 (WebCore::InjectedScriptManager::createInjectedScript): 48042 (WebCore::InjectedScriptManager::discardInjectedScript): 48043 (WebCore::InjectedScriptManager::injectedScriptFor): 48044 (WebCore::InjectedScriptManager::canAccessInspectedWindow): 48045 * inspector/ConsoleMessage.cpp: 48046 (WebCore::ConsoleMessage::addToFrontend): 48047 * inspector/ConsoleMessage.h: 48048 * inspector/InjectedScript.cpp: 48049 (WebCore::InjectedScript::canAccessInspectedWindow): 48050 * inspector/InjectedScript.h: 48051 * inspector/InjectedScriptHost.cpp: 48052 (WebCore::InjectedScriptHost::create): 48053 (WebCore::InjectedScriptHost::InjectedScriptHost): 48054 (WebCore::InjectedScriptHost::~InjectedScriptHost): 48055 (WebCore::InjectedScriptHost::disconnect): 48056 (WebCore::InjectedScriptHost::inspectImpl): 48057 (WebCore::InjectedScriptHost::clearConsoleMessages): 48058 (WebCore::InjectedScriptHost::databaseIdImpl): 48059 (WebCore::InjectedScriptHost::storageIdImpl): 48060 * inspector/InjectedScriptHost.h: 48061 (WebCore::InjectedScriptHost::init): 48062 (WebCore::InjectedScriptHost::setFrontend): 48063 (WebCore::InjectedScriptHost::clearFrontend): 48064 * inspector/InjectedScriptManager.cpp: Added. 48065 (WebCore::InjectedScriptManager::create): 48066 (WebCore::InjectedScriptManager::InjectedScriptManager): 48067 (WebCore::InjectedScriptManager::~InjectedScriptManager): 48068 (WebCore::InjectedScriptManager::disconnect): 48069 (WebCore::InjectedScriptManager::injectedScriptHost): 48070 (WebCore::InjectedScriptManager::injectedScriptForId): 48071 (WebCore::InjectedScriptManager::injectedScriptForObjectId): 48072 (WebCore::InjectedScriptManager::discardInjectedScripts): 48073 (WebCore::InjectedScriptManager::releaseObjectGroup): 48074 (WebCore::InjectedScriptManager::injectedScriptSource): 48075 (WebCore::InjectedScriptManager::injectScript): 48076 * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h. 48077 * inspector/Inspector.idl: 48078 * inspector/InspectorAgent.cpp: 48079 (WebCore::InspectorAgent::InspectorAgent): 48080 (WebCore::InspectorAgent::inspectedPageDestroyed): 48081 (WebCore::InspectorAgent::focusNode): 48082 (WebCore::InspectorAgent::didClearWindowObjectInWorld): 48083 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 48084 (WebCore::InspectorAgent::didCommitLoad): 48085 (WebCore::InspectorAgent::domContentLoadedEventFired): 48086 * inspector/InspectorAgent.h: 48087 * inspector/InspectorBrowserDebuggerAgent.cpp: 48088 * inspector/InspectorConsoleAgent.cpp: 48089 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 48090 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 48091 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 48092 (WebCore::InspectorConsoleAgent::addInspectedNode): 48093 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 48094 (WebCore::InspectorConsoleAgent::addConsoleMessage): 48095 * inspector/InspectorConsoleAgent.h: 48096 * inspector/InspectorController.cpp: 48097 (WebCore::InspectorController::InspectorController): 48098 (WebCore::InspectorController::connectFrontend): 48099 (WebCore::InspectorController::disconnectFrontend): 48100 * inspector/InspectorController.h: 48101 * inspector/InspectorDOMAgent.cpp: 48102 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 48103 (WebCore::InspectorDOMAgent::discardBindings): 48104 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 48105 (WebCore::InspectorDOMAgent::resolveNode): 48106 * inspector/InspectorDOMAgent.h: 48107 (WebCore::InspectorDOMAgent::create): 48108 * inspector/InspectorDebuggerAgent.cpp: 48109 (WebCore::InspectorDebuggerAgent::create): 48110 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 48111 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 48112 (WebCore::InspectorDebuggerAgent::currentCallFrames): 48113 * inspector/InspectorDebuggerAgent.h: 48114 * inspector/InspectorRuntimeAgent.cpp: 48115 (WebCore::InspectorRuntimeAgent::create): 48116 (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent): 48117 (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent): 48118 (WebCore::InspectorRuntimeAgent::evaluate): 48119 (WebCore::InspectorRuntimeAgent::evaluateOn): 48120 (WebCore::InspectorRuntimeAgent::getProperties): 48121 (WebCore::InspectorRuntimeAgent::setPropertyValue): 48122 (WebCore::InspectorRuntimeAgent::releaseObject): 48123 (WebCore::InspectorRuntimeAgent::releaseObjectGroup): 48124 * inspector/InspectorRuntimeAgent.h: 48125 * inspector/front-end/ElementsPanel.js: 48126 (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): 48127 (WebInspector.ElementsPanel): 48128 48129 2011-03-09 Hans Wennborg <hans (a] chromium.org> 48130 48131 Reviewed by Jeremy Orlow. 48132 48133 IndexedDB: Make IDBBackingStore abstract 48134 https://bugs.webkit.org/show_bug.cgi?id=56013 48135 48136 Make IDBBackingStore abstract to allow for multiple implementations. 48137 Move the SQLite implementation to IDBSQLiteBackingStore. 48138 48139 No new tests: refactoring only. 48140 48141 * WebCore.gypi: 48142 * storage/IDBBackingStore.h: 48143 (WebCore::IDBBackingStore::~IDBBackingStore): 48144 * storage/IDBFactoryBackendImpl.cpp: 48145 (WebCore::IDBFactoryBackendImpl::open): 48146 * storage/IDBSQLiteBackingStore.cpp: 48147 (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore): 48148 (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore): 48149 (WebCore::runCommands): 48150 (WebCore::createTables): 48151 (WebCore::createMetaDataTable): 48152 (WebCore::getDatabaseSchemaVersion): 48153 (WebCore::migrateDatabase): 48154 (WebCore::IDBSQLiteBackingStore::open): 48155 (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData): 48156 (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData): 48157 (WebCore::IDBSQLiteBackingStore::getObjectStores): 48158 (WebCore::IDBSQLiteBackingStore::createObjectStore): 48159 (WebCore::doDelete): 48160 (WebCore::IDBSQLiteBackingStore::deleteObjectStore): 48161 (WebCore::whereSyntaxForKey): 48162 (WebCore::bindKeyToQuery): 48163 (WebCore::lowerCursorWhereFragment): 48164 (WebCore::upperCursorWhereFragment): 48165 (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord): 48166 (WebCore::bindKeyToQueryWithNulls): 48167 (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord): 48168 (WebCore::IDBSQLiteBackingStore::clearObjectStore): 48169 (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord): 48170 (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber): 48171 (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore): 48172 (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord): 48173 (WebCore::IDBSQLiteBackingStore::getIndexes): 48174 (WebCore::IDBSQLiteBackingStore::createIndex): 48175 (WebCore::IDBSQLiteBackingStore::deleteIndex): 48176 (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord): 48177 (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord): 48178 (WebCore::IDBSQLiteBackingStore::getObjectViaIndex): 48179 (WebCore::keyFromQuery): 48180 (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex): 48181 (WebCore::IDBSQLiteBackingStore::keyExistsInIndex): 48182 (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor): 48183 (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor): 48184 (WebCore::IDBSQLiteBackingStore::openIndexCursor): 48185 (WebCore::IDBSQLiteBackingStore::createTransaction): 48186 * storage/IDBSQLiteBackingStore.h: Added. 48187 48188 2011-03-11 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 48189 48190 Unreviewed build error fix. 48191 48192 [EFL] Fix build break when SHARED_CORE is ON 48193 https://bugs.webkit.org/show_bug.cgi?id=56155 48194 48195 * platform/efl/ContextMenuEfl.cpp: 48196 (WebCore::ContextMenu::ContextMenu): 48197 * platform/efl/ContextMenuItemEfl.cpp: 48198 (WebCore::ContextMenuItem::nativeMenuItem): 48199 (WebCore::ContextMenuItem::ContextMenuItem): 48200 (WebCore::ContextMenuItem::~ContextMenuItem): 48201 48202 2011-03-11 Andrey Kosyakov <caseq (a] chromium.org> 48203 48204 Reviewed by Pavel Feldman. 48205 48206 Web Inspector: resource load cancellation is reported to console as an error 48207 https://bugs.webkit.org/show_bug.cgi?id=55764 48208 48209 - mark interruptionForPolicyChangeError as cancellation 48210 - do not log resource cancelation as an error 48211 - always push resource to front-end before console message, so front-end can use resource info while formatting message. 48212 48213 * inspector/InspectorConsoleAgent.cpp: 48214 (WebCore::InspectorConsoleAgent::didFailLoading): 48215 * inspector/InspectorInstrumentation.cpp: 48216 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 48217 (WebCore::InspectorInstrumentation::didFailLoadingImpl): 48218 * loader/MainResourceLoader.cpp: 48219 (WebCore::MainResourceLoader::stopLoadingForPolicyChange): 48220 48221 2011-03-10 Alexander Pavlov <apavlov (a] chromium.org> 48222 48223 Reviewed by Yury Semikhatsky. 48224 48225 Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1 48226 https://bugs.webkit.org/show_bug.cgi?id=56096 48227 48228 No new tests, as this is a refactoring. 48229 48230 * inspector/front-end/BreakpointsSidebarPane.js: 48231 (WebInspector.EventListenerBreakpointsSidebarPane): 48232 * inspector/front-end/DetailedHeapshotView.js: 48233 * inspector/front-end/ResourcesPanel.js: 48234 (WebInspector.ResourcesPanel): 48235 (WebInspector.BaseStorageTreeElement): 48236 (WebInspector.BaseStorageTreeElement.prototype.onattach): 48237 (WebInspector.StorageCategoryTreeElement): 48238 (WebInspector.FrameTreeElement): 48239 (WebInspector.FrameResourceTreeElement): 48240 (WebInspector.DatabaseTreeElement): 48241 (WebInspector.DatabaseTableTreeElement): 48242 (WebInspector.DOMStorageTreeElement): 48243 (WebInspector.CookieTreeElement): 48244 (WebInspector.ApplicationCacheTreeElement): 48245 (WebInspector.ResourceRevisionTreeElement): 48246 * inspector/front-end/utilities.js: 48247 (Element.prototype.removeStyleClass): 48248 (Element.prototype.addStyleClass): 48249 (Element.prototype.hasStyleClass): 48250 48251 2011-03-11 Brian Salomon <bsalomon (a] google.com> 48252 48253 Reviewed by Kenneth Russell. 48254 48255 Adds GrContext flush call to PlatformContextSkia destructor. 48256 Calls GrContext flush with int parameter instead of bool due to skia 48257 revision. 48258 48259 No new tests needed. 48260 48261 * platform/graphics/chromium/DrawingBufferChromium.cpp: 48262 (WebCore::DrawingBuffer::publishToPlatformLayer): 48263 * platform/graphics/skia/PlatformContextSkia.cpp: 48264 (WebCore::PlatformContextSkia::~PlatformContextSkia): 48265 (WebCore::PlatformContextSkia::setSharedGraphicsContext3D): 48266 48267 2011-03-10 Chris Guillory <chris.guillory (a] google.com> 48268 48269 Reviewed by James Robinson. 48270 48271 Fix for Coverity discovered NO_EFFECT (self-assign) defect. 48272 https://bugs.webkit.org/show_bug.cgi?id=54143 48273 48274 * platform/graphics/gpu/TilingData.cpp: 48275 (WebCore::TilingData::setMaxTextureSize): 48276 48277 2011-03-10 Emil A Eklund <eae (a] chromium.org> 48278 48279 Reviewed by Alexey Proskuryakov. 48280 48281 The web colours palevioletred and mediumpurple are incorrect 48282 https://bugs.webkit.org/show_bug.cgi?id=46658 48283 48284 Changed value for the palevioletred and mediumpurple colors to match 48285 the css3 specification. 48286 48287 Test: fast/css/named-colors.html 48288 48289 * inspector/front-end/Color.js: 48290 * platform/ColorData.gperf: 48291 48292 2011-03-10 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 48293 48294 Unreviewed build fix. 48295 48296 [WML] Fix build error 48297 https://bugs.webkit.org/show_bug.cgi?id=56078 48298 48299 * wml/WMLInputElement.cpp: 48300 (WebCore::WMLInputElement::defaultEventHandler): 48301 48302 2011-03-10 Jeremy Moskovich <jeremy (a] chromium.org> 48303 48304 Reviewed by Darin Adler. 48305 48306 Fix navigation menus on a bunch of sites in WebKit. 48307 https://bugs.webkit.org/show_bug.cgi?id=52535 48308 48309 WebKit doesn't support position:relative for several table elements and 48310 overwrites the style internally when position:relative is encountered. 48311 Unfortunately position:relative affects the choice of nodes returned by 48312 offsetParent. 48313 48314 This CL adds a bit to RenderStyle to track whether position:relative was 48315 overwritten. The value is then consulted in offsetParent which makes us 48316 match FF/IE. 48317 48318 Tests: fast/block/positioning/offsetLeft-relative-iframe.html 48319 fast/block/positioning/offsetLeft-relative-td.html 48320 48321 * css/CSSStyleSelector.cpp: 48322 (WebCore::CSSStyleSelector::adjustRenderStyle): 48323 * rendering/RenderObject.cpp: 48324 (WebCore::RenderObject::isOriginallyRelPositioned): 48325 (WebCore::RenderObject::offsetParent): 48326 * rendering/RenderObject.h: 48327 * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative. 48328 (WebCore::InheritedFlags::positionWasRelative): 48329 (WebCore::InheritedFlags::setPositionWasRelative): 48330 * rendering/style/StyleRareNonInheritedData.cpp: 48331 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 48332 (WebCore::StyleRareNonInheritedData::operator==): 48333 * rendering/style/StyleRareNonInheritedData.h: 48334 48335 2011-03-10 Adam Barth <abarth (a] webkit.org> 48336 48337 Reviewed by Darin Adler. 48338 48339 REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel() 48340 https://bugs.webkit.org/show_bug.cgi?id=51357 48341 48342 Previously, we would try to print from a callstack that didn't want a 48343 nested event loop, leading to re-entrancy problems. In this patch, we 48344 complete the print call asynchronously, giving us a clean stack on 48345 which to run the nested event loop. 48346 48347 Test: printing/print-close-crash.html 48348 48349 * page/DOMWindow.cpp: 48350 (WebCore::DOMWindow::DOMWindow): 48351 (WebCore::DOMWindow::print): 48352 (WebCore::DOMWindow::printTimerFired): 48353 * page/DOMWindow.h: 48354 48355 2011-03-11 Roland Steiner <rolandsteiner (a] chromium.org> 48356 48357 Reviewed by Ryosuke Niwa. 48358 48359 Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/ 48360 https://bugs.webkit.org/show_bug.cgi?id=55570 48361 48362 Add a virtual function toInputElement() to Node that has a default 48363 implementation of returning 0. 48364 For HTMLInputElement and WMLInputElement (which derive from InputElement) 48365 override this to return the object. 48366 Change all calling sites of the old toInputElement to use the new member 48367 function. This also allows us to save some casts. 48368 48369 No new tests. (refactoring) 48370 48371 * WebCore.exp.in: 48372 * accessibility/AXObjectCache.cpp: 48373 (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 48374 * accessibility/AccessibilityRenderObject.cpp: 48375 (WebCore::AccessibilityRenderObject::isPasswordField): 48376 (WebCore::AccessibilityRenderObject::isIndeterminate): 48377 (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): 48378 (WebCore::AccessibilityRenderObject::isChecked): 48379 * css/CSSStyleSelector.cpp: 48380 (WebCore::CSSStyleSelector::canShareStyleWithElement): 48381 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 48382 * dom/CheckedRadioButtons.cpp: 48383 (WebCore::CheckedRadioButtons::removeButton): 48384 * dom/InputElement.cpp: 48385 * dom/InputElement.h: 48386 * dom/Node.cpp: 48387 (WebCore::Node::toInputElement): 48388 * dom/Node.h: 48389 * html/HTMLInputElement.h: 48390 (WebCore::HTMLInputElement::toInputElement): 48391 * rendering/RenderTextControlSingleLine.cpp: 48392 (WebCore::RenderTextControlSingleLine::inputElement): 48393 * rendering/RenderTheme.cpp: 48394 (WebCore::RenderTheme::isChecked): 48395 (WebCore::RenderTheme::isIndeterminate): 48396 * wml/WMLInputElement.h: 48397 (WebCore::WMLInputElement::toInputElement): 48398 48399 2011-03-10 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 48400 48401 Reviewed by Kenneth Rohde Christiansen. 48402 48403 [EFL] New mediaControl css file for EFL 48404 https://bugs.webkit.org/show_bug.cgi?id=55460 48405 48406 Add new mediaControl css file for html5 video UI. 48407 48408 * CMakeLists.txt: 48409 * CMakeListsEfl.txt: 48410 * css/mediaControlsEfl.css: Added. 48411 (audio): 48412 (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 48413 (video:-webkit-full-page-media::-webkit-media-controls-panel): 48414 (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button): 48415 (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button): 48416 (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container): 48417 (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display): 48418 (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display): 48419 (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline): 48420 (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container): 48421 (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider): 48422 (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button): 48423 (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button): 48424 (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button): 48425 (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button): 48426 (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button): 48427 (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button): 48428 (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button): 48429 * platform/efl/RenderThemeEfl.cpp: 48430 (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet): 48431 48432 2011-03-10 Emil A Eklund <eae (a] chromium.org> 48433 48434 Reviewed by Dimitri Glazkov. 48435 48436 style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically 48437 https://bugs.webkit.org/show_bug.cgi?id=53860 48438 48439 Preserve selection when changing between multi-select and single-select 48440 for <select> boxes even if it has not yet been rendered. 48441 48442 Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html 48443 48444 * html/HTMLSelectElement.cpp: 48445 (WebCore::HTMLSelectElement::setMultiple): 48446 48447 2011-03-10 Ojan Vafai <ojan (a] chromium.org> 48448 48449 Reviewed by Tony Chang. 48450 48451 update comment to reference new DOM Core spec 48452 https://bugs.webkit.org/show_bug.cgi?id=56079 48453 48454 I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit. 48455 This is the only one that's actually specified to fire 48456 in the latest DOM Core spec. 48457 48458 * dom/DOMImplementation.cpp: 48459 (WebCore::DOMImplementation::createDocument): 48460 48461 2011-03-10 Rik Cabanier <cabanier (a] gmail.com> 48462 48463 Reviewed by Tony Gentilcore. 48464 48465 Fix that allows fixed length values to be floating point 48466 https://bugs.webkit.org/show_bug.cgi?id=52699 48467 48468 * WebCore.xcodeproj/project.pbxproj: 48469 * css/CSSStyleSelector.cpp: 48470 (WebCore::convertToLength): 48471 (WebCore::convertToIntLength): 48472 (WebCore::convertToFloatLength): 48473 (WebCore::CSSStyleSelector::applyProperty): 48474 (WebCore::CSSStyleSelector::createTransformOperations): 48475 * platform/Length.h: 48476 (WebCore::Length::Length): 48477 (WebCore::Length::operator==): 48478 (WebCore::Length::operator!=): 48479 (WebCore::Length::rawValue): 48480 (WebCore::Length::type): 48481 (WebCore::Length::quirk): 48482 (WebCore::Length::setValue): 48483 (WebCore::Length::calcFloatValue): 48484 (WebCore::Length::isZero): 48485 (WebCore::Length::blend): 48486 (WebCore::Length::getIntValue): 48487 (WebCore::Length::getFloatValue): 48488 * rendering/AutoTableLayout.cpp: 48489 (WebCore::AutoTableLayout::recalcColumn): 48490 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 48491 * rendering/FixedTableLayout.cpp: 48492 (WebCore::FixedTableLayout::calcWidthArray): 48493 48494 2011-03-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 48495 48496 Unreviewed, rolling out r80800. 48497 http://trac.webkit.org/changeset/80800 48498 https://bugs.webkit.org/show_bug.cgi?id=56163 48499 48500 Caused hundreds of tests to crash on Windows 7 (Requested by 48501 rniwa on #webkit). 48502 48503 * page/EventHandler.cpp: 48504 (WebCore::EventHandler::mouseMoved): 48505 (WebCore::EventHandler::updateMouseEventTargetNode): 48506 * page/FocusController.cpp: 48507 (WebCore::FocusController::setActive): 48508 * page/FrameView.cpp: 48509 (WebCore::FrameView::FrameView): 48510 (WebCore::FrameView::~FrameView): 48511 * page/FrameView.h: 48512 * page/Page.cpp: 48513 * page/Page.h: 48514 * platform/ScrollView.cpp: 48515 (WebCore::ScrollView::wheelEvent): 48516 * platform/ScrollView.h: 48517 * rendering/RenderDataGrid.cpp: 48518 (WebCore::RenderDataGrid::RenderDataGrid): 48519 (WebCore::RenderDataGrid::~RenderDataGrid): 48520 * rendering/RenderLayer.cpp: 48521 (WebCore::RenderLayer::RenderLayer): 48522 (WebCore::RenderLayer::~RenderLayer): 48523 * rendering/RenderLayer.h: 48524 * rendering/RenderListBox.cpp: 48525 (WebCore::RenderListBox::RenderListBox): 48526 (WebCore::RenderListBox::~RenderListBox): 48527 48528 2011-03-10 Alice Boxhall <aboxhall (a] chromium.org> 48529 48530 Reviewed by Dimitri Glazkov. 48531 48532 NULL pointer crash when using :empty and :first-line pseudoclass selectors together 48533 https://bugs.webkit.org/show_bug.cgi?id=53316 48534 48535 :empty is calculated for each element during parsing, but then not 48536 recalculated after any child elements are attached. Force style 48537 re-calculation on elements which have :empty in their style when 48538 their children are changed. 48539 48540 Test: fast/css/empty-first-line-crash.html 48541 48542 * dom/Element.cpp: 48543 (WebCore::checkForEmptyStyleChange): Pull out empty style checking 48544 logic from checkForSiblingStyleChanges(). 48545 (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges() 48546 method. 48547 (WebCore::Element::childrenChanged): Call checkForEmptyStyleChanges() when 48548 called with changedByParser = true. 48549 48550 2011-03-10 Emil A Eklund <eae (a] chromium.org> 48551 48552 Unreviewed build fix. 48553 48554 Fix Leopard Release build broken by r80797. 48555 48556 * html/CollectionCache.h: 48557 48558 2011-03-10 Beth Dakin <bdakin (a] apple.com> 48559 48560 Reviewed by Darin Adler. 48561 48562 Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 48563 send notifications appropriate times (showing up, resizing) 48564 -and corresponding- 48565 https://bugs.webkit.org/show_bug.cgi?id=56067 48566 48567 The general strategy here is to add a HashSet of ScrollableAreas to the page that 48568 can be accessed when necessary to send notifications to all ScrollableAreas. 48569 48570 Find layers for relevant node and if the layers are in the Page's ScrollableArea 48571 set, then send the relevant notification. 48572 * page/EventHandler.cpp: 48573 (WebCore::EventHandler::mouseMoved): 48574 (WebCore::EventHandler::updateMouseEventTargetNode): 48575 48576 When the page is set active or not active, iterate through the Page's 48577 ScrollableAreas to send hide/show notifications. 48578 * page/FocusController.cpp: 48579 (WebCore::FocusController::setActive): 48580 48581 When a FrameView is created, add it to the ScrollableArea set. When it's 48582 destroyed, remove it. 48583 * page/FrameView.cpp: 48584 (WebCore::FrameView::FrameView): 48585 (WebCore::FrameView::~FrameView): 48586 48587 Iterate through the Page's ScrollableAreas to send the paint notification. 48588 (WebCore::FrameView::notifyPageThatContentAreaWillPaint): 48589 * page/FrameView.h: 48590 48591 Add the new ScrollableArea set. 48592 * page/Page.cpp: 48593 (WebCore::Page::addScrollableArea): 48594 (WebCore::Page::removeScrollableArea): 48595 (WebCore::Page::pageContainsScrollableArea): 48596 * page/Page.h: 48597 (WebCore::Page::scrollableAreaSet): 48598 48599 notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView. 48600 * platform/ScrollView.cpp: 48601 (WebCore::ScrollView::notifyPageThatContentAreaWillPaint): 48602 48603 Call notifyPageThatContentAreaWillPaint() instead of calling 48604 contentAreaWillPaint() just for the ScrollView. 48605 (WebCore::ScrollView::paint): 48606 * platform/ScrollView.h: 48607 48608 Add/remove ScrollableAreas to the set. 48609 * rendering/RenderDataGrid.cpp: 48610 (WebCore::RenderDataGrid::RenderDataGrid): 48611 (WebCore::RenderDataGrid::~RenderDataGrid): 48612 * rendering/RenderListBox.cpp: 48613 (WebCore::RenderListBox::RenderListBox): 48614 (WebCore::RenderListBox::~RenderListBox): 48615 * rendering/RenderLayer.cpp: 48616 (WebCore::RenderLayer::RenderLayer): 48617 (WebCore::RenderLayer::~RenderLayer): 48618 48619 Should have implemented this ScrollableArea-interface function a while ago. 48620 (WebCore::RenderLayer::currentMousePosition): 48621 * rendering/RenderLayer.h: 48622 48623 2011-03-10 takano takumi <takano (a] apple.com> 48624 48625 Reviewed by David Hyatt. 48626 48627 Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled 48628 https://bugs.webkit.org/show_bug.cgi?id=55069 48629 48630 No new tests. If the test above runs without crash, the fix should be okay. 48631 48632 * dom/Node.cpp: 48633 (WebCore::Node::diff): 48634 - Changed to return Detach when textCombine style was changed. 48635 * rendering/RenderCombineText.cpp: 48636 (WebCore::RenderCombineText::styleDidChange): 48637 (WebCore::RenderCombineText::setTextInternal): 48638 (WebCore::RenderCombineText::width): 48639 (WebCore::RenderCombineText::adjustTextOrigin): 48640 (WebCore::RenderCombineText::charactersToRender): 48641 (WebCore::RenderCombineText::combineText): 48642 - Added assertions to ensure the passed object is RenderCombineText. 48643 * rendering/RenderCombineText.h: 48644 (WebCore::RenderCombineText::isCombineText): 48645 - Added to distinguish plain RenderText and RenderCombineText. 48646 (WebCore::toRenderCombineText): 48647 - Added assertions to ensure the passed object is RenderCombineText. 48648 * rendering/RenderObject.h: 48649 (WebCore::RenderObject::isCombineText): 48650 - Added to distinguish plain RenderText and RenderCombineText. 48651 48652 2011-03-10 Emil A Eklund <eae (a] chromium.org> 48653 48654 Reviewed by Darin Adler. 48655 48656 Collection cache not reset when moving base node between documents 48657 https://bugs.webkit.org/show_bug.cgi?id=55446 48658 48659 Fix bug where HTMLCollection::resetCollectionInfo does not reset the 48660 cache when the base node is moved to a different document by making sure 48661 that the DOMVersion is updated and that it's unique across documents. 48662 48663 Tests: fast/dom/HTMLFormElement/invalid-form-field.html 48664 fast/dom/HTMLFormElement/move-option-between-documents.html 48665 fast/dom/collection-nameditem-move-between-documents.html 48666 48667 * dom/Document.cpp: 48668 (WebCore::Document::Document): 48669 * dom/Document.h: 48670 (WebCore::Document::incDOMTreeVersion): 48671 (WebCore::Document::domTreeVersion): 48672 * dom/Node.cpp: 48673 (WebCore::Node::setDocumentRecursively): 48674 * html/FormAssociatedElement.cpp: 48675 (WebCore::FormAssociatedElement::resetFormOwner): 48676 * html/HTMLCollection.cpp: 48677 (WebCore::HTMLCollection::resetCollectionInfo): 48678 * xml/XPathResult.h: 48679 48680 2011-03-10 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 48681 48682 Unreviewed build fix. 48683 48684 [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled. 48685 https://bugs.webkit.org/show_bug.cgi?id=56005 48686 48687 There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled. 48688 48689 * platform/efl/ContextMenuEfl.cpp: 48690 (WebCore::ContextMenu::ContextMenu): 48691 * platform/efl/ContextMenuItemEfl.cpp: 48692 48693 2011-03-10 Ryosuke Niwa <rniwa (a] webkit.org> 48694 48695 Reviewed by Tony Chang. 48696 48697 startOfBlock and endOfBlock may return a position inside hr 48698 https://bugs.webkit.org/show_bug.cgi?id=56025 48699 48700 Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by 48701 calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists 48702 of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean 48703 argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule. 48704 48705 Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to 48706 enclosingBlock to be consitent with startOfBlock and endOfBlock. 48707 48708 This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock, 48709 and inSameBlock by calls to containerNode because the enclosing block of a position 48710 should never be before or after the position. 48711 48712 No tests are added because this change only affects WebCore internally. 48713 48714 * editing/DeleteSelectionCommand.cpp: 48715 (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType. 48716 Pass CanCrossEditingBoundary instead of false. 48717 * editing/htmlediting.cpp: 48718 (WebCore::unsplittableElementForPosition): Ditto. 48719 (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to 48720 enclosingNodeOfType. 48721 (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean. 48722 Fixed a bug that it stops walking the tree when it reached the root editable node 48723 even when the editing boundary crossing rule is CanCrossEditingBoundary. 48724 * editing/htmlediting.h: Prototype changes. 48725 * editing/visible_units.cpp: 48726 (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement. 48727 Also added an early exit when there's no enclosing block. 48728 (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in 48729 lastPositionInNode. 48730 (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement. 48731 (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because 48732 we don't care where the start of block is when we're comparing against the given position. 48733 (WebCore::isEndOfBlock): Ditto. 48734 * editing/visible_units.h: 48735 48736 2011-03-10 Alexey Proskuryakov <ap (a] apple.com> 48737 48738 Reviewed by Dan Bernstein. 48739 48740 Backspace deletes all non-BMP symbols at once, and then some 48741 https://bugs.webkit.org/show_bug.cgi?id=55971 48742 <rdar://problem/8725312> 48743 48744 Test: platform/mac/editing/input/insert-delete-smp-symbol.html 48745 48746 * rendering/RenderText.cpp: 48747 (WebCore::isMark): This matches what Core Foundation does for all characters that I tested. 48748 (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark(). 48749 48750 2011-03-10 Chris Evans <cevans (a] chromium.org> 48751 48752 Reviewed by Adam Barth. 48753 48754 Error in StyleElement::process with large nodesets 48755 https://bugs.webkit.org/show_bug.cgi?id=56150 48756 48757 Test: none due to excessive runtime and CRASH() vs. real crash. 48758 48759 * dom/StyleElement.cpp: 48760 (WebCore::StyleElement::process): Handle large node sets better. 48761 48762 2011-03-10 David Hyatt <hyatt (a] apple.com> 48763 48764 Reviewed by Simon Fraser. 48765 48766 https://bugs.webkit.org/show_bug.cgi?id=47151 48767 48768 Percentage heights should skip anonymous containing blocks when computing the used value. 48769 48770 Added fast/block/basic/percentage-height-inside-anonymous-block.html 48771 48772 * rendering/RenderBox.cpp: 48773 (WebCore::RenderBox::computePercentageLogicalHeight): 48774 48775 2011-03-10 Nat Duca <nduca (a] chromium.org> 48776 48777 Reviewed by James Robinson. 48778 48779 [chromium] Make updateAndDrawLayers argumentless. 48780 https://bugs.webkit.org/show_bug.cgi?id=55985 48781 48782 Made the TilePainters and viewport parameters for 48783 LayerRendererChromium member variables instead of arguments on 48784 updateAndDrawLayers. In a future change, this will allows us to 48785 draw the layer tree without the WebView's assistance. 48786 48787 * platform/graphics/chromium/LayerRendererChromium.cpp: 48788 (WebCore::LayerRendererChromium::create): 48789 (WebCore::LayerRendererChromium::LayerRendererChromium): 48790 (WebCore::LayerRendererChromium::verticalScrollbarRect): 48791 (WebCore::LayerRendererChromium::horizontalScrollbarRect): 48792 (WebCore::LayerRendererChromium::invalidateRootLayerRect): 48793 (WebCore::LayerRendererChromium::updateRootLayerContents): 48794 (WebCore::LayerRendererChromium::updateRootLayerScrollbars): 48795 (WebCore::LayerRendererChromium::drawRootLayer): 48796 (WebCore::LayerRendererChromium::setViewport): 48797 (WebCore::LayerRendererChromium::updateAndDrawLayers): 48798 (WebCore::LayerRendererChromium::updateLayers): 48799 (WebCore::LayerRendererChromium::drawLayers): 48800 (WebCore::LayerRendererChromium::setRootLayer): 48801 (WebCore::LayerRendererChromium::getFramebufferPixels): 48802 (WebCore::LayerRendererChromium::cleanupSharedObjects): 48803 * platform/graphics/chromium/LayerRendererChromium.h: 48804 (WebCore::LayerRendererChromium::viewportSize): 48805 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: 48806 (WebCore::CCHeadsUpDisplay::draw): 48807 48808 2011-01-25 Martin Robinson <mrobinson (a] igalia.com> 48809 48810 Reviewed by Xan Lopez. 48811 48812 [GTK] Implement spin buttons for GTK+ 2.x 48813 https://bugs.webkit.org/show_bug.cgi?id=53098 48814 48815 Implement spin buttons for GTK+ 2.x. This allows proper render and functioning 48816 for input type=number. The implementation is based on the one in gtkspinbutton.c 48817 from the GTK+ sources. 48818 48819 * platform/gtk/RenderThemeGtk.h: Added new members and getters. 48820 * platform/gtk/RenderThemeGtk2.cpp: 48821 (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget. 48822 (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the 48823 spin button area to have proper rendering. There doesn't seem to be any other 48824 clean way of having spin buttons that are the size of the text input frame. 48825 (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation. 48826 (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto. 48827 (WebCore::RenderThemeGtk::gtkSpinButton): Added. 48828 48829 2011-03-10 Levi Weintraub <leviw (a] chromium.org> 48830 48831 Reviewed by Ryosuke Niwa. 48832 48833 InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop 48834 https://bugs.webkit.org/show_bug.cgi?id=53409 48835 48836 Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection 48837 spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm 48838 didn't skip the editable boundary. 48839 48840 Test: editing/execCommand/insert-list-with-noneditable-content.html 48841 48842 * editing/CompositeEditCommand.cpp: 48843 (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination 48844 position for the active editing command. Without this, there are cases when the destination happens 48845 to be a placeholder, and we remove it. 48846 (WebCore::CompositeEditCommand::moveParagraphs): 48847 * editing/CompositeEditCommand.h: 48848 * editing/InsertListCommand.cpp: 48849 (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of 48850 non-editable content in an editable context. Previously, this could cause an infinite loop. 48851 * editing/visible_units.cpp: 48852 (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable 48853 content in the same paragraph to reach the actual editable paragraph start. 48854 (WebCore::endOfParagraph): Ditto. 48855 (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of 48856 endOfParagraph. 48857 48858 2011-03-10 Berend-Jan Wever <skylined (a] chromium.org> 48859 48860 Reviewed by Darin Adler. 48861 48862 Calling focus() on an area element not in a document should not cause a NULL ptr crash 48863 https://bugs.webkit.org/show_bug.cgi?id=54877 48864 48865 Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html 48866 48867 * dom/Element.cpp: 48868 (WebCore::Element::focus): Check element is in the document before allowing focus 48869 * html/HTMLAreaElement.cpp: 48870 (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map 48871 48872 2011-03-10 Xiyuan Xia <xiyuan (a] chromium.org> 48873 48874 Reviewed by Tony Chang. 48875 48876 [Chromium] Fix default single selection select's popup background on chromium/linux 48877 https://bugs.webkit.org/show_bug.cgi?id=56023 48878 48879 Test: fast/html/select-dropdown-consistent-background-color.html 48880 48881 * css/themeChromiumLinux.css: 48882 48883 2011-03-10 Kris Jordan <krisjordan (a] gmail.com> 48884 48885 Reviewed by Alexey Proskuryakov. 48886 48887 Improve default Accept header to give preference to HTML over XML. 48888 https://bugs.webkit.org/show_bug.cgi?id=27267 48889 48890 * loader/FrameLoader.cpp:Changed default accept header to match 48891 FireFox' as per bug 27267. 48892 48893 2011-03-10 Martin Robinson <mrobinson (a] igalia.com> 48894 48895 Reviewed by Xan Lopez. 48896 48897 [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser 48898 https://bugs.webkit.org/show_bug.cgi?id=56125 48899 48900 No new tests. This functionality will be tested once we have TestRunner 48901 implementation for WebKit2 with pixel dumping support. 48902 48903 * GNUmakefile.am: Add a new define with tracks whether or not we are using 48904 our specialized GTK+ ScrollView. 48905 * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling 48906 WebKit1. 48907 (WebCore::ScrollView::wheelEvent): 48908 * platform/gtk/ScrollViewGtk.cpp: Ditto. 48909 48910 2011-03-10 Kent Tamura <tkent (a] chromium.org> 48911 48912 Reviewed by Dimitri Glazkov. 48913 48914 Assertion fails by validating a form twice very quickly 48915 https://bugs.webkit.org/show_bug.cgi?id=56069 48916 48917 If the interactive validation is invoked when a form control is in 48918 needsLayout() state, an assertion in isFocusable() fails. To avoid it, 48919 Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable(). 48920 48921 Test: fast/forms/interactive-validation-assertion-by-validate-twice.html 48922 48923 * html/HTMLFormElement.cpp: 48924 (WebCore::HTMLFormElement::validateInteractively): 48925 Calls updateLayoutIgnorePendingStylesheets(). 48926 48927 2011-03-10 David Hyatt <hyatt (a] apple.com> 48928 48929 Reviewed by Beth Dakin. 48930 48931 https://bugs.webkit.org/show_bug.cgi?id=47143 48932 48933 Static distance computation is wrong when an ancestor is also positioned. We need to go up the container() 48934 chain (after initially starting with the parent()) when doing this computation, so that we properly skip 48935 intermediate boxes between two positioned blocks. 48936 48937 Added fast/block/positioning/static-distance-with-positioned-ancestor.html. 48938 48939 * rendering/RenderBox.cpp: 48940 (WebCore::computeInlineStaticDistance): 48941 (WebCore::computeBlockStaticDistance): 48942 48943 2011-03-10 Adrienne Walker <enne (a] google.com> 48944 48945 Reviewed by Kenneth Russell. 48946 48947 [chromium] Make tiled compositor data structure more efficient. 48948 https://bugs.webkit.org/show_bug.cgi?id=54133 48949 48950 Previously, the compositor had a sparse 2D array of tiles for the 48951 whole page, most of which were null. The tiles were implicitly 48952 located based on their position in the array. This was inefficient 48953 when the page grew (e.g. infinite scrolling) and caused some bugs 48954 (e.g. width * height > MAX_INT). This change modifies tiles to have 48955 explicit positions so they can be stored in a hash map. 48956 48957 Tests: LayoutTests/compositing/ 48958 48959 * platform/graphics/chromium/LayerTilerChromium.cpp: 48960 (WebCore::LayerTilerChromium::reset): 48961 (WebCore::LayerTilerChromium::createTile): 48962 (WebCore::LayerTilerChromium::invalidateTiles): 48963 (WebCore::LayerTilerChromium::contentRectToTileIndices): 48964 (WebCore::LayerTilerChromium::tileAt): 48965 (WebCore::LayerTilerChromium::tileContentRect): 48966 (WebCore::LayerTilerChromium::tileLayerRect): 48967 (WebCore::LayerTilerChromium::invalidateRect): 48968 (WebCore::LayerTilerChromium::invalidateEntireLayer): 48969 (WebCore::LayerTilerChromium::update): 48970 (WebCore::LayerTilerChromium::updateFromPixels): 48971 (WebCore::LayerTilerChromium::draw): 48972 (WebCore::LayerTilerChromium::growLayerToContain): 48973 * platform/graphics/chromium/LayerTilerChromium.h: 48974 (WebCore::LayerTilerChromium::Tile::Tile): 48975 (WebCore::LayerTilerChromium::Tile::i): 48976 (WebCore::LayerTilerChromium::Tile::j): 48977 (WebCore::LayerTilerChromium::Tile::moveTo): 48978 (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue): 48979 (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue): 48980 (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue): 48981 48982 2011-03-10 Ryosuke Niwa <rniwa (a] webkit.org> 48983 48984 Unreviewed build fix for r80752; Negated the boolean logic. 48985 48986 * editing/VisiblePosition.cpp: 48987 (WebCore::VisiblePosition::next): 48988 (WebCore::VisiblePosition::previous): 48989 48990 2011-03-10 David Hyatt <hyatt (a] apple.com> 48991 48992 Reviewed by Adam Roben. 48993 48994 Make the same change to xheight on Windows for CG. 48995 48996 * platform/graphics/win/SimpleFontDataCGWin.cpp: 48997 (WebCore::SimpleFontData::platformInit): 48998 48999 2011-03-10 David Hyatt <hyatt (a] apple.com> 49000 49001 Reviewed by Simon Fraser. 49002 49003 https://bugs.webkit.org/show_bug.cgi?id=47147 49004 49005 Fix for repaint issues when the root element is a table and needs to paint a background that 49006 covers the entire canvas. Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers, 49007 so that it can be called only for fill layer painting. Make tables and normal boxes both 49008 call this new method. Fix the dirty check at the start of RenderTable paint to not happen if 49009 the table is the root of the document (this same check exists in RenderBlock painting already). 49010 49011 * rendering/RenderBox.cpp: 49012 (WebCore::RenderBox::paintRootBoxFillLayers): 49013 (WebCore::RenderBox::paintBoxDecorations): 49014 (WebCore::RenderBox::paintBoxDecorationsWithSize): 49015 * rendering/RenderBox.h: 49016 * rendering/RenderLayerCompositor.cpp: 49017 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 49018 * rendering/RenderTable.cpp: 49019 (WebCore::RenderTable::paint): 49020 (WebCore::RenderTable::paintBoxDecorations): 49021 49022 2011-03-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 49023 49024 Unreviewed, rolling out r80749. 49025 http://trac.webkit.org/changeset/80749 49026 https://bugs.webkit.org/show_bug.cgi?id=56143 49027 49028 "Caused at least 3 media tests to be flaky" (Requested by 49029 tonyg-cr on #webkit). 49030 49031 * html/parser/HTMLDocumentParser.cpp: 49032 (WebCore::HTMLDocumentParser::canTakeNextToken): 49033 (WebCore::HTMLDocumentParser::pumpTokenizer): 49034 * html/parser/HTMLParserScheduler.cpp: 49035 * html/parser/HTMLParserScheduler.h: 49036 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): 49037 * page/FrameView.h: 49038 49039 2011-03-10 Sam Weinig <sam (a] webkit.org> 49040 49041 Reviewed by David Hyatt. 49042 49043 Regression: Content not drawn when scrolling horizontally in an RTL page 49044 https://bugs.webkit.org/show_bug.cgi?id=55077 49045 49046 * platform/ScrollView.cpp: 49047 (WebCore::ScrollView::overhangAmount): 49048 (WebCore::ScrollView::calculateOverhangAreasForPainting): 49049 Take the scroll origin into account when calculating overhang. 49050 49051 * platform/ScrollView.h: 49052 * rendering/RenderLayer.h: 49053 * platform/ScrollableArea.h: 49054 (WebCore::ScrollableArea::scrollOrigin): 49055 Move identical scroll origin member from ScrollView and RenderLayer 49056 to shared base ScrollableArea. This is also needed so that the animator 49057 can access it. 49058 49059 * platform/mac/ScrollAnimatorMac.mm: 49060 (WebCore::ScrollAnimatorMac::pinnedInDirection): 49061 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): 49062 (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): 49063 Account for a scroll origin when doing calculating scroll offsets. 49064 49065 2011-03-09 Matthew Delaney <mdelaney (a] apple.com> 49066 49067 Reviewed by Simon Fraser. 49068 49069 Plumb through settings for accelerated drawing for canvas 49070 https://bugs.webkit.org/show_bug.cgi?id=56039 49071 49072 No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends. 49073 49074 * WebCore.exp.in: 49075 * html/HTMLCanvasElement.cpp: 49076 * html/canvas/CanvasRenderingContext2D.cpp: 49077 * page/Settings.cpp: 49078 * page/Settings.h: 49079 49080 2011-03-10 David Hyatt <hyatt (a] apple.com> 49081 49082 Reviewed by Simon Fraser. 49083 49084 https://bugs.webkit.org/show_bug.cgi?id=47157 49085 49086 CSS2.1 test suite failures because the ex unit is broken with the Ahem font. 49087 49088 Remove the code that tries to also include the maxX of the glyph bounds for the 49089 'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends 49090 below the baseline. 49091 49092 Remove the Apple Symbol hack for ex units, since the person who added that was confused by another 49093 issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize. That's why 49094 the value was too small. Patched the code to just multiply by pointSize and took out the hack. 49095 49096 Fix causes many tests in the css2.1 directory to progress, so no new tests required. Many other 49097 layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio 49098 buttons use ex horizontal margins by default. 49099 49100 * platform/graphics/mac/SimpleFontDataMac.mm: 49101 (WebCore::SimpleFontData::platformInit): 49102 49103 2011-03-10 Ryosuke Niwa <rniwa (a] webkit.org> 49104 49105 Reviewed by Tony Chang. 49106 49107 VisiblePosition's next and previous should take an enum instead of a boolean 49108 https://bugs.webkit.org/show_bug.cgi?id=56135 49109 49110 Changed the argument type of VisiblePosition::next and VisiblePosition::previous 49111 from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum 49112 in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum 49113 was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll 49114 to call VisiblePosition::next and VisiblePosition::previous. 49115 49116 * WebCore.exp.in: 49117 * dom/Position.cpp: 49118 (WebCore::Position::trailingWhitespacePosition): 49119 * editing/ApplyBlockElementCommand.cpp: 49120 (WebCore::ApplyBlockElementCommand::doApply): 49121 * editing/CompositeEditCommand.cpp: 49122 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 49123 * editing/InsertListCommand.cpp: 49124 (WebCore::InsertListCommand::doApply): 49125 (WebCore::InsertListCommand::listifyParagraph): 49126 * editing/ReplaceSelectionCommand.cpp: 49127 (WebCore::ReplaceSelectionCommand::shouldMergeStart): 49128 (WebCore::ReplaceSelectionCommand::shouldMergeEnd): 49129 (WebCore::ReplaceSelectionCommand::doApply): 49130 * editing/SelectionController.cpp: 49131 (WebCore::SelectionController::modifyExtendingRight): 49132 (WebCore::SelectionController::modifyExtendingForward): 49133 (WebCore::SelectionController::modifyMovingForward): 49134 (WebCore::SelectionController::modifyExtendingLeft): 49135 (WebCore::SelectionController::modifyExtendingBackward): 49136 (WebCore::SelectionController::modifyMovingBackward): 49137 * editing/SelectionController.h: 49138 (WebCore::SelectionController::isAll): 49139 * editing/TypingCommand.cpp: 49140 (WebCore::TypingCommand::deleteKeyPressed): 49141 (WebCore::TypingCommand::forwardDeleteKeyPressed): 49142 * editing/VisiblePosition.cpp: 49143 (WebCore::VisiblePosition::next): 49144 (WebCore::VisiblePosition::previous): 49145 * editing/VisiblePosition.h: 49146 * editing/VisibleSelection.cpp: 49147 (WebCore::VisibleSelection::isAll): 49148 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): 49149 * editing/VisibleSelection.h: 49150 * editing/htmlediting.cpp: 49151 (WebCore::selectionForParagraphIteration): 49152 * editing/visible_units.cpp: 49153 (WebCore::startOfNextParagraph): 49154 49155 2011-03-10 Mihai Parparita <mihaip (a] chromium.org> 49156 49157 Reviewed by Tony Gentilcore. 49158 49159 Remove CRASH() calls added to track down bug 53045 49160 https://bugs.webkit.org/show_bug.cgi?id=56137 49161 49162 Remove CRASH() calls added by r76575 and re-label ones added by r80155 49163 and r80269 as being associated with bug 56124 (which may still be 49164 happening). 49165 49166 * css/CSSImageValue.cpp: 49167 (WebCore::CSSImageValue::cachedImage): 49168 * css/CSSSelector.h: 49169 * css/CSSSelectorList.cpp: 49170 (WebCore::CSSSelectorList::deleteSelectors): 49171 * loader/cache/CachedResource.cpp: 49172 (WebCore::CachedResource::CachedResource): 49173 (WebCore::CachedResource::~CachedResource): 49174 * loader/cache/CachedResource.h: 49175 49176 2011-03-10 Tony Gentilcore <tonyg (a] chromium.org> 49177 49178 Reviewed by Eric Seidel. 49179 49180 Let the parser yield for layout before running scripts 49181 https://bugs.webkit.org/show_bug.cgi?id=54355 49182 49183 Prior to this patch, the parser would yield to perform a layout/paint before running a 49184 script only if the script or a stylesheet blocking the script is not loaded yet. Since we 49185 don't preload scan into the body while parsing the head, typically we'll block on a script 49186 early in the body that causes us to yield to do the first paint within a reasonable time. 49187 49188 However, I'm planning to change the PreloadScanner to scan into the body from the head. 49189 That significantly improves overall load time, but would hurt first paint time because 49190 fewer scripts would be blocked during parsing and thus wouldn't yield. 49191 49192 This change causes us to yield before running scripts if we haven't painted yet (regardless 49193 of whether or not the script is loaded). In addition to allowing the above mentioned 49194 PreloadScanner change to be implemented without regressing first paint time, this also 49195 improves first paint time by itself. 49196 49197 I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate 49198 bandwidth. This patch improved average first paint time by 1% over an unlimited connection, 49199 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically 49200 signifcant change in page load time. 49201 49202 Within the pages tested, 33 had no statistically significant change in time to first paint, 49203 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set 49204 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu. 49205 49206 * html/parser/HTMLDocumentParser.cpp: 49207 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point. 49208 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused 49209 means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does 49210 the right thing whether we are just before a token or waiting for a script. Now that we may 49211 yield before a token or before a script, this may be called while paused. 49212 * html/parser/HTMLParserScheduler.cpp: 49213 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added. 49214 * page/FrameView.h: 49215 (WebCore::FrameView::hasEverPainted): Added. 49216 49217 2011-03-10 Alejandro G. Castro <alex (a] igalia.com> 49218 49219 Reviewed by Martin Robinson. 49220 49221 Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE) 49222 https://bugs.webkit.org/show_bug.cgi?id=55996 49223 49224 Use the macre USE instead of defined fro WTF_USE_FREETYPE and 49225 WTF_USE_PANGO. 49226 49227 * GNUmakefile.am: 49228 * platform/graphics/cairo/OwnPtrCairo.cpp: 49229 * platform/graphics/cairo/OwnPtrCairo.h: 49230 * platform/graphics/cairo/RefPtrCairo.cpp: 49231 * platform/graphics/cairo/RefPtrCairo.h: 49232 * platform/graphics/gtk/FontGtk.cpp: 49233 (WebCore::setPangoAttributes): 49234 (WebCore::Font::drawComplexText): 49235 (WebCore::Font::floatWidthForComplexText): 49236 (WebCore::Font::offsetForPositionForComplexText): 49237 (WebCore::Font::selectionRectForComplexText): 49238 49239 2011-03-10 Geoffrey Garen <ggaren (a] apple.com> 49240 49241 Reviewed by Oliver Hunt. 49242 49243 Rolled back in 80277 and 80280 with event handler layout test failures fixed. 49244 https://bugs.webkit.org/show_bug.cgi?id=55653 49245 49246 The failures were caused by a last minute typo: assigning to currentEvent 49247 instead of m_currentEvent. 49248 49249 * WebCore.xcodeproj/project.pbxproj: 49250 * bindings/js/JSDOMGlobalObject.cpp: 49251 * bindings/js/JSDOMGlobalObject.h: 49252 * bindings/js/JSDOMWindowBase.cpp: 49253 * bindings/js/JSDOMWindowBase.h: 49254 * bindings/js/JSDOMWindowCustom.h: 49255 * bindings/js/JSWorkerContextBase.cpp: 49256 49257 2011-03-10 David Hyatt <hyatt (a] apple.com> 49258 49259 Reviewed by Dan Bernstein. 49260 49261 https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard. 49262 49263 Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the 49264 translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since 49265 this is done already on Lion and Leopard. 49266 49267 * platform/graphics/mac/FontMac.mm: 49268 (WebCore::showGlyphsWithAdvances): 49269 49270 2011-03-10 Sheriff Bot <webkit.review.bot (a] gmail.com> 49271 49272 Unreviewed, rolling out r80701. 49273 http://trac.webkit.org/changeset/80701 49274 https://bugs.webkit.org/show_bug.cgi?id=56126 49275 49276 fast/dom/Geolocation/window-close-crash.html fails on Snow 49277 Leopard release builds (Requested by mihaip on #webkit). 49278 49279 * page/DOMWindow.cpp: 49280 * page/DOMWindow.h: 49281 * page/Frame.cpp: 49282 (WebCore::Frame::pageDestroyed): 49283 (WebCore::Frame::transferChildFrameToNewDocument): 49284 * page/Geolocation.cpp: 49285 (WebCore::Geolocation::~Geolocation): 49286 (WebCore::Geolocation::disconnectFrame): 49287 (WebCore::Geolocation::lastPosition): 49288 (WebCore::Geolocation::requestPermission): 49289 (WebCore::Geolocation::startUpdating): 49290 (WebCore::Geolocation::stopUpdating): 49291 * page/Geolocation.h: 49292 * page/GeolocationController.cpp: 49293 (WebCore::GeolocationController::~GeolocationController): 49294 * page/Navigator.cpp: 49295 * page/Navigator.h: 49296 * platform/mock/GeolocationClientMock.cpp: 49297 * platform/mock/GeolocationClientMock.h: 49298 49299 2011-03-10 Pratik Solanki <psolanki (a] apple.com> 49300 49301 Reviewed by Alexey Proskuryakov. 49302 49303 ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority 49304 https://bugs.webkit.org/show_bug.cgi?id=56075 49305 49306 Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved. 49307 49308 * platform/network/cf/ResourceRequestCFNet.h: 49309 (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority): 49310 (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority): 49311 49312 2011-03-10 Andrey Adaikin <aandrey (a] google.com> 49313 49314 Reviewed by Pavel Feldman. 49315 49316 Web Inspector: [Text editor] Substitute live-edit mode activation by double-click 49317 https://bugs.webkit.org/show_bug.cgi?id=56084 49318 49319 Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer. 49320 49321 * inspector/front-end/SourceFrame.js: 49322 (WebInspector.SourceFrame): 49323 (WebInspector.SourceFrame.prototype._startEditing): 49324 (WebInspector.SourceFrame.prototype._registerShortcuts): 49325 (WebInspector.SourceFrame.prototype._handleKeyDown): 49326 (WebInspector.SourceFrame.prototype._handleSave): 49327 (WebInspector.SourceFrame.prototype._handleRevertEditing): 49328 (WebInspector.SourceFrame.prototype._doubleClick): 49329 * inspector/front-end/TextEditorModel.js: 49330 (WebInspector.TextEditorModel.prototype.get text): 49331 * inspector/front-end/TextViewer.js: 49332 (WebInspector.TextViewer.prototype.get readOnly): 49333 (WebInspector.TextEditorMainPanel): 49334 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 49335 (WebInspector.TextEditorMainPanel.prototype.get readOnly): 49336 49337 2011-03-10 Greg Simon <gregsimon (a] chromium.org> 49338 49339 Reviewed by Pavel Feldman. 49340 49341 Web Inspector: Need new graphic icon for garbage collect button. 49342 https://bugs.webkit.org/show_bug.cgi?id=55794 49343 49344 No new tests: gc tests are flaky due to non-determinisic 49345 behavior of collection APIs (more notes in bug) 49346 49347 * English.lproj/localizedStrings.js: 49348 * WebCore.gypi: 49349 * bindings/js/ScriptProfiler.cpp: 49350 (WebCore::ScriptProfiler::collectGarbage): 49351 * bindings/js/ScriptProfiler.h: 49352 * bindings/v8/ScriptProfiler.cpp: 49353 (WebCore::ScriptProfiler::collectGarbage): 49354 * bindings/v8/ScriptProfiler.h: 49355 * inspector/Inspector.idl: 49356 * inspector/InspectorProfilerAgent.cpp: 49357 (WebCore::InspectorProfilerAgent::collectGarbage): 49358 * inspector/InspectorProfilerAgent.h: 49359 * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added. 49360 * inspector/front-end/TimelinePanel.js: 49361 (WebInspector.TimelinePanel.prototype.get statusBarItems): 49362 (WebInspector.TimelinePanel.prototype._createStatusbarButtons): 49363 (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked): 49364 * inspector/front-end/inspector.css: 49365 (.garbage-collect-status-bar-item .glyph): 49366 49367 2011-03-10 Andrey Kosyakov <caseq (a] chromium.org> 49368 49369 Web Inspector: better names for HAR export commands 49370 https://bugs.webkit.org/show_bug.cgi?id=56097 49371 49372 Rename Export to HAR to Copy entry/network log as HAR 49373 Expose Copy as HAR unconditionally, remove related settings entry. 49374 49375 * English.lproj/localizedStrings.js: 49376 * inspector/front-end/NetworkPanel.js: 49377 (WebInspector.NetworkPanel.prototype._contextMenu): 49378 * inspector/front-end/Settings.js: 49379 49380 2011-03-10 Qi Zhang <qi.2.zhang (a] nokia.com> 49381 49382 Reviewed by Laszlo Gombos. 49383 49384 [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String 49385 https://bugs.webkit.org/show_bug.cgi?id=48636 49386 49387 Fix a typo in features.pri that turns on this feature on mobile 49388 devices by default. 49389 49390 * features.pri: 49391 49392 2011-03-10 Alexander Pavlov <apavlov (a] chromium.org> 49393 49394 Reviewed by Pavel Feldman. 49395 49396 Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js) 49397 https://bugs.webkit.org/show_bug.cgi?id=56092 49398 49399 * inspector/front-end/CSSStyleModel.js: 49400 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 49401 49402 2011-03-10 Pavel Feldman <pfeldman (a] chromium.org> 49403 49404 Not reviewed: rolling out r80478 and its follow ups for breaking 49405 inspector and engadget.com. 49406 https://bugs.webkit.org/show_bug.cgi?id=49401 49407 49408 * dom/Document.cpp: 49409 (WebCore::Document::Document): 49410 (WebCore::performTask): 49411 (WebCore::Document::postTask): 49412 * dom/Document.h: 49413 * loader/FrameLoader.cpp: 49414 (WebCore::FrameLoader::setDefersLoading): 49415 * manual-tests/database-callback-deferred.html: Removed. 49416 * page/PageGroupLoadDeferrer.cpp: 49417 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 49418 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 49419 49420 2011-03-10 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 49421 49422 Reviewed by Kenneth Rohde Christiansen. 49423 49424 Tiled backing store's delegated scroll request uses incorrect convention 49425 https://bugs.webkit.org/show_bug.cgi?id=56011 49426 49427 Use a point instead of delta, when relaying the scroll request from 49428 ScrollView::setScrollPosition. 49429 49430 * loader/EmptyClients.h: 49431 (WebCore::EmptyChromeClient::delegatedScrollRequested): 49432 * page/Chrome.cpp: 49433 (WebCore::Chrome::delegatedScrollRequested): 49434 * page/Chrome.h: 49435 * page/ChromeClient.h: 49436 * platform/HostWindow.h: 49437 * platform/ScrollView.cpp: 49438 (WebCore::ScrollView::setScrollPosition): 49439 49440 2011-03-10 Pavel Feldman <pfeldman (a] chromium.org> 49441 49442 Reviewed by Yury Semikhatsky. 49443 49444 Web Inspector: brush up DOM agent API. 49445 https://bugs.webkit.org/show_bug.cgi?id=56093 49446 49447 * inspector/Inspector.idl: 49448 * inspector/InspectorDOMAgent.cpp: 49449 (WebCore::InspectorDOMAgent::childNodes): 49450 (WebCore::InspectorDOMAgent::setNodeName): 49451 (WebCore::InspectorDOMAgent::outerHTML): 49452 (WebCore::InspectorDOMAgent::setNodeValue): 49453 * inspector/InspectorDOMAgent.h: 49454 * inspector/front-end/DOMAgent.js: 49455 (WebInspector.DOMNode): 49456 (WebInspector.DOMNode.prototype.hasAttributes): 49457 (WebInspector.DOMNode.prototype.nodeType): 49458 (WebInspector.DOMNode.prototype.nodeName): 49459 (WebInspector.DOMNode.prototype.setNodeName): 49460 (WebInspector.DOMNode.prototype.localName): 49461 (WebInspector.DOMNode.prototype.nodeValue): 49462 (WebInspector.DOMNode.prototype.setNodeValue): 49463 (WebInspector.DOMNode.prototype.setAttribute): 49464 (WebInspector.DOMNode.prototype.attributes): 49465 (WebInspector.DOMNode.prototype.removeAttribute): 49466 (WebInspector.DOMNode.prototype.childNodes.mycallback): 49467 (WebInspector.DOMNode.prototype.childNodes): 49468 (WebInspector.DOMNode.prototype.outerHTML): 49469 (WebInspector.DOMNode.prototype.setOuterHTML): 49470 (WebInspector.DOMNode.prototype.removeNode): 49471 (WebInspector.DOMNode.prototype.copyNode): 49472 (WebInspector.DOMNode.prototype.path): 49473 (WebInspector.DOMNode.prototype._setAttributesPayload): 49474 (WebInspector.DOMNode.prototype._addAttribute): 49475 (WebInspector.DOMAgent.prototype._characterDataModified): 49476 * inspector/front-end/ElementsPanel.js: 49477 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 49478 (WebInspector.ElementsPanel.prototype.decorateNodeLabel): 49479 (WebInspector.ElementsPanel.prototype.handleCopyEvent): 49480 * inspector/front-end/ElementsTreeOutline.js: 49481 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): 49482 (WebInspector.ElementsTreeElement): 49483 (WebInspector.ElementsTreeElement.prototype.updateChildren): 49484 (WebInspector.ElementsTreeElement.prototype._updateChildren): 49485 (WebInspector.ElementsTreeElement.prototype._startEditingTarget): 49486 (WebInspector.ElementsTreeElement.prototype._startEditing): 49487 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 49488 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded): 49489 (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted): 49490 (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): 49491 (WebInspector.ElementsTreeElement.prototype._attributeHTML): 49492 (): 49493 * inspector/front-end/EventListenersSidebarPane.js: 49494 (): 49495 * inspector/front-end/MetricsSidebarPane.js: 49496 * inspector/front-end/StylesSidebarPane.js: 49497 * inspector/front-end/utilities.js: 49498 49499 2011-03-09 Alexander Pavlov <apavlov (a] chromium.org> 49500 49501 Reviewed by Pavel Feldman. 49502 49503 Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren 49504 https://bugs.webkit.org/show_bug.cgi?id=56002 49505 49506 * inspector/front-end/StylesSidebarPane.js: Introduce an additional check. 49507 49508 2011-03-09 Pavel Podivilov <podivilov (a] chromium.org> 49509 49510 Reviewed by Pavel Feldman. 49511 49512 Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate. 49513 https://bugs.webkit.org/show_bug.cgi?id=56034 49514 49515 * inspector/front-end/DebuggerPresentationModel.js: 49516 (WebInspector.DebuggerPresentationModel.prototype.continueToLine): 49517 (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint): 49518 (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint): 49519 (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint): 49520 (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation): 49521 * inspector/front-end/ScriptsPanel.js: 49522 (WebInspector.ScriptsPanel.prototype._createSourceFrame): 49523 (WebInspector.SourceFrameDelegateForScriptsPanel): 49524 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint): 49525 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint): 49526 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint): 49527 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint): 49528 (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine): 49529 * inspector/front-end/SourceFrame.js: 49530 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): 49531 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): 49532 (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled): 49533 (WebInspector.SourceFrame.prototype._contextMenu): 49534 (WebInspector.SourceFrame.prototype._mouseDown): 49535 (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint): 49536 (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint): 49537 49538 2011-03-09 Alexander Pavlov <apavlov (a] chromium.org> 49539 49540 Reviewed by Pavel Feldman. 49541 49542 Web Inspector: elements dom tree - word wrap toggle 49543 https://bugs.webkit.org/show_bug.cgi?id=44311 49544 49545 A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area 49546 and persisted into application settings. 49547 49548 * English.lproj/localizedStrings.js: 49549 * inspector/front-end/ElementsPanel.js: 49550 (WebInspector.ElementsPanel.prototype._contextMenuEventFired): 49551 (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap): 49552 * inspector/front-end/ElementsTreeOutline.js: 49553 (WebInspector.ElementsTreeOutline): 49554 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): 49555 (WebInspector.ElementsTreeOutline.prototype.populateContextMenu): 49556 (WebInspector.ElementsTreeElement.prototype.onreveal): 49557 * inspector/front-end/Settings.js: 49558 (WebInspector.Settings): 49559 * inspector/front-end/inspector.css: 49560 (#elements-content.nowrap): 49561 (#elements-content > ol): 49562 49563 2011-03-09 Pavel Podivilov <podivilov (a] chromium.org> 49564 49565 Reviewed by Pavel Feldman. 49566 49567 Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model. 49568 https://bugs.webkit.org/show_bug.cgi?id=55823 49569 49570 * inspector/front-end/BreakpointsSidebarPane.js: 49571 (WebInspector.JavaScriptBreakpointsSidebarPane): 49572 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet): 49573 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint): 49574 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint): 49575 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint): 49576 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight): 49577 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId): 49578 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked): 49579 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked): 49580 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu): 49581 (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset): 49582 * inspector/front-end/DebuggerPresentationModel.js: 49583 (WebInspector.DebuggerPresentationModel): 49584 (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource): 49585 (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource): 49586 (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints): 49587 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId): 49588 (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled): 49589 (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint): 49590 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 49591 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 49592 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): 49593 (WebInspector.DebuggerPresentationModel.prototype.reset): 49594 * inspector/front-end/ScriptsPanel.js: 49595 (WebInspector.ScriptsPanel): 49596 (WebInspector.ScriptsPanel.prototype._breakpointAdded): 49597 (WebInspector.ScriptsPanel.prototype._breakpointRemoved): 49598 (WebInspector.ScriptsPanel.prototype._debuggerPaused): 49599 (WebInspector.ScriptsPanel.prototype.reset): 49600 (WebInspector.ScriptsPanel.prototype._clearInterface): 49601 49602 2011-03-10 Andrey Adaikin <aandrey (a] google.com> 49603 49604 Reviewed by Pavel Feldman. 49605 49606 Web Inspector: Highlighter refactoring 49607 https://bugs.webkit.org/show_bug.cgi?id=56015 49608 49609 * inspector/front-end/TextEditorHighlighter.js: 49610 (WebInspector.TextEditorHighlighter): 49611 (WebInspector.TextEditorHighlighter.prototype.set mimeType): 49612 (WebInspector.TextEditorHighlighter.prototype.highlight): 49613 (WebInspector.TextEditorHighlighter.prototype.updateHighlight): 49614 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): 49615 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 49616 (WebInspector.TextEditorHighlighter.prototype._selectHighlightState): 49617 (WebInspector.TextEditorHighlighter.prototype._clearHighlightState): 49618 * inspector/front-end/TextViewer.js: 49619 (WebInspector.TextEditorMainPanel.prototype._buildChunks): 49620 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange): 49621 49622 2011-03-05 Pavel Podivilov <podivilov (a] chromium.org> 49623 49624 Reviewed by Pavel Feldman. 49625 49626 Web Inspector: move breakpoint column adjustment to debugger model. 49627 https://bugs.webkit.org/show_bug.cgi?id=55821 49628 49629 Test: inspector/debugger/debug-inlined-scripts.html 49630 49631 * inspector/front-end/DebuggerModel.js: 49632 (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint): 49633 (WebInspector.DebuggerModel.prototype.setBreakpoint): 49634 * inspector/front-end/SourceFrameContent.js: 49635 (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation): 49636 49637 2011-01-21 John Knottenbelt <jknotten (a] chromium.org> 49638 49639 Reviewed by Dmitry Titov. 49640 49641 Detach Geolocation from Frame when Page destroyed. 49642 https://bugs.webkit.org/show_bug.cgi?id=52877 49643 49644 On Page destruction, any outstanding Geolocation permission 49645 requests should be cancelled, because the Geolocation can only 49646 access the client indirectly via m_frame->page(). 49647 49648 Page destruction is signalled by a call to the 49649 Frame::pageDestroyed() method. This explictly calls 49650 DOMWindow::resetGeolocation which ultimately calls Geolocation::reset. 49651 49652 Geolocation::reset() detaches from the GeolocationController, 49653 cancels requests, watches and single shots, and sets the 49654 permission state back to Unknown. 49655 49656 Frame::pageDestroyed() is also called by FrameLoader even though 49657 the page is not destroyed. We should still cancel permission 49658 requests, because the GeolocationClient will become inaccessible 49659 to the Geolocation object after this call. 49660 49661 Frame::transferChildFrameToNewDocument also indirectly calls 49662 Geolocation::reset when the frame is reparented between 49663 pages. Ideally we would like the Geolocation's activities to 49664 continue after reparenting, see bug 49665 https://bugs.webkit.org/show_bug.cgi?id=55577 49666 49667 Since GeolocationController is owned by Page, and all Geolocation 49668 objects will now unsubscribe from the GeolocationController on 49669 pageDetached(), we no longer need to call stopUpdating() from the 49670 GeolocationController's destructor. Instead we can simply assert 49671 that there should be no no observers. See related bug 49672 https://bugs.webkit.org/show_bug.cgi?id=52216 . 49673 49674 Introduced new method 'numberOfPendingPermissionRequests' on 49675 GeolocationClientMock to count the number of outstanding pending 49676 permission requests. This provides a reusable implementation for 49677 client-based implementations of the LayoutTestController's 49678 numberOfPendingGeolocationPermissionRequests method. 49679 49680 Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html 49681 49682 * page/DOMWindow.cpp: 49683 (WebCore::DOMWindow::resetGeolocation): 49684 * page/DOMWindow.h: 49685 * page/Frame.cpp: 49686 (WebCore::Frame::pageDestroyed): 49687 (WebCore::Frame::transferChildFrameToNewDocument): 49688 * page/Geolocation.cpp: 49689 (WebCore::Geolocation::~Geolocation): 49690 (WebCore::Geolocation::page): 49691 (WebCore::Geolocation::reset): 49692 (WebCore::Geolocation::disconnectFrame): 49693 (WebCore::Geolocation::lastPosition): 49694 (WebCore::Geolocation::requestPermission): 49695 (WebCore::Geolocation::startUpdating): 49696 (WebCore::Geolocation::stopUpdating): 49697 * page/Geolocation.h: 49698 * page/GeolocationController.cpp: 49699 (WebCore::GeolocationController::~GeolocationController): 49700 * page/Navigator.cpp: 49701 (WebCore::Navigator::resetGeolocation): 49702 * page/Navigator.h: 49703 * platform/mock/GeolocationClientMock.cpp: 49704 (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests): 49705 * platform/mock/GeolocationClientMock.h: 49706 49707 2011-03-10 Ojan Vafai <ojan (a] chromium.org> 49708 49709 Reviewed by Darin Adler. 49710 49711 Able to move nodes across documents 49712 https://bugs.webkit.org/show_bug.cgi?id=19524 49713 49714 Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work. 49715 This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't 49716 match Gecko or the spec that will need to be updated in a following patch. 49717 49718 Test: fast/dom/move-nodes-across-documents.html 49719 49720 * dom/Element.cpp: 49721 (WebCore::Element::removeAttributeNode): 49722 * dom/NamedNodeMap.cpp: 49723 (WebCore::NamedNodeMap::setNamedItem): 49724 * dom/Node.cpp: 49725 (WebCore::Node::setDocumentRecursively): 49726 (WebCore::checkAcceptChild): 49727 (WebCore::Node::checkReplaceChild): 49728 * dom/Range.cpp: 49729 (WebCore::Range::insertNode): 49730 (WebCore::Range::surroundContents): 49731 49732 2011-03-09 Antti Koivisto <antti (a] apple.com> 49733 49734 Not reviewed. 49735 49736 Reverting crash catching code, the bug being hunted was fixed by 49737 http://trac.webkit.org/changeset/80686 49738 49739 * loader/cache/CachedResourceLoader.cpp: 49740 (WebCore::CachedResourceLoader::CachedResourceLoader): 49741 (WebCore::CachedResourceLoader::~CachedResourceLoader): 49742 (WebCore::CachedResourceLoader::requestImage): 49743 (WebCore::CachedResourceLoader::requestUserCSSStyleSheet): 49744 (WebCore::CachedResourceLoader::requestResource): 49745 (WebCore::CachedResourceLoader::setAutoLoadImages): 49746 (WebCore::CachedResourceLoader::load): 49747 (WebCore::CachedResourceLoader::loadDone): 49748 (WebCore::CachedResourceLoader::preload): 49749 (WebCore::CachedResourceLoader::requestPreload): 49750 * loader/cache/CachedResourceLoader.h: 49751 49752 2011-03-09 Peter Kasting <pkasting (a] google.com> 49753 49754 Unreviewed, build fix. 49755 49756 * StringsNotToBeLocalized.txt: Add function names I forgot. 49757 * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE, 49758 since they don't compile anyway. Use ZeroMemory() instead of "= {0}" 49759 since Qt is stupid and (sometimes?!) warns about it. 49760 (WebCore::windowsVersion): 49761 (WebCore::processorArchitecture): 49762 49763 2011-03-09 Peter Kasting <pkasting (a] google.com> 49764 49765 Reviewed by Ryosuke Niwa. 49766 49767 Add UA string tags for Windows 64. 49768 https://bugs.webkit.org/show_bug.cgi?id=55226 49769 49770 * StringsNotToBeLocalized.txt: 49771 * platform/win/SystemInfo.cpp: 49772 (WebCore::osVersionForUAString): 49773 (WebCore::isWOW64): 49774 (WebCore::processorArchitecture): 49775 (WebCore::architectureTokenForUAString): 49776 (WebCore::windowsVersionForUAString): 49777 49778 2011-03-09 Peter Kasting <pkasting (a] google.com> 49779 49780 Unreviewed, attempted build fix. 49781 49782 * WebCore.pri: Try to update include path for Qt Windows build. 49783 49784 2011-03-09 Peter Kasting <pkasting (a] google.com> 49785 49786 Unreviewed, build fix. 49787 49788 * platform/win/SystemInfo.cpp: 49789 (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt. 49790 49791 2011-03-09 Peter Kasting <pkasting (a] google.com> 49792 49793 Reviewed by Mihai Parparita. 49794 49795 Unify Windows version checks. 49796 https://bugs.webkit.org/show_bug.cgi?id=55979 49797 49798 * GNUmakefile.am: Fix spaces -> tabs. 49799 * StringsNotToBeLocalized.txt: 49800 * WebCore.pro: Add SystemInfo.* to Qt build. 49801 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 49802 (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit): 49803 (WebCore::ScrollbarThemeChromiumWin::getThemeState): 49804 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState): 49805 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 49806 (WebCore::fillBMPGlyphs): 49807 * platform/win/CursorWin.cpp: 49808 (WebCore::createSharedCursor): 49809 * platform/win/ScrollbarThemeWin.cpp: 49810 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin): 49811 * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function. 49812 (WebCore::windowsVersion): 49813 (WebCore::windowsVersionForUAString): 49814 * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function. 49815 * rendering/RenderThemeChromiumWin.cpp: 49816 (WebCore::getNonClientMetrics): 49817 * rendering/RenderThemeWin.cpp: 49818 (WebCore::RenderThemeWin::getThemeData): 49819 (WebCore::RenderThemeWin::paintMenuList): 49820 (WebCore::RenderThemeWin::paintMenuListButton): 49821 49822 2011-03-09 Mihai Parparita <mihaip (a] chromium.org> 49823 49824 Reviewed by Tony Gentilcore. 49825 49826 REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring 49827 https://bugs.webkit.org/show_bug.cgi?id=53045 49828 49829 Copy the URL out of the CachedResource that is being revalidated, so 49830 that we can still use it (in m_validatedURLs) after removing the 49831 resource from the memory cache, which may delete it. 49832 49833 No new tests, since I was not able to trigger this locally (in a layout 49834 test or otherwise). 49835 49836 * loader/cache/CachedResourceLoader.cpp: 49837 (WebCore::CachedResourceLoader::revalidateResource): 49838 49839 2011-03-09 Chris Fleizach <cfleizach (a] apple.com> 49840 49841 Reviewed by Beth Dakin. 49842 49843 VO reporting incorrect list count for http://www.macworld.com/news.html 49844 https://bugs.webkit.org/show_bug.cgi?id=56064 49845 49846 <li> tags should not be ignored, because they provide valuable information 49847 to screen readers. 49848 49849 Test: platform/mac/accessibility/list-items-ignored.html 49850 49851 * accessibility/AccessibilityRenderObject.cpp: 49852 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 49853 49854 2011-03-09 Dan Bernstein <mitz (a] apple.com> 49855 49856 Reviewed by Dave Hyatt. 49857 49858 <rdar://problem/8733254> Float disappears after incremental layout 49859 Fixed the original bug and a copule more issues noticed while doing so. 49860 49861 Tests: fast/dynamic/dirty-float-in-clean-line.html 49862 fast/dynamic/float-at-line-break.html 49863 fast/dynamic/float-from-empty-line.html 49864 49865 * rendering/RenderBlock.h: 49866 * rendering/RenderBlockLineLayout.cpp: 49867 (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line, 49868 update the line break info of the last line with the new line break position. This is tested 49869 by float-from-empty-line.html. 49870 (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition() 49871 into this new function. 49872 (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine(). 49873 (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with 49874 floats, as they may yet become dirty because of the floats. This is tested by 49875 dirty-float-in-clean-line.html. 49876 (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line 49877 break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the 49878 next one does not, the float will not make it into any line. This is tested by 49879 float-at-line-break.html. 49880 49881 2011-03-09 Ryosuke Niwa <rniwa (a] webkit.org> 49882 49883 Reviewed by Kent Tamura. 49884 49885 selectionStart reports wrong caret position when the last characters are newlines 49886 https://bugs.webkit.org/show_bug.cgi?id=56061 49887 49888 The bug was caused by SelectionController::setSelection's not calling 49889 notifyRendererOfSelectionChange when old selection was equal to new selection. 49890 49891 Because InsertLineBreakCommand inserts a text node with a single LF before the caret, 49892 this condition holds after the command is executed. However, the values of 49893 selectionStart and selectionEnd still need to be updated in this case because 49894 the offsets counted from the beginning of textarea have been increased by 1. 49895 49896 * editing/SelectionController.cpp: 49897 (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange 49898 when m_selection = s. 49899 * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added. 49900 49901 2011-03-09 Andy Estes <aestes (a] apple.com> 49902 49903 Reviewed by Adam Barth. 49904 49905 Bad cast in HTMLTreeBuilder::processStartTag 49906 https://bugs.webkit.org/show_bug.cgi?id=55955 49907 49908 Test: fast/parser/self-closing-foreign-content.html 49909 49910 When the parser encounters an svg or mathml root element, it places the 49911 insertion mode into InForeignContentMode. However, if the root element 49912 is self-closing (e.g. <svg />) then the element is never placed on the 49913 open elements stack. This leaves the parser in an inconsistent state 49914 where it is in InForeignContentMode but no foreign content is in the 49915 open element stack. 49916 49917 * html/parser/HTMLTreeBuilder.cpp: 49918 (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing 49919 foreign element is inserted into the tree, do not set the insertion 49920 mode to InForeignContentMode. 49921 49922 2011-03-09 Gavin Barraclough <barraclough (a] apple.com> 49923 49924 Qt build fix. 49925 49926 * bridge/qt/qt_runtime.cpp: 49927 (JSC::Bindings::convertQVariantToValue): 49928 49929 2011-03-09 Andy Estes <aestes (a] apple.com> 49930 49931 Reviewed by Adam Barth. 49932 49933 REGRESSION (r80320): Assertion failure when processing mis-nested foreign content. 49934 https://bugs.webkit.org/show_bug.cgi?id=55982 49935 49936 Test: fast/parser/fragment-foreign-content-misnested.html 49937 49938 It is a parse error to encounter certain start tags while the parser's 49939 insertion mode is InForeignContentMode (e.g. <br>). In these cases, we 49940 are to pop open elements off the HTMLElementStack until a foreign 49941 content scope marker is encountered. Before the change in r80320 to not 49942 insert a fake HTML element during fragment parsing, said fake HTML 49943 element counted as a foreign content scope marker. 49944 49945 With r80320, no fake HTML element is inserted and the stack is popped 49946 until empty in cases where no other element claims to be a foreign 49947 content scope marker. Fix this by treating the DocumentFragment as a 49948 foreign content scope marker. 49949 49950 * html/parser/HTMLElementStack.cpp: 49951 (WebCore::HTMLNames::isForeignContentScopeMarker): Take a 49952 ContainerNode* instead of a Element*. 49953 (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass 49954 topNode() to isForeignContentScopeMarker() instead of top(). 49955 49956 2011-03-09 Gavin Barraclough <barraclough (a] apple.com> 49957 49958 Reviewed by Darin Adler. 49959 49960 Bug 56041 - RexExp constructor should only accept flags "gim" 49961 We also should be passing the flags around as a bitfield rather than a string, 49962 and should not have redundant, incompatible code for converting the string to a bitfield! 49963 49964 * bindings/js/SerializedScriptValue.cpp: 49965 (WebCore::CloneDeserializer::readTerminal): 49966 - Need to parse flags string back to enum. 49967 49968 2011-03-09 James Robinson <jamesr (a] chromium.org> 49969 49970 Reviewed by Kenneth Russell. 49971 49972 [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl 49973 https://bugs.webkit.org/show_bug.cgi?id=56021 49974 49975 Initializes the m_doubleSided flag of LayerChromiums to the default 49976 value of true so the back sides of layers without 49977 backface-visibility:hidden are rendered. 49978 49979 Test: compositing/backface-visibility.html 49980 49981 * platform/graphics/chromium/LayerChromium.cpp: 49982 (WebCore::LayerChromium::LayerChromium): 49983 49984 2011-03-09 David Hyatt <hyatt (a] apple.com> 49985 49986 Reviewed by Dan Bernstein. 49987 49988 <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text 49989 49990 Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented 49991 text. That way we use the same metrics as for horizontal. 49992 49993 This fixes regressions in fast/lists and fast/overflow vertical text tests. 49994 49995 * platform/graphics/mac/SimpleFontDataMac.mm: 49996 (WebCore::SimpleFontData::platformInit): 49997 (WebCore::SimpleFontData::platformBoundsForGlyph): 49998 49999 2011-03-09 Ryosuke Niwa <rniwa (a] webkit.org> 50000 50001 Reviewed by Tony Chang. 50002 50003 REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document 50004 https://bugs.webkit.org/show_bug.cgi?id=56004 50005 50006 The crash was caused by the false assumption that rootEditableElement() or documentElement() 50007 always return non-null pointer. Fixed the bug by adding an early exit. 50008 50009 Test: editing/selection/extend-by-line-in-empty-document.html 50010 50011 * editing/visible_units.cpp: 50012 (WebCore::previousLinePosition): 50013 (WebCore::nextLinePosition): 50014 50015 2011-03-09 Pavel Podivilov <podivilov (a] chromium.org> 50016 50017 Reviewed by Pavel Feldman. 50018 50019 Web Inspector: it should be possible to copy stack trace from call stack sidebar pane. 50020 https://bugs.webkit.org/show_bug.cgi?id=56024 50021 50022 * English.lproj/localizedStrings.js: 50023 * inspector/front-end/CallStackSidebarPane.js: 50024 (WebInspector.CallStackSidebarPane): 50025 (WebInspector.CallStackSidebarPane.prototype.update): 50026 (WebInspector.CallStackSidebarPane.prototype._contextMenu): 50027 50028 2011-03-09 David Hyatt <hyatt (a] apple.com> 50029 50030 Reviewed by Darin Adler. 50031 50032 Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all 50033 places. Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData 50034 and FontCache. 50035 50036 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 50037 (WebCore::FontPlatformData::FontPlatformData): 50038 * platform/graphics/chromium/FontPlatformDataLinux.h: 50039 (WebCore::FontPlatformData::FontPlatformData): 50040 50041 2011-03-09 Steve Block <steveblock (a] google.com> 50042 50043 Reviewed by Jeremy Orlow. 50044 50045 JavaNPObject should not use JNI directly 50046 https://bugs.webkit.org/show_bug.cgi?id=56009 50047 50048 We move the JNI code to access a Java object's fields into 50049 a new JavaInstance::getField() method. 50050 50051 No new tests, refactoring only. 50052 50053 * bridge/jni/v8/JavaInstanceV8.cpp: 50054 (JavaInstance::getField): 50055 * bridge/jni/v8/JavaInstanceV8.h: 50056 * bridge/jni/v8/JavaNPObjectV8.cpp: 50057 (JSC::Bindings::JavaNPObjectGetProperty): 50058 50059 2011-03-09 Steve Block <steveblock (a] google.com> 50060 50061 Reviewed by Jeremy Orlow. 50062 50063 NPAPI - jvalue conversion should not be in JavaInstance 50064 https://bugs.webkit.org/show_bug.cgi?id=55967 50065 50066 No new tests, refactoring only. 50067 50068 * bridge/jni/v8/JavaInstanceV8.cpp: 50069 (JavaInstance::invokeMethod): 50070 * bridge/jni/v8/JavaInstanceV8.h: 50071 * bridge/jni/v8/JavaNPObjectV8.cpp: 50072 (JSC::Bindings::JavaNPObjectInvoke): 50073 50074 2011-03-09 Jessie Berlin <jberlin (a] apple.com> 50075 50076 Reviewed by Adam Roben. 50077 50078 Use the Cookie Storage from the Private Browsing Storage Session directly 50079 https://bugs.webkit.org/show_bug.cgi?id=55986 50080 50081 * WebCore.exp.in: 50082 * platform/mac/WebCoreSystemInterface.h: 50083 * platform/mac/WebCoreSystemInterface.mm: 50084 50085 * platform/network/mac/CookieStorageMac.mm: 50086 (WebCore::setCookieStoragePrivateBrowsingEnabled): 50087 Just copy the cookie storage from the private browsing storage session. 50088 * platform/network/cf/CookieStorageCFNet.cpp: 50089 (WebCore::setCookieStoragePrivateBrowsingEnabled): 50090 Ditto. 50091 50092 2011-03-09 Andrey Kosyakov <caseq (a] chromium.org> 50093 50094 Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639) 50095 50096 * inspector/InspectorInstrumentation.cpp: 50097 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 50098 50099 2011-03-09 Yury Semikhatsky <yurys (a] chromium.org> 50100 50101 Reviewed by Pavel Feldman. 50102 50103 Web Inspector: pass explicit agent references to InspectorBackendDispatcher 50104 https://bugs.webkit.org/show_bug.cgi?id=55820 50105 50106 * inspector/CodeGeneratorInspector.pm: 50107 * inspector/InspectorController.cpp: 50108 (WebCore::InspectorController::InspectorController): 50109 (WebCore::InspectorController::connectFrontend): 50110 (WebCore::InspectorController::disconnectFrontend): 50111 (WebCore::InspectorController::dispatchMessageFromFrontend): 50112 50113 2011-03-09 Andrey Kosyakov <caseq (a] chromium.org> 50114 50115 Reviewed by Pavel Feldman. 50116 50117 Web Inspector: resource errors are not reported before front-end is opened 50118 https://bugs.webkit.org/show_bug.cgi?id=55939 50119 50120 * inspector/InspectorInstrumentation.cpp: 50121 (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl): 50122 * inspector/InspectorInstrumentation.h: 50123 (WebCore::InspectorInstrumentation::didReceiveResourceResponse): 50124 (WebCore::InspectorInstrumentation::didFailLoading): 50125 50126 2011-03-08 Hans Wennborg <hans (a] chromium.org> 50127 50128 Reviewed by Jeremy Orlow. 50129 50130 IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open 50131 https://bugs.webkit.org/show_bug.cgi?id=55948 50132 50133 Add a parameter that allows for selection of alternative backing store 50134 implementations. 50135 50136 No new tests: no new functionality. 50137 50138 * storage/IDBFactory.cpp: 50139 (WebCore::IDBFactory::open): 50140 * storage/IDBFactoryBackendImpl.cpp: 50141 (WebCore::IDBFactoryBackendImpl::open): 50142 * storage/IDBFactoryBackendImpl.h: 50143 * storage/IDBFactoryBackendInterface.h: 50144 50145 2011-03-08 Steve Block <steveblock (a] google.com> 50146 50147 Reviewed by Jeremy Orlow. 50148 50149 Factor out JNI method call to be used by both JSC and V8 50150 https://bugs.webkit.org/show_bug.cgi?id=55966 50151 50152 No new tests, refactoring only. 50153 50154 * bridge/jni/JNIUtility.cpp: 50155 (JSC::Bindings::callJNIMethod): 50156 * bridge/jni/JNIUtility.h: 50157 * bridge/jni/jsc/JavaInstanceJSC.cpp: 50158 (JavaInstance::invokeMethod): 50159 * bridge/jni/v8/JavaInstanceV8.cpp: 50160 (JavaInstance::invokeMethod): 50161 50162 2011-03-09 Andrey Adaikin <aandrey (a] google.com> 50163 50164 Reviewed by Pavel Feldman. 50165 50166 Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events 50167 https://bugs.webkit.org/show_bug.cgi?id=55818 50168 50169 * inspector/front-end/TextViewer.js: 50170 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 50171 50172 2011-03-09 Ilya Tikhonovsky <loislo (a] chromium.org> 50173 50174 Reviewed by Yury Semikhatsky. 50175 50176 Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values. 50177 https://bugs.webkit.org/show_bug.cgi?id=55998 50178 50179 * inspector/InjectedScriptSource.js: 50180 50181 2011-03-09 Pavel Feldman <pfeldman (a] chromium.org> 50182 50183 Reviewed by Yury Semikhatsky. 50184 50185 Web Inspector: watch expressions should show string values in quotes. 50186 https://bugs.webkit.org/show_bug.cgi?id=55846 50187 50188 * inspector/InjectedScriptSource.js: 50189 * inspector/front-end/ObjectPropertiesSection.js: 50190 (WebInspector.ObjectPropertyTreeElement.prototype.update): 50191 * inspector/front-end/RemoteObject.js: 50192 (WebInspector.LocalJSONObject.prototype.get description): 50193 * inspector/front-end/WatchExpressionsSidebarPane.js: 50194 (WebInspector.WatchExpressionsSection.prototype.update): 50195 * inspector/front-end/inspector.css: 50196 (.console-formatted-string, .console-formatted-regexp): 50197 50198 2011-03-09 Pavel Feldman <pfeldman (a] chromium.org> 50199 50200 Reviewed by Yury Semikhatsky. 50201 50202 Web Inspector: "length" getter is invoked upon console object formatting. 50203 https://bugs.webkit.org/show_bug.cgi?id=55220 50204 50205 * inspector/InjectedScriptSource.js: 50206 50207 2011-03-08 Ilya Tikhonovsky <loislo (a] chromium.org> 50208 50209 Reviewed by Pavel Feldman. 50210 50211 Web Inspector: remove groupName from objectId. 50212 https://bugs.webkit.org/show_bug.cgi?id=55825 50213 50214 * inspector/InjectedScriptSource.js: 50215 50216 2011-03-08 Xiaomei Ji <xji (a] chromium.org> 50217 50218 Reviewed by David Hyatt. 50219 50220 Fix Regression: Content not drawn when scrolling horizontally in an RTL page. 50221 https://bugs.webkit.org/show_bug.cgi?id=55077. 50222 50223 Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position 50224 is negative, should include the position value into overhang rectangle's 50225 starting position. 50226 50227 Tests: fast/dom/scroll-reveal-left-overflow.html 50228 fast/dom/scroll-reveal-top-overflow.html 50229 50230 * platform/ScrollView.cpp: 50231 (WebCore::ScrollView::calculateOverhangAreasForPainting): 50232 50233 2011-03-08 Daniel Bates <dbates (a] rim.com> 50234 50235 Reviewed by Darin Adler. 50236 50237 Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}() 50238 https://bugs.webkit.org/show_bug.cgi?id=55351 50239 50240 By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}() 50241 can be called on an array A without the caller explicitly specifying the size of A. 50242 50243 No functionality was changed. So no new tests. 50244 50245 * css/CSSMutableStyleDeclaration.cpp: 50246 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of 50247 CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}(). 50248 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size" 50249 to better reflect its purpose - to be the size of the passed array. 50250 (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto. 50251 (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto. 50252 (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue(). 50253 * css/CSSMutableStyleDeclaration.h: 50254 (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine 50255 the size of a passed array. Changed type of second argument to size_t since it represents the size of 50256 an array. 50257 (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto. 50258 (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto. 50259 50260 2011-03-08 Enrica Casucci <enrica (a] apple.com> 50261 50262 Reviewed by Darin Adler. 50263 50264 REGRESSION: Copied content loses formatting on paste to external apps. 50265 https://bugs.webkit.org/show_bug.cgi?id=47615 50266 <rdar://problem/9001214> 50267 50268 This is a resubmission of a patch that was landed a while ago then rolled 50269 back because of a build failure on SnowLeopard and Leopard on the 32-bit builds. 50270 50271 This patch adds a way for WebKit2 to create NSAttributedStrings from 50272 a DOM range without using the AppKit api initWithDOMRange that internally 50273 needs to access the WebView. The NSAttributedString is needed to create 50274 RTF formats in the pasteboard. 50275 This is to be considered a first step, since in the future we want to have 50276 an implementation based on the TextIterator. 50277 * WebCore.xcodeproj/project.pbxproj: 50278 * platform/mac/HTMLConverter.h: Added. 50279 * platform/mac/HTMLConverter.mm: Added. 50280 * platform/mac/PasteboardMac.mm: 50281 (WebCore::Pasteboard::writeSelection): 50282 50283 2011-03-08 James Robinson <jamesr (a] chromium.org> 50284 50285 Reviewed by Kenneth Russell. 50286 50287 [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl 50288 https://bugs.webkit.org/show_bug.cgi?id=55900 50289 50290 This adds an explicit step to synchronize properties from 50291 LayerChromiums to their corresponding CCLayerImpls. 50292 50293 * platform/graphics/chromium/LayerChromium.cpp: 50294 (WebCore::LayerChromium::setBounds): 50295 * platform/graphics/chromium/LayerChromium.h: 50296 (WebCore::LayerChromium::bounds): 50297 (WebCore::LayerChromium::doubleSided): 50298 (WebCore::LayerChromium::setDoubleSided): 50299 * platform/graphics/chromium/LayerRendererChromium.cpp: 50300 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 50301 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 50302 (WebCore::CCLayerImpl::CCLayerImpl): 50303 (WebCore::CCLayerImpl::updateFromLayer): 50304 (WebCore::CCLayerImpl::descendantsDrawsContent): 50305 * platform/graphics/chromium/cc/CCLayerImpl.h: 50306 (WebCore::CCLayerImpl::anchorPoint): 50307 (WebCore::CCLayerImpl::anchorPointZ): 50308 (WebCore::CCLayerImpl::masksToBounds): 50309 (WebCore::CCLayerImpl::opacity): 50310 (WebCore::CCLayerImpl::position): 50311 (WebCore::CCLayerImpl::preserves3D): 50312 (WebCore::CCLayerImpl::sublayerTransform): 50313 (WebCore::CCLayerImpl::transform): 50314 50315 2011-03-08 James Robinson <jamesr (a] chromium.org> 50316 50317 Chromium compile fix. 50318 50319 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 50320 (WebCore::SimpleFontData::platformInit): 50321 50322 2011-03-08 Peter Kasting <pkasting (a] google.com> 50323 50324 Reviewed by James Robinson. 50325 50326 Unify Windows version checks, part 1. 50327 https://bugs.webkit.org/show_bug.cgi?id=55979 50328 50329 Make everyone (I hope) pull in SystemInfo.cpp. Eliminate the 50330 now-unnecessary WindowsVersion.cpp from Chromium. 50331 50332 * GNUmakefile.am: 50333 * WebCore.gyp/WebCore.gyp: 50334 * WebCore.gypi: 50335 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 50336 (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit): 50337 (WebCore::ScrollbarThemeChromiumWin::getThemeState): 50338 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState): 50339 * platform/chromium/WindowsVersion.cpp: Removed. 50340 * platform/chromium/WindowsVersion.h: Removed. 50341 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 50342 (WebCore::fillBMPGlyphs): 50343 * rendering/RenderThemeChromiumWin.cpp: 50344 (WebCore::getNonClientMetrics): 50345 50346 2011-03-08 Ryosuke Niwa <rniwa (a] webkit.org> 50347 50348 Chromium Linux build fix attempt after r80582. 50349 50350 * platform/graphics/chromium/FontLinux.cpp: 50351 (WebCore::Font::drawGlyphs): 50352 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 50353 (WebCore::SimpleFontData::platformInit): 50354 * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: 50355 (WebCore::GlyphPage::fill): 50356 50357 2011-03-08 Ryosuke Niwa <rniwa (a] webkit.org> 50358 50359 Mac build fix attempt for r80582. 50360 50361 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 50362 (WebCore::disableLigatures): 50363 50364 2011-03-08 Ryosuke Niwa <rniwa (a] webkit.org> 50365 50366 Reviewed by Kent Tamura. 50367 50368 Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection 50369 https://bugs.webkit.org/show_bug.cgi?id=54937 50370 50371 * editing/SelectionController.cpp: 50372 (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain 50373 the document. Also restrained the lifetime of document variable. 50374 (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode() 50375 to determine whether or not position becomes null after removing a node. 50376 (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container 50377 so call containerNode() instead of deprecatedNode(). 50378 (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer() 50379 instead of deprecatedNode() and deprecatedEditingOffset() respectively. 50380 (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode() 50381 instead of deprecatedNode to determine whether or not selection inside a password field. Also assert 50382 that the specified position is not before or after the shadow root as it violates our assumption. 50383 * editing/VisibleSelection.cpp: 50384 (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode() 50385 and deprecatedEditingOffset() respectively because start is always parent anchored and therefore 50386 guaranteed to be an offset inside an anchor node. 50387 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode() 50388 instead of deprecatedNode() to look for the lowest editable ancestor because position before or after 50389 an editable element isn't editable. 50390 * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode() 50391 and deprecatedEditingOffset() respectively in the following functions because they are exposed to 50392 DOM, which doesn't have before/after concept. 50393 (WebCore::DOMSelection::anchorNode): 50394 (WebCore::DOMSelection::anchorOffset): 50395 (WebCore::DOMSelection::focusNode): 50396 (WebCore::DOMSelection::focusOffset): 50397 (WebCore::DOMSelection::baseNode): 50398 (WebCore::DOMSelection::baseOffset): 50399 (WebCore::DOMSelection::extentNode): 50400 (WebCore::DOMSelection::extentOffset): 50401 50402 2011-03-08 Brent Fulgham <bfulgham (a] webkit.org> 50403 50404 Reviewed by Adam Roben. 50405 50406 Correct uninitialized variable in PolicyCallback found while 50407 running WebKit in BoundsChecker. 50408 https://bugs.webkit.org/show_bug.cgi?id=45199. 50409 50410 * loader/PolicyCallback.cpp: 50411 (WebCore::PolicyCallback::PolicyCallback): Initialize 50412 m_argument. 50413 50414 2011-03-08 Brent Fulgham <bfulgham (a] webkit.org> 50415 50416 More build bustage fix. 50417 50418 * platform/graphics/win/cairo/FontPlatformData.h: 50419 (WebCore::FontPlatformData::setOrientation): Duplicate accessor 50420 in WinCairo-local header. This is such a mess! 50421 50422 2011-03-08 David Hyatt <hyatt (a] apple.com> 50423 50424 Fix build bustage. Hide orientation setting behind a setter and stub it out in all 50425 FontPlatformData classes. (This class really needs to move to a common header with ifdefs.) 50426 50427 * platform/graphics/SimpleFontData.cpp: 50428 (WebCore::SimpleFontData::verticalRightOrientationFontData): 50429 * platform/graphics/cg/FontPlatformData.h: 50430 (WebCore::FontPlatformData::setOrientation): 50431 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 50432 (WebCore::FontPlatformData::setOrientation): 50433 * platform/graphics/chromium/FontPlatformDataLinux.h: 50434 (WebCore::FontPlatformData::setOrientation): 50435 * platform/graphics/cocoa/FontPlatformData.h: 50436 (WebCore::FontPlatformData::setOrientation): 50437 * platform/graphics/freetype/FontPlatformData.h: 50438 (WebCore::FontPlatformData::setOrientation): 50439 * platform/graphics/qt/FontPlatformData.h: 50440 (WebCore::FontPlatformData::setOrientation): 50441 * platform/graphics/wince/FontPlatformData.h: 50442 (WebCore::FontPlatformData::setOrientation): 50443 * platform/graphics/wx/FontPlatformData.h: 50444 (WebCore::FontPlatformData::setOrientation): 50445 50446 2011-03-08 Joe Wild <joseph.wild (a] nokia.com> 50447 50448 Reviewed by Csaba Osztrogonc. 50449 50450 [Qt] Missing SVG variables 50451 https://bugs.webkit.org/show_bug.cgi?id=32941 50452 50453 Basically, this patch just modifies features.pri to the Qt build to 50454 pass on the ENABLE_SVG_* flags to the IDL binding generator. 50455 50456 Also I had remove global-construtors.html from the skip list and 50457 updated the associated expected results files. 50458 50459 * features.pri: 50460 * page/DOMWindow.idl: 50461 50462 2011-03-08 Alok priyadarshi <alokp (a] chromium.org> 50463 50464 Reviewed by Dimitri Glazkov. 50465 50466 Plugins needs a way to trigger style recalc 50467 https://bugs.webkit.org/show_bug.cgi?id=55242 50468 50469 No test needed. A simple get function is added. 50470 50471 * platform/graphics/chromium/PluginLayerChromium.h: 50472 (WebCore::PluginLayerChromium::getTextureId): 50473 50474 2011-03-08 David Hyatt <hyatt (a] apple.com> 50475 50476 Reviewed by Dan Bernstein. 50477 50478 https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property. 50479 50480 This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright. 50481 The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation). 50482 50483 Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and 50484 uprightOrientation fallback font data. Vertical right is just implemented as a normal horizontal font. Upright is implemented as a 50485 vertically oriented font that rotates all glyphs. 50486 50487 The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to 50488 a vertical right facing. This means that you can use those special vertical glyphs for vertical-right orientation without having to 50489 fall back, but then for upright orientation you have to ignore them and still fall back. As you can see from the test case, this doesn't 50490 work very well, but hopefully it won't be all that common. Limitations of CoreText prevent this case from rendering properly in either the 50491 simple or complex code paths, although the simple code path at least gets close. 50492 50493 Added fast/blockflow/text-orientation-basic.html 50494 50495 * WebCore.exp.in: 50496 * WebCore.xcodeproj/project.pbxproj: 50497 * css/CSSComputedStyleDeclaration.cpp: 50498 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 50499 * css/CSSFontFaceSource.cpp: 50500 (WebCore::CSSFontFaceSource::getFontData): 50501 * css/CSSParser.cpp: 50502 (WebCore::CSSParser::parseValue): 50503 * css/CSSPrimitiveValueMappings.h: 50504 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 50505 (WebCore::CSSPrimitiveValue::operator TextOrientation): 50506 * css/CSSPropertyNames.in: 50507 * css/CSSStyleSelector.cpp: 50508 (WebCore::CSSStyleSelector::applyDeclarations): 50509 (WebCore::CSSStyleSelector::applyProperty): 50510 * css/CSSValueKeywords.in: 50511 * loader/cache/CachedFont.cpp: 50512 (WebCore::CachedFont::platformDataFromCustomData): 50513 * loader/cache/CachedFont.h: 50514 * platform/graphics/FontCache.cpp: 50515 (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): 50516 (WebCore::FontPlatformDataCacheKey::operator==): 50517 (WebCore::computeHash): 50518 (WebCore::FontCache::getCachedFontPlatformData): 50519 * platform/graphics/FontDescription.h: 50520 (WebCore::FontDescription::FontDescription): 50521 (WebCore::FontDescription::textOrientation): 50522 (WebCore::FontDescription::setTextOrientation): 50523 (WebCore::FontDescription::operator==): 50524 * platform/graphics/FontFastPath.cpp: 50525 (WebCore::Font::glyphDataForCharacter): 50526 (WebCore::offsetToMiddleOfGlyph): 50527 * platform/graphics/SimpleFontData.cpp: 50528 (WebCore::SimpleFontData::SimpleFontData): 50529 (WebCore::SimpleFontData::verticalRightOrientationFontData): 50530 (WebCore::SimpleFontData::uprightOrientationFontData): 50531 (WebCore::SimpleFontData::brokenIdeographFontData): 50532 (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): 50533 * platform/graphics/SimpleFontData.h: 50534 (WebCore::SimpleFontData::hasVerticalGlyphs): 50535 (WebCore::SimpleFontData::isTextOrientationFallback): 50536 * platform/graphics/cairo/FontCustomPlatformData.h: 50537 * platform/graphics/cocoa/FontPlatformData.h: 50538 (WebCore::FontPlatformData::FontPlatformData): 50539 (WebCore::FontPlatformData::textOrientation): 50540 (WebCore::FontPlatformData::hash): 50541 (WebCore::FontPlatformData::operator==): 50542 * platform/graphics/cocoa/FontPlatformDataCocoa.mm: 50543 (WebCore::FontPlatformData::FontPlatformData): 50544 (WebCore::FontPlatformData::operator=): 50545 * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp: 50546 (WebCore::FontCustomPlatformData::fontPlatformData): 50547 * platform/graphics/haiku/FontCustomPlatformData.cpp: 50548 (WebCore::FontCustomPlatformData::fontPlatformData): 50549 * platform/graphics/haiku/FontCustomPlatformData.h: 50550 * platform/graphics/mac/ComplexTextControllerCoreText.cpp: 50551 (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): 50552 * platform/graphics/mac/FontCacheMac.mm: 50553 (WebCore::FontCache::createFontPlatformData): 50554 * platform/graphics/mac/FontCustomPlatformData.cpp: 50555 (WebCore::FontCustomPlatformData::fontPlatformData): 50556 * platform/graphics/mac/FontCustomPlatformData.h: 50557 * platform/graphics/mac/FontMac.mm: 50558 (WebCore::showGlyphsWithAdvances): 50559 (WebCore::Font::drawGlyphs): 50560 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 50561 (WebCore::shouldUseCoreText): 50562 (WebCore::GlyphPage::fill): 50563 * platform/graphics/mac/SimpleFontDataCoreText.cpp: 50564 (WebCore::SimpleFontData::getCFStringAttributes): 50565 * platform/graphics/mac/SimpleFontDataMac.mm: 50566 (WebCore::SimpleFontData::platformInit): 50567 (WebCore::SimpleFontData::platformBoundsForGlyph): 50568 (WebCore::SimpleFontData::platformWidthForGlyph): 50569 * platform/graphics/pango/FontCustomPlatformDataPango.cpp: 50570 (WebCore::FontCustomPlatformData::fontPlatformData): 50571 * platform/graphics/qt/FontCustomPlatformData.h: 50572 * platform/graphics/qt/FontCustomPlatformDataQt.cpp: 50573 (WebCore::FontCustomPlatformData::fontPlatformData): 50574 * platform/graphics/skia/FontCustomPlatformData.cpp: 50575 (WebCore::FontCustomPlatformData::fontPlatformData): 50576 * platform/graphics/skia/FontCustomPlatformData.h: 50577 * platform/graphics/win/FontCustomPlatformData.cpp: 50578 (WebCore::FontCustomPlatformData::fontPlatformData): 50579 * platform/graphics/win/FontCustomPlatformData.h: 50580 * platform/graphics/win/FontCustomPlatformDataCairo.cpp: 50581 (WebCore::FontCustomPlatformData::fontPlatformData): 50582 * platform/graphics/win/FontCustomPlatformDataCairo.h: 50583 * platform/graphics/wince/FontCustomPlatformData.cpp: 50584 (WebCore::FontCustomPlatformData::fontPlatformData): 50585 * platform/graphics/wince/FontCustomPlatformData.h: 50586 * platform/text/TextOrientation.h: Added. 50587 * rendering/InlineFlowBox.cpp: 50588 (WebCore::InlineFlowBox::requiresIdeographicBaseline): 50589 * rendering/style/RenderStyle.h: 50590 (WebCore::InheritedFlags::initialTextOrientation): 50591 50592 2011-03-08 Ryosuke Niwa <rniwa (a] webkit.org> 50593 50594 Reviewed by Darin Adler. 50595 50596 addInlineStyleIfNeeded should take EditingStyle 50597 https://bugs.webkit.org/show_bug.cgi?id=55950 50598 50599 Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init. 50600 Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle. 50601 50602 * editing/ApplyStyleCommand.cpp: 50603 (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration. 50604 (WebCore::StyleChange::init): Ditto. 50605 (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange. 50606 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded. 50607 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode. 50608 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement 50609 instead of manually merging styles. 50610 (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded. 50611 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration. 50612 * editing/ApplyStyleCommand.h: 50613 * editing/CompositeEditCommand.h: 50614 * editing/EditingStyle.cpp: 50615 (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle. 50616 * editing/EditingStyle.h: 50617 50618 2011-03-08 Nico Weber <thakis (a] chromium.org> 50619 50620 Reviewed by James Robinson. 50621 50622 Crash on big blur radius with canvas 50623 https://bugs.webkit.org/show_bug.cgi?id=55951 50624 50625 Move the clamping code out of an if branch, so that it happens in the 50626 canvas case as well. 50627 50628 Test: fast/canvas/shadow-huge-blur.html 50629 50630 * platform/graphics/cg/GraphicsContextCG.cpp: 50631 (WebCore::GraphicsContext::setPlatformShadow): 50632 50633 2011-03-08 Chris Fleizach <cfleizach (a] apple.com> 50634 50635 Reviewed by Sam Weinig. 50636 50637 WK2: Cannot set focus on an element when focus is outside of WKView 50638 https://bugs.webkit.org/show_bug.cgi?id=55281 50639 50640 In WK2, focus cannot be set from the WebProcess side because there's no platformWidget(). 50641 Instead, the focus/unfocus messages need to be sent to the UIProcess side. 50642 50643 * platform/mac/WidgetMac.mm: 50644 (WebCore::Widget::setFocus): 50645 50646 2011-03-08 Sam Weinig <sam (a] webkit.org> 50647 50648 Reviewed by Anders Carlsson. 50649 50650 Overflow: scroll areas should not paint white in scroll corner if the 50651 scrollbars are overlay. 50652 <rdar://problem/9082871> 50653 50654 * rendering/RenderLayer.cpp: 50655 (WebCore::RenderLayer::paintScrollCorner): 50656 Don't paint the scroll corner white if we have overlay scrollbars. 50657 50658 2011-03-08 Chris Marrin <cmarrin (a] apple.com> 50659 50660 Reviewed by Darin Adler. 50661 50662 The first time animations are committed they have a bad start time 50663 https://bugs.webkit.org/show_bug.cgi?id=55947 50664 50665 Do a check for a returned lastCommitTime of <=0 and replace it 50666 with the mediaTime. 50667 50668 50669 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 50670 (WebCore::CACFLayerTreeHost::notifyAnimationsStarted): 50671 50672 2011-03-08 James Kozianski <koz (a] chromium.org> 50673 50674 Reviewed by David Levin. 50675 50676 Expose isValidProtocol() in KURL.h. 50677 https://bugs.webkit.org/show_bug.cgi?id=54594 50678 50679 This is needed to validate protocols used in calls to 50680 navigator.registerProtocolHandler(). 50681 50682 * platform/KURL.cpp: 50683 * platform/KURL.h: 50684 * platform/KURLGoogle.cpp: 50685 (WebCore::isValidProtocol): 50686 50687 2011-03-08 Adam Roben <aroben (a] apple.com> 50688 50689 Set svn:mime-type to text/css for all Inspector CSS files 50690 50691 This will cause them to be served with the correct MIME type from svn.webkit.org's web 50692 interface. 50693 50694 Rubber-stamped by Tim Hatcher. 50695 50696 * inspector/front-end/audits.css: Added property svn:mime-type. 50697 * inspector/front-end/goToLineDialog.css: Added property svn:mime-type. 50698 * inspector/front-end/heapProfiler.css: Added property svn:mime-type. 50699 * inspector/front-end/helpScreen.css: Added property svn:mime-type. 50700 * inspector/front-end/inspector.css: Added property svn:mime-type. 50701 * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type. 50702 * inspector/front-end/networkPanel.css: Added property svn:mime-type. 50703 * inspector/front-end/popover.css: Added property svn:mime-type. 50704 * inspector/front-end/textViewer.css: Added property svn:mime-type. 50705 50706 2011-03-08 Andrei Popescu <andreip (a] google.com> 50707 50708 Reviewed by Steve Block. 50709 50710 IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed. 50711 https://bugs.webkit.org/show_bug.cgi?id=55938 50712 50713 The IndexedDatabase specification changed and IDBIndex objects are no 50714 longer created asynchronously. We therefore no longer need this method. 50715 50716 No new tests, just cleanup. 50717 50718 * storage/IDBCallbacks.h: 50719 * storage/IDBRequest.cpp: 50720 * storage/IDBRequest.h: 50721 50722 2011-03-08 Sheriff Bot <webkit.review.bot (a] gmail.com> 50723 50724 Unreviewed, rolling out r80551. 50725 http://trac.webkit.org/changeset/80551 50726 https://bugs.webkit.org/show_bug.cgi?id=55933 50727 50728 It broke 285 tests on Qt bot (Requested by Ossy on #webkit). 50729 50730 * WebCore.pro: 50731 * platform/SharedBuffer.cpp: 50732 * platform/SharedBuffer.h: 50733 * platform/network/qt/QNetworkReplyHandler.cpp: 50734 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 50735 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 50736 (WebCore::QNetworkReplyHandler::forwardData): 50737 (WebCore::QNetworkReplyHandler::start): 50738 * platform/network/qt/QNetworkReplyHandler.h: 50739 * platform/network/qt/ResourceHandleQt.cpp: 50740 (WebCore::ResourceHandle::supportsBufferedData): 50741 (WebCore::ResourceHandle::bufferedData): 50742 * platform/qt/QtByteBlock.cpp: Removed. 50743 * platform/qt/QtByteBlock.h: Removed. 50744 * platform/qt/SharedBufferQt.cpp: 50745 50746 2011-03-08 Andreas Kling <kling (a] webkit.org> 50747 50748 Reviewed by Benjamin Poulain. 50749 50750 RenderObject: Pass complex type arguments as const-references. 50751 50752 * WebCore.exp.in: 50753 * rendering/RenderObject.h: 50754 * rendering/RenderObject.cpp: 50755 (WebCore::RenderObject::drawBoxSideFromPath): 50756 (WebCore::RenderObject::drawArcForBoxSide): 50757 (WebCore::RenderObject::localToAbsolute): 50758 (WebCore::RenderObject::absoluteToLocal): 50759 50760 2011-03-08 Andreas Kling <kling (a] webkit.org> 50761 50762 Reviewed by Antonio Gomes. 50763 50764 Path: Make measurement functions const 50765 https://bugs.webkit.org/show_bug.cgi?id=55914 50766 50767 * platform/graphics/Path.cpp: 50768 (WebCore::Path::length): 50769 (WebCore::Path::pointAtLength): 50770 (WebCore::Path::normalAngleAtLength): 50771 * platform/graphics/Path.h: 50772 * platform/graphics/cairo/PathCairo.cpp: 50773 (WebCore::Path::strokeBoundingRect): 50774 * platform/graphics/cg/PathCG.cpp: 50775 (WebCore::Path::strokeBoundingRect): 50776 * platform/graphics/openvg/PathOpenVG.cpp: 50777 (WebCore::Path::strokeBoundingRect): 50778 (WebCore::Path::length): 50779 (WebCore::Path::pointAtLength): 50780 (WebCore::Path::normalAngleAtLength): 50781 * platform/graphics/qt/PathQt.cpp: 50782 (WebCore::Path::strokeBoundingRect): 50783 (WebCore::Path::length): 50784 (WebCore::Path::pointAtLength): 50785 (WebCore::Path::normalAngleAtLength): 50786 * platform/graphics/skia/PathSkia.cpp: 50787 (WebCore::Path::strokeBoundingRect): 50788 * platform/graphics/wince/PathWinCE.cpp: 50789 (WebCore::Path::strokeBoundingRect): 50790 * platform/graphics/wx/PathWx.cpp: 50791 (WebCore::Path::strokeBoundingRect): 50792 50793 2011-03-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 50794 50795 Reviewed by Martin Robinson. 50796 50797 [GTK] Do not set juntion sides on scrollbar stepper buttons 50798 https://bugs.webkit.org/show_bug.cgi?id=55868 50799 50800 Fixes rendering of steppers for themes using rounded stepper 50801 buttons on scrollbars like Adwaita. 50802 50803 * platform/gtk/ScrollbarThemeGtk3.cpp: 50804 (WebCore::ScrollbarThemeGtk::paintButton): 50805 50806 2011-03-08 Carlos Garcia Campos <cgarcia (a] igalia.com> 50807 50808 Reviewed by Martin Robinson. 50809 50810 [GTK] Use doubles instead of integers for coordinates when rendering arrows 50811 https://bugs.webkit.org/show_bug.cgi?id=55866 50812 50813 To prevent off-by-one rounding errors. 50814 50815 * platform/gtk/RenderThemeGtk3.cpp: 50816 (WebCore::RenderThemeGtk::paintMenuList): 50817 * platform/gtk/ScrollbarThemeGtk3.cpp: 50818 (WebCore::ScrollbarThemeGtk::paintButton): 50819 50820 2011-03-08 Markus Goetz <guruz (a] guruz.de> 50821 50822 Reviewed by Kenneth Rohde Christiansen. 50823 50824 [Qt] Use the QNetworkAccessManager zerocopy feature 50825 https://bugs.webkit.org/show_bug.cgi?id=50082 50826 50827 The feature will be introduced in Qt 4.8. 50828 This patch is backwards compatible with Qt 4.7. 50829 50830 * WebCore.pro: 50831 * platform/SharedBuffer.cpp: 50832 * platform/SharedBuffer.h: 50833 * platform/network/qt/QNetworkReplyHandler.cpp: 50834 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 50835 (WebCore::QNetworkReplyHandler::bufferedData): 50836 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 50837 (WebCore::QNetworkReplyHandler::downloadProgress): 50838 (WebCore::QNetworkReplyHandler::forwardData): 50839 (WebCore::QNetworkReplyHandler::start): 50840 * platform/network/qt/QNetworkReplyHandler.h: 50841 * platform/network/qt/ResourceHandleQt.cpp: 50842 (WebCore::ResourceHandle::supportsBufferedData): 50843 (WebCore::ResourceHandle::bufferedData): 50844 * platform/qt/SharedBufferQt.cpp: 50845 (WebCore::SharedBuffer::wrapQtByteBlock): 50846 (WebCore::SharedBuffer::hasPlatformData): 50847 (WebCore::SharedBuffer::platformData): 50848 (WebCore::SharedBuffer::platformDataSize): 50849 (WebCore::SharedBuffer::maybeTransferPlatformData): 50850 (WebCore::SharedBuffer::clearPlatformData): 50851 50852 2011-03-08 Alejandro G. Castro <alex (a] igalia.com> 50853 50854 Reviewed by Martin Robinson. 50855 50856 [GTK] Fix compilation warnings after r80429 50857 https://bugs.webkit.org/show_bug.cgi?id=55864 50858 50859 * platform/gtk/WidgetGtk.cpp: 50860 50861 2011-03-08 Philippe Normand <pnormand (a] igalia.com> 50862 50863 Unreviewed, GTK build fix after r80536 50864 50865 * GNUmakefile.am: 50866 50867 2011-03-08 Zan Dobersek <zandobersek (a] gmail.com> 50868 50869 Reviewed by Martin Robinson. 50870 50871 [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer 50872 https://bugs.webkit.org/show_bug.cgi?id=55878 50873 50874 Multiply the quality parameter by 100 to put it in the range [0, 100] as needed 50875 when saving GdkPixbuf to a buffer. 50876 50877 * platform/graphics/gtk/ImageBufferGtk.cpp: 50878 (WebCore::ImageBuffer::toDataURL): 50879 50880 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 50881 50882 Unreviewed. 50883 50884 Final build fix for r80536. 50885 50886 * DerivedSources.make: 50887 50888 2011-03-07 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 50889 50890 Reviewed by Kent Tamura. 50891 50892 [EFL] Adjust functions of WebCore's efl port to WebKit coding style 50893 https://bugs.webkit.org/show_bug.cgi?id=55924 50894 50895 Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files. 50896 50897 * platform/efl/PlatformKeyboardEventEfl.cpp: 50898 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 50899 * platform/efl/PlatformMouseEventEfl.cpp: 50900 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 50901 * platform/efl/WidgetEfl.cpp: 50902 (WebCore::Widget::frameRectsChanged): 50903 (WebCore::Widget::setEvasObject): 50904 50905 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 50906 50907 Unreviewed. 50908 50909 More build fixes for r80536. 50910 50911 * CMakeLists.txt: 50912 * platform/chromium/ClipboardChromium.cpp: 50913 * platform/chromium/ClipboardChromium.h: 50914 50915 2011-03-07 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 50916 50917 Reviewed by Antonio Gomes. 50918 50919 [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style 50920 https://bugs.webkit.org/show_bug.cgi?id=55917 50921 50922 Adjust webkit style to ScrollbarEfl files. 50923 50924 * platform/efl/ScrollbarEfl.cpp: 50925 (scrollbarEflEdjeMessage): 50926 (ScrollbarEfl::setParent): 50927 (ScrollbarEfl::updateThumbPositionAndProportion): 50928 (ScrollbarEfl::frameRectsChanged): 50929 (ScrollbarEfl::paint): 50930 * platform/efl/ScrollbarEfl.h: 50931 50932 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 50933 50934 Unreviewed. 50935 50936 Build fix for Chromium after r80536. 50937 50938 * platform/chromium/DataTransferItemChromium.cpp: 50939 * platform/chromium/DataTransferItemsChromium.cpp: 50940 50941 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 50942 50943 Unreviewed. 50944 50945 More build fixes for r80536. 50946 50947 * CMakeLists.txt: 50948 * platform/chromium/ClipboardChromium.cpp: 50949 * platform/chromium/ClipboardChromium.h: 50950 50951 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 50952 50953 Reviewed by David Levin. 50954 50955 Add support for DataTransferItems 50956 https://bugs.webkit.org/show_bug.cgi?id=55115 50957 50958 This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the 50959 basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile, 50960 all functionality on the DataTransferItems collection has been implemented. 50961 This change does not actually hook up DataTransferItems to reflect the actual contents of a 50962 drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be 50963 enabled via several followup patches. 50964 50965 Test: editing/pasteboard/data-transfer-items.html 50966 50967 * Android.mk: 50968 * CMakeLists.txt: 50969 * CodeGenerators.pri: 50970 * DerivedSources.cpp: 50971 * DerivedSources.make: 50972 * GNUmakefile.am: 50973 * WebCore.gypi: 50974 * WebCore.pro: 50975 * WebCore.vcproj/WebCore.vcproj: 50976 * WebCore.xcodeproj/project.pbxproj: 50977 * bindings/generic/RuntimeEnabledFeatures.cpp: 50978 * bindings/generic/RuntimeEnabledFeatures.h: 50979 (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled): 50980 (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled): 50981 * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in. 50982 * dom/Clipboard.h: 50983 (WebCore::Clipboard::policy): 50984 * dom/Clipboard.idl: 50985 * dom/DataTransferItem.cpp: Added. 50986 * dom/DataTransferItem.h: Added. 50987 (WebCore::DataTransferItem::~DataTransferItem): 50988 * dom/DataTransferItem.idl: Added. 50989 * dom/DataTransferItems.h: Added. 50990 (WebCore::DataTransferItems::~DataTransferItems): 50991 * dom/DataTransferItems.idl: Added. 50992 * dom/StringCallback.cpp: Added. 50993 (WebCore::StringCallback::scheduleCallback): 50994 * dom/StringCallback.h: Added. 50995 (WebCore::StringCallback::~StringCallback): 50996 * dom/StringCallback.idl: Added. 50997 * platform/chromium/ClipboardChromium.cpp: 50998 (WebCore::ClipboardChromium::items): 50999 * platform/chromium/ClipboardChromium.h: 51000 * platform/chromium/DataTransferItemChromium.cpp: Added. 51001 (WebCore::DataTransferItemChromium::create): 51002 (WebCore::DataTransferItemChromium::DataTransferItemChromium): 51003 (WebCore::DataTransferItemChromium::kind): 51004 (WebCore::DataTransferItemChromium::type): 51005 (WebCore::DataTransferItemChromium::getAsString): 51006 * platform/chromium/DataTransferItemChromium.h: Added. 51007 * platform/chromium/DataTransferItemsChromium.cpp: Added. 51008 (WebCore::DataTransferItemsChromium::create): 51009 (WebCore::DataTransferItemsChromium::DataTransferItemsChromium): 51010 (WebCore::DataTransferItemsChromium::length): 51011 (WebCore::DataTransferItemsChromium::item): 51012 (WebCore::DataTransferItemsChromium::deleteItem): 51013 (WebCore::DataTransferItemsChromium::clear): 51014 (WebCore::DataTransferItemsChromium::add): 51015 * platform/chromium/DataTransferItemsChromium.h: Added. 51016 51017 2011-03-07 Ryosuke Niwa <rniwa (a] webkit.org> 51018 51019 Reviewed by Darin Adler. 51020 51021 selectionHasStyle and selectionStartHasStyle should use EditingStyle 51022 https://bugs.webkit.org/show_bug.cgi?id=55902 51023 51024 Deployed EditingStyle in selectionHasStyle and selectionStartHasStyle. 51025 This allowed us to move triStateOfStyle from Editor.cpp to EditingStyle.cpp. 51026 51027 Also changed the argument lists of selectionHasStyle and selectionStartHasStyle 51028 to take a property id and a value instead of a CSSMutableStyleDeclaration to cleanup 51029 call sites of these two functions. 51030 51031 * WebCore.exp.in: Updated the signature of selectionHasStyle. No longer exports 51032 selectionStartHasStyle because it's not called anywhere outside of WebCore. 51033 * WebCore.order: Ditto. 51034 * editing/EditingStyle.cpp: 51035 (WebCore::EditingStyle::EditingStyle): Added a new constructor that takes a property id 51036 and a property value. 51037 (WebCore::EditingStyle::triStateOfStyle): Moved from Editor.cpp. 51038 * editing/EditingStyle.h: 51039 (WebCore::EditingStyle::create): Added. 51040 * editing/Editor.cpp: 51041 (WebCore::Editor::selectionStartHasStyle): Takes a property id and a value instead of 51042 a CSSStyleDeclaration. 51043 (WebCore::Editor::selectionHasStyle): Ditto. 51044 * editing/Editor.h: Updated the signatures of selectionStartHasStyle and selectionHasStyle. 51045 * editing/EditorCommand.cpp: 51046 (WebCore::executeToggleStyle): Calls selectionStartHasStyle and selectionHasStyle. 51047 (WebCore::stateStyle): Ditto. 51048 * page/ContextMenuController.cpp: 51049 (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto. 51050 51051 2011-03-07 Alexey Proskuryakov <ap (a] apple.com> 51052 51053 Reviewed by Darin Adler. 51054 51055 REGRESSION (HTML5 tree builder): Text selection in a large text document is extremely slow 51056 https://bugs.webkit.org/show_bug.cgi?id=55898 51057 51058 <rdar://problem/9095839> REGRESSION: Mail hangs with a certain large mail message when 51059 linkifying e-mail addresses in in -[DOMCharacterData setData:] 51060 51061 Changes render tree of fast/text/large-text-composed-char.html, but not image results. 51062 51063 * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData): 51064 Changed parserAppendData() to accept a maximum length, and moved code from Text::createWithLengthLimit(). 51065 51066 * dom/CharacterData.h: Moved a constant for maximum length from Text.h. 51067 51068 * dom/Text.cpp: (WebCore::Text::createWithLengthLimit): 51069 * dom/Text.h: 51070 This function was unused in ToT. Moved code around to share with CharacterData. 51071 51072 * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertTextNode): 51073 Chnaged to split large text nodes while parsing again. 51074 51075 2011-03-07 Alice Boxhall <aboxhall (a] chromium.org> 51076 51077 Reviewed by Adam Barth. 51078 51079 Fix platform/image-encoders/JPEGImageEncoder.cpp empty_output_buffer() behaviour 51080 https://bugs.webkit.org/show_bug.cgi?id=54522 51081 51082 Fix jpegEmptyOutputBuffer() by ignoring free_in_buffer value as required. 51083 51084 No new tests, as this code is not yet used in WebKit. Once this code is used to implement canvas.toDataUrl(), the canvas tests will exercise it. 51085 51086 * platform/image-encoders/JPEGImageEncoder.cpp: 51087 (WebCore::jpegEmptyOutputBuffer): 51088 51089 2011-03-07 Sergey Glazunov <serg.glazunov (a] gmail.com> 51090 51091 Reviewed by Eric Seidel. 51092 51093 Add the missing insertedIntoDocument() call in SVGVKernElement and SVGHKernElement 51094 https://bugs.webkit.org/show_bug.cgi?id=55896 51095 51096 Test: svg/dom/vkern-element-crash.html 51097 51098 * svg/SVGHKernElement.cpp: 51099 (WebCore::SVGHKernElement::insertedIntoDocument): 51100 * svg/SVGVKernElement.cpp: 51101 (WebCore::SVGVKernElement::insertedIntoDocument): 51102 51103 2011-03-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 51104 51105 Unreviewed, rolling out r80514. 51106 http://trac.webkit.org/changeset/80514 51107 https://bugs.webkit.org/show_bug.cgi?id=55915 51108 51109 Caused assertion failures (Requested by ukai on #webkit). 51110 51111 * platform/graphics/skia/GraphicsContextSkia.cpp: 51112 (WebCore::GraphicsContext::setPlatformShadow): 51113 * platform/graphics/skia/ImageSkia.cpp: 51114 (WebCore::paintSkBitmap): 51115 51116 2011-03-07 Cosmin Truta <ctruta (a] chromium.org> 51117 51118 Reviewed by Adam Barth. 51119 51120 SVG <image> referenced by <use> is displayed incorrectly 51121 https://bugs.webkit.org/show_bug.cgi?id=55750 51122 51123 The result of sourceURI must use the URL of the enclosing document as base. 51124 Otherwise, the base may sometimes be empty, and, as a consequence, 51125 the intermediate KURL object may be invalid. 51126 51127 Test: svg/custom/use-image-in-g.svg 51128 51129 * svg/SVGImageLoader.cpp: 51130 (WebCore::SVGImageLoader::sourceURI): 51131 51132 2011-03-07 Helder Correia <helder (a] sencha.com> 51133 51134 Reviewed by Simon Fraser. 51135 51136 Shadow is not shown when using strokeRect with a gradient strokeStyle 51137 https://bugs.webkit.org/show_bug.cgi?id=52509 51138 51139 This happens in CG and is related to bug 51869, this time to be fixed 51140 in GraphicsContext::strokeRect(const FloatRect& r, float lineWidth). 51141 We need to draw the gradient clipped to the stroke on a CGLayer first, 51142 and then draw the layer on the GraphicsContext. 51143 51144 Tests: fast/canvas/canvas-strokeRect-gradient-shadow.html 51145 svg/css/rect-gradient-stroke-shadow.svg 51146 51147 * platform/graphics/cg/GraphicsContextCG.cpp: 51148 (WebCore::GraphicsContext::strokeRect): 51149 51150 2011-03-07 Justin Novosad <junov (a] chromium.org> 51151 51152 Reviewed by Kenneth Russell. 51153 51154 Fix for blurs behind bitmap images in Chromium, and boosting 51155 shadow blur quality 51156 Bug URLs: 51157 https://bugs.webkit.org/show_bug.cgi?id=55410 51158 https://bugs.webkit.org/show_bug.cgi?id=55506 51159 51160 No new tests. Covered by existing layout tests. 51161 51162 * platform/graphics/skia/GraphicsContextSkia.cpp: 51163 (WebCore::GraphicsContext::setPlatformShadow): Turn on high quality shadows and fix shadow color 51164 * platform/graphics/skia/ImageSkia.cpp: 51165 (WebCore::paintSkBitmap): Propagate the draw looper from context to painter 51166 51167 2011-03-07 Andreas Kling <kling (a] webkit.org> 51168 51169 Unreviewed Mac build fix after r80508. 51170 51171 * WebCore.exp.in: 51172 51173 2011-03-07 Enrica Casucci <enrica (a] apple.com> 51174 51175 Unreviewed build fix. 51176 51177 Rolling back http://trac.webkit.org/changeset/80497 due to the 51178 32-bit build failures. 51179 51180 * WebCore.xcodeproj/project.pbxproj: 51181 * platform/mac/HTMLConverter.h: Removed. 51182 * platform/mac/HTMLConverter.mm: Removed. 51183 * platform/mac/PasteboardMac.mm: 51184 (WebCore::Pasteboard::writeSelection): 51185 51186 2011-03-07 Andreas Kling <kling (a] webkit.org> 51187 51188 Reviewed by Benjamin Poulain. 51189 51190 FrameView::setBaseBackgroundColor: Pass Color argument as const-reference. 51191 51192 * page/FrameView.cpp: 51193 (WebCore::FrameView::setBaseBackgroundColor): 51194 * page/FrameView.h: 51195 51196 2011-03-07 Adam Barth <abarth (a] webkit.org> 51197 51198 Reviewed by Dimitri Glazkov. 51199 51200 REGRESSION(r78147): Crash on http://gnarf.net/jquery/test/ 51201 https://bugs.webkit.org/show_bug.cgi?id=55894 51202 51203 The m_frame can disappear out from under us, and there's no point in 51204 checking whether the load is complete in a non-existant frame. 51205 51206 Test: fast/parser/document-write-into-initial-document.html 51207 51208 * dom/Document.cpp: 51209 (WebCore::Document::explicitClose): 51210 51211 2011-03-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 51212 51213 Unreviewed, rolling out r80500. 51214 http://trac.webkit.org/changeset/80500 51215 https://bugs.webkit.org/show_bug.cgi?id=55908 51216 51217 Caused mysterious GYP error (Requested by abarth on #webkit). 51218 51219 * WebCore.gyp/WebCore.gyp: 51220 * WebCore.gypi: 51221 51222 2011-03-07 Adam Barth <abarth (a] webkit.org> 51223 51224 Fix Chromium Mac build. This header should only be included when the 51225 feature is enabled. 51226 51227 * platform/cf/RunLoopTimerCF.cpp: 51228 51229 2011-03-07 Adam Barth <abarth (a] webkit.org> 51230 51231 Reviewed by Dimitri Glazkov. 51232 51233 Add WML files to WebCore.gypi 51234 https://bugs.webkit.org/show_bug.cgi?id=55905 51235 51236 * WebCore.gyp/WebCore.gyp: 51237 * WebCore.gypi: 51238 51239 2011-03-07 Adrienne Walker <enne (a] google.com> 51240 51241 Reviewed by James Robinson. 51242 51243 [chromium] Add missing include to #define Skia parameter 51244 https://bugs.webkit.org/show_bug.cgi?id=55885 51245 51246 * platform/graphics/chromium/ShaderChromium.h: 51247 51248 2011-03-07 Chris Fleizach <cfleizach (a] apple.com> 51249 51250 Reviewed by Beth Dakin. 51251 51252 AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not 51253 https://bugs.webkit.org/show_bug.cgi?id=55706 51254 51255 * WebCore.exp.in: 51256 * accessibility/AXObjectCache.cpp: 51257 (WebCore::AXObjectCache::rootObjectForFrame): 51258 * accessibility/AXObjectCache.h: 51259 * accessibility/AccessibilityScrollView.cpp: 51260 (WebCore::AccessibilityScrollView::isAttachment): 51261 (WebCore::AccessibilityScrollView::widgetForAttachmentView): 51262 * accessibility/AccessibilityScrollView.h: 51263 (WebCore::AccessibilityScrollView::firstChild): 51264 * accessibility/mac/AccessibilityObjectWrapper.mm: 51265 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 51266 51267 2011-03-07 Enrica Casucci <enrica (a] apple.com> 51268 51269 Reviewed by Darin Adler. 51270 51271 REGRESSION: Copied content loses formatting on paste to external apps. 51272 https://bugs.webkit.org/show_bug.cgi?id=47615 51273 <rdar://problem/9001214> 51274 51275 This is a resubmission of a patch that was landed a while ago then rolled 51276 back because of a build failure on SnowLeopard and Leopard. 51277 51278 This patch adds a way for WebKit2 to create NSAttributedStrings from 51279 a DOM range without using the AppKit api initWithDOMRange that internally 51280 needs to access the WebView. The NSAttributedString is needed to create 51281 RTF formats in the pasteboard. 51282 This is to be considered a first step, since in the future we want to have 51283 an implementation based on the TextIterator. 51284 51285 * WebCore.xcodeproj/project.pbxproj: Added new file. 51286 * platform/mac/HTMLConverter.h: Added. 51287 * platform/mac/HTMLConverter.mm: Added. 51288 * platform/mac/PasteboardMac.mm: 51289 (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter 51290 class for WebKit2 to create the NSAttributedString from the DOM range. 51291 51292 2011-03-07 Adam Barth <abarth (a] webkit.org> 51293 51294 Reviewed by Dimitri Glazkov. 51295 51296 Add some missing platform files to WebCore.gypi 51297 https://bugs.webkit.org/show_bug.cgi?id=55897 51298 51299 There are a bunch more, but this is a start. 51300 51301 * WebCore.gyp/WebCore.gyp: 51302 * WebCore.gypi: 51303 51304 2011-03-07 Steve Block <steveblock (a] google.com> 51305 51306 Reviewed by Jeremy Orlow. 51307 51308 Rename JNIBridgeV8.cpp/h to JavaFieldV8.cpp/h 51309 https://bugs.webkit.org/show_bug.cgi?id=55879 51310 51311 No new tests, refactoring only. 51312 51313 * Android.v8bindings.mk: 51314 * WebCore.gypi: 51315 * bridge/jni/v8/JavaClassV8.cpp: 51316 * bridge/jni/v8/JavaClassV8.h: 51317 * bridge/jni/v8/JavaFieldV8.cpp: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.cpp. 51318 (JavaField::JavaField): 51319 * bridge/jni/v8/JavaFieldV8.h: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h. 51320 (JSC::Bindings::JavaField::name): 51321 (JSC::Bindings::JavaField::type): 51322 (JSC::Bindings::JavaField::getJNIType): 51323 * bridge/jni/v8/JavaInstanceV8.cpp: 51324 * bridge/jni/v8/JavaNPObjectV8.cpp: 51325 51326 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 51327 51328 Reviewed by Tony Chang. 51329 51330 Add plumbing for paste support to ChromiumDataObject::types() 51331 https://bugs.webkit.org/show_bug.cgi?id=55792 51332 51333 This is a preliminary patch to support event.dataTransfer.items. This 51334 adds plumbing to support retrieving the types in a paste event. It also 51335 moves the check for files in a drag/paste up to ClipboardChromium, since 51336 internal code needs to be able to differentiate between actual files in 51337 a drag and someone that simply decided to use "Files" as a custom type 51338 string. 51339 51340 Test: editing/pasteboard/onpaste-text-html-types.html 51341 51342 * platform/chromium/ChromiumDataObject.cpp: 51343 (WebCore::ChromiumDataObject::types): 51344 (WebCore::ChromiumDataObject::containsFilenames): 51345 * platform/chromium/ChromiumDataObject.h: 51346 * platform/chromium/ClipboardChromium.cpp: 51347 (WebCore::ClipboardChromium::types): 51348 * platform/chromium/ClipboardMimeTypes.cpp: 51349 * platform/chromium/ClipboardMimeTypes.h: 51350 51351 2011-03-07 Takayoshi Kochi <kochi (a] chromium.org> 51352 51353 Reviewed by Tony Chang. 51354 51355 [chromium] Use preferred locale information when choosing fallback 51356 font using fontconfig on Linux platform. 51357 http://bugs.webkit.org/show_bug.cgi?id=55453 51358 51359 No new tests, as it depends on ICU and locale setting, so it will be 51360 covered by Chromium side. 51361 51362 * platform/chromium/PlatformBridge.h: 51363 * platform/graphics/chromium/FontCacheLinux.cpp: 51364 51365 2011-03-07 Adam Barth <abarth (a] webkit.org> 51366 51367 Reviewed by Eric Seidel. 51368 51369 Add gobject, cpp, and objc bindings to WebCore.gypi 51370 https://bugs.webkit.org/show_bug.cgi?id=55892 51371 51372 These are also excluded from the Chromium build but needed for various 51373 other ports. 51374 51375 * WebCore.gyp/WebCore.gyp: 51376 * WebCore.gypi: 51377 51378 2011-03-07 Sergey Glazunov <serg.glazunov (a] gmail.com> 51379 51380 Reviewed by Dimitri Glazkov. 51381 51382 Node::checkAddChild and Node::checkReplaceChild shouldn't change the owner document of a node 51383 https://bugs.webkit.org/show_bug.cgi?id=55803 51384 51385 Test: fast/dom/dom-method-document-change.html 51386 51387 * dom/ContainerNode.cpp: 51388 (WebCore::ContainerNode::insertBefore): 51389 (WebCore::ContainerNode::replaceChild): 51390 (WebCore::ContainerNode::appendChild): 51391 * dom/Node.cpp: 51392 (WebCore::Node::checkReplaceChild): 51393 (WebCore::Node::checkAddChild): 51394 * dom/Node.h: 51395 51396 2011-03-07 Sheriff Bot <webkit.review.bot (a] gmail.com> 51397 51398 Unreviewed, rolling out r80484. 51399 http://trac.webkit.org/changeset/80484 51400 https://bugs.webkit.org/show_bug.cgi?id=55891 51401 51402 requires Chromium DEPS roll (Requested by dcheng on #webkit). 51403 51404 * platform/chromium/ChromiumDataObject.cpp: 51405 (WebCore::ChromiumDataObject::types): 51406 * platform/chromium/ChromiumDataObject.h: 51407 (WebCore::ChromiumDataObject::containsFilenames): 51408 * platform/chromium/ClipboardChromium.cpp: 51409 (WebCore::ClipboardChromium::types): 51410 * platform/chromium/ClipboardMimeTypes.cpp: 51411 * platform/chromium/ClipboardMimeTypes.h: 51412 51413 2011-03-07 Adam Barth <abarth (a] webkit.org> 51414 51415 Reviewed by Dimitri Glazkov. 51416 51417 Add missing bindings/js files to WebCore.gypi 51418 https://bugs.webkit.org/show_bug.cgi?id=55888 51419 51420 These files are excluded from the Chromium build but needed for the Mac 51421 build. 51422 51423 * WebCore.gypi: 51424 51425 2011-03-07 Daniel Cheng <dcheng (a] chromium.org> 51426 51427 Reviewed by Tony Chang. 51428 51429 Add plumbing for paste support to ChromiumDataObject::types() 51430 https://bugs.webkit.org/show_bug.cgi?id=55792 51431 51432 This is a preliminary patch to support event.dataTransfer.items. This 51433 adds plumbing to support retrieving the types in a paste event. It also 51434 moves the check for files in a drag/paste up to ClipboardChromium, since 51435 internal code needs to be able to differentiate between actual files in 51436 a drag and someone that simply decided to use "Files" as a custom type 51437 string. 51438 51439 Test: editing/pasteboard/onpaste-text-html-types.html 51440 51441 * platform/chromium/ChromiumDataObject.cpp: 51442 (WebCore::ChromiumDataObject::types): 51443 (WebCore::ChromiumDataObject::containsFilenames): 51444 * platform/chromium/ChromiumDataObject.h: 51445 * platform/chromium/ClipboardChromium.cpp: 51446 (WebCore::ClipboardChromium::types): 51447 * platform/chromium/ClipboardMimeTypes.cpp: 51448 * platform/chromium/ClipboardMimeTypes.h: 51449 51450 2011-03-07 Joseph Pecoraro <joepeck (a] webkit.org> 51451 51452 Reviewed by Kenneth Rohde Christiansen. 51453 51454 Viewport Warning/Error Messages Are Now Inaccurate 51455 https://bugs.webkit.org/show_bug.cgi?id=53707 51456 51457 Correct and improve the error messages for viewport parsing. 51458 51459 Tests: fast/viewport/viewport-warnings-1.html 51460 fast/viewport/viewport-warnings-2.html 51461 fast/viewport/viewport-warnings-3.html 51462 fast/viewport/viewport-warnings-4.html 51463 fast/viewport/viewport-warnings-5.html 51464 fast/viewport/viewport-warnings-6.html 51465 51466 * dom/ViewportArguments.cpp: 51467 (WebCore::numericPrefix): 51468 (WebCore::findSizeValue): remove incorrect device-width / height tips. 51469 (WebCore::setViewportFeature): report a warning for an unrecognized key. 51470 (WebCore::viewportErrorMessageTemplate): added template for unrecognized key. 51471 (WebCore::viewportErrorMessageLevel): classify an unrecognized key is an error. 51472 * dom/ViewportArguments.h: removed no longer used warnings. 51473 51474 2011-03-07 James Robinson <jamesr (a] chromium.org> 51475 51476 Reviewed by Kenneth Russell. 51477 51478 [chromium] Separate the update and draw portions of LayerRendererChromium's drawLayers function 51479 https://bugs.webkit.org/show_bug.cgi?id=54047 51480 51481 This splits up LayerRendererChromium::drawLayers() into two phases, 51482 one that updates layers and one that actually draws them. Most of the 51483 patch is moving the bodies of drawLayers() and updateLayersRecursive() 51484 into smaller helper functions. 51485 51486 The main entry point is renamed updateAndDrawLayers(), but otherwise 51487 has the same signature as drawLayers() did. Internally it does the 51488 following: 51489 51490 1.) Updates the root layer's contents 51491 2.) Updates the root layer's scrollbars 51492 3.) Updates the RenderSurface tree and the contents of all child 51493 layers 51494 4.) Draws the root layer and root layer scrollbars 51495 5.) Draws all child layers using the previously updated 51496 CCLayerImpl/RenderSurface data. 51497 51498 A few things still need to be done after this patch to complete the separation 51499 of the update and draw step, but they can happen in later patches: 51500 *) The root layer and root layer scrollbars contents should be 51501 uploaded to textures at draw time, not update time. 51502 *) The RenderSurface tree should be updated at draw time, not update 51503 time. 51504 51505 Covered by the compositing/ tests. 51506 51507 * platform/graphics/chromium/LayerRendererChromium.cpp: 51508 (WebCore::LayerRendererChromium::LayerRendererChromium): 51509 (WebCore::LayerRendererChromium::updateRootLayerContents): 51510 (WebCore::LayerRendererChromium::updateRootLayerScrollbars): 51511 (WebCore::LayerRendererChromium::drawRootLayer): 51512 (WebCore::LayerRendererChromium::updateAndDrawLayers): 51513 (WebCore::LayerRendererChromium::updateLayers): 51514 (WebCore::LayerRendererChromium::drawLayers): 51515 (WebCore::LayerRendererChromium::getFramebufferPixels): 51516 (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces): 51517 (WebCore::LayerRendererChromium::updateContentsRecursive): 51518 (WebCore::LayerRendererChromium::drawLayer): 51519 * platform/graphics/chromium/LayerRendererChromium.h: 51520 (WebCore::LayerRendererChromium::visibleRectSize): 51521 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 51522 (WebCore::RenderSurfaceChromium::drawSurface): 51523 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 51524 * platform/graphics/chromium/cc/CCLayerImpl.h: 51525 51526 2011-03-07 Adam Barth <abarth (a] webkit.org> 51527 51528 Reviewed by Eric Seidel. 51529 51530 Sort WebCore.gypi 51531 https://bugs.webkit.org/show_bug.cgi?id=55887 51532 51533 These files should be in order. This is preparation for adding in the 51534 missing files. 51535 51536 * WebCore.gypi: 51537 51538 2011-03-07 Csaba Osztrogonc <ossy (a] webkit.org> 51539 51540 Unreviewed buildfix after r80478. 51541 51542 * dom/Document.cpp: Add suggested parentheses to make GCC happy. 51543 (WebCore::Document::didReceiveTask): 51544 51545 2011-03-07 Yong Li <yoli (a] rim.com> 51546 51547 Reviewed by Darin Adler. 51548 51549 Defer ScriptExecutionContext::Task's in Document when page loading is deferred. 51550 Schedule them with timer when page loading is resumed. The tasks will be performed 51551 in the original order. This fixes the problem that database callbacks could be missed 51552 when page loading was deferred. 51553 https://bugs.webkit.org/show_bug.cgi?id=49401 51554 51555 Manual test added: manual-tests/database-callback-deferred.html. 51556 51557 * dom/Document.cpp: 51558 (WebCore::Document::Document): 51559 (WebCore::Document::~Document): 51560 (WebCore::Document::didReceiveTask): 51561 (WebCore::Document::postTask): 51562 (WebCore::Document::pendingTasksTimerFired): 51563 (WebCore::Document::willDeferLoading): 51564 (WebCore::Document::didResumeLoading): 51565 * dom/Document.h: 51566 * manual-tests/database-callback-deferred.html: Added. 51567 * page/PageGroupLoadDeferrer.cpp: 51568 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 51569 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 51570 51571 2011-03-07 Antti Koivisto <antti (a] apple.com> 51572 51573 Reviewed by Sam Weinig. 51574 51575 Use HashMaps for caching primitive values 51576 https://bugs.webkit.org/show_bug.cgi?id=55873 51577 51578 Most documents use only small subset of cacheable primitive values. By replacing 51579 fixed size cache arrays with HashMaps we can reduce the constant memory usage while also 51580 expanding the range of cacheable values. 51581 51582 * css/CSSPrimitiveValueCache.cpp: 51583 (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache): 51584 (WebCore::CSSPrimitiveValueCache::createIdentifierValue): 51585 (WebCore::CSSPrimitiveValueCache::createColorValue): 51586 (WebCore::CSSPrimitiveValueCache::createValue): 51587 * css/CSSPrimitiveValueCache.h: 51588 51589 2011-03-07 Steve Block <steveblock (a] google.com> 51590 51591 Reviewed by Jeremy Orlow. 51592 51593 Split JNIBridgeJSC.cpp/h into JavaArrayJSC.cpp/h and JavaFieldJSC.cpp/h 51594 https://bugs.webkit.org/show_bug.cgi?id=55881 51595 51596 No new tests, refactoring only. 51597 51598 * Android.jscbindings.mk: 51599 * GNUmakefile.am: 51600 * WebCore.xcodeproj/project.pbxproj: 51601 * bridge/jni/jsc/JNIBridgeJSC.cpp: Removed. 51602 * bridge/jni/jsc/JNIBridgeJSC.h: Removed. 51603 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 51604 * bridge/jni/jsc/JavaClassJSC.cpp: 51605 * bridge/jni/jsc/JavaClassJSC.h: 51606 * bridge/jni/jsc/JavaInstanceJSC.cpp: 51607 51608 2011-03-07 Sam Weinig <sam (a] webkit.org> 51609 51610 Reviewed by Anders Carlsson. 51611 51612 Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse 51613 https://bugs.webkit.org/show_bug.cgi?id=55827 51614 51615 * loader/EmptyClients.h: 51616 (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse): 51617 * loader/FrameLoaderClient.h: 51618 * loader/MainResourceLoader.cpp: 51619 (WebCore::MainResourceLoader::didReceiveResponse): 51620 * loader/PolicyChecker.cpp: 51621 (WebCore::PolicyChecker::checkContentPolicy): 51622 * loader/PolicyChecker.h: 51623 Rename FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse 51624 and pass the entire response, instead of just the MIMEType. 51625 51626 2011-03-07 Eric Carlson <eric.carlson (a] apple.com> 51627 51628 Reviewed by Darin Adler. 51629 51630 Add API to enumerate/delete files downloaded for <audio> and <video> 51631 https://bugs.webkit.org/show_bug.cgi?id=55267 51632 <rdar://problem/9049280> 51633 51634 No new tests, this is just more plumbing. 51635 51636 * html/HTMLMediaElement.cpp: 51637 (WebCore::HTMLMediaElement::getSitesInMediaCache): Make static, call MediaPlayer static method. 51638 (WebCore::HTMLMediaElement::clearMediaCache): Ditto. 51639 (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto. 51640 * html/HTMLMediaElement.h: 51641 51642 * platform/graphics/MediaPlayer.cpp: 51643 (WebCore::MediaPlayerFactory::MediaPlayerFactory): Add new media engine factory functions. 51644 (WebCore::addMediaEngine): Ditto. 51645 (WebCore::MediaPlayer::getSitesInMediaCache): Call static method on all installed media engines. 51646 (WebCore::MediaPlayer::clearMediaCache): Ditto. 51647 (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto. 51648 * platform/graphics/MediaPlayer.h: 51649 51650 * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: 51651 (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Update for MediaEngineRegistrar change. 51652 51653 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 51654 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Ditto. 51655 51656 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 51657 (WebCore::MediaPlayerPrivatePhonon::registerMediaEngine): Ditto. 51658 51659 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 51660 (WebCore::MediaPlayerPrivateQt::registerMediaEngine): Ditto. 51661 51662 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 51663 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): Ditto. 51664 51665 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 51666 (WebCore::MediaPlayerPrivate::registerMediaEngine): Ditto. 51667 51668 2011-03-07 Steve Block <steveblock (a] google.com> 51669 51670 Reviewed by Jeremy Orlow. 51671 51672 Split JNIBridge.cpp/h into JavaString.h and JavaMethod.cpp/h 51673 https://bugs.webkit.org/show_bug.cgi?id=55774 51674 51675 No new tests, refactoring only. 51676 51677 * Android.jscbindings.mk: 51678 * Android.v8bindings.mk: 51679 * GNUmakefile.am: 51680 * WebCore.gypi: 51681 * WebCore.xcodeproj/project.pbxproj: 51682 * bridge/jni/JavaMethod.cpp: 51683 (JavaMethod::JavaMethod): 51684 (JavaMethod::~JavaMethod): 51685 (appendClassName): 51686 (JavaMethod::signature): 51687 (JavaMethod::JNIReturnType): 51688 (JavaMethod::methodID): 51689 * bridge/jni/JavaMethod.h: 51690 (JSC::Bindings::JavaMethod::name): 51691 (JSC::Bindings::JavaMethod::returnType): 51692 (JSC::Bindings::JavaMethod::parameterAt): 51693 (JSC::Bindings::JavaMethod::numParameters): 51694 (JSC::Bindings::JavaMethod::isStatic): 51695 * bridge/jni/JavaString.h: 51696 (JSC::Bindings::JavaString::JavaString): 51697 (JSC::Bindings::JavaString::utf8): 51698 (JSC::Bindings::JavaString::length): 51699 (JSC::Bindings::JavaString::impl): 51700 * bridge/jni/jni_jsobject.mm: 51701 * bridge/jni/jsc/JNIBridgeJSC.h: 51702 * bridge/jni/v8/JNIBridgeV8.h: 51703 * bridge/jni/v8/JavaClassV8.cpp: 51704 * bridge/jni/v8/JavaClassV8.h: 51705 * bridge/jni/v8/JavaInstanceV8.cpp: 51706 51707 2011-03-07 Jeremy Orlow <jorlow (a] chromium.org> 51708 51709 Reviewed by Steve Block. 51710 51711 Add source to IDBCursor, objectStore to IDBIndex, and remove storeName 51712 https://bugs.webkit.org/show_bug.cgi?id=55812 51713 51714 This brings us in line with what's in the spec: 51715 http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html 51716 51717 * storage/IDBCursor.cpp: 51718 (WebCore::IDBCursor::create): 51719 (WebCore::IDBCursor::IDBCursor): 51720 (WebCore::IDBCursor::source): 51721 * storage/IDBCursor.h: 51722 * storage/IDBCursor.idl: 51723 * storage/IDBCursorWithValue.cpp: 51724 (WebCore::IDBCursorWithValue::create): 51725 (WebCore::IDBCursorWithValue::IDBCursorWithValue): 51726 * storage/IDBCursorWithValue.h: 51727 * storage/IDBIndex.cpp: 51728 (WebCore::IDBIndex::IDBIndex): 51729 * storage/IDBIndex.h: 51730 (WebCore::IDBIndex::create): 51731 (WebCore::IDBIndex::objectStore): 51732 * storage/IDBIndex.idl: 51733 * storage/IDBObjectStore.cpp: 51734 (WebCore::IDBObjectStore::createIndex): 51735 (WebCore::IDBObjectStore::index): 51736 * storage/IDBRequest.cpp: 51737 (WebCore::IDBRequest::onSuccess): 51738 51739 2011-03-07 Chris Fleizach <cfleizach (a] apple.com> 51740 51741 Reviewed by Beth Dakin. 51742 51743 AX: kAXCellForColumnAndRowParameterizedAttribute doesn't work ARIA grids with colspans 51744 https://bugs.webkit.org/show_bug.cgi?id=55735 51745 51746 The ARIA grid implementation needed to verify the row/column range of a cell instead of 51747 assuming a 1-1 mapping between children and row/column. 51748 51749 Test: platform/mac/accessibility/aria-table-with-colspan-cells.html 51750 51751 * accessibility/AccessibilityARIAGrid.cpp: 51752 (WebCore::AccessibilityARIAGrid::cellForColumnAndRow): 51753 51754 2011-03-07 Andrei Popescu <andreip (a] google.com> 51755 51756 Reviewed by Steve Block. 51757 51758 IDBRequest::onSuccess(IDBObjectStore*) should be removed as it is unused. 51759 IDBObjectStore objects used to be created asynchronously, so we needed 51760 this method to be invoked, with the new object store as the parameter, 51761 whenever the creation succeeded. The spec has changed so that IDBObjectStore 51762 objects are created synchronously, so this method is no longer needed. 51763 https://bugs.webkit.org/show_bug.cgi?id=55777 51764 51765 No new tests, just refactoring. 51766 51767 * storage/IDBCallbacks.h: 51768 * storage/IDBRequest.cpp: 51769 * storage/IDBRequest.h: 51770 51771 2011-03-04 Steve Block <steveblock (a] google.com> 51772 51773 Reviewed by Jeremy Orlow. 51774 51775 JavaParameter should be removed 51776 https://bugs.webkit.org/show_bug.cgi?id=55772 51777 51778 No new tests, refactoring only. 51779 51780 * bridge/jni/JNIBridge.cpp: 51781 (JavaMethod::JavaMethod): 51782 (JavaMethod::~JavaMethod): 51783 (JavaMethod::signature): 51784 * bridge/jni/JNIBridge.h: 51785 (JSC::Bindings::JavaMethod::parameterAt): 51786 (JSC::Bindings::JavaMethod::numParameters): 51787 * bridge/jni/JNIUtility.h: 51788 * bridge/jni/jsc/JavaInstanceJSC.cpp: 51789 (JavaInstance::invokeMethod): 51790 * bridge/jni/v8/JNIUtilityPrivate.cpp: 51791 (JSC::Bindings::convertNPVariantToJValue): 51792 * bridge/jni/v8/JNIUtilityPrivate.h: 51793 * bridge/jni/v8/JavaInstanceV8.cpp: 51794 (JavaInstance::invokeMethod): 51795 51796 2011-03-07 Antti Koivisto <antti (a] apple.com> 51797 51798 Reviewed by Oliver Hunt. 51799 51800 REGRESSION (r79574): fast/dom/global-constructors.html failing on Windows 7 Release (Tests) bots 51801 https://bugs.webkit.org/show_bug.cgi?id=55166 51802 <rdar://problem/9050430> 51803 51804 Make CSS primitive value cache per-document. 51805 51806 Test: http/tests/security/cross-origin-css-primitive.html 51807 51808 * Android.mk: 51809 * CMakeLists.txt: 51810 * GNUmakefile.am: 51811 * WebCore.gypi: 51812 * WebCore.pro: 51813 * WebCore.vcproj/WebCore.vcproj: 51814 * WebCore.xcodeproj/project.pbxproj: 51815 * css/CSSComputedStyleDeclaration.cpp: 51816 (WebCore::valueForNinePieceImage): 51817 (WebCore::zoomAdjustedPixelValue): 51818 (WebCore::zoomAdjustedNumberValue): 51819 (WebCore::zoomAdjustedPixelValueForLength): 51820 (WebCore::valueForReflection): 51821 (WebCore::getPositionOffsetValue): 51822 (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor): 51823 (WebCore::getBorderRadiusCornerValue): 51824 (WebCore::computedTransform): 51825 (WebCore::getDelayValue): 51826 (WebCore::getDurationValue): 51827 (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): 51828 (WebCore::CSSComputedStyleDeclaration::valueForShadow): 51829 (WebCore::valueForFamily): 51830 (WebCore::renderTextDecorationFlagsToCSSValue): 51831 (WebCore::fillRepeatToCSSValue): 51832 (WebCore::fillSizeToCSSValue): 51833 (WebCore::contentToCSSValue): 51834 (WebCore::counterToCSSValue): 51835 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 51836 * css/CSSParser.cpp: 51837 (WebCore::CSSParser::parseSheet): 51838 (WebCore::CSSParser::parseRule): 51839 (WebCore::CSSParser::parseKeyframeRule): 51840 (WebCore::CSSParser::parseValue): 51841 (WebCore::CSSParser::parseColor): 51842 (WebCore::CSSParser::parseSelector): 51843 (WebCore::CSSParser::parseDeclaration): 51844 (WebCore::CSSParser::setStyleSheet): 51845 (WebCore::CSSParser::parseWCSSInputProperty): 51846 (WebCore::parseBackgroundClip): 51847 (WebCore::CSSParser::parseFillShorthand): 51848 (WebCore::CSSParser::parsePage): 51849 (WebCore::CSSParser::parseSizeParameter): 51850 (WebCore::CSSParser::parseContent): 51851 (WebCore::CSSParser::parseAttr): 51852 (WebCore::CSSParser::parseBackgroundColor): 51853 (WebCore::CSSParser::parseFillPositionXY): 51854 (WebCore::CSSParser::parseFillPosition): 51855 (WebCore::CSSParser::parseFillRepeat): 51856 (WebCore::CSSParser::parseFillSize): 51857 (WebCore::CSSParser::parseFillProperty): 51858 (WebCore::CSSParser::parseAnimationDelay): 51859 (WebCore::CSSParser::parseAnimationDirection): 51860 (WebCore::CSSParser::parseAnimationDuration): 51861 (WebCore::CSSParser::parseAnimationFillMode): 51862 (WebCore::CSSParser::parseAnimationIterationCount): 51863 (WebCore::CSSParser::parseAnimationName): 51864 (WebCore::CSSParser::parseAnimationPlayState): 51865 (WebCore::CSSParser::parseAnimationProperty): 51866 (WebCore::CSSParser::parseTransformOriginShorthand): 51867 (WebCore::CSSParser::parseAnimationTimingFunction): 51868 (WebCore::CSSParser::parseDashboardRegions): 51869 (WebCore::CSSParser::parseCounterContent): 51870 (WebCore::CSSParser::parseShape): 51871 (WebCore::CSSParser::parseFont): 51872 (WebCore::CSSParser::parseFontFamily): 51873 (WebCore::CSSParser::parseFontStyle): 51874 (WebCore::CSSParser::parseFontVariant): 51875 (WebCore::CSSParser::parseFontWeight): 51876 (WebCore::ShadowParseContext::ShadowParseContext): 51877 (WebCore::ShadowParseContext::commitLength): 51878 (WebCore::ShadowParseContext::commitStyle): 51879 (WebCore::CSSParser::parseShadow): 51880 (WebCore::CSSParser::parseReflect): 51881 (WebCore::BorderImageParseContext::BorderImageParseContext): 51882 (WebCore::BorderImageParseContext::commitNumber): 51883 (WebCore::BorderImageParseContext::commitBorderImage): 51884 (WebCore::CSSParser::parseBorderImage): 51885 (WebCore::CSSParser::parseBorderRadius): 51886 (WebCore::CSSParser::parseCounter): 51887 (WebCore::parseDeprecatedGradientPoint): 51888 (WebCore::parseDeprecatedGradientColorStop): 51889 (WebCore::CSSParser::parseDeprecatedGradient): 51890 (WebCore::valueFromSideKeyword): 51891 (WebCore::parseGradientColorOrKeyword): 51892 (WebCore::CSSParser::parseLinearGradient): 51893 (WebCore::CSSParser::parseRadialGradient): 51894 (WebCore::CSSParser::parseGradientColorStops): 51895 (WebCore::CSSParser::parseTransform): 51896 (WebCore::CSSParser::parseTransformOrigin): 51897 (WebCore::CSSParser::parseTextEmphasisStyle): 51898 * css/CSSParser.h: 51899 (WebCore::CSSParser::primitiveValueCache): 51900 * css/CSSPrimitiveValue.cpp: 51901 * css/CSSPrimitiveValue.h: 51902 (WebCore::CSSPrimitiveValue::createIdentifier): 51903 (WebCore::CSSPrimitiveValue::createColor): 51904 (WebCore::CSSPrimitiveValue::create): 51905 * css/CSSPrimitiveValueCache.cpp: Added. 51906 (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache): 51907 (WebCore::CSSPrimitiveValueCache::~CSSPrimitiveValueCache): 51908 (WebCore::CSSPrimitiveValueCache::createIdentifierValue): 51909 (WebCore::CSSPrimitiveValueCache::createColorValue): 51910 (WebCore::CSSPrimitiveValueCache::createValue): 51911 * css/CSSPrimitiveValueCache.h: Added. 51912 (WebCore::CSSPrimitiveValueCache::create): 51913 (WebCore::CSSPrimitiveValueCache::createValue): 51914 * dom/Document.cpp: 51915 (WebCore::Document::cssPrimitiveValueCache): 51916 * dom/Document.h: 51917 51918 2011-03-06 Adam Barth <abarth (a] webkit.org> 51919 51920 Reviewed by Eric Seidel. 51921 51922 Filter sources in WebCore GYP build for Mac 51923 https://bugs.webkit.org/show_bug.cgi?id=55857 51924 51925 This patch removes a large number of files that do not build as part of 51926 the Mac build. I'm not fully sold on this method of 51927 including/excluding files, but it's the "gyp way" so we should probably 51928 try it first. 51929 51930 This patch also sets xcode_list_excluded_files to 0, which removes the 51931 excluded files from the Xcode project file, which is necessary in order 51932 to prevent the header map feature from including the wrong header file. 51933 51934 * gyp/WebCore.gyp: 51935 51936 2011-03-07 Ryuan Choi <ryuan.choi (a] samsung.com> 51937 51938 Unreviewed EFL build fix. 51939 51940 [EFL] Build break on Debug build. 51941 https://bugs.webkit.org/show_bug.cgi?id=55858 51942 51943 * platform/efl/RenderThemeEfl.cpp: 51944 (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate): 51945 51946 2011-03-06 Adam Barth <abarth (a] webkit.org> 51947 51948 Reviewed by Eric Seidel. 51949 51950 Add webcore_derived_source_files to WebCore.gypi 51951 https://bugs.webkit.org/show_bug.cgi?id=55856 51952 51953 This is the list of files generated by the Mac port. It's possible 51954 other ports generate a different list of files. 51955 51956 * WebCore.gypi: 51957 * gyp/WebCore.gyp: 51958 51959 2011-03-06 Naoki Takano <takano.naoki (a] gmail.com> 51960 51961 Reviewed by Kent Tamura. 51962 51963 Input type=number spin buttons remain invisible but functional after div changed from hidden to visible. 51964 https://bugs.webkit.org/show_bug.cgi?id=55839 51965 http://crbug.com/73866 51966 http://crbug.com/62527 51967 51968 We also need style change for m_innerSpinButton not only for m_outerSpinBuggon when styleDidChange() is called. 51969 51970 Test: fast/forms/input-appearance-spinbutton-visibility.html 51971 51972 * rendering/RenderTextControlSingleLine.cpp: 51973 (WebCore::RenderTextControlSingleLine::styleDidChange): 51974 51975 2011-03-06 Naoki Takano <takano.naoki (a] gmail.com> 51976 51977 Reviewed by Kent Tamura. 51978 51979 [Chromium] Autocomplete suggestion extends out of window (and onto second monitor) 51980 https://bugs.webkit.org/show_bug.cgi?id=54795 51981 51982 Implement width clip logic according to browser screen width and popup window width. This fix is enough for Win and Mac, but there is a problem in Linux. Because WebScreenInfoFactory::screenInfo() can get only merged screen size, not the screen size where the browser exists. 51983 51984 Test: manual-tests/popup-width-restriction-within-screen.html 51985 51986 * manual-tests/popup-width-restriction-within-screen.html: Added. 51987 * platform/chromium/PopupMenuChromium.cpp: 51988 (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Implement the width clip logic according to screen width. 51989 51990 2011-03-06 Yuta Kitamura <yutak (a] chromium.org> 51991 51992 Reviewed by Kent Tamura. 51993 51994 Add SHA-1 for new WebSocket protocol 51995 https://bugs.webkit.org/show_bug.cgi?id=55039 51996 51997 * ForwardingHeaders/wtf/SHA1.h: Added. 51998 51999 2011-03-06 Eric Carlson <eric.carlson (a] apple.com> 52000 52001 Reviewed by Antti Koivisto. 52002 52003 QuickTime based media engines should respect private browsing mode 52004 https://bugs.webkit.org/show_bug.cgi?id=55848 52005 52006 No new tests, it is only possible to test this by manually deleting and monitoring the 52007 the Quicktime caches. 52008 52009 * html/HTMLMediaElement.cpp: 52010 (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Add logging. 52011 52012 * platform/graphics/MediaPlayer.cpp: 52013 (WebCore::MediaPlayer::MediaPlayer): Initialize m_privateBrowsing. 52014 (WebCore::MediaPlayer::loadWithNextMediaEngine): Set privacy mode on new media engine. 52015 (WebCore::MediaPlayer::setPrivateBrowsingMode): Stash setting in m_privateBrowsing. 52016 * platform/graphics/MediaPlayer.h: 52017 * platform/graphics/MediaPlayerPrivate.h: 52018 (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode): 52019 52020 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 52021 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 52022 (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_privateBrowsing. 52023 (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Pass private browsing attribute when 52024 creating new movie. 52025 (WebCore::MediaPlayerPrivateQTKit::setPrivateBrowsingMode): New, store privacy setting in 52026 m_privateBrowsing and set movie attribute. 52027 52028 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 52029 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext): 52030 Initialize m_privateBrowsing. 52031 (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode): New, store 52032 privacy setting in m_privateBrowsing and call QTMovie. 52033 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: 52034 52035 * platform/graphics/win/QTMovie.cpp: 52036 (QTMoviePrivate::QTMoviePrivate): Initialize m_privateBrowsing. 52037 (QTMovie::load):Pass private browsing property when creating new movie. 52038 (QTMovie::setPrivateBrowsingMode): New, store privacy setting in m_privateBrowsing and 52039 set movie property. 52040 * platform/graphics/win/QTMovie.h: 52041 52042 2011-03-06 Daniel Bates <dbates (a] rim.com> 52043 52044 Reviewed by Darin Adler. 52045 52046 style.borderSpacing always returns empty string 52047 https://bugs.webkit.org/show_bug.cgi?id=54816 52048 52049 Teach CSSMutableStyleDeclaration::getPropertyValue() how to reconstitute 52050 the value for border-spacing from the value of the WebKit internal CSS 52051 property -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing. 52052 52053 The CSS property border-spacing describes the horizontal and vertical border 52054 spacing for an HTML Table element. Notice, WebKit internally represents the value 52055 of this property as two properties: -webkit-border-horizontal-spacing and 52056 -webkit-border-vertical-spacing, for the horizontal and vertical border spacing, 52057 respectively. And WebKit doesn't know to reconstitute these internal properties. 52058 Therefore style.borderSpacing always returns the empty string. 52059 52060 Test: fast/css/table-border-spacing.html 52061 52062 * css/CSSMutableStyleDeclaration.cpp: 52063 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 52064 (WebCore::CSSMutableStyleDeclaration::borderSpacingValue): Added. 52065 * css/CSSMutableStyleDeclaration.h: 52066 52067 2011-03-06 Dan Bernstein <mitz (a] apple.com> 52068 52069 Reviewed by Oliver Hunt. 52070 52071 <rdar://problem/9093327> Implement -hyphenate-limit-{before,after} 52072 https://bugs.webkit.org/show_bug.cgi?id=55850 52073 52074 Tests: fast/css/parsing-hyphenate-limit.html 52075 fast/text/hyphenate-limit-before-after.html 52076 52077 * css/CSSComputedStyleDeclaration.cpp: 52078 (WebCore::computedProperties) Updated this array with the new properties and some old properties 52079 that it was missing. 52080 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added 52081 CSSPropertyWebkitHyphenateLimit{Before,After}. 52082 52083 * css/CSSParser.cpp: 52084 (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-limit-{before,after}, allowing 52085 'auto' and non-negative integers. 52086 52087 * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-{before,after}. 52088 52089 * css/CSSStyleSelector.cpp: 52090 (WebCore::CSSStyleSelector::applyProperty): Handle CSSPropertyWebkitHyphenateLimit{Before,After}. 52091 52092 * rendering/RenderBlockLineLayout.cpp: 52093 (WebCore::tryHyphenating): Added minimum prefix and suffix length parameters and checks to only 52094 allow hyphenation if the prefix and the suffix are sufficiently long. 52095 (WebCore::RenderBlock::findNextLineBreak): Pass the limits to tryHyphenating(). 52096 52097 * rendering/style/RenderStyle.cpp: 52098 (WebCore::RenderStyle::diff): A difference in hyphenation limits is a layout difference. 52099 52100 * rendering/style/RenderStyle.h: 52101 (WebCore::InheritedFlags::hyphenationLimitBefore): Added. 52102 (WebCore::InheritedFlags::hyphenationLimitAfter): Added. 52103 (WebCore::InheritedFlags::setHyphenationLimitBefore): Added. 52104 (WebCore::InheritedFlags::setHyphenationLimitAfter): Added. 52105 (WebCore::InheritedFlags::initialHyphenationLimitBefore): Added. Returns -1, which is the 52106 representation of 'auto'. 52107 (WebCore::InheritedFlags::initialHyphenationLimitAfter): Ditto. 52108 52109 * rendering/style/StyleRareInheritedData.cpp: 52110 (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize hyphenation limits. 52111 (WebCore::StyleRareInheritedData::operator==): Compare hyphenation limits. 52112 * rendering/style/StyleRareInheritedData.h: 52113 52114 2011-03-06 Jessie Berlin <jberlin (a] apple.com> 52115 52116 Reviewed by Sam Weinig. 52117 52118 WebKit2: Use CFNetwork Sessions API. 52119 https://bugs.webkit.org/show_bug.cgi?id=55435. 52120 52121 When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the 52122 Private Browsing Storage Session. 52123 52124 * WebCore.exp.in: 52125 Add the new WKSI functions. 52126 * platform/mac/WebCoreSystemInterface.h: 52127 Ditto. 52128 * platform/mac/WebCoreSystemInterface.mm: 52129 Ditto. 52130 52131 * platform/mac/CookieJar.mm: 52132 (WebCore::cookies): 52133 If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI. 52134 Otherwise, behave the same as before. 52135 (WebCore::cookieRequestHeaderFieldValue): 52136 Ditto. 52137 (WebCore::setCookies): 52138 Ditto. 52139 (WebCore::cookiesEnabled): 52140 Ditto 52141 (WebCore::getRawCookies): 52142 Ditto. 52143 (WebCore::deleteCookie): 52144 Ditto. 52145 52146 * platform/network/CookieStorage.h: 52147 * platform/network/cf/CookieStorageCFNet.cpp: 52148 (WebCore::privateBrowsingCookieStorage): 52149 Keep track of the Private Browsing Cookie Storage in a locally defined static inside a 52150 function instead of at the global scope. 52151 (WebCore::currentCookieStorage): 52152 Use privateBrowsingCookieStorage. 52153 (WebCore::setCurrentCookieStorage): 52154 Ditto. 52155 (WebCore::setCookieStoragePrivateBrowsingEnabled): 52156 If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to 52157 wkCreatePrivateInMemoryHTTPCookieStorage. 52158 * platform/network/mac/CookieStorageMac.mm: 52159 (WebCore::privateBrowsingCookieStorage): 52160 Keep track of the Private Browsing Cookie Storage. 52161 (WebCore::setCookieStoragePrivateBrowsingEnabled): 52162 If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage(). 52163 Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined. 52164 52165 * platform/network/mac/ResourceHandleMac.mm: 52166 (WebCore::shouldRelaxThirdPartyCookiePolicy): 52167 Refactor the logic to determine whether or not to relax the third party cookie policy here. 52168 If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage. 52169 (WebCore::ResourceHandle::createNSURLConnection): 52170 Use shouldRelaxThirdPartyCookiePolicy. 52171 (WebCore::ResourceHandle::loadResourceSynchronously): 52172 Ditto. 52173 52174 2011-03-05 Sheriff Bot <webkit.review.bot (a] gmail.com> 52175 52176 Unreviewed, rolling out r80428. 52177 http://trac.webkit.org/changeset/80428 52178 https://bugs.webkit.org/show_bug.cgi?id=55833 52179 52180 Broke SnowLeopard (Requested by xan_ on #webkit). 52181 52182 * plugins/gtk/PluginViewGtk.cpp: 52183 (WebCore::PluginView::handlePostReadFile): 52184 52185 2011-03-01 Martin Robinson <mrobinson (a] igalia.com> 52186 52187 Reviewed by Xan Lopez. 52188 52189 [GTK] Windowless plugins override the view cursor 52190 https://bugs.webkit.org/show_bug.cgi?id=55531 52191 52192 manual test: manual-tests/plugins/windowless.html 52193 52194 * platform/gtk/WidgetGtk.cpp: 52195 (WebCore::Widget::setCursor): Call into the ChromeClient implementation now. 52196 * plugins/gtk/PluginViewGtk.cpp: 52197 (WebCore::PluginView::initXEvent): Instead of setting the window for windowless 52198 plugin events, set the window value to none. This method is also used to send 52199 focus in / focus out events to windowed plugins, but this is not one of the plugin 52200 types where the window parameter matters. This matches what Mozilla does. Also 52201 pass in the display of the widget itself, not the default display. 52202 (WebCore::PluginView::handleMouseEvent): When the cursor leaves the plugin area, 52203 reset the cursor. 52204 (WebCore::PluginView::platformGetValue): Clean up this section slightly. Give the 52205 widget the top-level window explicitly. This matches Mozilla. 52206 52207 2011-03-05 Martin Robinson <mrobinson (a] igalia.com> 52208 52209 Reviewed by Xan Lopez. 52210 52211 [GTK] http/tests/plugins/post-url-file.html fails on GTK+ 52212 https://bugs.webkit.org/show_bug.cgi?id=55826 52213 52214 Correct the implementation of handlePostReadFile which uses GIO APIs and 52215 actually resizes the buffer to fit the entire size of the file data. This 52216 was likely leading to memory corruption until now. 52217 52218 * plugins/gtk/PluginViewGtk.cpp: 52219 (WebCore::PluginView::handlePostReadFile): Fix this method. 52220 52221 2011-03-05 Mikhail Naganov <mnaganov (a] chromium.org> 52222 52223 Reviewed by Pavel Feldman. 52224 52225 Web Inspector: [Chromium] Allow dynamic enabling of detailed heap profiles. 52226 https://bugs.webkit.org/show_bug.cgi?id=55824 52227 52228 Detailed heap profiles can be now enabled by typing "leakz" in Profiles tab. 52229 52230 * inspector/front-end/DetailedHeapshotView.js: 52231 (WebInspector.DetailedHeapshotView.prototype.isDetailedSnapshot): 52232 * inspector/front-end/ProfilesPanel.js: 52233 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse): 52234 (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot): 52235 (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress): 52236 (WebInspector.ProfilesPanel.prototype.handleShortcut): 52237 (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint.hideHint): 52238 (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint): 52239 (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles): 52240 (WebInspector.ProfilesPanel.prototype._recognizeKeyboardCombo): 52241 52242 2011-03-05 Qi Zhang <qi.2.zhang (a] nokia.com> 52243 52244 Reviewed by Laszlo Gombos. 52245 52246 [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String 52247 https://bugs.webkit.org/show_bug.cgi?id=48636 52248 52249 Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo. 52250 52251 * WebCore.pri: 52252 * features.pri: 52253 52254 2011-03-05 Pavel Feldman <pfeldman (a] chromium.org> 52255 52256 Not reviewed: adding null check to prevent inspector tests from failing. 52257 52258 * inspector/front-end/TextViewer.js: 52259 (WebInspector.TextEditorGutterChunk.prototype.get offsetTop): 52260 (WebInspector.TextEditorMainChunk.prototype.get offsetTop): 52261 52262 2011-03-05 Pavel Feldman <pfeldman (a] chromium.org> 52263 52264 Not reviewed: chromium rebaseline, flaky test fix. 52265 52266 * inspector/front-end/BreakpointManager.js: 52267 (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode): 52268 (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement): 52269 (WebInspector.DOMBreakpointView.prototype._format.formatters.s): 52270 (WebInspector.DOMBreakpointView.prototype._format.append): 52271 (WebInspector.DOMBreakpointView.prototype._format): 52272 52273 2011-03-04 Pavel Podivilov <podivilov (a] chromium.org> 52274 52275 Reviewed by Yury Semikhatsky. 52276 52277 Web Inspector: [chromium] pause when script is running is broken. 52278 https://bugs.webkit.org/show_bug.cgi?id=55762 52279 52280 * inspector/CodeGeneratorInspector.pm: 52281 52282 2011-03-05 Adam Barth <abarth (a] webkit.org> 52283 52284 Reviewed by Dimitri Glazkov. 52285 52286 Add Derived Sources to WebCore GYP build 52287 https://bugs.webkit.org/show_bug.cgi?id=55813 52288 52289 Adding the derived source action to the GYP file required tweaking 52290 DerivedSources.make. I'm not sure how DerivedSources.make worked 52291 before beause these paths were incorrectly based. 52292 52293 * DerivedSources.make: 52294 * gyp/generate-derived-sources.sh: Added. 52295 * gyp/WebCore.gyp: 52296 52297 2011-03-04 Pavel Feldman <pfeldman (a] chromium.org> 52298 52299 Reviewed by Yury Semikhatsky. 52300 52301 Web Inspector: fix layout tests flakiness. 52302 https://bugs.webkit.org/show_bug.cgi?id=55816 52303 52304 - Order of issuing of evaluateForTestInFrontend was not guaranteed on the backend side (InspectorAgent side) 52305 - Order of dispatching using timeouts was guaranteed via queueing. Source of all kinds of pains on SnowLeopard Release (inspector.js) 52306 52307 * inspector/CodeGeneratorInspector.pm: 52308 * inspector/InspectorAgent.cpp: 52309 (WebCore::InspectorAgent::InspectorAgent): 52310 (WebCore::InspectorAgent::disconnectFrontend): 52311 (WebCore::InspectorAgent::populateScriptObjects): 52312 (WebCore::InspectorAgent::evaluateForTestInFrontend): 52313 (WebCore::InspectorAgent::issueEvaluateForTestCommands): 52314 * inspector/InspectorAgent.h: 52315 * inspector/front-end/TimelinePanel.js: 52316 (WebInspector.TimelinePanel.FormattedRecord): 52317 * inspector/front-end/inspector.js: 52318 (WebInspector.dispatch): 52319 52320 2011-03-05 Adam Barth <abarth (a] webkit.org> 52321 52322 Reviewed by Dimitri Glazkov. 52323 52324 WebCore GYP build should generate fewer than 10,000 compile errors per file 52325 https://bugs.webkit.org/show_bug.cgi?id=55810 52326 52327 This patch adds some missing include paths. We need to figure out how 52328 to handle separate include paths per port. It's clear that 52329 ForwardingHeaders are only useful for Mac, but it's less clear how to 52330 handle the others. 52331 52332 * WebCore.gypi: 52333 * gyp/WebCore.gyp: 52334 52335 2011-03-05 Dan Bernstein <mitz (a] apple.com> 52336 52337 Reviewed by Cameron Zwarich. 52338 52339 <rdar://problem/9082946> Make the Core Text code path in GlyphPage::fill() more robust 52340 https://bugs.webkit.org/show_bug.cgi?id=55817 52341 52342 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 52343 (WebCore::GlyphPage::fill): When determining if a CTRun uses the primary font, compare against 52344 a CGFont obtained from Core Text for the primary font. This CGFont may be different from 52345 the CGFont stored in the FontPlatformData. 52346 52347 2011-03-05 Ilya Sherman <isherman (a] chromium.org> 52348 52349 Reviewed by Darin Adler. 52350 52351 HTMLInputElement::setValue() should schedule change event when the element is focused. 52352 Refactored tracking of "changed since last change event" state from renderer to DOM.In service of https://code.google.com/p/chromium/issues 52353 In service of https://code.google.com/p/chromium/issues/detail?id=42716 52354 https://bugs.webkit.org/show_bug.cgi?id=53160 52355 52356 Test: fast/forms/onchange-change-type.html 52357 Test: fast/forms/onchange-setvalueforuser.html 52358 52359 * WebCore.exp.in: 52360 * dom/Document.cpp: 52361 (WebCore::Document::setFocusedNode): 52362 * dom/Element.h: 52363 (WebCore::Element::wasChangedSinceLastFormControlChangeEvent): Added. 52364 (WebCore::Element::setChangedSinceLastFormControlChangeEvent): Added. 52365 * html/HTMLFormControlElement.cpp: 52366 (WebCore::HTMLFormControlElement::HTMLFormControlElement): 52367 (WebCore::HTMLFormControlElement::wasChangedSinceLastFormControlChangeEvent): Added. 52368 (WebCore::HTMLFormControlElement::setChangedSinceLastFormControlChangeEvent): Added. 52369 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Also clear the "changed since last change event" flag. 52370 (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Also set the "changed since last change event" flag. 52371 * html/HTMLFormControlElement.h: 52372 * html/HTMLInputElement.cpp: 52373 (WebCore::HTMLInputElement::updateType): Also clear the "changed since last change event" flag. 52374 (WebCore::HTMLInputElement::setValue): 52375 For a focused text field, dispatch an input event, but delay the change event until the field loses focus. 52376 (WebCore::HTMLInputElement::defaultEventHandler): 52377 (WebCore::HTMLInputElement::stepUpFromRenderer): 52378 * html/shadow/TextControlInnerElements.cpp: 52379 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): 52380 * rendering/RenderTextControl.cpp: 52381 (WebCore::RenderTextControl::RenderTextControl): 52382 (WebCore::RenderTextControl::subtreeHasChanged): 52383 * rendering/RenderTextControl.h: 52384 * rendering/RenderTextControlMultiLine.cpp: 52385 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 52386 * rendering/RenderTextControlSingleLine.cpp: 52387 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 52388 * wml/WMLInputElement.cpp: 52389 (WebCore::WMLInputElement::WMLInputElement): 52390 (WebCore::WMLInputElement::defaultEventHandler): 52391 * wml/WMLInputElement.h: 52392 (WebCore::WMLInputElement::wasChangedSinceLastFormControlChangeEvent): Added. 52393 (WebCore::WMLInputElement::setChangedSinceLastFormControlChangeEvent): Added. 52394 52395 2011-03-04 Xianzhu Wang <wangxianzhu (a] google.com> 52396 52397 Reviewed by Adam Barth. 52398 52399 Remove fake request loading of SVGImage to avoid MainResourceLoader 52400 leak. The frame->init() already ensures initialization of the 52401 document loader. 52402 52403 https://bugs.webkit.org/show_bug.cgi?id=55017 52404 52405 Test: fast/images/svg-image-leak-loader.html 52406 52407 * svg/graphics/SVGImage.cpp: 52408 (WebCore::SVGImage::dataChanged): 52409 52410 2011-03-04 Mike Reed <reed (a] google.com> 52411 52412 Reviewed by Mihai Parparita. 52413 52414 [Chromium] fast/canvas/canvas-arc-360-winding.html fails on Linux and Windows 52415 https://bugs.webkit.org/show_bug.cgi?id=49477 52416 52417 * platform/graphics/skia/PathSkia.cpp: 52418 (WebCore::Path::addArc): 52419 52420 2011-03-04 Jia Pu <jpu (a] apple.com> 52421 52422 Reviewed by Darin Adler. 52423 52424 On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe. 52425 https://bugs.webkit.org/show_bug.cgi?id=55717 52426 <rdar://problem/9018127> 52427 52428 manual-test: manual-tests/platforms/mac/autocorrection/autocorrection-in-iframe.html 52429 52430 Previously, the bounding box passed into EditorClient::showCorrectionPanel() is in the frame's 52431 coordinate. This is incorrect when the correction occurs in an iframe. This patch added code 52432 to convert the bounding box to window coordinate using ScrollView::contentToWindow(). 52433 52434 * dom/Range.cpp: 52435 (WebCore::Range::getBoundingClientRect): 52436 (WebCore::Range::boundingRect): 52437 * dom/Range.h: 52438 * editing/Editor.cpp: 52439 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 52440 (WebCore::Editor::correctionPanelTimerFired): 52441 (WebCore::Editor::windowRectForRange): 52442 * editing/Editor.h: 52443 * manual-tests/autocorrection/autocorrection-in-iframe.html: Added. 52444 * manual-tests/autocorrection/document-for-iframe-test.html: Added. 52445 52446 2011-03-04 Jia Pu <jpu (a] apple.com> 52447 52448 Reviewed by Darin Adler. 52449 52450 Those checking in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited() should be done with VisiblePosition::isNull(). 52451 https://bugs.webkit.org/show_bug.cgi?id=55731 52452 52453 No new tests. There's no behavioral change. 52454 52455 This patch improved clarity and readability of Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(). 52456 52457 * editing/Editor.cpp: 52458 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): 52459 52460 2011-03-04 John Bauman <jbauman (a] chromium.org> 52461 52462 Reviewed by Kenneth Russell. 52463 52464 [chromium] premultipliedAlpha WebGL context attribute is ignored. 52465 https://bugs.webkit.org/show_bug.cgi?id=55411 52466 52467 Update compositor to set the blending of each layer correctly. 52468 52469 Test: compositing/webgl/webgl-nonpremultiplied-blend.html 52470 52471 * platform/graphics/chromium/CanvasLayerChromium.cpp: 52472 (WebCore::CanvasLayerChromium::CanvasLayerChromium): 52473 (WebCore::CanvasLayerChromium::draw): 52474 * platform/graphics/chromium/CanvasLayerChromium.h: 52475 * platform/graphics/chromium/ContentLayerChromium.cpp: 52476 (WebCore::ContentLayerChromium::draw): 52477 * platform/graphics/chromium/LayerRendererChromium.cpp: 52478 (WebCore::LayerRendererChromium::drawLayers): 52479 * platform/graphics/chromium/WebGLLayerChromium.cpp: 52480 (WebCore::WebGLLayerChromium::setContext): 52481 52482 2011-03-04 Adam Barth <abarth (a] webkit.org> 52483 52484 Reviewed by Eric Seidel. 52485 52486 WebCore GYP build should link with the correct frameworks 52487 https://bugs.webkit.org/show_bug.cgi?id=55804 52488 52489 * gyp/WebCore.gyp: 52490 52491 2011-03-04 Adam Barth <abarth (a] webkit.org> 52492 52493 Reviewed by Eric Seidel. 52494 52495 WebCore GYP build should Check For Inappropriate Files in Framework 52496 https://bugs.webkit.org/show_bug.cgi?id=55806 52497 52498 * gyp/WebCore.gyp: 52499 52500 2011-03-04 Dimitri Glazkov <dglazkov (a] chromium.org> 52501 52502 Reviewed by Adam Barth. 52503 52504 Add skeletal WebCore.gyp 52505 https://bugs.webkit.org/show_bug.cgi?id=55802 52506 52507 This doesn't yet build, but the basic structure is there. 52508 52509 * WebCore.gypi: Added headers and include directories variables. 52510 * gyp/WebCore.gyp: Added. 52511 52512 2011-03-04 Adam Barth <abarth (a] webkit.org> 52513 52514 Reviewed by Dimitri Glazkov. 52515 52516 Remove unneeded round-trips through ../Source in the Chromium GYP build 52517 https://bugs.webkit.org/show_bug.cgi?id=55795 52518 52519 This is just cleanup work, but it was bugging me. 52520 52521 * WebCore.gyp/WebCore.gyp: 52522 52523 2011-03-04 Mike Reed <reed (a] google.com> 52524 52525 Reviewed by James Robinson. 52526 52527 Option to use skia's native text drawing APIs when drawing text 52528 on Windows, rather than from outlines using drawPath(). This will 52529 only have a significant effect when the skia-gpu backend is enabled. 52530 https://bugs.webkit.org/show_bug.cgi?id=55609 52531 52532 No new tests. This is disabled by default. When enabled, it will draw 52533 essentially the same, but with slightly different antialiased edges, due 52534 to differences between the current scanconverter and GDI's font scaler. 52535 When enabled, we will have to recalibrate layouttest image results. 52536 52537 * platform/graphics/skia/SkiaFontWin.cpp: 52538 (WebCore::skiaDrawText): 52539 (WebCore::setupPaintForFont): 52540 (WebCore::paintSkiaText): 52541 52542 2011-03-04 Adrienne Walker <enne (a] google.com> 52543 52544 Reviewed by James Robinson. 52545 52546 [chromium] Fix texture stride issues on large content and image layers. 52547 https://bugs.webkit.org/show_bug.cgi?id=55679 52548 52549 This was an error caused during the refactoring in r80081. 52550 52551 Tests: LayoutTests/compositing/tiling/huge-layer-img.html 52552 52553 * platform/graphics/chromium/ContentLayerChromium.cpp: 52554 (WebCore::ContentLayerChromium::updateTexture): 52555 * platform/graphics/chromium/ImageLayerChromium.cpp: 52556 (WebCore::ImageLayerChromium::updateTextureIfNeeded): 52557 52558 2011-03-04 Sheriff Bot <webkit.review.bot (a] gmail.com> 52559 52560 Unreviewed, rolling out r80379. 52561 http://trac.webkit.org/changeset/80379 52562 https://bugs.webkit.org/show_bug.cgi?id=55799 52563 52564 "Breaks leopard compile (implicit conversion)" (Requested by 52565 tonyg-cr on #webkit). 52566 52567 * css/CSSStyleSelector.cpp: 52568 (WebCore::convertToLength): 52569 (WebCore::CSSStyleSelector::applyProperty): 52570 (WebCore::CSSStyleSelector::createTransformOperations): 52571 * platform/Length.h: 52572 (WebCore::Length::Length): 52573 (WebCore::Length::operator==): 52574 (WebCore::Length::operator!=): 52575 (WebCore::Length::rawValue): 52576 (WebCore::Length::type): 52577 (WebCore::Length::quirk): 52578 (WebCore::Length::setValue): 52579 (WebCore::Length::setRawValue): 52580 (WebCore::Length::calcFloatValue): 52581 (WebCore::Length::isZero): 52582 (WebCore::Length::blend): 52583 * rendering/AutoTableLayout.cpp: 52584 (WebCore::AutoTableLayout::recalcColumn): 52585 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 52586 * rendering/FixedTableLayout.cpp: 52587 (WebCore::FixedTableLayout::calcWidthArray): 52588 52589 2011-03-04 Jessie Berlin <jberlin (a] apple.com> 52590 52591 Reviewed by Darin Adler. 52592 52593 WebKit2: Use CFNetwork Sessions API. 52594 https://bugs.webkit.org/show_bug.cgi?id=55435. 52595 52596 Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was 52597 contained within guards that made USE(CFURLSTORAGESESSIONS) always be true. 52598 52599 * platform/network/cf/ResourceHandleCFNet.cpp: 52600 (WebCore::makeFinalRequest): 52601 (WebCore::ResourceHandle::willSendRequest): 52602 * platform/network/cf/ResourceRequestCFNet.cpp: 52603 * platform/network/mac/ResourceHandleMac.mm: 52604 (WebCore::ResourceHandle::createNSURLConnection): 52605 (WebCore::ResourceHandle::willSendRequest): 52606 * platform/network/mac/ResourceRequestMac.mm: 52607 52608 2011-03-04 Yuqiang Xian <yuqiang.xian (a] intel.com> 52609 52610 Reviewed by Darin Adler. 52611 52612 improve layout performance by reducing the traversal time of the floating objects 52613 https://bugs.webkit.org/show_bug.cgi?id=55440 52614 52615 We observered large overhead on traversing the floating objects list 52616 in logicalLeftOffsetForLine() and logicalRightOffsetForLine() especially 52617 when the list becomes enormous, for example in the default 30x30 maze test 52618 from http://ie.microsoft.com/testdrive/Performance/MazeSolver/Default.html 52619 there're >3700 floating objects. When placing a new floating object the 52620 entire list (from begin to end) is traversed for multiple times. 52621 There's a low hanging fruit to reduce the chances to do the traversal 52622 which is especially applicable in logicalLeftOffsetForLine and logicalRightOffsetForLine. 52623 As the two routines either cares about FloatLeft objects or FloatRight objects only, 52624 if we know there's no corresponding type floating objects in the list 52625 we can avoid the traversal actually. One thing we could do is to record 52626 the number of FloatLeft objects and the number of FloatRight objects and 52627 add a check before doing the traversal. This can reduce the time by 45% 52628 to resolve the 30x30 Maze measured on N470 Netbook MeeGo using latest 52629 Chromium browser 11 (from 503s to 269s). 52630 52631 No new tests, relying on existing layout tests. 52632 52633 * rendering/RenderBlock.cpp: 52634 (WebCore::RenderBlock::~RenderBlock): 52635 (WebCore::RenderBlock::addOverflowFromFloats): 52636 (WebCore::RenderBlock::repaintOverhangingFloats): 52637 (WebCore::RenderBlock::paintFloats): 52638 (WebCore::RenderBlock::selectionGaps): 52639 (WebCore::RenderBlock::insertFloatingObject): 52640 (WebCore::RenderBlock::removeFloatingObject): 52641 (WebCore::RenderBlock::removeFloatingObjectsBelow): 52642 (WebCore::RenderBlock::positionNewFloats): 52643 (WebCore::RenderBlock::positionNewFloatOnLine): 52644 (WebCore::RenderBlock::logicalLeftOffsetForLine): 52645 (WebCore::RenderBlock::logicalRightOffsetForLine): 52646 (WebCore::RenderBlock::nextFloatLogicalBottomBelow): 52647 (WebCore::RenderBlock::lowestFloatLogicalBottom): 52648 (WebCore::RenderBlock::clearFloats): 52649 (WebCore::RenderBlock::addOverhangingFloats): 52650 (WebCore::RenderBlock::addIntrudingFloats): 52651 (WebCore::RenderBlock::containsFloat): 52652 (WebCore::RenderBlock::hitTestFloats): 52653 (WebCore::RenderBlock::adjustForBorderFit): 52654 (WebCore::RenderBlock::FloatingObjects::clear): 52655 (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount): 52656 (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount): 52657 * rendering/RenderBlock.h: 52658 (WebCore::RenderBlock::containsFloats): 52659 (WebCore::RenderBlock::FloatingObjects::FloatingObjects): 52660 (WebCore::RenderBlock::FloatingObjects::hasLeftObjects): 52661 (WebCore::RenderBlock::FloatingObjects::hasRightObjects): 52662 (WebCore::RenderBlock::FloatingObjects::set): 52663 * rendering/RenderBlockLineLayout.cpp: 52664 (WebCore::RenderBlock::layoutInlineChildren): 52665 (WebCore::RenderBlock::matchedEndLine): 52666 52667 2011-03-04 Rik Cabanier <cabanier (a] gmail.com> 52668 52669 Reviewed by David Hyatt. 52670 52671 Fix that allows fixed length values to be floating point 52672 https://bugs.webkit.org/show_bug.cgi?id=52699 52673 52674 * WebCore.xcodeproj/project.pbxproj: 52675 * css/CSSStyleSelector.cpp: 52676 (WebCore::convertToLength): 52677 (WebCore::convertToIntLength): 52678 (WebCore::convertToFloatLength): 52679 (WebCore::CSSStyleSelector::applyProperty): 52680 (WebCore::CSSStyleSelector::createTransformOperations): 52681 * platform/Length.h: 52682 (WebCore::Length::Length): 52683 (WebCore::Length::operator==): 52684 (WebCore::Length::operator!=): 52685 (WebCore::Length::rawValue): 52686 (WebCore::Length::type): 52687 (WebCore::Length::quirk): 52688 (WebCore::Length::setValue): 52689 (WebCore::Length::calcFloatValue): 52690 (WebCore::Length::isZero): 52691 (WebCore::Length::blend): 52692 (WebCore::Length::getIntValue): 52693 (WebCore::Length::getFloatValue): 52694 * rendering/AutoTableLayout.cpp: 52695 (WebCore::AutoTableLayout::recalcColumn): 52696 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 52697 * rendering/FixedTableLayout.cpp: 52698 (WebCore::FixedTableLayout::calcWidthArray): 52699 52700 2011-03-04 Steve Falkenburg <sfalken (a] apple.com> 52701 52702 Reviewed by Jon Honeycutt. 52703 52704 Adopt VersionStamper tool for Windows WebKit DLLs 52705 https://bugs.webkit.org/show_bug.cgi?id=55784 52706 52707 We now use a tool to stamp the version number onto the Apple WebKit DLLs 52708 during the post-build step. 52709 52710 * WebCore.vcproj/QTMovieWin.rc: Removed. 52711 * WebCore.vcproj/QTMovieWin.vcproj: 52712 * WebCore.vcproj/QTMovieWinPostBuild.cmd: Stamp version with VersionStamper. 52713 * WebCore.vcproj/QTMovieWinPreBuild.cmd: Don't run auto-version.sh. We don't use autoversion.h in this project. 52714 * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove unnecessary include paths for resource files. 52715 52716 2011-03-04 Cosmin Truta <ctruta (a] chromium.org> 52717 52718 Reviewed by Adam Barth. 52719 52720 Clarify comment about potential memory leak in SVGImage 52721 https://bugs.webkit.org/show_bug.cgi?id=55362 52722 52723 No functionality change. No new tests. 52724 52725 * svg/graphics/SVGImage.cpp: 52726 (WebCore::SVGImage::dataChanged): 52727 52728 2011-03-04 Jessie Berlin <jberlin (a] apple.com> 52729 52730 Reviewed by Maciej Stachowiak. 52731 52732 WebKit2: Use CFNetwork Sessions API. 52733 https://bugs.webkit.org/show_bug.cgi?id=55435. 52734 52735 When Private Browsing is enabled, get the cached url response from the cache associated with 52736 the Private Browsing Storage Session. 52737 52738 * WebCore.exp.in: 52739 Export the symbol for ResourceHandle::privateBrowsingStorageSession. 52740 52741 2011-03-04 Steve Block <steveblock (a] google.com> 52742 52743 Reviewed by Jeremy Orlow. 52744 52745 JSC and V8 versions of Java bridge should share JobjectWrapper 52746 https://bugs.webkit.org/show_bug.cgi?id=55763 52747 52748 No new tests, refactoring only. 52749 52750 * Android.jscbindings.mk: 52751 * Android.v8bindings.mk: 52752 * WebCore.gypi: 52753 * WebCore.order: 52754 * WebCore.xcodeproj/project.pbxproj: 52755 * bridge/jni/JobjectWrapper.cpp: 52756 (JobjectWrapper::JobjectWrapper): 52757 (JobjectWrapper::~JobjectWrapper): 52758 * bridge/jni/JobjectWrapper.h: 52759 (JSC::Bindings::JobjectWrapper::instance): 52760 (JSC::Bindings::JobjectWrapper::setInstance): 52761 (JSC::Bindings::JobjectWrapper::ref): 52762 (JSC::Bindings::JobjectWrapper::deref): 52763 * bridge/jni/jsc/JNIBridgeJSC.cpp: 52764 (JavaField::JavaField): 52765 (JavaArray::JavaArray): 52766 * bridge/jni/jsc/JNIBridgeJSC.h: 52767 * bridge/jni/jsc/JavaInstanceJSC.cpp: 52768 (JavaInstance::JavaInstance): 52769 * bridge/jni/jsc/JavaInstanceJSC.h: 52770 52771 2011-03-04 Patrick Gansterer <paroga (a] webkit.org> 52772 52773 Reviewed by Nikolas Zimmermann. 52774 52775 Move shared code into SVGStyledTransformableElement::svgAttributeChanged 52776 https://bugs.webkit.org/show_bug.cgi?id=55771 52777 52778 All sub classes of SVGStyledTransformableElement request a relayout 52779 the same way. So move that code into the common base class. 52780 52781 * svg/SVGCircleElement.cpp: 52782 (WebCore::SVGCircleElement::svgAttributeChanged): 52783 * svg/SVGEllipseElement.cpp: 52784 (WebCore::SVGEllipseElement::svgAttributeChanged): 52785 * svg/SVGForeignObjectElement.cpp: 52786 (WebCore::SVGForeignObjectElement::svgAttributeChanged): 52787 * svg/SVGGElement.cpp: 52788 (WebCore::SVGGElement::svgAttributeChanged): 52789 * svg/SVGImageElement.cpp: 52790 (WebCore::SVGImageElement::svgAttributeChanged): 52791 * svg/SVGLineElement.cpp: 52792 (WebCore::SVGLineElement::svgAttributeChanged): 52793 * svg/SVGPathElement.cpp: 52794 (WebCore::SVGPathElement::svgAttributeChanged): 52795 * svg/SVGPolyElement.cpp: 52796 (WebCore::SVGPolyElement::svgAttributeChanged): 52797 * svg/SVGRectElement.cpp: 52798 (WebCore::SVGRectElement::svgAttributeChanged): 52799 * svg/SVGStyledTransformableElement.cpp: 52800 (WebCore::SVGStyledTransformableElement::svgAttributeChanged): 52801 * svg/SVGStyledTransformableElement.h: 52802 * svg/SVGUseElement.cpp: 52803 (WebCore::SVGUseElement::svgAttributeChanged): 52804 52805 2011-03-03 John Abd-El-Malek <jam (a] chromium.org> 52806 52807 Reviewed by Dimitri Glazkov. 52808 52809 [chromium] Get rid of IsContentFiltered flags since they're not used anymore 52810 https://bugs.webkit.org/show_bug.cgi?id=55748 52811 52812 * platform/network/chromium/ResourceResponse.cpp: 52813 (WebCore::ResourceResponse::doPlatformCopyData): 52814 (WebCore::ResourceResponse::doPlatformAdopt): 52815 * platform/network/chromium/ResourceResponse.h: 52816 (WebCore::ResourceResponse::ResourceResponse): 52817 52818 2011-03-03 Timothy Hatcher <timothy (a] apple.com> 52819 52820 Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value). 52821 52822 Reviewed by Darin Adler. 52823 52824 * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE. 52825 52826 2011-03-04 Pavel Podivilov <podivilov (a] chromium.org> 52827 52828 Reviewed by Yury Semikhatsky. 52829 52830 Web Inspector: extract all code that depends on source mapping from SourceFrame. 52831 https://bugs.webkit.org/show_bug.cgi?id=55464 52832 52833 Extract all dependencies on DebuggerModel and ScriptsPanel to a delegate class 52834 to encapsulate source mapping aspects from SourceFrame. 52835 52836 * inspector/front-end/ResourceView.js: 52837 (WebInspector.ResourceView.createResourceView): 52838 (WebInspector.SourceFrameDelegateForResourcesPanel): 52839 (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent): 52840 * inspector/front-end/ScriptsPanel.js: 52841 (WebInspector.ScriptsPanel.prototype._createSourceFrame): 52842 (WebInspector.SourceFrameDelegateForScriptsPanel): 52843 * inspector/front-end/SourceFrame.js: 52844 (WebInspector.SourceFrame): 52845 (WebInspector.SourceFrame.prototype.show): 52846 (WebInspector.SourceFrame.prototype._createTextViewer): 52847 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): 52848 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 52849 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition): 52850 (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition): 52851 (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled): 52852 (WebInspector.SourceFrame.prototype._contextMenu): 52853 (WebInspector.SourceFrame.prototype._mouseDown): 52854 (WebInspector.SourceFrame.prototype._mouseMove): 52855 (WebInspector.SourceFrame.prototype._hidePopup): 52856 (WebInspector.SourceFrame.prototype._mouseHover): 52857 (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup): 52858 (WebInspector.SourceFrame.prototype._showPopup): 52859 (WebInspector.SourceFrame.prototype._doubleClick): 52860 (WebInspector.SourceFrame.prototype._didEditLine): 52861 (WebInspector.SourceFrameDelegate): 52862 (WebInspector.SourceFrameDelegate.prototype.requestContent): 52863 (WebInspector.SourceFrameDelegate.prototype.debuggingSupported): 52864 (WebInspector.SourceFrameDelegate.prototype.setBreakpoint): 52865 (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint): 52866 (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint): 52867 (WebInspector.SourceFrameDelegate.prototype.findBreakpoint): 52868 (WebInspector.SourceFrameDelegate.prototype.continueToLine): 52869 (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource): 52870 (WebInspector.SourceFrameDelegate.prototype.editScriptSource): 52871 (WebInspector.SourceFrameDelegate.prototype.debuggerPaused): 52872 (WebInspector.SourceFrameDelegate.prototype.evaluate): 52873 (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult): 52874 52875 2011-03-04 Andrey Kosyakov <caseq (a] chromium.org> 52876 52877 Reviewed by Pavel Feldman. 52878 52879 Web Inspector: [Extensions API] maintain own, unique & persistent identifiers for resources. 52880 https://bugs.webkit.org/show_bug.cgi?id=55686 52881 52882 - Use internal ids for resources in extension server. 52883 - Log errors in inspector tests. 52884 52885 * inspector/front-end/ExtensionServer.js: 52886 (WebInspector.ExtensionServer): 52887 (WebInspector.ExtensionServer.prototype.resetResources): 52888 (WebInspector.ExtensionServer.prototype._notifyResourceFinished): 52889 (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource): 52890 (WebInspector.ExtensionServer.prototype._onGetHAR): 52891 (WebInspector.ExtensionServer.prototype._onGetResourceContent): 52892 (WebInspector.ExtensionServer.prototype._resourceId): 52893 (WebInspector.ExtensionServer.prototype._resourceById): 52894 * inspector/front-end/HAREntry.js: 52895 (WebInspector.HARLog): 52896 (WebInspector.HARLog.prototype._convertResource): 52897 * inspector/front-end/NetworkPanel.js: 52898 (WebInspector.NetworkPanel.prototype._reset): 52899 52900 2011-03-04 Andrey Kosyakov <caseq (a] chromium.org> 52901 52902 Reviewed by Pavel Feldman. 52903 52904 Web Inspector: exceptions when building context menu in network panel 52905 https://bugs.webkit.org/show_bug.cgi?id=55678 52906 52907 * inspector/front-end/DataGrid.js: 52908 (WebInspector.DataGrid.prototype.dataGridNodeFromNode): 52909 (WebInspector.DataGrid.prototype.dataGridNodeFromPoint): 52910 * inspector/front-end/NetworkPanel.js: 52911 (WebInspector.NetworkPanel.prototype._contextMenu): 52912 52913 2011-03-04 Ilya Sherman <isherman (a] chromium.org> 52914 52915 Reviewed by James Robinson. 52916 52917 Override paintScrollCorner() for FramelessScrollView to forego any custom scrollbar corner rendering. 52918 This was previously done in ScrollbarThemeChromium, but we also need this on the Mac when the ScrollView 52919 is a FramelessScrollView -- which is mostly just for Autofill. 52920 In service of http://crbug.com/73772 (crash) 52921 https://bugs.webkit.org/show_bug.cgi?id=55557 52922 52923 No tests added because this fix is Chromium-specific and the code is currently untestable from within WebKit. 52924 In particular, DRT crashes when trying to render a FramelessScrollView. 52925 52926 * platform/ScrollbarTheme.h: 52927 (WebCore::ScrollbarTheme::paintScrollCorner): Body moved to static function defaultPaintScrollCorner(). 52928 (WebCore::ScrollbarTheme::defaultPaintScrollCorner): Added. 52929 * platform/chromium/FramelessScrollView.cpp: 52930 (WebCore::FramelessScrollView::paintContents): 52931 (WebCore::FramelessScrollView::paintScrollCorner): Fix implementation moved to here from ScrollbarThemeChromium 52932 * platform/chromium/FramelessScrollView.h: 52933 * platform/chromium/ScrollbarThemeChromium.cpp: 52934 * platform/chromium/ScrollbarThemeChromium.h: 52935 52936 2011-03-04 Yury Semikhatsky <yurys (a] chromium.org> 52937 52938 Reviewed by Pavel Feldman. 52939 52940 Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation 52941 https://bugs.webkit.org/show_bug.cgi?id=55770 52942 52943 * inspector/InspectorAgent.cpp: 52944 (WebCore::InspectorAgent::InspectorAgent): 52945 (WebCore::InspectorAgent::didCommitLoad): 52946 * inspector/InspectorCSSAgent.cpp: 52947 (WebCore::InspectorCSSAgent::InspectorCSSAgent): 52948 (WebCore::InspectorCSSAgent::~InspectorCSSAgent): 52949 * inspector/InspectorCSSAgent.h: 52950 * inspector/InspectorDatabaseAgent.cpp: 52951 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 52952 * inspector/InspectorInstrumentation.cpp: 52953 (WebCore::InspectorInstrumentation::didCommitLoadImpl): 52954 * inspector/InspectorInstrumentation.h: 52955 (WebCore::InspectorInstrumentation::didCommitLoad): 52956 * inspector/InspectorProfilerAgent.cpp: 52957 (WebCore::InspectorProfilerAgent::create): 52958 (WebCore::InspectorProfilerAgent::InspectorProfilerAgent): 52959 (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent): 52960 (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole): 52961 (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole): 52962 (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling): 52963 (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling): 52964 * inspector/InspectorProfilerAgent.h: 52965 * inspector/InstrumentingAgents.h: 52966 (WebCore::InstrumentingAgents::InstrumentingAgents): 52967 (WebCore::InstrumentingAgents::inspectorCSSAgent): 52968 (WebCore::InstrumentingAgents::setInspectorCSSAgent): 52969 (WebCore::InstrumentingAgents::inspectorDOMStorageAgent): 52970 (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent): 52971 (WebCore::InstrumentingAgents::inspectorDatabaseAgent): 52972 (WebCore::InstrumentingAgents::setInspectorDatabaseAgent): 52973 (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent): 52974 (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent): 52975 (WebCore::InstrumentingAgents::inspectorDebuggerAgent): 52976 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent): 52977 (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent): 52978 (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent): 52979 (WebCore::InstrumentingAgents::inspectorProfilerAgent): 52980 (WebCore::InstrumentingAgents::setInspectorProfilerAgent): 52981 52982 2011-03-04 Ilya Tikhonovsky <loislo (a] chromium.org> 52983 52984 Reviewed by Yury Semikhatsky. 52985 52986 Web Inspector: rename RuntimeAgent's function from releaseWrapperObjectGroup to releaseObjectGroup. 52987 https://bugs.webkit.org/show_bug.cgi?id=55773 52988 52989 * inspector/CodeGeneratorInspector.pm: 52990 * inspector/InjectedScript.cpp: 52991 (WebCore::InjectedScript::releaseObjectGroup): 52992 * inspector/InjectedScript.h: 52993 * inspector/InjectedScriptHost.cpp: 52994 (WebCore::InjectedScriptHost::releaseObjectGroup): 52995 * inspector/InjectedScriptHost.h: 52996 * inspector/InjectedScriptSource.js: 52997 (.): 52998 * inspector/Inspector.idl: 52999 * inspector/InspectorConsoleAgent.cpp: 53000 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 53001 * inspector/InspectorRuntimeAgent.cpp: 53002 (WebCore::InspectorRuntimeAgent::releaseObjectGroup): 53003 * inspector/InspectorRuntimeAgent.h: 53004 * inspector/front-end/ConsoleView.js: 53005 (WebInspector.ConsoleView.prototype.completions.evaluatedProperties): 53006 (WebInspector.ConsoleView.prototype.completions): 53007 * inspector/front-end/PropertiesSidebarPane.js: 53008 * inspector/front-end/SourceFrame.js: 53009 (WebInspector.SourceFrame.prototype._hidePopup): 53010 * inspector/front-end/WatchExpressionsSidebarPane.js: 53011 (WebInspector.WatchExpressionsSection.prototype.update): 53012 53013 2011-03-02 Andrey Adaikin <aandrey (a] google.com> 53014 53015 Reviewed by Pavel Feldman. 53016 53017 Web Inspector: Gutter height should be 100% when few lines are displayed 53018 https://bugs.webkit.org/show_bug.cgi?id=55574 53019 53020 * inspector/front-end/SourceFrame.js: 53021 (WebInspector.SourceFrame.prototype._startEditing): 53022 * inspector/front-end/TextViewer.js: 53023 (WebInspector.TextViewer.prototype._syncScroll): 53024 (WebInspector.TextEditorGutterPanel.prototype._expandChunks): 53025 (WebInspector.TextEditorGutterPanel.prototype.textChanged): 53026 (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight): 53027 * inspector/front-end/textViewer.css: 53028 (.text-editor-lines): 53029 (.text-editor-contents .inner-container): 53030 (.webkit-line-number): 53031 53032 2011-03-04 Andrey Adaikin <aandrey (a] google.com> 53033 53034 Reviewed by Pavel Feldman. 53035 53036 Web Inspector: [Text editor] Do bisect to find visible chunks 53037 https://bugs.webkit.org/show_bug.cgi?id=55685 53038 53039 * inspector/front-end/TextViewer.js: 53040 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine): 53041 (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks): 53042 (WebInspector.TextEditorChunkedPanel.prototype._repaintAll): 53043 (WebInspector.TextEditorGutterChunk.prototype.get offsetTop): 53044 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange): 53045 (WebInspector.TextEditorMainChunk.prototype.get offsetTop): 53046 53047 2011-03-04 Andrey Adaikin <aandrey (a] google.com> 53048 53049 Reviewed by Pavel Feldman. 53050 53051 Web Inspector: [Text editor] DOMNodeRemoved events are missing 53052 https://bugs.webkit.org/show_bug.cgi?id=55769 53053 53054 * inspector/front-end/TextViewer.js: 53055 (WebInspector.TextEditorMainPanel): 53056 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 53057 (WebInspector.TextEditorMainChunk): 53058 (WebInspector.TextEditorMainChunk.prototype._createRow): 53059 53060 2011-03-04 Ilya Tikhonovsky <loislo (a] chromium.org> 53061 53062 Reviewed by Yury Semikhatsky. 53063 53064 Web Inspector: Remove unnecessary domain and success flags from the response messages. 53065 https://bugs.webkit.org/show_bug.cgi?id=55768 53066 53067 We have domain property in the response messages but it is not used because we dispatch 53068 the responses on the callback associated with seq. 53069 53070 If we have property 'errors' in the response then success eq false and true in the other case. 53071 53072 * inspector/CodeGeneratorInspector.pm: 53073 53074 2011-03-04 Christian Dywan <christian (a] lanedo.com> 53075 53076 Reviewed by Gustavo Noronha Silva. 53077 53078 Enable Copy Image Address context menu item in the Gtk port 53079 https://bugs.webkit.org/show_bug.cgi?id=55136 53080 53081 * page/ContextMenuController.cpp: 53082 * platform/ContextMenuItem.h: 53083 * platform/LocalizationStrategy.h: 53084 * platform/LocalizedStrings.cpp: 53085 * platform/LocalizedStrings.h: 53086 * platform/gtk/ContextMenuItemGtk.cpp: 53087 * platform/gtk/LocalizedStringsGtk.cpp: 53088 53089 2011-03-04 Pavel Feldman <pfeldman (a] chromium.org> 53090 53091 Reviewed by Yury Semikhatsky. 53092 53093 Web Inspector: implement getCompletions via evaluate. 53094 https://bugs.webkit.org/show_bug.cgi?id=55759 53095 53096 * inspector/InjectedScript.cpp: 53097 * inspector/InjectedScript.h: 53098 * inspector/InjectedScriptSource.js: 53099 * inspector/Inspector.idl: 53100 * inspector/InspectorDebuggerAgent.cpp: 53101 * inspector/InspectorDebuggerAgent.h: 53102 * inspector/InspectorRuntimeAgent.cpp: 53103 * inspector/InspectorRuntimeAgent.h: 53104 * inspector/front-end/ConsoleView.js: 53105 (WebInspector.ConsoleView.prototype.completions.evaluated): 53106 (WebInspector.ConsoleView.prototype.completions.evaluatedProperties): 53107 (WebInspector.ConsoleView.prototype.completions): 53108 (WebInspector.ConsoleView.prototype._reportCompletions): 53109 * inspector/front-end/ScriptsPanel.js: 53110 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper): 53111 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 53112 * inspector/front-end/SourceFrame.js: 53113 (WebInspector.SourceFrame.prototype._showPopup): 53114 (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): 53115 53116 2011-03-04 Steve Block <steveblock (a] google.com> 53117 53118 Reviewed by Jeremy Orlow. 53119 53120 V8 version of JavaString should obtain string from JNI in UTF-16 encoding 53121 https://bugs.webkit.org/show_bug.cgi?id=55566 53122 53123 We obtain the string from JNI in UTF-16 encoding and convert 53124 to UTF-8 using our own routines as required. This matches the 53125 behaviour of the JSC version of JavaString. 53126 53127 No new tests, no change in behaviour. 53128 53129 * bridge/jni/v8/JavaStringV8.h: 53130 (JSC::Bindings::JavaStringImpl::init): 53131 (JSC::Bindings::JavaStringImpl::utf8): 53132 (JSC::Bindings::JavaStringImpl::impl): 53133 53134 2011-03-03 Pavel Feldman <pfeldman (a] chromium.org> 53135 53136 Reviewed by Yury Semikhatsky. 53137 53138 Web Inspector: do not push document into front-end, make it request one. 53139 https://bugs.webkit.org/show_bug.cgi?id=55664 53140 53141 * inspector/Inspector.idl: 53142 * inspector/InspectorAgent.cpp: 53143 (WebCore::InspectorAgent::InspectorAgent): 53144 * inspector/InspectorAgent.h: 53145 * inspector/InspectorBrowserDebuggerAgent.cpp: 53146 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 53147 * inspector/InspectorDOMAgent.cpp: 53148 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 53149 (WebCore::InspectorDOMAgent::clearFrontend): 53150 (WebCore::InspectorDOMAgent::setDocument): 53151 (WebCore::InspectorDOMAgent::getDocument): 53152 (WebCore::InspectorDOMAgent::pushNodePathToFrontend): 53153 (WebCore::InspectorDOMAgent::boundNodeId): 53154 (WebCore::InspectorDOMAgent::resolveNode): 53155 (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded): 53156 * inspector/InspectorDOMAgent.h: 53157 (WebCore::InspectorDOMAgent::create): 53158 * inspector/front-end/BreakpointManager.js: 53159 (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints): 53160 (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode): 53161 (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement): 53162 * inspector/front-end/DOMAgent.js: 53163 (WebInspector.DOMDocument): 53164 (WebInspector.DOMAgent): 53165 (WebInspector.DOMAgent.prototype.requestDocument): 53166 (WebInspector.DOMAgent.prototype.pushNodeToFrontend): 53167 (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend): 53168 (WebInspector.DOMAgent.prototype._attributesUpdated): 53169 (WebInspector.DOMAgent.prototype._characterDataModified): 53170 (WebInspector.DOMAgent.prototype._documentUpdated): 53171 (WebInspector.DOMAgent.prototype._setDocument): 53172 (WebInspector.DOMAgent.prototype._setDetachedRoot): 53173 (WebInspector.DOMAgent.prototype._setChildNodes): 53174 (WebInspector.DOMAgent.prototype._childNodeInserted): 53175 (WebInspector.DOMAgent.prototype._childNodeRemoved): 53176 (WebInspector.DOMDispatcher.prototype.documentUpdated): 53177 * inspector/front-end/ElementsPanel.js: 53178 (WebInspector.ElementsPanel.prototype.show): 53179 (WebInspector.ElementsPanel.prototype.setDocument): 53180 * inspector/front-end/MetricsSidebarPane.js: 53181 * inspector/front-end/RemoteObject.js: 53182 (WebInspector.RemoteObject.prototype.pushNodeToFrontend): 53183 53184 2011-03-04 Andrey Kosyakov <caseq (a] chromium.org> 53185 53186 Reviewed by Pavel Feldman. 53187 53188 Web Inspector: summary bar may overlap content of the network item view 53189 https://bugs.webkit.org/show_bug.cgi?id=55656 53190 53191 - drop custom summary bar placement logic, do it with CSS instead. 53192 53193 * inspector/front-end/NetworkPanel.js: 53194 (WebInspector.NetworkPanel.prototype.resize): 53195 (WebInspector.NetworkPanel.prototype._createSummaryBar): 53196 (WebInspector.NetworkPanel.prototype._updateSummaryBar): 53197 (WebInspector.NetworkPanel.prototype._updateFilter): 53198 (WebInspector.NetworkPanel.prototype.show): 53199 (WebInspector.NetworkPanel.prototype.refresh): 53200 (WebInspector.NetworkPanel.prototype._reset): 53201 (WebInspector.NetworkPanel.prototype._setLargerResources): 53202 (WebInspector.NetworkPanel.prototype._updateOffscreenRows): 53203 * inspector/front-end/networkPanel.css: 53204 (.network-sidebar .data-grid td): 53205 (.network-sidebar tr.filler td): 53206 (.network-summary-bar): 53207 (.network-sidebar .data-grid .network-summary-bar td): 53208 (.network-summary-bar img): 53209 53210 2011-03-04 James Su <suzhe (a] chromium.org> 53211 53212 Reviewed by Dimitri Glazkov. 53213 53214 [Chromium] keycode is always 0 when using non-Latin keyboard layout. 53215 https://bugs.webkit.org/show_bug.cgi?id=54939 53216 53217 Add KeyEventCocoa.{h,mm}, so that we can reuse them in chromium. 53218 53219 No intended functionality change. 53220 53221 * WebCore.gyp/WebCore.gyp: 53222 * WebCore.gypi: 53223 53224 2011-03-04 Patrick Gansterer <paroga (a] webkit.org> 53225 53226 Unreviewed EFL build fix for r80324. 53227 53228 * platform/efl/RenderThemeEfl.cpp: 53229 (WebCore::RenderThemeEfl::paintThemePart): 53230 53231 2011-03-04 Patrick Gansterer <paroga (a] webkit.org> 53232 53233 Unreviewed EFL build fix for r80324. 53234 53235 * platform/efl/RenderThemeEfl.cpp: 53236 (WebCore::RenderThemeEfl::paintThemePart): 53237 53238 2011-03-03 Yury Semikhatsky <yurys (a] chromium.org> 53239 53240 Reviewed by Pavel Feldman. 53241 53242 Web Inspector: AppCache agent should have same lifetime as InspectorAgent 53243 https://bugs.webkit.org/show_bug.cgi?id=55673 53244 53245 * inspector/InspectorAgent.cpp: 53246 (WebCore::InspectorAgent::InspectorAgent): 53247 (WebCore::InspectorAgent::setFrontend): 53248 (WebCore::InspectorAgent::disconnectFrontend): 53249 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 53250 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 53251 (WebCore::InspectorAgent::didCommitLoad): 53252 * inspector/InspectorApplicationCacheAgent.cpp: 53253 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): 53254 (WebCore::InspectorApplicationCacheAgent::setFrontend): 53255 (WebCore::InspectorApplicationCacheAgent::clearFrontend): 53256 * inspector/InspectorApplicationCacheAgent.h: 53257 * inspector/InspectorInstrumentation.cpp: 53258 (WebCore::InspectorInstrumentation::networkStateChangedImpl): 53259 (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl): 53260 * inspector/InstrumentingAgents.h: 53261 (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent): 53262 (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent): 53263 53264 2011-03-03 Brian Weinstein <bweinstein (a] apple.com> 53265 53266 Reviewed by Adam Roben. 53267 53268 Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427. 53269 53270 Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges 53271 on all platforms, and stub the functions on platforms that don't implement them. 53272 53273 Add startObservingCookieChanges and stopObservingCookieChanges to TemporaryLinkStubs 53274 for platforms that don't implement them. 53275 53276 * platform/android/TemporaryLinkStubs.cpp: 53277 * platform/brew/TemporaryLinkStubs.cpp: 53278 * platform/chromium/TemporaryLinkStubs.cpp: 53279 * platform/efl/TemporaryLinkStubs.cpp: 53280 * platform/gtk/TemporaryLinkStubs.cpp: 53281 * platform/haiku/TemporaryLinkStubs.cpp: 53282 * platform/qt/TemporaryLinkStubsQt.cpp: 53283 * platform/win/TemporaryLinkStubs.cpp: 53284 53285 2011-03-03 Eric Seidel <eric (a] webkit.org> 53286 53287 Reviewed by Dimitri Glazkov. 53288 53289 Refactor createRendererIfNeeded to avoid premature nextRenderer calculation 53290 https://bugs.webkit.org/show_bug.cgi?id=55720 53291 53292 There are two thing going on here: 53293 1. Delaying nextRenderer calculation until we actually use it, 53294 previously we would always compute nextRenderer (expensive!) 53295 even if no renderer insertion was to occur. 53296 2. Fix fullscreen elements to be inserted into the right place 53297 in the rendering tree. Previously they would always be the last 53298 child in their parent's list, even if that wasn't the right place. 53299 53300 I don't know of any way to trigger the fullscreen bug, 53301 but I tested this with peacekeeper and saw no performance change. 53302 53303 Peacekeeper's domJQueryBasics is now possibly as much as 2% faster 53304 but I don't really trust the stability of peacekeeper to begin with. 53305 53306 This paves the way for further improvement in our nextRenderer calculation. 53307 53308 * dom/Node.cpp: 53309 (WebCore::Node::attach): 53310 (WebCore::Node::previousRenderer): 53311 (WebCore::Node::nextRenderer): 53312 (WebCore::Node::createRendererAndStyle): 53313 (WebCore::wrapWithRenderFullScreen): 53314 (WebCore::Node::createRendererIfNeeded): 53315 * dom/Node.h: 53316 53317 2011-03-03 Ryosuke Niwa <rniwa (a] webkit.org> 53318 53319 Reviewed by Darin Adler. 53320 53321 Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h 53322 https://bugs.webkit.org/show_bug.cgi?id=55554 53323 53324 * platform/Length.cpp: 53325 (WebCore::newLengthArray): Pass nullptr instead of 0. 53326 53327 2011-03-03 Nat Duca <nduca (a] chromium.org> 53328 53329 Reviewed by James Robinson. 53330 53331 [chromium] Create a LayerChromium layerTreeAsText. Add HUD to 53332 LayerRendererChromium that draws compositor FPS and, optionally, 53333 the layer tree. 53334 https://bugs.webkit.org/show_bug.cgi?id=54710 53335 53336 * WebCore.gypi: 53337 * platform/graphics/chromium/Canvas2DLayerChromium.h: 53338 (WebCore::Canvas2DLayerChromium::drawsContent): 53339 * platform/graphics/chromium/CanvasLayerChromium.h: 53340 (WebCore::CanvasLayerChromium::layerTypeAsString): 53341 * platform/graphics/chromium/ContentLayerChromium.cpp: 53342 (WebCore::writeIndent): 53343 (WebCore::ContentLayerChromium::dumpLayerProperties): 53344 * platform/graphics/chromium/ContentLayerChromium.h: 53345 (WebCore::ContentLayerChromium::drawsContent): 53346 (WebCore::ContentLayerChromium::layerTypeAsString): 53347 * platform/graphics/chromium/GraphicsLayerChromium.cpp: 53348 (WebCore::GraphicsLayerChromium::setName): 53349 (WebCore::GraphicsLayerChromium::updateNames): 53350 (WebCore::GraphicsLayerChromium::updateLayerPreserves3D): 53351 (WebCore::GraphicsLayerChromium::setupContentsLayer): 53352 * platform/graphics/chromium/GraphicsLayerChromium.h: 53353 * platform/graphics/chromium/ImageLayerChromium.h: 53354 (WebCore::ImageLayerChromium::drawsContent): 53355 (WebCore::ImageLayerChromium::layerTypeAsString): 53356 * platform/graphics/chromium/LayerChromium.cpp: 53357 (WebCore::LayerChromium::LayerChromium): 53358 (WebCore::LayerChromium::setName): 53359 (WebCore::LayerChromium::layerTreeAsText): 53360 (WebCore::writeIndent): 53361 (WebCore::LayerChromium::dumpLayer): 53362 (WebCore::LayerChromium::dumpLayerProperties): 53363 * platform/graphics/chromium/LayerChromium.h: 53364 (WebCore::LayerChromium::name): 53365 (WebCore::LayerChromium::drawsContent): 53366 (WebCore::LayerChromium::debugID): 53367 (WebCore::LayerChromium::layerTypeAsString): 53368 * platform/graphics/chromium/LayerRendererChromium.cpp: 53369 (WebCore::LayerRendererChromium::LayerRendererChromium): 53370 (WebCore::LayerRendererChromium::~LayerRendererChromium): 53371 (WebCore::LayerRendererChromium::drawLayers): 53372 (WebCore::LayerRendererChromium::present): 53373 (WebCore::LayerRendererChromium::layerTreeAsText): 53374 (WebCore::LayerRendererChromium::dumpRenderSurfaces): 53375 * platform/graphics/chromium/LayerRendererChromium.h: 53376 (WebCore::LayerRendererChromium::getHeadsUpDisplay): 53377 (WebCore::LayerRendererChromium::rootVisibleRect): 53378 * platform/graphics/chromium/PluginLayerChromium.h: 53379 (WebCore::PluginLayerChromium::drawsContent): 53380 (WebCore::PluginLayerChromium::layerTypeAsString): 53381 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 53382 (WebCore::RenderSurfaceChromium::name): 53383 (WebCore::writeIndent): 53384 (WebCore::RenderSurfaceChromium::dumpSurface): 53385 * platform/graphics/chromium/RenderSurfaceChromium.h: 53386 * platform/graphics/chromium/VideoLayerChromium.h: 53387 (WebCore::VideoLayerChromium::drawsContent): 53388 (WebCore::VideoLayerChromium::layerTypeAsString): 53389 * platform/graphics/chromium/WebGLLayerChromium.h: 53390 (WebCore::WebGLLayerChromium::drawsContent): 53391 (WebCore::WebGLLayerChromium::layerTypeAsString): 53392 * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: Added. 53393 (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay): 53394 (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay): 53395 (WebCore::CCHeadsUpDisplay::draw): 53396 (WebCore::CCHeadsUpDisplay::drawHudContents): 53397 (WebCore::CCHeadsUpDisplay::onPresent): 53398 * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: Added. 53399 (WebCore::CCHeadsUpDisplay::setShowFPSCounter): 53400 (WebCore::CCHeadsUpDisplay::showFPSCounter): 53401 (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree): 53402 (WebCore::CCHeadsUpDisplay::showPlatformLayerTree): 53403 (WebCore::CCHeadsUpDisplay::enabled): 53404 * platform/graphics/chromium/cc/CCLayerImpl.cpp: 53405 (WebCore::CCLayerImpl::CCLayerImpl): 53406 (WebCore::writeIndent): 53407 (WebCore::CCLayerImpl::dumpLayerProperties): 53408 * platform/graphics/chromium/cc/CCLayerImpl.h: 53409 (WebCore::CCLayerImpl::debugID): 53410 (WebCore::CCLayerImpl::setName): 53411 (WebCore::CCLayerImpl::name): 53412 53413 2011-03-02 Ojan Vafai <ojan (a] chromium.org> 53414 53415 Reviewed by Darin Adler. 53416 53417 crash in adoptNode with mutation events 53418 https://bugs.webkit.org/show_bug.cgi?id=50046 53419 53420 If the DOM is modified during the removeChild call in adoptNode, 53421 then the setDocument call that follows can leave the DOM in an 53422 inconsistent state. 53423 53424 * dom/Document.cpp: 53425 (WebCore::Document::adoptNode): 53426 53427 2011-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 53428 53429 Reviewed by Darin Adler. 53430 53431 Add audio tag tests to the media controls manual test suite. 53432 https://bugs.webkit.org/show_bug.cgi?id=55722 53433 53434 * manual-tests/media-controls.html: Added 4 audio tests. 53435 53436 2011-03-03 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 53437 53438 Reviewed by Eric Seidel. 53439 53440 [EFL] Adjust functions of RenderThemeEfl.cpp to WebKit parameter style 53441 https://bugs.webkit.org/show_bug.cgi?id=54392 53442 53443 Functions of RenderThemeEfl.cpp adhere efl coding style instead of WebKit coding style. 53444 WebCore's functions should adhere WebKit coding style. 53445 53446 * platform/efl/RenderThemeEfl.cpp: 53447 (WebCore::RenderThemeEfl::themePartCacheEntryReset): 53448 (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate): 53449 (WebCore::RenderThemeEfl::cacheThemePartNew): 53450 (WebCore::RenderThemeEfl::cacheThemePartReset): 53451 (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset): 53452 (WebCore::RenderThemeEfl::cacheThemePartGet): 53453 (WebCore::RenderThemeEfl::cacheThemePartFlush): 53454 (WebCore::RenderThemeEfl::applyEdjeStateFromForm): 53455 (WebCore::RenderThemeEfl::paintThemePart): 53456 (WebCore::renderThemeEflColorClassSelectionActive): 53457 (WebCore::renderThemeEflColorClassSelectionInactive): 53458 (WebCore::renderThemeEflColorClassFocusRing): 53459 (WebCore::renderThemeEflColorClassButtonText): 53460 (WebCore::renderThemeEflColorClassComboText): 53461 (WebCore::renderThemeEflColorClassEntryText): 53462 (WebCore::renderThemeEflColorClassSearchText): 53463 (WebCore::RenderThemeEfl::applyPartDescription): 53464 (WebCore::RenderThemeEfl::applyPartDescriptions): 53465 (WebCore::RenderThemeEfl::controlSupportsTints): 53466 (WebCore::RenderThemeEfl::baselinePosition): 53467 (WebCore::RenderThemeEfl::paintSliderTrack): 53468 (WebCore::RenderThemeEfl::adjustSliderTrackStyle): 53469 (WebCore::RenderThemeEfl::adjustSliderThumbStyle): 53470 (WebCore::RenderThemeEfl::paintSliderThumb): 53471 (WebCore::RenderThemeEfl::adjustCheckboxStyle): 53472 (WebCore::RenderThemeEfl::paintCheckbox): 53473 (WebCore::RenderThemeEfl::adjustRadioStyle): 53474 (WebCore::RenderThemeEfl::paintRadio): 53475 (WebCore::RenderThemeEfl::adjustButtonStyle): 53476 (WebCore::RenderThemeEfl::paintButton): 53477 (WebCore::RenderThemeEfl::adjustMenuListStyle): 53478 (WebCore::RenderThemeEfl::paintMenuList): 53479 (WebCore::RenderThemeEfl::adjustTextFieldStyle): 53480 (WebCore::RenderThemeEfl::paintTextField): 53481 (WebCore::RenderThemeEfl::adjustTextAreaStyle): 53482 (WebCore::RenderThemeEfl::paintTextArea): 53483 (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle): 53484 (WebCore::RenderThemeEfl::paintSearchFieldDecoration): 53485 (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle): 53486 (WebCore::RenderThemeEfl::paintSearchFieldResultsButton): 53487 (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle): 53488 (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration): 53489 (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle): 53490 (WebCore::RenderThemeEfl::paintSearchFieldCancelButton): 53491 (WebCore::RenderThemeEfl::adjustSearchFieldStyle): 53492 (WebCore::RenderThemeEfl::paintSearchField): 53493 (WebCore::RenderThemeEfl::adjustProgressBarStyle): 53494 (WebCore::RenderThemeEfl::paintProgressBar): 53495 (WebCore::RenderThemeEfl::paintMediaFullscreenButton): 53496 (WebCore::RenderThemeEfl::paintMediaMuteButton): 53497 (WebCore::RenderThemeEfl::paintMediaPlayButton): 53498 (WebCore::RenderThemeEfl::paintMediaSeekBackButton): 53499 (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): 53500 (WebCore::RenderThemeEfl::paintMediaSliderTrack): 53501 (WebCore::RenderThemeEfl::paintMediaSliderThumb): 53502 (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer): 53503 (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack): 53504 (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb): 53505 (WebCore::RenderThemeEfl::paintMediaCurrentTime): 53506 53507 2011-03-03 Andy Estes <aestes (a] apple.com> 53508 53509 Reviewed by Adam Barth. 53510 53511 Assertion failure in toElement(WebCore::Node*) 53512 https://bugs.webkit.org/show_bug.cgi?id=55697 53513 53514 Test: fast/parser/fragment-foreign-content.html 53515 53516 * html/parser/HTMLTreeBuilder.cpp: 53517 (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): The current 53518 element in the HTMLElementStack might be a DocumentFragment if a 53519 fragment is being parsed who's first node is foreign content. 53520 53521 2011-03-03 Mahesh Kulkarni <mahesh.kulkarni (a] nokia.com> 53522 53523 Reviewed by Kenneth Rohde Christiansen. 53524 53525 [QT] Implement mock client-based geolocation for layout testing 53526 https://bugs.webkit.org/show_bug.cgi?id=54334 53527 53528 Implements client() to GeolocationController to re-use geolocationClientMock class 53529 for layout testing purpose. 53530 53531 * page/GeolocationController.h: 53532 (WebCore::GeolocationController::client): 53533 53534 2011-03-03 Ryosuke Niwa <rniwa (a] webkit.org> 53535 53536 Reviewed by Kent Tamura. 53537 53538 Stop calling deprecatedNode and deprecatedEditingOffset in InsertTextCommand 53539 https://bugs.webkit.org/show_bug.cgi?id=55352 53540 53541 Stopped calling deprecatedNode and deprecatedEditingOffset in the following functions: 53542 53543 * editing/CompositeEditCommand.cpp: 53544 (WebCore::CompositeEditCommand::positionOutsideTabSpan): Takes care of all types of positions and 53545 no longer calls deprecated functions. 53546 * editing/InsertTextCommand.cpp: 53547 (WebCore::InsertTextCommand::positionInsideTextNode): Ditto; renamed from prepareForTextInsertion. 53548 Check if the text node inside a tab span before checking if the container node is a text node 53549 because the position before or after a text node can still be inside a tab span. 53550 (WebCore::InsertTextCommand::input): No longer calls deprecated functions. 53551 * editing/InsertTextCommand.h: 53552 * editing/ModifySelectionListLevel.cpp: 53553 (WebCore::getStartEndListChildren): Call anchorNode() instead of deprecatedNode() because the start 53554 or the end of selection could be an immediate child of a list node (e.g. br inside ul) 53555 53556 2011-03-03 Hans Wennborg <hans (a] chromium.org> 53557 53558 Reviewed by Jeremy Orlow. 53559 53560 IndexedDB: Move last bits of SQL into IDBBackingStore 53561 https://bugs.webkit.org/show_bug.cgi?id=55668 53562 53563 After this, all SQL code for IndexedDB is in IDBBackingStore.cpp. 53564 53565 No new tests: refactoring only. 53566 53567 * storage/IDBBackingStore.cpp: 53568 (WebCore::IDBBackingStore::createTransaction): 53569 * storage/IDBBackingStore.h: 53570 * storage/IDBCursorBackendImpl.h: 53571 * storage/IDBDatabaseBackendImpl.cpp: 53572 (WebCore::IDBDatabaseBackendImpl::backingStore): 53573 * storage/IDBDatabaseBackendImpl.h: 53574 * storage/IDBIndexBackendImpl.h: 53575 * storage/IDBKey.h: 53576 * storage/IDBObjectStoreBackendImpl.h: 53577 * storage/IDBTransactionBackendImpl.cpp: 53578 (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): 53579 * storage/IDBTransactionBackendImpl.h: 53580 * storage/IDBTransactionBackendInterface.h: 53581 * storage/IDBTransactionCoordinator.cpp: 53582 53583 2011-03-03 Adam Klein <adamk (a] chromium.org> 53584 53585 Reviewed by David Levin. 53586 53587 [fileapi] Tighten up ResolveURICallbacks 53588 https://bugs.webkit.org/show_bug.cgi?id=55638 53589 53590 Two changes: 53591 - Retry only on TYPE_MISMATCH_ERR now that Chromium 53592 properly sets that error code. 53593 - Call DirectoryEntry instead of DOMFileSystem methods. 53594 53595 No change in behavior, so no new tests. 53596 53597 * fileapi/FileSystemCallbacks.cpp: 53598 (WebCore::ResolveURICallbacks::didOpenFileSystem): 53599 53600 2011-03-03 Anders Carlsson <andersca (a] apple.com> 53601 53602 Reviewed by Sam Weinig. 53603 53604 Get rid of Page::globalHistoryItem 53605 https://bugs.webkit.org/show_bug.cgi?id=55738 53606 53607 The m_globalHistoryItem is only used by Mac and Windows WebKit1. 53608 Instead of having WebCore updating this member variable, just call out 53609 to a FrameLoaderClient member function and let WebKit keep it up to date. 53610 53611 * loader/EmptyClients.h: 53612 (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): 53613 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage): 53614 * loader/FrameLoader.cpp: 53615 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 53616 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): 53617 * loader/FrameLoaderClient.h: 53618 (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage): 53619 * loader/HistoryController.cpp: 53620 (WebCore::HistoryController::goToItem): 53621 (WebCore::HistoryController::updateForStandardLoad): 53622 (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList): 53623 * page/Page.cpp: 53624 * page/Page.h: 53625 53626 2011-03-02 Jeremy Orlow <jorlow (a] chromium.org> 53627 53628 Reviewed by Steve Block. 53629 53630 Cursor.continue with a key param should test less than, not equal to 53631 https://bugs.webkit.org/show_bug.cgi?id=55640 53632 53633 If you supply a param to cursor.continue, we sould guarantee that 53634 the item we continue to is greater than or equal to the parameter. 53635 Right now, we only test equality. 53636 53637 http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue 53638 http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-iterating-a-cursor 53639 53640 Test: storage/indexeddb/cursor-continue.html 53641 53642 * storage/IDBCursorBackendImpl.cpp: 53643 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 53644 * storage/IDBKey.cpp: 53645 (WebCore::IDBKey::isLessThan): 53646 (WebCore::IDBKey::isEqual): 53647 * storage/IDBKey.h: 53648 53649 2011-03-03 Brent Fulgham <bfulgham (a] webkit.org> 53650 53651 Build fix. Need win/cURL DownloadBundle stub. 53652 53653 * platform/network/curl/DownloadBundle.h: Added. 53654 53655 2011-03-03 Geoffrey Garen <ggaren (a] apple.com> 53656 53657 Rolled out 80277 and 80280 because they caused event handler layout test 53658 failures. 53659 53660 * WebCore.xcodeproj/project.pbxproj: 53661 * bindings/js/JSDOMGlobalObject.cpp: 53662 * bindings/js/JSDOMGlobalObject.h: 53663 * bindings/js/JSDOMWindowBase.cpp: 53664 * bindings/js/JSDOMWindowBase.h: 53665 * bindings/js/JSDOMWindowCustom.h: 53666 * bindings/js/JSWorkerContextBase.cpp: 53667 53668 2011-03-03 Brady Eidson <beidson (a] apple.com> 53669 53670 Reviewed by Darin Adler. 53671 53672 https://bugs.webkit.org/show_bug.cgi?id=55721 53673 Global IconDatabase should be returned by reference, not as a pointer 53674 53675 * history/HistoryItem.cpp: 53676 (WebCore::HistoryItem::HistoryItem): 53677 (WebCore::HistoryItem::~HistoryItem): 53678 (WebCore::HistoryItem::reset): 53679 (WebCore::HistoryItem::icon): 53680 (WebCore::HistoryItem::setURLString): 53681 53682 * loader/FrameLoader.cpp: 53683 (WebCore::FrameLoader::startIconLoader): 53684 (WebCore::FrameLoader::commitIconURLToIconDatabase): 53685 53686 * loader/archive/cf/LegacyWebArchive.cpp: 53687 (WebCore::LegacyWebArchive::create): 53688 53689 * loader/icon/IconDatabase.cpp: 53690 (WebCore::iconDatabase): 53691 * loader/icon/IconDatabase.h: 53692 * loader/icon/IconDatabaseNone.cpp: 53693 (WebCore::iconDatabase): 53694 * loader/icon/wince/IconDatabaseWinCE.cpp: 53695 (WebCore::iconDatabase): 53696 53697 * loader/icon/IconLoader.cpp: 53698 (WebCore::IconLoader::finishLoading): 53699 53700 2011-03-03 Ryosuke Niwa <rniwa (a] webkit.org> 53701 53702 Reviewed by Martin Robinson. 53703 53704 Stop instantiating legacy editing positions in FocusController::advanceFocusInDocumentOrder 53705 https://bugs.webkit.org/show_bug.cgi?id=52742 53706 53707 Use firstPositionInOrBeforeNode to instantiate appropriate position. 53708 53709 * page/FocusController.cpp: 53710 (WebCore::FocusController::advanceFocusInDocumentOrder): 53711 53712 2011-03-03 Andy Estes <aestes (a] apple.com> 53713 53714 Reviewed by Darin Adler. 53715 53716 When displaying the missing plug-in sheet, pass the 'pluginspage' 53717 attribute to the UI process. 53718 https://bugs.webkit.org/show_bug.cgi?id=55553 53719 53720 * WebCore.exp.in: Export __ZN7WebCore9HTMLNames15pluginspageAttrE. 53721 * html/HTMLAttributeNames.in: Add 'pluginspage' as a known content 53722 attribute. 53723 53724 2011-03-03 Jessie Berlin <jberlin (a] apple.com> 53725 53726 Reviewed by Adam Roben. 53727 53728 WebKit2: Use CFNetwork Sessions API. 53729 https://bugs.webkit.org/show_bug.cgi?id=55435 53730 53731 Set the Private Browsing Storage Session on requests when Private Browsing is enabled. 53732 53733 * WebCore.exp.in: 53734 Support using WKCopyRequestWithStorageSession in WebCore. 53735 * platform/mac/WebCoreSystemInterface.h: 53736 Ditto. 53737 * platform/mac/WebCoreSystemInterface.mm: 53738 Ditto. 53739 53740 * platform/network/cf/ResourceHandleCFNet.cpp: 53741 (WebCore::makeFinalRequest): 53742 If Private Browsing is enabled, set the Private Browsing Storage Session on the request. 53743 (WebCore::ResourceHandle::willSendRequest): 53744 Ditto. 53745 * platform/network/mac/ResourceHandleMac.mm: 53746 (WebCore::ResourceHandle::createNSURLConnection): 53747 Ditto. 53748 (WebCore::ResourceHandle::willSendRequest): 53749 Ditto. 53750 53751 * platform/network/cf/ResourceRequest.h: 53752 * platform/network/cf/ResourceRequestCFNet.cpp: 53753 (WebCore::ResourceRequest::setStorageSession): 53754 Call through to WKSI. 53755 * platform/network/mac/ResourceRequestMac.mm: 53756 (WebCore::ResourceRequest::setStorageSession): 53757 Ditto. 53758 53759 2011-03-03 Chris Marrin <cmarrin (a] apple.com> 53760 53761 Reviewed by Simon Fraser. 53762 53763 REGRESSION: Accelerated transitions are jumpy 53764 https://bugs.webkit.org/show_bug.cgi?id=55022 53765 53766 Changed the way default TimingFunction is stored according to Adam Roben's 53767 suggestion. 53768 53769 * platform/animation/TimingFunction.h: 53770 (WebCore::CubicBezierTimingFunction::defaultTimingFunction): 53771 53772 2011-03-03 Dan Bernstein <mitz (a] apple.com> 53773 53774 Reviewed by Sam Weinig. 53775 53776 Rename -webkit-hyphenate-locale to -webkit-locale 53777 https://bugs.webkit.org/show_bug.cgi?id=55709 53778 53779 * css/CSSComputedStyleDeclaration.cpp: 53780 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 53781 * css/CSSParser.cpp: 53782 (WebCore::CSSParser::parseValue): 53783 (WebCore::cssPropertyID): 53784 * css/CSSPropertyNames.in: 53785 * css/CSSStyleSelector.cpp: 53786 (WebCore::CSSStyleSelector::applyProperty): 53787 * rendering/RenderBlockLineLayout.cpp: 53788 (WebCore::RenderBlock::findNextLineBreak): 53789 * rendering/style/RenderStyle.cpp: 53790 (WebCore::RenderStyle::diff): 53791 * rendering/style/RenderStyle.h: 53792 (WebCore::InheritedFlags::locale): 53793 (WebCore::InheritedFlags::setLocale): 53794 (WebCore::InheritedFlags::initialLocale): 53795 * rendering/style/StyleRareInheritedData.cpp: 53796 (WebCore::StyleRareInheritedData::StyleRareInheritedData): 53797 (WebCore::StyleRareInheritedData::operator==): 53798 * rendering/style/StyleRareInheritedData.h: 53799 53800 2011-03-03 Kevin Ollivier <kevino (a] theolliviers.com> 53801 53802 [wx] Build fixes. Use Font::textMetrics to get ascent value, and add missing include. 53803 53804 * platform/wx/DragDataWx.cpp: 53805 * platform/wx/wxcode/win/non-kerned-drawing.cpp: 53806 (WebCore::drawTextWithSpacing): 53807 53808 2011-03-03 Oliver Hunt <oliver (a] apple.com> 53809 53810 Reviewed by Geoffrey Garen. 53811 53812 JSVariableObject needs to use WriteBarrier for symboltable property storage 53813 https://bugs.webkit.org/show_bug.cgi?id=55698 53814 53815 Update to pass JSGlobalData for the symbol table write used 53816 to set the document property. 53817 53818 * bindings/js/JSDOMWindowBase.cpp: 53819 (WebCore::JSDOMWindowBase::updateDocument): 53820 53821 2011-03-03 Alexey Proskuryakov <ap (a] apple.com> 53822 53823 More build fixing. Move WebCoreKeyboardUIMode.h to a cross-platform location. 53824 53825 * WebCore.xcodeproj/project.pbxproj: 53826 * page/WebCoreKeyboardUIMode.h: Copied from WebCore/page/mac/WebCoreKeyboardUIMode.h. 53827 * page/mac/WebCoreKeyboardUIMode.h: Removed. 53828 53829 2011-03-03 Alexey Proskuryakov <ap (a] apple.com> 53830 53831 Build fix. Should include WebCoreKeyboardUIMode.h on all platforms now. 53832 53833 * page/ChromeClient.h: 53834 53835 2011-03-02 Alexey Proskuryakov <ap (a] apple.com> 53836 53837 Reviewed by Darin Adler. 53838 53839 REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access 53840 https://bugs.webkit.org/show_bug.cgi?id=55633 53841 <rdar://problem/8963023> 53842 53843 * loader/EmptyClients.h: (WebCore::EmptyChromeClient::keyboardUIMode): 53844 * page/ChromeClient.h: 53845 * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): 53846 Merged tabsToLinks() and keyboardUIMode(). The latter returned a superset of information 53847 returned by former. 53848 53849 2011-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 53850 53851 Fix Win compile break, caused by r80276. 53852 53853 * rendering/RenderThemeWin.h: Changed signature of volumeSliderOffsetFromMuteButton 53854 to match RenderTheme.h. 53855 53856 2011-03-02 Geoffrey Garen <ggaren (a] apple.com> 53857 53858 Reviewed by Darin Adler. 53859 53860 Moved all variable object storage inline -- upping the object size limit to 1K 53861 https://bugs.webkit.org/show_bug.cgi?id=55653 53862 53863 * bindings/js/JSDOMGlobalObject.cpp: 53864 * bindings/js/JSDOMGlobalObject.h: 53865 * bindings/js/JSDOMWindowBase.cpp: 53866 * bindings/js/JSDOMWindowBase.h: 53867 * bindings/js/JSDOMWindowCustom.h: 53868 * bindings/js/JSWorkerContextBase.cpp: Removed out-of-line storage. Changed d-> to m_. 53869 53870 2011-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 53871 53872 Reviewed by Darin Adler. 53873 53874 Use RenderBox in volumeSliderOffsetFromMuteButton, since that's what is actually being used. 53875 https://bugs.webkit.org/show_bug.cgi?id=55099 53876 53877 Cleanup, no behavior change. 53878 53879 * html/shadow/MediaControls.cpp: 53880 (WebCore::MediaControls::updateVolumeSliderContainer): Changed to pass RenderBox 53881 instead of Node. 53882 * rendering/RenderMediaControls.cpp: 53883 (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Changed 53884 to use RenderBox as argument. 53885 * rendering/RenderMediaControls.h: Ditto. 53886 * rendering/RenderTheme.cpp: 53887 (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): Ditto. 53888 * rendering/RenderTheme.h: Ditto. 53889 * rendering/RenderThemeChromiumMac.h: Ditto. 53890 * rendering/RenderThemeChromiumMac.mm: 53891 (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): Ditto. 53892 * rendering/RenderThemeMac.h: Ditto. 53893 * rendering/RenderThemeMac.mm: 53894 (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Ditto. 53895 * rendering/RenderThemeWin.cpp: 53896 (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Ditto. 53897 53898 2011-03-03 Alexis Menard <alexis.menard (a] openbossa.org> 53899 53900 Reviewed by Andreas Kling. 53901 53902 When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1. 53903 Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr 53904 for GstElement. 53905 53906 * WebCore.pro: 53907 * features.pri: 53908 53909 2011-03-03 Anders Carlsson <andersca (a] apple.com> 53910 53911 Try to fix the Windows build again. 53912 53913 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 53914 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 53915 53916 2011-03-03 Mihai Parparita <mihaip (a] chromium.org> 53917 53918 Reviewed by Dimitri Glazkov. 53919 53920 Add another CRASH() for CSSSelector double frees 53921 https://bugs.webkit.org/show_bug.cgi?id=55693 53922 53923 To help track down bug 53045, add a CRASH call when the the array and/or 53924 CSSSelector member in CSSSelectorList is disposed of more than once. 53925 53926 Just a check, no new tests necessary. 53927 53928 * css/CSSSelectorList.cpp: 53929 (WebCore::CSSSelectorList::deleteSelectors): 53930 53931 2011-03-03 Anders Carlsson <andersca (a] apple.com> 53932 53933 Yet another attempt at fixing the Windows build. 53934 53935 * platform/graphics/ca/win/CACFLayerTreeHost.cpp: 53936 * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: 53937 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h: 53938 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 53939 53940 2011-03-02 Chris Marrin <cmarrin (a] apple.com> 53941 53942 Reviewed by Simon Fraser. 53943 53944 REGRESSION: Accelerated transitions are jumpy 53945 https://bugs.webkit.org/show_bug.cgi?id=55022 53946 53947 Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction 53948 is now always passed in. The TimingFunction class now has a static method to get 53949 a default object which has the 'ease' values in it. I now assert in both Mac and 53950 Win implementations if a null TimingFunction pointer is seen. 53951 53952 * platform/animation/TimingFunction.h: 53953 (WebCore::CubicBezierTimingFunction::create): 53954 (WebCore::CubicBezierTimingFunction::defaultTimingFunction): 53955 (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction): 53956 * platform/graphics/ca/GraphicsLayerCA.cpp: 53957 (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue): 53958 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 53959 (toCAMediaTimingFunction): 53960 * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: 53961 (toCACFTimingFunction): 53962 53963 2011-03-03 Tony Gentilcore <tonyg (a] chromium.org> 53964 53965 Unreviewed build fix. 53966 53967 Fix clang compile after r80220 53968 https://bugs.webkit.org/show_bug.cgi?id=55692 53969 53970 * storage/IDBBackingStore.cpp: 53971 (WebCore::IDBBackingStore::getPrimaryKeyViaIndex): 53972 53973 2011-03-03 Anders Carlsson <andersca (a] apple.com> 53974 53975 Attempt to fix the Windows build. 53976 53977 * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp: 53978 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 53979 53980 2011-03-02 Brian Weinstein <bweinstein (a] apple.com> 53981 53982 Reviewed by Adam Roben. 53983 53984 Rest of WebKit2: Need a way to send notifications to client when cookies change 53985 https://bugs.webkit.org/show_bug.cgi?id=55427 53986 <rdar://problem/9056027> 53987 53988 Add functions to be exported. 53989 53990 * WebCore.exp.in: 53991 53992 2011-03-03 Anders Carlsson <andersca (a] apple.com> 53993 53994 Reviewed by Darin Adler. 53995 53996 Improve WebCore build time by ~5% 53997 https://bugs.webkit.org/show_bug.cgi?id=55688 53998 53999 Forward declare the CATransform3D and CGAffineTransform structs instead of including 54000 large chunks of QuartzCore and Core Graphics. 54001 54002 On an 8 core Mac Pro, this sped up building WebCore by about 5%. 54003 54004 * platform/graphics/ca/GraphicsLayerCA.cpp: 54005 * platform/graphics/ca/TransformationMatrixCA.cpp: 54006 * platform/graphics/transforms/TransformationMatrix.h: 54007 54008 2011-03-03 Andrey Kosyakov <caseq (a] chromium.org> 54009 54010 Unreviewed. Adjusted call to a method renamed in r80102. 54011 54012 * inspector/front-end/SourceFrame.js: 54013 (WebInspector.SourceFrame.prototype._startEditing): 54014 54015 2011-03-03 Timothy Hatcher <timothy (a] apple.com> 54016 54017 Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used 54018 by contexts not created by WebCore. 54019 54020 https://webkit.org/b/55642 54021 54022 Reviewed by Oliver Hunt. 54023 54024 * bindings/js/SerializedScriptValue.cpp: 54025 (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock. 54026 (WebCore::SerializedScriptValue::deserialize): Ditto. 54027 54028 2011-03-03 Alexey Proskuryakov <ap (a] apple.com> 54029 54030 Reviewed by Darin Adler. 54031 54032 WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake 54033 https://bugs.webkit.org/show_bug.cgi?id=55498 54034 <rdar://problem/8752706> 54035 54036 Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html 54037 http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html 54038 54039 * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response 54040 header fields. Removed separate member variables for those, as they were duplicating data 54041 available in response, and there is no reason to squeeze microsecods here. 54042 54043 * websockets/WebSocketHandshake.cpp: 54044 (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field 54045 values to reset here. 54046 (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders(). 54047 (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response. 54048 (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto. 54049 (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto. 54050 (WebCore::WebSocketHandshake::serverSetCookie): Ditto. 54051 (WebCore::WebSocketHandshake::serverSetCookie2): Ditto. 54052 (WebCore::WebSocketHandshake::serverUpgrade): Added. 54053 (WebCore::WebSocketHandshake::serverConnection): Added. 54054 (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection 54055 header field presence and values. 54056 54057 2011-03-03 Helder Correia <helder (a] sencha.com> 54058 54059 Reviewed by Andreas Kling. 54060 54061 [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails 54062 https://bugs.webkit.org/show_bug.cgi?id=55651 54063 54064 When relying on ContextShadow and using a gradient stroke for a path, 54065 the alpha of the shadow is incorrect. 54066 54067 * platform/graphics/qt/GraphicsContextQt.cpp: 54068 (WebCore::GraphicsContext::strokePath): 54069 54070 2011-03-03 Martin Robinson <mrobinson (a] igalia.com> 54071 54072 XHTMLMP build broken after r78342 54073 https://bugs.webkit.org/show_bug.cgi?id=55286 54074 54075 Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader 54076 instead of FrameLoader. 54077 54078 No new tests. This is a build fix. 54079 54080 * dom/Document.cpp: 54081 (WebCore::Document::isXHTMLMPDocument): 54082 54083 2011-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 54084 54085 Reviewed by Eric Carlson. 54086 54087 Tweak MediaControlMuteButtonElement class hierarchy. 54088 https://bugs.webkit.org/show_bug.cgi?id=55614 54089 54090 This allows the mute button on the panel to have event handlers that are 54091 different from the mute button in the volume slider. 54092 54093 No change in behavior, covered by existing tests. 54094 54095 * html/shadow/MediaControls.cpp: 54096 (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement. 54097 * rendering/MediaControlElements.cpp: 54098 (WebCore::MediaControlMuteButtonElement::updateDisplayType): 54099 (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added. 54100 (WebCore::MediaControlPanelMuteButtonElement::create): Added. 54101 (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved. 54102 * rendering/MediaControlElements.h: Added defs. 54103 54104 2011-03-03 Yury Semikhatsky <yurys (a] chromium.org> 54105 54106 Reviewed by Pavel Feldman. 54107 54108 Web Inspector: Resource agent should have same lifetime as Inspector agent 54109 https://bugs.webkit.org/show_bug.cgi?id=55461 54110 54111 * inspector/Inspector.idl: 54112 * inspector/InspectorAgent.cpp: 54113 (WebCore::InspectorAgent::InspectorAgent): 54114 (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed 54115 to clear frontend reference in all agents. 54116 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 54117 (WebCore::InspectorAgent::setFrontend): 54118 (WebCore::InspectorAgent::disconnectFrontend): 54119 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 54120 (WebCore::InspectorAgent::didCommitLoad): 54121 * inspector/InspectorAgent.h: 54122 (WebCore::InspectorAgent::resourceAgent): 54123 * inspector/InspectorBrowserDebuggerAgent.cpp: 54124 (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): 54125 * inspector/InspectorDebuggerAgent.cpp: 54126 (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): 54127 * inspector/InspectorInstrumentation.cpp: 54128 (WebCore::InspectorInstrumentation::didCreateWebSocketImpl): 54129 (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl): 54130 (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl): 54131 (WebCore::InspectorInstrumentation::didCloseWebSocketImpl): 54132 (WebCore::InspectorInstrumentation::retrieveResourceAgent): 54133 * inspector/InspectorResourceAgent.cpp: 54134 (WebCore::InspectorResourceAgent::setFrontend): 54135 (WebCore::InspectorResourceAgent::clearFrontend): 54136 (WebCore::InspectorResourceAgent::restore): 54137 (WebCore::InspectorResourceAgent::~InspectorResourceAgent): 54138 (WebCore::InspectorResourceAgent::enable): 54139 (WebCore::InspectorResourceAgent::disable): 54140 (WebCore::InspectorResourceAgent::InspectorResourceAgent): 54141 * inspector/InspectorResourceAgent.h: 54142 (WebCore::InspectorResourceAgent::create): 54143 * inspector/InspectorTimelineAgent.cpp: 54144 (WebCore::InspectorTimelineAgent::restore): 54145 * inspector/InspectorTimelineAgent.h: 54146 * inspector/front-end/NetworkManager.js: 54147 (WebInspector.NetworkManager): 54148 (WebInspector.NetworkManager.prototype.frontendReused): 54149 * inspector/front-end/inspector.js: 54150 (WebInspector.frontendReused): 54151 54152 2011-03-03 Andras Becsi <abecsi (a] webkit.org> 54153 54154 Reviewed by Andreas Kling. 54155 54156 CSS RGBA fast-path color parsing should clamp of out-of-range alpha values 54157 https://bugs.webkit.org/show_bug.cgi?id=55661 54158 54159 Test case originally written by Andreas Kling <andreas.kling (a] nokia.com> 54160 54161 Test: fast/canvas/rgba-parsing.html 54162 54163 * css/CSSParser.cpp: 54164 (WebCore::isValidDouble): Check whether the given string is a valid double. 54165 (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range. 54166 54167 2011-03-03 David Holloway <dhollowa (a] chromium.org> 54168 54169 Reviewed by Dimitri Glazkov. 54170 54171 Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account 54172 for non-empty suggestion text. The visibility of the placeholder text 54173 now turned off when suggestion text is set. 54174 https://bugs.webkit.org/show_bug.cgi?id=55245 54175 54176 No new tests because, by design, the suggestion text is not accessible 54177 through the DOM. 54178 54179 * html/HTMLFormControlElement.cpp: 54180 (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible): 54181 * html/HTMLFormControlElement.h: 54182 (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): 54183 * html/HTMLInputElement.h: 54184 (WebCore::HTMLInputElement::isEmptySuggestedValue): 54185 54186 2011-03-03 Andy Estes <aestes (a] apple.com> 54187 54188 Reviewed by Eric Seidel. 54189 54190 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%) 54191 https://bugs.webkit.org/show_bug.cgi?id=48719 54192 54193 Instead of pushing a fake HTMLHtmlElement onto the open element stack 54194 during fragment parsing only to later remove it and reparent its 54195 children to the DocumentFragment, push the DocumentFragment directly 54196 onto the open element stack as the root node. This requires refactoring 54197 HTMLElementStack to hold ContainerNode pointers rather than Element 54198 pointers, which has implications for HTMLConstructionSite and 54199 HTMLTreeBuilder as well. 54200 54201 With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT 54202 is ~14%. However, if you discount the 'domDynamicCreationCreateElement' 54203 test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the 54204 regression no longer lies in fragment parsing. 54205 54206 No new tests. No change in behavior. 54207 54208 * dom/Element.h: 54209 (WebCore::Node::hasLocalName): 54210 * dom/Node.h: 54211 * html/parser/HTMLConstructionSite.cpp: 54212 (WebCore::HTMLNames::hasImpliedEndTag): 54213 (WebCore::HTMLConstructionSite::HTMLConstructionSite): 54214 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): 54215 (WebCore::HTMLConstructionSite::insertComment): 54216 (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): 54217 (WebCore::HTMLConstructionSite::attachToCurrent): 54218 (WebCore::HTMLConstructionSite::insertScriptElement): 54219 (WebCore::HTMLConstructionSite::insertTextNode): 54220 (WebCore::HTMLConstructionSite::createElement): 54221 (WebCore::HTMLConstructionSite::createHTMLElement): 54222 (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): 54223 (WebCore::HTMLConstructionSite::generateImpliedEndTags): 54224 (WebCore::HTMLConstructionSite::findFosterSite): 54225 (WebCore::HTMLConstructionSite::shouldFosterParent): 54226 * html/parser/HTMLConstructionSite.h: 54227 (WebCore::HTMLConstructionSite::currentNode): 54228 * html/parser/HTMLElementStack.cpp: 54229 (WebCore::HTMLNames::isNumberedHeaderElement): 54230 (WebCore::HTMLNames::isScopeMarker): 54231 (WebCore::HTMLNames::isListItemScopeMarker): 54232 (WebCore::HTMLNames::isTableScopeMarker): 54233 (WebCore::HTMLNames::isTableBodyScopeMarker): 54234 (WebCore::HTMLNames::isTableRowScopeMarker): 54235 (WebCore::HTMLNames::isButtonScopeMarker): 54236 (WebCore::HTMLNames::isSelectScopeMarker): 54237 (WebCore::HTMLElementStack::ElementRecord::ElementRecord): 54238 (WebCore::HTMLElementStack::ElementRecord::replaceElement): 54239 (WebCore::HTMLElementStack::HTMLElementStack): 54240 (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement): 54241 (WebCore::HTMLElementStack::popAll): 54242 (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): 54243 (WebCore::HTMLElementStack::popUntil): 54244 (WebCore::HTMLElementStack::popUntilPopped): 54245 (WebCore::HTMLElementStack::popUntilTableScopeMarker): 54246 (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker): 54247 (WebCore::HTMLElementStack::popUntilTableRowScopeMarker): 54248 (WebCore::HTMLElementStack::pushHTMLHtmlElement): 54249 (WebCore::HTMLElementStack::push): 54250 (WebCore::HTMLElementStack::insertAbove): 54251 (WebCore::HTMLElementStack::find): 54252 (WebCore::HTMLElementStack::topmost): 54253 (WebCore::HTMLElementStack::contains): 54254 (WebCore::inScopeCommon): 54255 (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): 54256 (WebCore::HTMLElementStack::htmlElement): 54257 (WebCore::HTMLElementStack::rootNode): 54258 (WebCore::HTMLElementStack::pushCommon): 54259 * html/parser/HTMLElementStack.h: 54260 (WebCore::HTMLElementStack::ElementRecord::element): 54261 (WebCore::HTMLElementStack::ElementRecord::node): 54262 (WebCore::HTMLElementStack::topNode): 54263 * html/parser/HTMLTreeBuilder.cpp: 54264 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): 54265 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): 54266 (WebCore::HTMLTreeBuilder::processStartTagForInBody): 54267 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): 54268 (WebCore::HTMLTreeBuilder::processStartTag): 54269 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): 54270 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 54271 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): 54272 (WebCore::HTMLTreeBuilder::processEndTagForInCell): 54273 (WebCore::HTMLTreeBuilder::processEndTagForInBody): 54274 (WebCore::HTMLTreeBuilder::processEndTag): 54275 (WebCore::HTMLTreeBuilder::processEndOfFile): 54276 (WebCore::HTMLTreeBuilder::finished): 54277 * html/parser/HTMLTreeBuilder.h: 54278 54279 2011-03-02 Yury Semikhatsky <yurys (a] chromium.org> 54280 54281 Reviewed by Pavel Feldman. 54282 54283 Web Inspector: inspector protocol should allow different domains to have methods with same name 54284 https://bugs.webkit.org/show_bug.cgi?id=55558 54285 54286 * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only). 54287 54288 2011-03-02 Pavel Podivilov <podivilov (a] chromium.org> 54289 54290 Reviewed by Yury Semikhatsky. 54291 54292 Web Inspector: make selected call frame debugger presentation model property. 54293 https://bugs.webkit.org/show_bug.cgi?id=55582 54294 54295 * inspector/front-end/CallStackSidebarPane.js: 54296 (WebInspector.CallStackSidebarPane): 54297 (WebInspector.CallStackSidebarPane.prototype.update): 54298 (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame): 54299 (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex): 54300 * inspector/front-end/ConsoleView.js: 54301 (WebInspector.ConsoleView.prototype.completions): 54302 * inspector/front-end/DebuggerPresentationModel.js: 54303 (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame): 54304 (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame): 54305 * inspector/front-end/ScriptsPanel.js: 54306 (WebInspector.ScriptsPanel): 54307 (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame): 54308 (WebInspector.ScriptsPanel.prototype._debuggerResumed): 54309 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): 54310 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 54311 54312 2011-03-03 Jia Pu <jpu (a] apple.com> 54313 54314 Reviewed by Darin Adler. 54315 54316 On Mac OS X, spelling suggestion panel stops showing up after change set 80121 54317 https://bugs.webkit.org/show_bug.cgi?id=55628 54318 54319 Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121. 54320 54321 * editing/Editor.cpp: 54322 (WebCore::Editor::appliedEditing): 54323 * manual-tests/autocorrection/autocorrection-contraction.html: 54324 54325 2011-03-03 Pavel Podivilov <podivilov (a] chromium.org> 54326 54327 Reviewed by Pavel Feldman. 54328 54329 Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js. 54330 https://bugs.webkit.org/show_bug.cgi?id=55569 54331 54332 sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel. 54333 54334 * inspector/front-end/DebuggerPresentationModel.js: 54335 * inspector/front-end/ScriptsPanel.js: 54336 54337 2011-03-03 Steve Block <steveblock (a] google.com> 54338 54339 Reviewed by David Levin. 54340 54341 JavaString API should be implementable by both JSC and V8 54342 https://bugs.webkit.org/show_bug.cgi?id=55567 54343 54344 Remove JavaString's UString operator and replace it with a 54345 script-engine-independent impl() method, which returns a 54346 StringImpl and can be implemented with both JSC and V8. 54347 54348 No new tests, refactoring only. 54349 54350 * bridge/jni/JNIBridge.h: 54351 (JSC::Bindings::JavaString::impl): 54352 * bridge/jni/jni_jsobject.mm: 54353 (JavaJSObject::call): 54354 (JavaJSObject::eval): 54355 (JavaJSObject::getMember): 54356 (JavaJSObject::setMember): 54357 (JavaJSObject::removeMember): 54358 * bridge/jni/jsc/JNIBridgeJSC.cpp: 54359 (JavaField::valueFromInstance): 54360 (JavaField::setValueToInstance): 54361 * bridge/jni/jsc/JavaClassJSC.cpp: 54362 (JavaClass::JavaClass): 54363 * bridge/jni/jsc/JavaInstanceJSC.cpp: 54364 (JavaInstance::invokeMethod): 54365 * bridge/jni/jsc/JavaStringJSC.h: 54366 (JSC::Bindings::JavaStringImpl::impl): 54367 * bridge/jni/v8/JavaStringV8.h: 54368 (JSC::Bindings::JavaStringImpl::impl): 54369 54370 2011-03-03 Benjamin Poulain <ikipou (a] gmail.com> 54371 54372 Reviewed by Adam Roben. 54373 54374 REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot 54375 https://bugs.webkit.org/show_bug.cgi?id=55602 54376 54377 Delete the FloatingObject referenced by m_floatingObjects when clearing the floats. 54378 54379 The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The 54380 objects need to be deleted manually with ListHashSet. 54381 54382 * rendering/RenderBlock.cpp: 54383 (WebCore::RenderBlock::clearFloats): 54384 54385 2011-03-03 Hans Wennborg <hans (a] chromium.org> 54386 54387 Reviewed by Jeremy Orlow. 54388 54389 IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore 54390 https://bugs.webkit.org/show_bug.cgi?id=55376 54391 54392 Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl, 54393 IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl. 54394 54395 No new functionality, so no new tests. 54396 54397 * storage/IDBBackingStore.cpp: 54398 (WebCore::lowerCursorWhereFragment): 54399 (WebCore::upperCursorWhereFragment): 54400 (WebCore::IDBBackingStore::deleteObjectStoreRecord): 54401 (WebCore::IDBBackingStore::keyExistsInObjectStore): 54402 (WebCore::IDBBackingStore::getObjectViaIndex): 54403 (WebCore::keyFromQuery): 54404 (WebCore::IDBBackingStore::getPrimaryKeyViaIndex): 54405 (WebCore::IDBBackingStore::keyExistsInIndex): 54406 (WebCore::CursorImplCommon::CursorImplCommon::continueInternal): 54407 (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl): 54408 (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId): 54409 (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key): 54410 (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value): 54411 (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction): 54412 (WebCore::IDBBackingStore::openObjectStoreCursor): 54413 (WebCore::ObjectStoreCursorImpl::loadCurrentRow): 54414 (WebCore::ObjectStoreCursorImpl::currentRowExists): 54415 (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl): 54416 (WebCore::IndexKeyCursorImpl::indexDataId): 54417 (WebCore::IndexKeyCursorImpl::key): 54418 (WebCore::IndexKeyCursorImpl::primaryKey): 54419 (WebCore::IndexKeyCursorImpl::continueFunction): 54420 (WebCore::IDBBackingStore::openIndexKeyCursor): 54421 (WebCore::IndexKeyCursorImpl::loadCurrentRow): 54422 (WebCore::IndexKeyCursorImpl::currentRowExists): 54423 (WebCore::IndexCursorImpl::IndexCursorImpl): 54424 (WebCore::IndexCursorImpl::indexDataId): 54425 (WebCore::IndexCursorImpl::key): 54426 (WebCore::IndexCursorImpl::primaryKey): 54427 (WebCore::IndexCursorImpl::value): 54428 (WebCore::IndexCursorImpl::continueFunction): 54429 (WebCore::IDBBackingStore::openIndexCursor): 54430 (WebCore::IndexCursorImpl::loadCurrentRow): 54431 (WebCore::IndexCursorImpl::currentRowExists): 54432 * storage/IDBBackingStore.h: 54433 (WebCore::IDBBackingStore::Cursor::~Cursor): 54434 * storage/IDBCursorBackendImpl.cpp: 54435 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 54436 (WebCore::IDBCursorBackendImpl::key): 54437 (WebCore::IDBCursorBackendImpl::value): 54438 (WebCore::IDBCursorBackendImpl::update): 54439 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 54440 (WebCore::IDBCursorBackendImpl::deleteFunction): 54441 * storage/IDBCursorBackendImpl.h: 54442 (WebCore::IDBCursorBackendImpl::create): 54443 * storage/IDBIndexBackendImpl.cpp: 54444 (WebCore::IDBIndexBackendImpl::openCursorInternal): 54445 (WebCore::IDBIndexBackendImpl::getInternal): 54446 (WebCore::IDBIndexBackendImpl::addingKeyAllowed): 54447 * storage/IDBIndexBackendImpl.h: 54448 * storage/IDBKey.cpp: 54449 (WebCore::IDBKey::isEqual): 54450 * storage/IDBKey.h: 54451 * storage/IDBKeyRange.cpp: 54452 * storage/IDBKeyRange.h: 54453 * storage/IDBObjectStoreBackendImpl.cpp: 54454 (WebCore::IDBObjectStoreBackendImpl::putInternal): 54455 (WebCore::IDBObjectStoreBackendImpl::deleteInternal): 54456 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 54457 * storage/IDBObjectStoreBackendImpl.h: 54458 54459 2011-03-03 Peter Kasting <pkasting (a] google.com> 54460 54461 Reviewed by James Robinson. 54462 54463 Drop redundant "Windows; " from the Windows-specific User Agent string. 54464 https://bugs.webkit.org/show_bug.cgi?id=54567 54465 54466 * StringsNotToBeLocalized.txt: 54467 54468 2011-03-03 Mario Sanchez Prada <msanchez (a] igalia.com> 54469 54470 Reviewed by Martin Robinson. 54471 54472 [GTK] Combo boxes should emit object:selection-changed even when collapsed 54473 https://bugs.webkit.org/show_bug.cgi?id=53146 54474 54475 Emit the selection-changed signals when the menu list value has changed 54476 54477 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html 54478 54479 * accessibility/gtk/AXObjectCacheAtk.cpp: 54480 (WebCore::getListObject): New, return the right list object for 54481 menu lists and list boxes. 54482 (WebCore::notifyChildrenSelectionChange): Support menu lists. 54483 (WebCore::AXObjectCache::postPlatformNotification): Call function 54484 notifyChildrenSelectionChange for AXMenuListValueChanged. 54485 54486 2011-03-03 Ryosuke Niwa <rniwa (a] webkit.org> 54487 54488 Reviewed by Tony Chang. 54489 54490 applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle 54491 https://bugs.webkit.org/show_bug.cgi?id=55338 54492 54493 Include wtf/Forward.h instead of wtf/text/String.h 54494 54495 * editing/EditingStyle.h: 54496 54497 2011-03-03 Csaba Osztrogonc <ossy (a] webkit.org> 54498 54499 Unreviewed trivial fix after r80169. 54500 54501 [Qt][WK2] Memory exhausted when building qtwebkit2 on linux 54502 https://bugs.webkit.org/show_bug.cgi?id=55484 54503 54504 * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++. 54505 54506 54507 2011-03-02 MORITA Hajime <morrita (a] google.com> 54508 54509 Reviewed by Kent Tamura. 54510 54511 [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction 54512 https://bugs.webkit.org/show_bug.cgi?id=54440 54513 54514 - Extracted FrameActionScheduler from FrameView 54515 - Extracted FrameAction abstract class from ScheduledEvent, 54516 which has fire() virtual method. 54517 - Renamed ScheduledEvent EventFrameAction 54518 54519 With this change, Any action can be hooked up to the end of the layout. 54520 54521 No new tests. No behavioral change. 54522 54523 * Android.mk: 54524 * CMakeLists.txt: 54525 * GNUmakefile.am: 54526 * WebCore.gypi: 54527 * WebCore.pro: 54528 * WebCore.vcproj/WebCore.vcproj: 54529 * WebCore.xcodeproj/project.pbxproj: 54530 * page/FrameActionScheduler.cpp: Added. 54531 (WebCore::EventFrameAction::EventFrameAction): 54532 (WebCore::EventFrameAction::fire): 54533 (WebCore::FrameActionScheduler::FrameActionScheduler): 54534 (WebCore::FrameActionScheduler::~FrameActionScheduler): 54535 (WebCore::FrameActionScheduler::isEmpty): 54536 (WebCore::FrameActionScheduler::clear): 54537 (WebCore::FrameActionScheduler::pause): 54538 (WebCore::FrameActionScheduler::resume): 54539 (WebCore::FrameActionScheduler::dispatch): 54540 (WebCore::FrameActionScheduler::scheduleAction): 54541 (WebCore::FrameActionScheduler::scheduleEvent): 54542 * page/FrameActionScheduler.h: Added. 54543 (WebCore::FrameAction::FrameAction): 54544 (WebCore::FrameAction::~FrameAction): 54545 (WebCore::FrameActionScheduler::isScheduled): 54546 * page/FrameView.cpp: 54547 (WebCore::FrameView::FrameView): 54548 (WebCore::FrameView::~FrameView): 54549 (WebCore::FrameView::layout): 54550 (WebCore::FrameView::scheduleEvent): 54551 (WebCore::FrameView::pauseScheduledEvents): 54552 (WebCore::FrameView::resumeScheduledEvents): 54553 (WebCore::FrameView::performPostLayoutTasks): 54554 (WebCore::FrameView::updateOverflowStatus): 54555 * page/FrameView.h: 54556 54557 2011-03-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 54558 54559 Unreviewed, rolling out r80201. 54560 http://trac.webkit.org/changeset/80201 54561 https://bugs.webkit.org/show_bug.cgi?id=55648 54562 54563 "caused tests to crash on several bots" (Requested by rniwa on 54564 #webkit). 54565 54566 * dom/Element.h: 54567 (WebCore::Node::hasTagName): 54568 * dom/Node.h: 54569 * html/parser/HTMLConstructionSite.cpp: 54570 (WebCore::HTMLNames::hasImpliedEndTag): 54571 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): 54572 (WebCore::HTMLConstructionSite::insertComment): 54573 (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): 54574 (WebCore::HTMLConstructionSite::attachToCurrent): 54575 (WebCore::HTMLConstructionSite::insertScriptElement): 54576 (WebCore::HTMLConstructionSite::insertTextNode): 54577 (WebCore::HTMLConstructionSite::createElement): 54578 (WebCore::HTMLConstructionSite::createHTMLElement): 54579 (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): 54580 (WebCore::HTMLConstructionSite::generateImpliedEndTags): 54581 (WebCore::HTMLConstructionSite::findFosterSite): 54582 (WebCore::HTMLConstructionSite::shouldFosterParent): 54583 * html/parser/HTMLConstructionSite.h: 54584 * html/parser/HTMLElementStack.cpp: 54585 (WebCore::HTMLNames::isNumberedHeaderElement): 54586 (WebCore::HTMLNames::isScopeMarker): 54587 (WebCore::HTMLNames::isListItemScopeMarker): 54588 (WebCore::HTMLNames::isTableScopeMarker): 54589 (WebCore::HTMLNames::isTableBodyScopeMarker): 54590 (WebCore::HTMLNames::isTableRowScopeMarker): 54591 (WebCore::HTMLNames::isButtonScopeMarker): 54592 (WebCore::HTMLNames::isSelectScopeMarker): 54593 (WebCore::HTMLElementStack::ElementRecord::ElementRecord): 54594 (WebCore::HTMLElementStack::ElementRecord::replaceElement): 54595 (WebCore::HTMLElementStack::HTMLElementStack): 54596 (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement): 54597 (WebCore::HTMLElementStack::popAll): 54598 (WebCore::HTMLElementStack::popUntilTableScopeMarker): 54599 (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker): 54600 (WebCore::HTMLElementStack::popUntilTableRowScopeMarker): 54601 (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): 54602 (WebCore::HTMLElementStack::pushHTMLHtmlElement): 54603 (WebCore::HTMLElementStack::push): 54604 (WebCore::HTMLElementStack::insertAbove): 54605 (WebCore::HTMLElementStack::find): 54606 (WebCore::HTMLElementStack::topmost): 54607 (WebCore::inScopeCommon): 54608 (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): 54609 (WebCore::HTMLElementStack::htmlElement): 54610 (WebCore::HTMLElementStack::bodyElement): 54611 (WebCore::HTMLElementStack::pushCommon): 54612 * html/parser/HTMLElementStack.h: 54613 (WebCore::HTMLElementStack::ElementRecord::element): 54614 (WebCore::HTMLElementStack::top): 54615 * html/parser/HTMLTreeBuilder.cpp: 54616 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): 54617 (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished): 54618 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): 54619 (WebCore::HTMLTreeBuilder::processStartTagForInBody): 54620 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): 54621 (WebCore::HTMLTreeBuilder::processStartTag): 54622 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): 54623 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 54624 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): 54625 (WebCore::HTMLTreeBuilder::processEndTagForInCell): 54626 (WebCore::HTMLTreeBuilder::processEndTagForInBody): 54627 (WebCore::HTMLTreeBuilder::processEndTag): 54628 (WebCore::HTMLTreeBuilder::processEndOfFile): 54629 (WebCore::HTMLTreeBuilder::finished): 54630 * html/parser/HTMLTreeBuilder.h: 54631 54632 2011-03-02 Yury Semikhatsky <yurys (a] chromium.org> 54633 54634 Reviewed by Pavel Feldman. 54635 54636 Web Inspector: break down InspectorFrontend into domain-specific classes 54637 https://bugs.webkit.org/show_bug.cgi?id=55584 54638 54639 * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for 54640 all domains that have event notifications. 54641 * inspector/ConsoleMessage.cpp: 54642 (WebCore::ConsoleMessage::addToFrontend): 54643 (WebCore::ConsoleMessage::updateRepeatCountInConsole): 54644 * inspector/ConsoleMessage.h: 54645 * inspector/InjectedScriptHost.cpp: 54646 (WebCore::InjectedScriptHost::inspectImpl): 54647 * inspector/Inspector.idl: 54648 * inspector/InspectorAgent.cpp: 54649 (WebCore::InspectorAgent::inspectedPageDestroyed): 54650 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 54651 (WebCore::InspectorAgent::setFrontend): 54652 (WebCore::InspectorAgent::disconnectFrontend): 54653 (WebCore::InspectorAgent::populateScriptObjects): 54654 (WebCore::InspectorAgent::pushDataCollectedOffline): 54655 (WebCore::InspectorAgent::didCommitLoad): 54656 (WebCore::InspectorAgent::domContentLoadedEventFired): 54657 (WebCore::InspectorAgent::loadEventFired): 54658 (WebCore::InspectorAgent::postWorkerNotificationToFrontend): 54659 (WebCore::InspectorAgent::evaluateForTestInFrontend): 54660 (WebCore::InspectorAgent::showPanel): 54661 * inspector/InspectorApplicationCacheAgent.cpp: 54662 (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent): 54663 * inspector/InspectorApplicationCacheAgent.h: 54664 * inspector/InspectorConsoleAgent.cpp: 54665 (WebCore::InspectorConsoleAgent::setFrontend): 54666 * inspector/InspectorConsoleAgent.h: 54667 * inspector/InspectorController.cpp: 54668 (WebCore::InspectorController::show): 54669 (WebCore::InspectorController::close): 54670 * inspector/InspectorDOMAgent.cpp: 54671 (WebCore::InspectorDOMAgent::setFrontend): 54672 * inspector/InspectorDOMAgent.h: 54673 * inspector/InspectorDOMStorageResource.cpp: 54674 (WebCore::InspectorDOMStorageResource::bind): 54675 * inspector/InspectorDOMStorageResource.h: 54676 * inspector/InspectorDatabaseAgent.cpp: 54677 (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend): 54678 (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider): 54679 (WebCore::InspectorDatabaseAgent::setFrontend): 54680 * inspector/InspectorDatabaseResource.cpp: 54681 (WebCore::InspectorDatabaseResource::bind): 54682 * inspector/InspectorDatabaseResource.h: 54683 * inspector/InspectorDebuggerAgent.cpp: 54684 (WebCore::InspectorDebuggerAgent::setFrontend): 54685 * inspector/InspectorDebuggerAgent.h: 54686 * inspector/InspectorProfilerAgent.cpp: 54687 * inspector/InspectorProfilerAgent.h: 54688 (WebCore::InspectorProfilerAgent::setFrontend): 54689 (WebCore::InspectorProfilerAgent::clearFrontend): 54690 * inspector/InspectorResourceAgent.cpp: 54691 (WebCore::InspectorResourceAgent::InspectorResourceAgent): 54692 * inspector/InspectorResourceAgent.h: 54693 * inspector/InspectorTimelineAgent.cpp: 54694 (WebCore::InspectorTimelineAgent::setFrontend): 54695 * inspector/InspectorTimelineAgent.h: 54696 * inspector/front-end/DOMAgent.js: 54697 (WebInspector.DOMDispatcher.prototype.inspectElementRequested): 54698 (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult): 54699 * inspector/front-end/inspector.js: 54700 54701 2011-03-02 Kent Tamura <tkent (a] chromium.org> 54702 54703 Unreviewed, a trivial regression fix. 54704 54705 Fix LocalizedNumberICU regression by r80198 and r80199. 54706 https://bugs.webkit.org/show_bug.cgi?id=55629 54707 54708 * platform/text/LocalizedNumberICU.cpp: 54709 We should use U_SUCCESS(). 54710 (WebCore::createFormatterForCurrentLocale): 54711 (WebCore::parseLocalizedNumber): 54712 54713 2011-03-02 Dan Bernstein <mitz (a] apple.com> 54714 54715 Let Xcode know that Localizable.strings is UTF-16-encoded. 54716 54717 * WebCore.xcodeproj/project.pbxproj: 54718 54719 2011-03-02 Andy Estes <aestes (a] apple.com> 54720 54721 Reviewed by Eric Seidel. 54722 54723 HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%) 54724 https://bugs.webkit.org/show_bug.cgi?id=48719 54725 54726 Instead of pushing a fake HTMLHtmlElement onto the open element stack 54727 during fragment parsing only to later remove it and reparent its 54728 children to the DocumentFragment, push the DocumentFragment directly 54729 onto the open element stack as the root node. This requires refactoring 54730 HTMLElementStack to hold ContainerNode pointers rather than Element 54731 pointers, which has implications for HTMLConstructionSite and 54732 HTMLTreeBuilder as well. 54733 54734 With this patch, the regression in Peacekeeper due to the introduction 54735 of the HTML5 fragment parsing algorithm is ~14%. The regression from 54736 Safari 5.0.3 is ~24%. 54737 54738 No new tests. No change in behavior. 54739 54740 * dom/Element.h: 54741 (WebCore::Node::hasLocalName): 54742 * dom/Node.h: 54743 * html/parser/HTMLConstructionSite.cpp: 54744 (WebCore::HTMLNames::hasImpliedEndTag): 54745 (WebCore::HTMLConstructionSite::HTMLConstructionSite): 54746 (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody): 54747 (WebCore::HTMLConstructionSite::insertComment): 54748 (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement): 54749 (WebCore::HTMLConstructionSite::attachToCurrent): 54750 (WebCore::HTMLConstructionSite::insertScriptElement): 54751 (WebCore::HTMLConstructionSite::insertTextNode): 54752 (WebCore::HTMLConstructionSite::createElement): 54753 (WebCore::HTMLConstructionSite::createHTMLElement): 54754 (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion): 54755 (WebCore::HTMLConstructionSite::generateImpliedEndTags): 54756 (WebCore::HTMLConstructionSite::findFosterSite): 54757 (WebCore::HTMLConstructionSite::shouldFosterParent): 54758 * html/parser/HTMLConstructionSite.h: 54759 (WebCore::HTMLConstructionSite::currentNode): 54760 * html/parser/HTMLElementStack.cpp: 54761 (WebCore::HTMLNames::isNumberedHeaderElement): 54762 (WebCore::HTMLNames::isScopeMarker): 54763 (WebCore::HTMLNames::isListItemScopeMarker): 54764 (WebCore::HTMLNames::isTableScopeMarker): 54765 (WebCore::HTMLNames::isTableBodyScopeMarker): 54766 (WebCore::HTMLNames::isTableRowScopeMarker): 54767 (WebCore::HTMLNames::isButtonScopeMarker): 54768 (WebCore::HTMLNames::isSelectScopeMarker): 54769 (WebCore::HTMLElementStack::ElementRecord::ElementRecord): 54770 (WebCore::HTMLElementStack::ElementRecord::replaceElement): 54771 (WebCore::HTMLElementStack::HTMLElementStack): 54772 (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement): 54773 (WebCore::HTMLElementStack::popAll): 54774 (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped): 54775 (WebCore::HTMLElementStack::popUntil): 54776 (WebCore::HTMLElementStack::popUntilPopped): 54777 (WebCore::HTMLElementStack::popUntilTableScopeMarker): 54778 (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker): 54779 (WebCore::HTMLElementStack::popUntilTableRowScopeMarker): 54780 (WebCore::HTMLElementStack::pushHTMLHtmlElement): 54781 (WebCore::HTMLElementStack::push): 54782 (WebCore::HTMLElementStack::insertAbove): 54783 (WebCore::HTMLElementStack::find): 54784 (WebCore::HTMLElementStack::topmost): 54785 (WebCore::HTMLElementStack::contains): 54786 (WebCore::inScopeCommon): 54787 (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope): 54788 (WebCore::HTMLElementStack::htmlElement): 54789 (WebCore::HTMLElementStack::rootNode): 54790 (WebCore::HTMLElementStack::pushCommon): 54791 * html/parser/HTMLElementStack.h: 54792 (WebCore::HTMLElementStack::ElementRecord::element): 54793 (WebCore::HTMLElementStack::ElementRecord::node): 54794 (WebCore::HTMLElementStack::topNode): 54795 * html/parser/HTMLTreeBuilder.cpp: 54796 (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): 54797 (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag): 54798 (WebCore::HTMLTreeBuilder::processStartTagForInBody): 54799 (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup): 54800 (WebCore::HTMLTreeBuilder::processStartTag): 54801 (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody): 54802 (WebCore::HTMLTreeBuilder::callTheAdoptionAgency): 54803 (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): 54804 (WebCore::HTMLTreeBuilder::processEndTagForInCell): 54805 (WebCore::HTMLTreeBuilder::processEndTagForInBody): 54806 (WebCore::HTMLTreeBuilder::processEndTag): 54807 (WebCore::HTMLTreeBuilder::processEndOfFile): 54808 (WebCore::HTMLTreeBuilder::finished): 54809 * html/parser/HTMLTreeBuilder.h: 54810 54811 2011-03-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 54812 54813 Unreviewed, rolling out r80188. 54814 http://trac.webkit.org/changeset/80188 54815 https://bugs.webkit.org/show_bug.cgi?id=55647 54816 54817 Broke the WebKit API tests. (Requested by xenon on #webkit). 54818 54819 * WebCore.exp.in: 54820 54821 2011-03-02 Kent Tamura <tkent (a] chromium.org> 54822 54823 Unreviewed, build fix. 54824 54825 * platform/text/LocalizedNumberICU.cpp: 54826 (WebCore::createFormatterForCurrentLocale): Fix a typo. 54827 54828 2011-03-02 Kent Tamura <tkent (a] chromium.org> 54829 54830 Reviewed by Darin Adler. 54831 54832 Caching number formatter instances in LocalizedNumber* implementations 54833 https://bugs.webkit.org/show_bug.cgi?id=55629 54834 54835 No new tests. This change doesn't change existing behavior, and is 54836 covered by existing tests. 54837 54838 * platform/text/LocalizedNumberICU.cpp: 54839 (WebCore::createFormatterForCurrentLocale): 54840 (WebCore::numberFormatter): Introduce a function to return a static 54841 instance of NumberFormat. 54842 (WebCore::parseLocalizedNumber): Use numberFormatter(). 54843 (WebCore::formatLocalizedNumber): Use numberFormatter(). 54844 * platform/text/mac/LocalizedNumberMac.mm: 54845 (WebCore::createFormatterForCurrentLocale): 54846 (WebCore::numberFormatter): Introduce a function to return a static 54847 instance of NSNumberFormatter. 54848 (WebCore::parseLocalizedNumber): Use numberFormatter(). 54849 (WebCore::formatLocalizedNumber): Use numberFormatter(). 54850 54851 2011-03-02 Levi Weintraub <leviw (a] chromium.org> 54852 54853 Reviewed by Ryosuke Niwa. 54854 54855 deprecatedEditingOffset should actually return the expected deprecated value for "after" positions 54856 https://bugs.webkit.org/show_bug.cgi?id=54986 54857 54858 Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions 54859 until we can update all the call sites to consider the new position types. 54860 54861 No tests. This is intended to simplify the transition to new Positions, not to change behavior. 54862 54863 * dom/Position.cpp: 54864 (WebCore::Position::deprecatedEditingOffset): 54865 (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring 54866 inline-speed for most calls to deprecatedEditingOffset. 54867 * dom/Position.h: 54868 54869 2011-03-02 Timothy Hatcher <timothy (a] apple.com> 54870 54871 Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value). 54872 54873 Reviewed by Darin Adler. 54874 54875 * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE. 54876 54877 2011-03-02 Daniel Cheng <dcheng (a] chromium.org> 54878 54879 Reviewed by David Levin. 54880 54881 Manually revert ChromiumDataObject changes. 54882 https://bugs.webkit.org/show_bug.cgi?id=55627 54883 54884 No new tests since no functionality should change. 54885 54886 * WebCore.gypi: 54887 * editing/chromium/EditorChromium.cpp: 54888 (WebCore::Editor::newGeneralClipboard): 54889 * page/chromium/EventHandlerChromium.cpp: 54890 (WebCore::EventHandler::createDraggingClipboard): 54891 * platform/chromium/ChromiumDataObject.cpp: 54892 (WebCore::ChromiumDataObject::clearData): 54893 (WebCore::ChromiumDataObject::clearAll): 54894 (WebCore::ChromiumDataObject::clearAllExceptFiles): 54895 (WebCore::ChromiumDataObject::hasData): 54896 (WebCore::ChromiumDataObject::types): 54897 (WebCore::ChromiumDataObject::getData): 54898 (WebCore::ChromiumDataObject::setData): 54899 (WebCore::ChromiumDataObject::ChromiumDataObject): 54900 * platform/chromium/ChromiumDataObject.h: 54901 (WebCore::ChromiumDataObject::create): 54902 (WebCore::ChromiumDataObject::copy): 54903 (WebCore::ChromiumDataObject::urlTitle): 54904 (WebCore::ChromiumDataObject::setUrlTitle): 54905 (WebCore::ChromiumDataObject::htmlBaseUrl): 54906 (WebCore::ChromiumDataObject::setHtmlBaseUrl): 54907 (WebCore::ChromiumDataObject::containsFilenames): 54908 (WebCore::ChromiumDataObject::filenames): 54909 (WebCore::ChromiumDataObject::setFilenames): 54910 (WebCore::ChromiumDataObject::fileExtension): 54911 (WebCore::ChromiumDataObject::setFileExtension): 54912 (WebCore::ChromiumDataObject::fileContentFilename): 54913 (WebCore::ChromiumDataObject::setFileContentFilename): 54914 (WebCore::ChromiumDataObject::fileContent): 54915 (WebCore::ChromiumDataObject::setFileContent): 54916 * platform/chromium/ClipboardChromium.cpp: 54917 * platform/chromium/ClipboardChromium.h: 54918 54919 2011-03-02 David Grogan <dgrogan (a] chromium.org> 54920 54921 Reviewed by Jeremy Orlow. 54922 54923 IndexedDB: fire versionchange events when calling setVersion 54924 https://bugs.webkit.org/show_bug.cgi?id=55095 54925 54926 * dom/EventNames.h: 54927 * storage/IDBDatabase.cpp: 54928 (WebCore::IDBDatabase::setVersion): 54929 (WebCore::IDBDatabase::close): 54930 (WebCore::IDBDatabase::onVersionChange): 54931 (WebCore::IDBDatabase::open): 54932 (WebCore::IDBDatabase::enqueueEvent): 54933 (WebCore::IDBDatabase::dispatchEvent): 54934 * storage/IDBDatabase.h: 54935 (WebCore::IDBDatabase::dispatchEvent): 54936 * storage/IDBDatabase.idl: 54937 * storage/IDBDatabaseBackendImpl.cpp: 54938 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create): 54939 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks): 54940 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall): 54941 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): 54942 (WebCore::IDBDatabaseBackendImpl::setVersion): 54943 (WebCore::IDBDatabaseBackendImpl::open): 54944 (WebCore::IDBDatabaseBackendImpl::close): 54945 * storage/IDBDatabaseBackendImpl.h: 54946 * storage/IDBDatabaseBackendInterface.h: 54947 * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp. 54948 (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks): 54949 * storage/IDBFactoryBackendImpl.cpp: 54950 (WebCore::IDBFactoryBackendImpl::open): 54951 * storage/IDBRequest.cpp: 54952 (WebCore::IDBRequest::onSuccess): 54953 * storage/IDBVersionChangeEvent.cpp: 54954 (WebCore::IDBVersionChangeEvent::create): 54955 (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent): 54956 * storage/IDBVersionChangeEvent.h: 54957 * storage/IDBVersionChangeRequest.cpp: 54958 (WebCore::IDBVersionChangeRequest::onBlocked): 54959 54960 2011-03-02 Alexey Proskuryakov <ap (a] apple.com> 54961 54962 Fix assertion failures on Gtk bot. 54963 54964 * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous 54965 assertion. We can get here with non-Tab key events when spatial navigation is enabled. 54966 54967 2011-03-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 54968 54969 Unreviewed, rolling out r80139. 54970 http://trac.webkit.org/changeset/80139 54971 https://bugs.webkit.org/show_bug.cgi?id=55620 54972 54973 failing and crashing tests on Snow Leopard bot (Requested by 54974 mihaip1 on #webkit). 54975 54976 * page/DOMWindow.cpp: 54977 * page/DOMWindow.h: 54978 * page/Frame.cpp: 54979 (WebCore::Frame::pageDestroyed): 54980 (WebCore::Frame::transferChildFrameToNewDocument): 54981 * page/Frame.h: 54982 (WebCore::Frame::detachFromPage): 54983 * page/Geolocation.cpp: 54984 (WebCore::Geolocation::~Geolocation): 54985 (WebCore::Geolocation::disconnectFrame): 54986 (WebCore::Geolocation::lastPosition): 54987 (WebCore::Geolocation::requestPermission): 54988 (WebCore::Geolocation::startUpdating): 54989 (WebCore::Geolocation::stopUpdating): 54990 * page/Geolocation.h: 54991 * page/GeolocationController.cpp: 54992 (WebCore::GeolocationController::~GeolocationController): 54993 * page/Navigator.cpp: 54994 * page/Navigator.h: 54995 * platform/mock/GeolocationClientMock.cpp: 54996 * platform/mock/GeolocationClientMock.h: 54997 54998 2011-03-02 Jessie Berlin <jberlin (a] apple.com> 54999 55000 Reviewed by Adam Roben. 55001 55002 WebKit2: Use CFNetwork Sessions API. 55003 https://bugs.webkit.org/show_bug.cgi?id=55435 55004 55005 Add the ability to create a Private Browsing Storage Session. 55006 55007 * WebCore.exp.in: 55008 Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase. 55009 55010 * page/Settings.cpp: 55011 (WebCore::Settings::setPrivateBrowsingEnabled): 55012 Propagate the private browsing state to the ResourceHandle. 55013 55014 * platform/mac/WebCoreSystemInterface.h: 55015 Add the function declaration for wkCreatePrivateStorageSession. 55016 * platform/mac/WebCoreSystemInterface.mm: 55017 55018 * platform/network/ResourceHandle.cpp: 55019 (WebCore::privateStorageSession): 55020 Since the same Private Browsing Storage Session will need to be accessed throughout the loading 55021 code and will need to be used by all web pages and page groups, make it a global static. 55022 (WebCore::privateBrowsingStorageSessionIdentifierBase): 55023 Ditto, since the identifier is needed to create the Private Browsing Storage Session. 55024 (WebCore::ResourceHandle::setPrivateBrowsingEnabled): 55025 If enabled, create and store the Private Browsing Storage Session. 55026 (WebCore::ResourceHandle::privateBrowsingStorageSession): 55027 (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase): 55028 * platform/network/ResourceHandle.h: 55029 55030 * platform/network/cf/ResourceHandleCFNet.cpp: 55031 (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): 55032 The call to wkCreatePrivateStorageSession needs to be in a file including the correct 55033 version of WKSI. 55034 (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): 55035 Return the bundle identifier. 55036 * platform/network/mac/ResourceHandleMac.mm: 55037 (WebCore::ResourceHandle::createPrivateBrowsingStorageSession): 55038 The call to wkCreatePrivateStorageSession needs to be in a file importing the correct 55039 version of WKSI. 55040 (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase): 55041 Return the bundle identifier. 55042 55043 2011-03-02 Daniel Cheng <dcheng (a] chromium.org> 55044 55045 Revert frame-specific WebClipboard changes 55046 https://bugs.webkit.org/show_bug.cgi?id=55617 55047 55048 This code is no longer needed since we've decided to use the original 55049 approach to copy/paste drag/drop handling in ClipboardChromium. 55050 55051 No new tests because no functionality changes. 55052 55053 * platform/chromium/ChromiumDataObject.cpp: 55054 (WebCore::ChromiumDataObject::createReadable): 55055 * platform/chromium/ChromiumDataObject.h: 55056 * platform/chromium/ClipboardChromium.cpp: 55057 (WebCore::ClipboardChromium::create): 55058 * platform/chromium/PlatformBridge.h: 55059 * platform/chromium/ReadableDataObject.cpp: 55060 (WebCore::ReadableDataObject::create): 55061 (WebCore::ReadableDataObject::ReadableDataObject): 55062 (WebCore::ReadableDataObject::getData): 55063 (WebCore::ReadableDataObject::urlTitle): 55064 (WebCore::ReadableDataObject::htmlBaseUrl): 55065 (WebCore::ReadableDataObject::filenames): 55066 (WebCore::ReadableDataObject::ensureTypeCacheInitialized): 55067 * platform/chromium/ReadableDataObject.h: 55068 55069 2011-03-02 Tony Chang <tony (a] chromium.org> 55070 55071 Unreviewed, rolling chromium DEPS to r76362. 55072 55073 https://bugs.webkit.org/show_bug.cgi?id=55564 55074 55075 * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium 55076 55077 2011-03-02 Alexey Proskuryakov <ap (a] apple.com> 55078 55079 Build fix. 55080 55081 * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these 55082 changes yet. 55083 55084 2011-03-02 Alexey Proskuryakov <ap (a] apple.com> 55085 55086 Reviewed by John Sullivan. 55087 55088 Clean up WebCore tabsToLinks code a little 55089 https://bugs.webkit.org/show_bug.cgi?id=55606 55090 55091 No change in behavior, so no tests. 55092 55093 * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable): 55094 This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls(). 55095 55096 * page/EventHandler.cpp: 55097 (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This 55098 function cannot be file static, because EventHandlerMac.mm uses it. 55099 (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform 55100 specific files. We can just as well have #if here. Renamed for clarity. 55101 (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert" 55102 works. 55103 55104 * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used 55105 in EventHandler.cpp. 55106 55107 * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55108 * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55109 * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55110 * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55111 * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55112 * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55113 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls): 55114 * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55115 * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55116 * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls): 55117 Updating all port files. 55118 55119 2011-02-28 Jeremy Orlow <jorlow (a] chromium.org> 55120 55121 Reviewed by James Robinson. 55122 55123 Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value 55124 https://bugs.webkit.org/show_bug.cgi?id=55443 55125 55126 Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948 55127 55128 The idea is to have an IDBCursor and an IDBCursorWithValue interface which 55129 inherits from the former. index.openKeyCursor will return the former and 55130 index/objectStore.openCursor will return the latter. We'll add a primaryKey 55131 attribute to IDBCursor. It will always be the key of the associated object 55132 store entry. For index.openCursor cursors, the key attribute will be the key 55133 of the index. For objectStore.openCursors, it'll be the same as the 55134 primaryKey. The value will be the value of the objectStore entry. 55135 55136 * WebCore.gypi: 55137 * bindings/scripts/CodeGeneratorV8.pm: 55138 * bindings/v8/SerializedScriptValue.cpp: 55139 (WebCore::SerializedScriptValue::deserializeAndSetProperty): 55140 * bindings/v8/SerializedScriptValue.h: 55141 * bindings/v8/custom/V8IDBAnyCustom.cpp: 55142 (WebCore::toV8): 55143 * storage/IDBAny.cpp: 55144 (WebCore::IDBAny::idbCursorWithValue): 55145 (WebCore::IDBAny::set): 55146 * storage/IDBAny.h: 55147 * storage/IDBCursor.cpp: 55148 (WebCore::IDBCursor::create): 55149 (WebCore::IDBCursor::primaryKey): 55150 (WebCore::IDBCursor::value): 55151 * storage/IDBCursor.h: 55152 * storage/IDBCursor.idl: 55153 * storage/IDBCursorBackendImpl.cpp: 55154 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 55155 (WebCore::IDBCursorBackendImpl::primaryKey): 55156 (WebCore::IDBCursorBackendImpl::value): 55157 (WebCore::IDBCursorBackendImpl::update): 55158 (WebCore::IDBCursorBackendImpl::currentRowExists): 55159 (WebCore::IDBCursorBackendImpl::continueFunctionInternal): 55160 (WebCore::IDBCursorBackendImpl::deleteFunction): 55161 (WebCore::IDBCursorBackendImpl::loadCurrentRow): 55162 * storage/IDBCursorBackendImpl.h: 55163 (WebCore::IDBCursorBackendImpl::create): 55164 * storage/IDBCursorBackendInterface.h: 55165 * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl. 55166 (WebCore::IDBCursorWithValue::create): 55167 (WebCore::IDBCursorWithValue::IDBCursorWithValue): 55168 (WebCore::IDBCursorWithValue::~IDBCursorWithValue): 55169 * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h. 55170 * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl. 55171 * storage/IDBIndex.cpp: 55172 (WebCore::IDBIndex::openCursor): 55173 (WebCore::IDBIndex::openKeyCursor): 55174 * storage/IDBIndexBackendImpl.cpp: 55175 (WebCore::IDBIndexBackendImpl::openCursorInternal): 55176 (WebCore::IDBIndexBackendImpl::openCursor): 55177 (WebCore::IDBIndexBackendImpl::openKeyCursor): 55178 * storage/IDBIndexBackendImpl.h: 55179 * storage/IDBObjectStore.cpp: 55180 (WebCore::IDBObjectStore::openCursor): 55181 * storage/IDBObjectStoreBackendImpl.cpp: 55182 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 55183 * storage/IDBRequest.cpp: 55184 (WebCore::IDBRequest::IDBRequest): 55185 (WebCore::IDBRequest::setCursorType): 55186 (WebCore::IDBRequest::onSuccess): 55187 (WebCore::IDBRequest::dispatchEvent): 55188 * storage/IDBRequest.h: 55189 55190 2011-03-02 Aravind Akella <aravind.akella (a] nokia.com> 55191 55192 Reviewed by Csaba Osztrogonc. 55193 55194 [Qt][WK2] Memory exhausted when building qtwebkit2 on linux 55195 https://bugs.webkit.org/show_bug.cgi?id=55484 55196 55197 Using AllInOne files to avoid memory exhaustion for debug 55198 builds on 32 bit linux machines. 55199 55200 No new tests. Fixing a build issue. 55201 55202 * WebCore.pro: 55203 55204 2011-03-02 Daniel Cheng <dcheng (a] chromium.org> 55205 55206 Reviewed by David Levin. 55207 55208 Add feature define for data transfer items 55209 https://bugs.webkit.org/show_bug.cgi?id=55510 55210 55211 * Configurations/FeatureDefines.xcconfig: 55212 * GNUmakefile.am: 55213 * features.pri: 55214 55215 2011-03-02 Dimitri Glazkov <dglazkov (a] chromium.org> 55216 55217 Update location of media-file.js, which was moved in r79630. 55218 55219 * manual-tests/media-controls.html: Updated location. 55220 55221 2011-03-02 Sheriff Bot <webkit.review.bot (a] gmail.com> 55222 55223 Unreviewed, rolling out r80156. 55224 http://trac.webkit.org/changeset/80156 55225 https://bugs.webkit.org/show_bug.cgi?id=55604 55226 55227 "Broke SL compile" (Requested by tonyg-cr on #webkit). 55228 55229 * bridge/jni/JNIBridge.h: 55230 (JSC::Bindings::JavaString::operator UString): 55231 * bridge/jni/jni_jsobject.mm: 55232 (JavaJSObject::call): 55233 (JavaJSObject::eval): 55234 (JavaJSObject::getMember): 55235 (JavaJSObject::setMember): 55236 (JavaJSObject::removeMember): 55237 * bridge/jni/jsc/JavaClassJSC.cpp: 55238 (JavaClass::JavaClass): 55239 * bridge/jni/jsc/JavaStringJSC.h: 55240 (JSC::Bindings::JavaStringImpl::uString): 55241 * bridge/jni/v8/JavaStringV8.h: 55242 55243 2011-03-02 Steve Block <steveblock (a] google.com> 55244 55245 Reviewed by Jeremy Orlow. 55246 55247 JavaString API should be implementable by both JSC and V8 55248 https://bugs.webkit.org/show_bug.cgi?id=55567 55249 55250 Remove JavaString's UString operator and replace it with a 55251 script-engine-independent impl() method, which returns a 55252 StringImpl and can be implemented with both JSC and V8. 55253 55254 No new tests, refactoring only. 55255 55256 * bridge/jni/JNIBridge.h: 55257 (JSC::Bindings::JavaString::impl): 55258 * bridge/jni/jni_jsobject.mm: 55259 (JavaJSObject::call): 55260 (JavaJSObject::eval): 55261 (JavaJSObject::getMember): 55262 (JavaJSObject::setMember): 55263 (JavaJSObject::removeMember): 55264 * bridge/jni/jsc/JavaClassJSC.cpp: 55265 (JavaClass::JavaClass): 55266 * bridge/jni/jsc/JavaStringJSC.h: 55267 (JSC::Bindings::JavaStringImpl::impl): 55268 * bridge/jni/v8/JavaStringV8.h: 55269 (JSC::Bindings::JavaStringImpl::impl): 55270 55271 2011-03-02 Mihai Parparita <mihaip (a] chromium.org> 55272 55273 Reviewed by Dimitri Glazkov. 55274 55275 Add CRASH() for CSSSelector double frees 55276 https://bugs.webkit.org/show_bug.cgi?id=55596 55277 55278 To help track down bug 53045, add a CRASH call when the CSSSelector 55279 destructor is invoked more than once. 55280 55281 Just a check, no new tests necessary. 55282 55283 * css/CSSSelector.h: 55284 (WebCore::CSSSelector::CSSSelector): 55285 (WebCore::CSSSelector::~CSSSelector): 55286 55287 2011-03-02 Carol Szabo <carol.szabo (a] nokia.com> 55288 55289 Reviewed by David Hyatt <hyatt (a] apple.com> 55290 55291 content property doesn't support quotes 55292 https://bugs.webkit.org/show_bug.cgi?id=6503 55293 55294 Added full support for quotes as defined by CSS 2.1. 55295 55296 Tests: fast/css/content/content-quotes-01.html 55297 fast/css/content/content-quotes-02.html 55298 fast/css/content/content-quotes-03.html 55299 fast/css/content/content-quotes-04.html 55300 fast/css/content/content-quotes-05.html 55301 fast/css/content/content-quotes-06.html 55302 55303 * Android.mk: 55304 * CMakeLists.txt: 55305 * GNUmakefile.am: 55306 * WebCore.gypi: 55307 * WebCore.pro: 55308 * WebCore.vcproj/WebCore.vcproj: 55309 * WebCore.xcodeproj/project.pbxproj: 55310 Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists 55311 * css/CSSParser.cpp: 55312 (WebCore::CSSParser::parseValue): 55313 (WebCore::CSSParser::parseQuotes): 55314 * css/CSSParser.h: 55315 Added needed stylesheet parsing support for quotes, 55316 (no-)open-quote and (no-)close-quote 55317 * css/CSSStyleSelector.cpp: 55318 (WebCore::CSSStyleSelector::applyProperty): 55319 Handled setting of the new quotes RenderStyle property and added 55320 handling of quotes for the content property. 55321 * css/html.css: 55322 (q:before): 55323 (q:after): 55324 replaced the '"' workaround with open/close-quote 55325 * rendering/RenderBlockLineLayout.cpp: 55326 (WebCore::dirtyLineBoxesForRenderer): 55327 Made RenderQuote behave like RenderCounter. 55328 Needed to ensure that the Quote text is calculated before layout, 55329 just as it is for RenderCounter. 55330 * rendering/RenderObject.h: 55331 (WebCore::RenderObject::isQuote): 55332 * rendering/RenderObjectChildList.cpp: 55333 (WebCore::RenderObjectChildList::removeChildNode): 55334 (WebCore::RenderObjectChildList::appendChildNode): 55335 (WebCore::RenderObjectChildList::insertChildNode): 55336 Handled updating of quote depth when renderers are added and removed 55337 from the tree. 55338 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 55339 Added support for Quote content. 55340 * rendering/RenderQuote.cpp: Added. 55341 (WebCore::adjustDepth): 55342 (WebCore::RenderQuote::RenderQuote): 55343 (WebCore::RenderQuote::~RenderQuote): 55344 (WebCore::RenderQuote::renderName): 55345 (WebCore::RenderQuote::placeQuote): 55346 (WebCore::LanguageData::operator<): 55347 (WebCore::defaultLanguageQuotes): 55348 (WebCore::quotesMap): 55349 (WebCore::quotesForLanguage): 55350 (WebCore::defaultQuotes): 55351 (WebCore::RenderQuote::originalText): 55352 (WebCore::RenderQuote::computePreferredLogicalWidths): 55353 (WebCore::RenderQuote::rendererSubtreeAttached): 55354 (WebCore::RenderQuote::rendererRemovedFromTree): 55355 (WebCore::RenderQuote::styleDidChange): 55356 * rendering/RenderQuote.h: Added. 55357 (WebCore::RenderQuote::isQuote): 55358 (WebCore::toRenderQuote): 55359 * rendering/RenderingAllInOne.cpp: 55360 Included RenderQuote.cpp 55361 * rendering/style/StyleAllInOne.cpp: 55362 Included QuotesData.cpp 55363 * rendering/style/ContentData.cpp: 55364 (WebCore::ContentData::dataEquivalent): 55365 Checked for quotetype identity. 55366 (WebCore::ContentData::deleteContent): 55367 Accounted for the new QUOTE_TYPE. 55368 * rendering/style/ContentData.h: 55369 (WebCore::ContentData::isQuote): 55370 (WebCore::ContentData::quote): 55371 (WebCore::ContentData::setQuote): 55372 * rendering/style/QuotesData.cpp: Added. 55373 (WebCore::QuotesData::create): 55374 (WebCore::QuotesData::operator==): 55375 (WebCore::QuotesData::~QuotesData): 55376 * rendering/style/QuotesData.h: Added. 55377 (WebCore::QuotesData::data): 55378 (WebCore::QuotesData::operator delete): 55379 (WebCore::QuotesData::QuotesData): 55380 * rendering/style/RenderStyle.cpp: 55381 (WebCore::RenderStyle::setContent): 55382 (WebCore::RenderStyle::setQuotes): 55383 * rendering/style/RenderStyle.h: 55384 (WebCore::InheritedFlags::quotes): 55385 (WebCore::InheritedFlags::setQuotes): 55386 * rendering/style/RenderStyleConstants.h: 55387 * rendering/style/StyleAllInOne.cpp: 55388 Added QuotesData.cpp to the included files list. 55389 * rendering/style/StyleRareInheritedData.cpp: 55390 (WebCore::StyleRareInheritedData::operator==): 55391 Included quotes in equality check. 55392 * rendering/style/StyleRareInheritedData.h: 55393 Added quotes 55394 55395 2011-03-02 Antti Koivisto <antti (a] apple.com> 55396 55397 Reviewed by Dave Hyatt. 55398 55399 Selector usage flags should not be set by the CSS parser 55400 https://bugs.webkit.org/show_bug.cgi?id=55573 55401 55402 Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as 55403 we may parse stylesheets that are not actually used for document rendering. This is especially bad when 55404 the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes 55405 triggered by complex selectors for no good reason. 55406 55407 - Use the selector traversal in style selector constructor to figure out which flags 55408 are actually needed for the currently active style sheets. 55409 - Remove the selector flag related code from the CSS parser/grammar. 55410 - Remove the usesDescendantRules flag completely. We have descendant rules in the default 55411 style sheet, every document uses them. 55412 55413 * css/CSSGrammar.y: 55414 * css/CSSParser.cpp: 55415 (WebCore::CSSParser::updateSpecifiersWithElementName): 55416 * css/CSSStyleSelector.cpp: 55417 (WebCore::collectSiblingRulesInDefaultStyle): 55418 (WebCore::CSSStyleSelector::CSSStyleSelector): 55419 (WebCore::CSSStyleSelector::Features::Features): 55420 (WebCore::CSSStyleSelector::Features::~Features): 55421 (WebCore::CSSStyleSelector::locateCousinList): 55422 (WebCore::CSSStyleSelector::matchesSiblingRules): 55423 (WebCore::CSSStyleSelector::canShareStyleWithElement): 55424 (WebCore::CSSStyleSelector::locateSharedStyle): 55425 (WebCore::collectFeaturesFromSelector): 55426 (WebCore::collectFeaturesFromList): 55427 (WebCore::RuleSet::collectFeatures): 55428 * css/CSSStyleSelector.h: 55429 (WebCore::CSSStyleSelector::usesSiblingRules): 55430 (WebCore::CSSStyleSelector::usesFirstLineRules): 55431 (WebCore::CSSStyleSelector::usesBeforeAfterRules): 55432 (WebCore::CSSStyleSelector::usesLinkRules): 55433 * dom/Document.cpp: 55434 (WebCore::Document::Document): 55435 (WebCore::Document::recalcStyle): 55436 (WebCore::Document::createStyleSelector): 55437 * dom/Document.h: 55438 (WebCore::Document::usesSiblingRules): 55439 (WebCore::Document::setUsesSiblingRules): 55440 (WebCore::Document::usesFirstLineRules): 55441 (WebCore::Document::usesBeforeAfterRules): 55442 (WebCore::Document::setUsesBeforeAfterRules): 55443 * dom/Element.cpp: 55444 (WebCore::Element::recalcStyle): 55445 55446 2011-03-02 Brian Weinstein <bweinstein (a] apple.com> 55447 55448 Fix fallout from a last minute renaming. 55449 55450 * platform/network/cf/CookieStorageCFNet.cpp: 55451 (WebCore::startObservingCookieChanges): 55452 (WebCore::stopObservingCookieChanges): 55453 55454 2011-03-01 Brian Weinstein <bweinstein (a] apple.com> 55455 55456 Reviewed by Adam Roben. 55457 55458 Part of WebKit2: Need a way to send notifications to client when cookies change 55459 https://bugs.webkit.org/show_bug.cgi?id=55427 55460 <rdar://problem/9056027> 55461 55462 Add functions on CookieStorage that allow listening for changes in cookies. When 55463 the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged. 55464 55465 No change in behavior requiring tests. 55466 55467 * platform/CookiesStrategy.h: Added. 55468 (WebCore::CookiesStrategy::~CookiesStrategy): 55469 55470 * platform/PlatformStrategies.h: 55471 (WebCore::PlatformStrategies::cookiesStrategy): 55472 (WebCore::PlatformStrategies::PlatformStrategies): 55473 55474 * platform/network/CookieStorage.h: Add new function declarations. 55475 55476 * platform/network/cf/CookieStorageCFNet.cpp: 55477 (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged. 55478 (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread. 55479 (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop. 55480 (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop. 55481 55482 * platform/network/mac/CookieStorageMac.mm: 55483 (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged. 55484 (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on 55485 the main thread. 55486 (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications. 55487 (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications. 55488 (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications. 55489 (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications. 55490 55491 Add new file. 55492 * WebCore.vcproj/WebCore.vcproj: 55493 * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private. 55494 55495 2011-03-02 Sergey Glazunov <serg.glazunov (a] gmail.com> 55496 55497 Reviewed by Dimitri Glazkov. 55498 55499 A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules 55500 https://bugs.webkit.org/show_bug.cgi?id=55488 55501 55502 Test: fast/css/css-keyframe-parent.html 55503 55504 * css/WebKitCSSKeyframesRule.cpp: 55505 (WebCore::WebKitCSSKeyframesRule::append): 55506 55507 2011-03-02 Sergio Villar Senin <svillar (a] igalia.com> 55508 55509 Reviewed by Martin Robinson. 55510 55511 [GTK] Add support for external protocol handlers 55512 https://bugs.webkit.org/show_bug.cgi?id=55473 55513 55514 Do not unconditionally create and replace the SoupRequester of the 55515 SoupSession if there is already one. No new tests needed as we 55516 just allow clients to create their our SoupRequesters. 55517 55518 * platform/network/soup/ResourceHandleSoup.cpp: 55519 (WebCore::ensureSessionIsInitialized): 55520 55521 2011-03-02 John Knottenbelt <jknotten (a] chromium.org> 55522 55523 Reviewed by jknotten (a] chromium.org. 55524 55525 Fix build-breakage when GEOLOCATION not enabled. 55526 https://bugs.webkit.org/show_bug.cgi?id=55586 55527 55528 Geolocation::reset needs to be defined if ENABLE(GEOLOCATION) 55529 is not true. 55530 55531 * page/Geolocation.cpp: 55532 (WebCore::Geolocation::reset): 55533 55534 2011-03-02 Pavel Feldman <pfeldman (a] chromium.org> 55535 55536 Reviewed by Yury Semikhatsky. 55537 55538 Web Inspector: remove InjectedScriptHost -> DOMAgent dependency. 55539 https://bugs.webkit.org/show_bug.cgi?id=55575 55540 55541 * bindings/js/JSInjectedScriptHostCustom.cpp: 55542 (WebCore::JSInjectedScriptHost::inspectedNode): 55543 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 55544 (WebCore::V8InjectedScriptHost::inspectedNodeCallback): 55545 * inspector/ConsoleMessage.cpp: 55546 (WebCore::ConsoleMessage::addToFrontend): 55547 * inspector/InjectedScript.cpp: 55548 (WebCore::InjectedScript::evaluateOn): 55549 (WebCore::InjectedScript::wrapObject): 55550 (WebCore::InjectedScript::wrapNode): 55551 (WebCore::InjectedScript::inspectNode): 55552 (WebCore::InjectedScript::nodeAsScriptValue): 55553 * inspector/InjectedScript.h: 55554 * inspector/InjectedScriptHost.cpp: 55555 (WebCore::InjectedScriptHost::addInspectedNode): 55556 (WebCore::InjectedScriptHost::clearInspectedNodes): 55557 (WebCore::InjectedScriptHost::copyText): 55558 (WebCore::InjectedScriptHost::inspectedNode): 55559 * inspector/InjectedScriptHost.h: 55560 * inspector/InjectedScriptHost.idl: 55561 * inspector/InjectedScriptSource.js: 55562 * inspector/Inspector.idl: 55563 * inspector/InspectorDOMAgent.cpp: 55564 (WebCore::InspectorDOMAgent::discardBindings): 55565 (WebCore::InspectorDOMAgent::addInspectedNode): 55566 (WebCore::InspectorDOMAgent::resolveNode): 55567 (WebCore::InspectorDOMAgent::injectedScriptForNode): 55568 * inspector/InspectorDOMAgent.h: 55569 * inspector/InspectorRuntimeAgent.cpp: 55570 (WebCore::InspectorRuntimeAgent::evaluateOn): 55571 * inspector/InspectorRuntimeAgent.h: 55572 * inspector/front-end/ElementsTreeOutline.js: 55573 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip): 55574 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode): 55575 (WebInspector.ElementsTreeElement.prototype._createTooltipForNode): 55576 * inspector/front-end/PropertiesSidebarPane.js: 55577 (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved): 55578 (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady): 55579 (WebInspector.PropertiesSidebarPane.prototype.update.fillSection): 55580 (WebInspector.PropertiesSidebarPane.prototype.update): 55581 * inspector/front-end/RemoteObject.js: 55582 (WebInspector.RemoteObject.resolveNode): 55583 (WebInspector.RemoteObject.prototype.pushNodeToFrontend): 55584 (WebInspector.RemoteObject.prototype.evaluate): 55585 55586 2011-01-21 John Knottenbelt <jknotten (a] chromium.org> 55587 55588 Reviewed by Dmitry Titov. 55589 55590 Detach Geolocation from Frame when Page destroyed. 55591 https://bugs.webkit.org/show_bug.cgi?id=52877 55592 55593 On Page destruction, any outstanding Geolocation permission 55594 requests should be cancelled, because the Geolocation can only 55595 access the client indirectly via m_frame->page(). 55596 55597 Additionally, if the Frame is reparented to another page, the 55598 Geolocation should cancel watches, single-shots and requests on 55599 the old page. 55600 55601 Page destruction is signalled by a call to the 55602 Frame::pageDestroyed() method. This calls Frame::detachFromPage, 55603 where we extend the call chain to Geolocation::detachFromPage() 55604 where we call Geolocation::reset() which detaches from the 55605 GeolocationController, cancels requests, watches and single shots, 55606 and sets the permission state back to Unknown. 55607 55608 We also now call detachFromPage when the frame reparented in 55609 Frame::transferChildFrameToNewDocument. 55610 55611 Frame::pageDestroyed() is also called by FrameLoader even though 55612 the page is not destroyed. We should still cancel permission 55613 requests, because the GeolocationClient will become inaccessible 55614 to the Geolocation object after this call. 55615 55616 Since GeolocationController is owned by Page, and all Geolocation 55617 objects will now unsubscribe from the GeolocationController on 55618 pageDetached(), we no longer need to call stopUpdating() from the 55619 GeolocationController's destructor. Instead we can simply assert 55620 that there should be no no observers. See related bug 55621 https://bugs.webkit.org/show_bug.cgi?id=52216 . 55622 55623 Introduced new method 'numberOfPendingPermissionRequests' on 55624 GeolocationClientMock to count the number of outstanding pending 55625 permission requests. This provides a reusable implementation for 55626 client-based implementations of the LayoutTestController's 55627 numberOfPendingGeolocationPermissionRequests method. 55628 55629 Tests: fast/dom/Geolocation/iframe-reparent.html 55630 fast/dom/Geolocation/page-reload-cancel-permission-requests.html 55631 55632 * page/DOMWindow.cpp: 55633 (WebCore::DOMWindow::resetGeolocationPermissions): 55634 * page/DOMWindow.h: 55635 * page/Frame.cpp: 55636 (WebCore::Frame::detachFromPage): 55637 (WebCore::Frame::pageDestroyed): 55638 (WebCore::Frame::transferChildFrameToNewDocument): 55639 * page/Frame.h: 55640 * page/Geolocation.cpp: 55641 (WebCore::Geolocation::~Geolocation): 55642 (WebCore::Geolocation::page): 55643 (WebCore::Geolocation::reset): 55644 (WebCore::Geolocation::disconnectFrame): 55645 (WebCore::Geolocation::lastPosition): 55646 (WebCore::Geolocation::requestPermission): 55647 (WebCore::Geolocation::startUpdating): 55648 (WebCore::Geolocation::stopUpdating): 55649 * page/Geolocation.h: 55650 * page/GeolocationController.cpp: 55651 (WebCore::GeolocationController::~GeolocationController): 55652 * page/Navigator.cpp: 55653 (WebCore::Navigator::resetGeolocationPermissions): 55654 * page/Navigator.h: 55655 * platform/mock/GeolocationClientMock.cpp: 55656 (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests): 55657 * platform/mock/GeolocationClientMock.h: 55658 55659 2011-03-02 Mikhail Naganov <mnaganov (a] chromium.org> 55660 55661 Reviewed by Pavel Feldman. 55662 55663 Web Inspector: [Chromium] Landing detailed heap snapshots, part 4. 55664 https://bugs.webkit.org/show_bug.cgi?id=55563 55665 55666 This part adds implementations for data grids used to display 55667 different heap snapshots projections. We are almost done. 55668 55669 * English.lproj/localizedStrings.js: 55670 * WebCore.gypi: 55671 * bindings/v8/ScriptHeapSnapshot.cpp: 55672 (WebCore::ScriptHeapSnapshot::getExactRetainedSize): 55673 * bindings/v8/ScriptHeapSnapshot.h: 55674 * inspector/Inspector.idl: 55675 * inspector/InspectorProfilerAgent.cpp: 55676 (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize): 55677 * inspector/InspectorProfilerAgent.h: 55678 * inspector/front-end/DetailedHeapshotGridNodes.js: 55679 (WebInspector.HeapSnapshotObjectNode): 55680 (WebInspector.HeapSnapshotObjectNode.prototype._createProvider): 55681 (WebInspector.HeapSnapshotInstanceNode): 55682 (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider): 55683 (WebInspector.HeapSnapshotDominatorObjectNode): 55684 (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider): 55685 (MixInSnapshotNodeFunctions): 55686 * inspector/front-end/DetailedHeapshotView.js: 55687 (WebInspector.HeapSnapshotContainmentDataGrid): 55688 (WebInspector.HeapSnapshotSortableDataGrid): 55689 (WebInspector.HeapSnapshotConstructorsDataGrid): 55690 (WebInspector.HeapSnapshotDiffDataGrid): 55691 (WebInspector.HeapSnapshotDominatorsDataGrid): 55692 (WebInspector.HeapSnapshotRetainingPathsList): 55693 (WebInspector.DetailedHeapshotView.profileCallback): 55694 (WebInspector.DetailedHeapshotView): 55695 * inspector/front-end/HeapSnapshot.js: 55696 (WebInspector.HeapSnapshotEdge.prototype.get isInvisible): 55697 (WebInspector.HeapSnapshotEdge.prototype.toString): 55698 (WebInspector.HeapSnapshot.prototype._init): 55699 (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes): 55700 (WebInspector.HeapSnapshot.prototype._markInvisibleEdges): 55701 (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge): 55702 * inspector/front-end/Images/helpButtonGlyph.png: Added. 55703 * inspector/front-end/Panel.js: 55704 (WebInspector.Panel.prototype.reset): 55705 * inspector/front-end/Popover.js: 55706 (WebInspector.Popover): 55707 (WebInspector.Popover.prototype.show): 55708 (WebInspector.Popover.prototype.hide): 55709 (WebInspector.Popover.prototype.get visible): 55710 * inspector/front-end/ProfilesPanel.js: 55711 (WebInspector.ProfilesPanel.prototype._reset): 55712 (WebInspector.ProfilesPanel.prototype.getProfile): 55713 * inspector/front-end/heapProfiler.css: 55714 * inspector/front-end/inspector.js: 55715 (WebInspector.resetFocusElement): 55716 55717 2011-03-02 David Kilzer <ddkilzer (a] apple.com> 55718 55719 <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp 55720 55721 Reviewed by Darin Adler. 55722 55723 Change "#if GL_APPLE_vertex_array_object" macros to check that 55724 GL_APPLE_vertex_array_object is both defined and non-zero. 55725 55726 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 55727 (WebCore::Extensions3DOpenGL::createVertexArrayOES): 55728 (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove 55729 empty #else clause. 55730 (WebCore::Extensions3DOpenGL::isVertexArrayOES): 55731 (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early 55732 return check. Remove #else clause that would never have 55733 compiled (since array is not a WTF::String). 55734 55735 2011-03-01 Ryosuke Niwa <rniwa (a] webkit.org> 55736 55737 Reviewed by Darin Adler. 55738 55739 Assertion failure after removing a selection in keydown handler 55740 https://bugs.webkit.org/show_bug.cgi?id=51389 55741 55742 The bug was caused by textWillBeReplaced's not always updating selection, and 55743 shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's 55744 at the end of replaced data. 55745 55746 Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition 55747 to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call 55748 to setSelection instead of directly modifying m_selection to notify all the clients. 55749 Namely, the call to EditorClient::respondToChangedSelection is required for 55750 setting-input-value-cancel-ime-composition.html. 55751 55752 Note that we must update layout before calling setSelection because setSelection calls 55753 setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests 55754 such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable. 55755 55756 Test: editing/input/setting-input-value-cancel-ime-composition.html 55757 55758 * editing/SelectionController.cpp: 55759 (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset 55760 of the selection end must be updated even if it was at the end of the replaced text. 55761 e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not 55762 "hello WebK[it". Note we don't move the offset if no text is removed because appending 55763 "world" to "hello ]" should result in "hello ]world" not "hello world]". 55764 (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update 55765 the selection instead of modifying m_selection directly. 55766 55767 2011-03-02 Andrey Adaikin <aandrey (a] google.com> 55768 55769 Reviewed by Pavel Feldman. 55770 55771 Web Inspector: highlighted line does not span horizonally in scripts panel while debugging. 55772 https://bugs.webkit.org/show_bug.cgi?id=54675 55773 55774 * inspector/front-end/TextViewer.js: 55775 (WebInspector.TextViewer.prototype._syncScroll): 55776 (WebInspector.TextEditorChunkedPanel.prototype._buildChunks): 55777 (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk): 55778 (WebInspector.TextEditorGutterPanel): 55779 (WebInspector.TextEditorGutterPanel.prototype._expandChunks): 55780 (WebInspector.TextEditorGutterPanel.prototype.textChanged): 55781 (WebInspector.TextEditorMainPanel): 55782 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 55783 (WebInspector.TextEditorMainPanel.prototype._getSelection): 55784 (WebInspector.TextEditorMainPanel.prototype._selectionToPosition): 55785 (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified): 55786 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 55787 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): 55788 * inspector/front-end/textViewer.css: 55789 (.inner-container): 55790 55791 2011-03-02 Oleg Romashin <romaxa (a] gmail.com> 55792 55793 Reviewed by Andreas Kling. 55794 55795 Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled 55796 https://bugs.webkit.org/show_bug.cgi?id=55477 55797 55798 * inspector/InspectorAgent.cpp: 55799 (WebCore::InspectorAgent::populateScriptObjects): 55800 55801 2011-03-02 Kent Tamura <tkent (a] chromium.org> 55802 55803 Unreviewed, a trivial fix for r80096. 55804 55805 REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure 55806 https://bugs.webkit.org/show_bug.cgi?id=55562 55807 55808 * platform/text/LocalizedNumberICU.cpp: 55809 (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse() 55810 to reject strings with a valid number + extra letters. 55811 55812 2011-03-02 Steve Block <steveblock (a] google.com> 55813 55814 Reviewed by Jeremy Orlow. 55815 55816 JObjectWrapper should be moved to its own file 55817 https://bugs.webkit.org/show_bug.cgi?id=55384 55818 55819 No new tests, refactoring only. 55820 55821 * Android.v8bindings.mk: 55822 * WebCore.gypi: 55823 * bridge/jni/v8/JNIBridgeV8.cpp: 55824 (JavaField::JavaField): 55825 * bridge/jni/v8/JNIBridgeV8.h: 55826 * bridge/jni/v8/JavaInstanceV8.cpp: 55827 (JavaInstance::JavaInstance): 55828 * bridge/jni/v8/JavaInstanceV8.h: 55829 * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h. 55830 (JobjectWrapper::JobjectWrapper): 55831 (JobjectWrapper::~JobjectWrapper): 55832 * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h. 55833 (JSC::Bindings::JobjectWrapper::instance): 55834 (JSC::Bindings::JobjectWrapper::setInstance): 55835 (JSC::Bindings::JobjectWrapper::ref): 55836 (JSC::Bindings::JobjectWrapper::deref): 55837 55838 2011-02-25 Andrey Kosyakov <caseq (a] chromium.org> 55839 55840 Reviewed by Pavel Feldman. 55841 55842 Web Inspector: factor search logic out of inspector.js 55843 https://bugs.webkit.org/show_bug.cgi?id=54965 55844 55845 * WebCore.gypi: 55846 * WebCore.vcproj/WebCore.vcproj: 55847 * inspector/front-end/ElementsPanel.js: 55848 (WebInspector.ElementsPanel.prototype.searchCanceled): 55849 (WebInspector.ElementsPanel.prototype.switchToAndFocus): 55850 (WebInspector.ElementsPanel.prototype._updateMatchesCount): 55851 * inspector/front-end/Panel.js: 55852 (WebInspector.Panel.prototype.searchCanceled): 55853 (WebInspector.Panel.prototype.performSearch.updateMatchesCount): 55854 * inspector/front-end/ScriptsPanel.js: 55855 (WebInspector.ScriptsPanel.prototype.searchCanceled): 55856 (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback): 55857 (WebInspector.ScriptsPanel.prototype.performSearch): 55858 * inspector/front-end/SearchController.js: Added. 55859 (WebInspector.SearchController): 55860 (WebInspector.SearchController.prototype.updateSearchMatchesCount): 55861 (WebInspector.SearchController.prototype.updateSearchLabel): 55862 (WebInspector.SearchController.prototype.cancelSearch): 55863 (WebInspector.SearchController.prototype.handleShortcut): 55864 (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch): 55865 (WebInspector.SearchController.prototype.activePanelChanged): 55866 (WebInspector.SearchController.prototype._updateSearchMatchesCount): 55867 (WebInspector.SearchController.prototype._focusSearchField): 55868 (WebInspector.SearchController.prototype._onSearchFieldManualFocus): 55869 (WebInspector.SearchController.prototype._onKeyDown): 55870 (WebInspector.SearchController.prototype._onSearch): 55871 (WebInspector.SearchController.prototype._performSearch): 55872 * inspector/front-end/WebKit.qrc: 55873 * inspector/front-end/inspector.html: 55874 * inspector/front-end/inspector.js: 55875 (WebInspector.set currentPanel): 55876 (WebInspector.set attached): 55877 (WebInspector.doLoadedDone): 55878 (WebInspector.documentKeyDown): 55879 55880 2011-03-02 Renata Hodovan <reni (a] webkit.org> 55881 55882 Reviewed by Andreas Kling. 55883 55884 FEMorphologyElement changes doesn't require relayout 55885 https://bugs.webkit.org/show_bug.cgi?id=55462 55886 55887 When the FEMorphologyElement receives an update message but the given value remains the same we don't need 55888 to relayout the filter. 55889 55890 No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology. 55891 55892 * platform/graphics/filters/FEMorphology.cpp: 55893 (WebCore::FEMorphology::setMorphologyOperator): 55894 (WebCore::FEMorphology::setRadiusX): 55895 (WebCore::FEMorphology::setRadiusY): 55896 * platform/graphics/filters/FEMorphology.h: 55897 * svg/SVGFEMorphologyElement.cpp: 55898 (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute): 55899 (WebCore::SVGFEMorphologyElement::svgAttributeChanged): 55900 * svg/SVGFEMorphologyElement.h: 55901 55902 2011-03-01 Kent Tamura <tkent (a] chromium.org> 55903 55904 Reviewed by Dimitri Glazkov. 55905 55906 Assertion fails when a form validation bubble appears 55907 https://bugs.webkit.org/show_bug.cgi?id=55550 55908 55909 Test: fast/forms/interactive-validation-attach-assertion.html 55910 55911 * html/ValidationMessage.cpp: 55912 (WebCore::ValidationMessage::buildBubbleTree): 55913 Just remove unnecessary attach(). 55914 55915 2011-03-01 Kent Tamura <tkent (a] chromium.org> 55916 55917 Reviewed by Dimitri Glazkov. 55918 55919 Support localized numbers in <input type=number> 55920 https://bugs.webkit.org/show_bug.cgi?id=42484 55921 55922 This change adds support of localized numbers in <input type=number>. 55923 This affects only the UI, and not HTMLInputElement::value. 55924 55925 - Remove the keyboard input restriction feature because it is hard to 55926 retrieve characters usable for localized numbers in ICU. 55927 55928 - Separate convertFromVisibleValue() from sanitizeValue(). 55929 sanitizeValue() is used for not only converting a renderer value to a 55930 DOM value. 55931 55932 - Implement LocalizedNumber functions for ICU and NSNumberFormatter. 55933 It is used only in Chromium for now. 55934 55935 Test: manual-tests/input-number-localization.html 55936 55937 * WebCore.gypi: Use LocalizedNumberICU.cpp. 55938 * WebCore.xcodeproj/project.pbxproj: 55939 Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp. 55940 * dom/InputElement.h: Introduce convertFromVisibleValue(). 55941 * html/HTMLInputElement.cpp: 55942 (WebCore::HTMLInputElement::convertFromVisibleValue): 55943 * html/HTMLInputElement.h: 55944 * html/InputType.cpp: 55945 (WebCore::InputType::convertFromVisibleValue): 55946 * html/InputType.h: 55947 * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(), 55948 isNumberCharacter(), and handleBeforeTextInsertedEvent() because we 55949 remove the keyboard input restriction feature for type=number. 55950 (WebCore::NumberInputType::convertFromVisibleValue): 55951 (WebCore::NumberInputType::sanitizeValue): 55952 * html/NumberInputType.h: 55953 * manual-tests/input-number-localization.html: Add a manual test because 55954 the behavior depends on the current locale. 55955 * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter(). 55956 * platform/text/LocalizedNumberICU.cpp: 55957 Implement LocalizedNumber functions with ICU NumberFormat. 55958 (WebCore::createFormatterForCurrentLocale): 55959 (WebCore::parseLocalizedNumber): 55960 (WebCore::formatLocalizedNumber): 55961 * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter(). 55962 * platform/text/mac/LocalizedNumberMac.mm: 55963 Implement LocalizedNumber functions with NSNumberFormatter. 55964 (WebCore::parseLocalizedNumber): 55965 (WebCore::formatLocalizedNumber): 55966 * rendering/RenderTextControlSingleLine.cpp: 55967 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 55968 * wml/WMLInputElement.h: 55969 (WebCore::WMLInputElement::convertFromVisibleValue): 55970 Implemented as a function doing nothing. 55971 55972 2011-03-01 Yuta Kitamura <yutak (a] chromium.org> 55973 55974 Reviewed by Darin Adler. 55975 55976 REGRESSION(r78383): Failure to connect on websocketstest.com 55977 https://bugs.webkit.org/show_bug.cgi?id=54811 55978 55979 After r78383, KURL::setPort() no longer appends ":port" part 55980 if that port is the default port for URL scheme. This broke 55981 SocketStreamHandleCFNet, whose code was based on an assumption 55982 that KURL::setPort() always inserts ":port" part. 55983 55984 To fix this, KURL::port() call is removed from SocketStreamHandle 55985 and the port number is calculated on-the-fly. 55986 55987 Unfortunately it is impossible to write a test; this bug only 55988 affects WebSockets connecting to the default port (port 80 55989 for ws, port 443 for wss), while we use different ports to test 55990 WebSockets in LayoutTests. 55991 55992 * platform/network/cf/SocketStreamHandle.h: 55993 * platform/network/cf/SocketStreamHandleCFNet.cpp: 55994 (WebCore::SocketStreamHandle::SocketStreamHandle): 55995 (WebCore::SocketStreamHandle::createStreams): 55996 (WebCore::SocketStreamHandle::port): 55997 55998 2011-03-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 55999 56000 Unreviewed, rolling out r80079. 56001 http://trac.webkit.org/changeset/80079 56002 https://bugs.webkit.org/show_bug.cgi?id=55547 56003 56004 "Broke the Win debug build?" (Requested by dcheng on #webkit). 56005 56006 * Configurations/FeatureDefines.xcconfig: 56007 * GNUmakefile.am: 56008 * features.pri: 56009 56010 2011-02-25 Adrienne Walker <enne (a] google.com> 56011 56012 Reviewed by James Robinson. 56013 56014 [chromium] Abstract "pixels with a graphics context" into its own class 56015 https://bugs.webkit.org/show_bug.cgi?id=55259 56016 56017 This creates new PlatformCanvas/PlatformImage classes which wrap 56018 all of the #ifdef Skia/Cg warts from the compositor. All classes 56019 (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are 56020 modified to use these abstractions. 56021 56022 Tests: LayoutTests/compositing 56023 56024 * WebCore.gypi: 56025 * platform/graphics/chromium/ContentLayerChromium.cpp: 56026 (WebCore::ContentLayerChromium::updateContentsIfDirty): 56027 (WebCore::ContentLayerChromium::resizeUploadBuffer): 56028 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 56029 (WebCore::ContentLayerChromium::updateTexture): 56030 (WebCore::ContentLayerChromium::draw): 56031 * platform/graphics/chromium/ContentLayerChromium.h: 56032 * platform/graphics/chromium/ImageLayerChromium.cpp: 56033 (WebCore::ImageLayerChromium::updateContentsIfDirty): 56034 (WebCore::ImageLayerChromium::updateTextureIfNeeded): 56035 * platform/graphics/chromium/ImageLayerChromium.h: 56036 * platform/graphics/chromium/LayerTilerChromium.cpp: 56037 (WebCore::LayerTilerChromium::contentRectToTileIndices): 56038 (WebCore::LayerTilerChromium::update): 56039 (WebCore::LayerTilerChromium::updateFromPixels): 56040 * platform/graphics/chromium/LayerTilerChromium.h: 56041 * platform/graphics/chromium/PlatformCanvas.cpp: Added. 56042 (WebCore::PlatformCanvas::PlatformCanvas): 56043 (WebCore::PlatformCanvas::~PlatformCanvas): 56044 (WebCore::PlatformCanvas::resize): 56045 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 56046 (WebCore::PlatformCanvas::AutoLocker::~AutoLocker): 56047 (WebCore::PlatformCanvas::Painter::Painter): 56048 (WebCore::PlatformCanvas::Painter::~Painter): 56049 * platform/graphics/chromium/PlatformCanvas.h: Added. 56050 (WebCore::PlatformCanvas::AutoLocker::pixels): 56051 (WebCore::PlatformCanvas::Painter::context): 56052 (WebCore::PlatformCanvas::size): 56053 * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp. 56054 (WebCore::PlatformImage::PlatformImage): 56055 (WebCore::PlatformImage::updateFromImage): 56056 * platform/graphics/chromium/PlatformImage.h: Added. 56057 (WebCore::PlatformImage::pixels): 56058 (WebCore::PlatformImage::size): 56059 56060 2011-03-01 Daniel Cheng <dcheng (a] chromium.org> 56061 56062 Reviewed by David Levin. 56063 56064 Add feature define for data transfer items 56065 https://bugs.webkit.org/show_bug.cgi?id=55510 56066 56067 * Configurations/FeatureDefines.xcconfig: 56068 * GNUmakefile.am: 56069 * features.pri: 56070 56071 2011-03-01 Joseph Pecoraro <joepeck (a] webkit.org> 56072 56073 Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port. 56074 56075 * dom/ViewportArguments.cpp: 56076 (WebCore::computeViewportAttributes): 56077 (WebCore::numericPrefix): 56078 (WebCore::findSizeValue): 56079 (WebCore::setViewportFeature): 56080 (WebCore::viewportErrorMessageTemplate): 56081 (WebCore::viewportErrorMessageLevel): 56082 * dom/ViewportArguments.h: 56083 56084 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56085 56086 Reviewed by James Robinson. 56087 56088 IDBKeyRange.bound() should not use the optional options object 56089 https://bugs.webkit.org/show_bug.cgi?id=55419 56090 56091 http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept 56092 56093 Added some code to existing tests to cover these cases. 56094 56095 * storage/IDBKeyRange.cpp: 56096 (WebCore::IDBKeyRange::bound): 56097 * storage/IDBKeyRange.h: 56098 * storage/IDBKeyRange.idl: 56099 56100 2011-03-01 Dan Bernstein <mitz (a] apple.com> 56101 56102 Build fix. 56103 56104 * dom/DocumentMarkerController.cpp: 56105 (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange): 56106 56107 2011-03-01 Kent Tamura <tkent (a] chromium.org> 56108 56109 Unreviewed. Apply sort-Xcode-project-file. 56110 56111 * WebCore.xcodeproj/project.pbxproj: 56112 56113 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56114 56115 Reviewed by James Robinson. 56116 56117 V8 code generator doesn't properly support a single SerializedScriptValue attribute 56118 https://bugs.webkit.org/show_bug.cgi?id=55530 56119 56120 This is tested by the bindings tests changes. 56121 56122 * bindings/scripts/CodeGeneratorV8.pm: 56123 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added. 56124 (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate): 56125 (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface): 56126 (WebDOMTestSerializedScriptValueInterface::operator=): 56127 (WebDOMTestSerializedScriptValueInterface::impl): 56128 (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface): 56129 (WebDOMTestSerializedScriptValueInterface::value): 56130 (toWebCore): 56131 (toWebKit): 56132 * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added. 56133 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added. 56134 (WebKit::kit): 56135 (webkit_dom_test_serialized_script_value_interface_get_value): 56136 (WebKit::core): 56137 (webkit_dom_test_serialized_script_value_interface_finalize): 56138 (webkit_dom_test_serialized_script_value_interface_set_property): 56139 (webkit_dom_test_serialized_script_value_interface_get_property): 56140 (webkit_dom_test_serialized_script_value_interface_constructed): 56141 (webkit_dom_test_serialized_script_value_interface_class_init): 56142 (webkit_dom_test_serialized_script_value_interface_init): 56143 (WebKit::wrapTestSerializedScriptValueInterface): 56144 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added. 56145 * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added. 56146 * bindings/scripts/test/JS/JSTestInterface.cpp: 56147 (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor): 56148 (WebCore::JSTestInterface::JSTestInterface): 56149 * bindings/scripts/test/JS/JSTestInterface.h: 56150 * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: 56151 (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor): 56152 (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener): 56153 (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): 56154 * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: 56155 * bindings/scripts/test/JS/JSTestObj.cpp: 56156 (WebCore::JSTestObjConstructor::JSTestObjConstructor): 56157 (WebCore::JSTestObj::JSTestObj): 56158 (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): 56159 (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): 56160 (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): 56161 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs): 56162 (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows): 56163 (WebCore::jsTestObjPrototypeFunctionSerializedValue): 56164 (WebCore::jsTestObjPrototypeFunctionIdbKey): 56165 (WebCore::jsTestObjPrototypeFunctionOptionsObject): 56166 (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): 56167 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): 56168 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): 56169 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): 56170 (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): 56171 (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg): 56172 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): 56173 (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): 56174 (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): 56175 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): 56176 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): 56177 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): 56178 (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): 56179 (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional): 56180 * bindings/scripts/test/JS/JSTestObj.h: 56181 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added. 56182 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure): 56183 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor): 56184 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot): 56185 (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor): 56186 (WebCore::JSTestSerializedScriptValueInterfacePrototype::self): 56187 (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface): 56188 (WebCore::JSTestSerializedScriptValueInterface::createPrototype): 56189 (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot): 56190 (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor): 56191 (WebCore::jsTestSerializedScriptValueInterfaceValue): 56192 (WebCore::jsTestSerializedScriptValueInterfaceConstructor): 56193 (WebCore::JSTestSerializedScriptValueInterface::getConstructor): 56194 (WebCore::toJS): 56195 (WebCore::toTestSerializedScriptValueInterface): 56196 * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h. 56197 (WebCore::JSTestSerializedScriptValueInterface::createStructure): 56198 (WebCore::JSTestSerializedScriptValueInterface::impl): 56199 (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): 56200 (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype): 56201 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added. 56202 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added. 56203 (-[DOMTestSerializedScriptValueInterface dealloc]): 56204 (-[DOMTestSerializedScriptValueInterface finalize]): 56205 (-[DOMTestSerializedScriptValueInterface value]): 56206 (core): 56207 (kit): 56208 * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added. 56209 * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added. 56210 * bindings/scripts/test/V8/V8TestInterface.cpp: 56211 (WebCore::ConfigureV8TestInterfaceTemplate): 56212 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp. 56213 (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE): 56214 (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate): 56215 (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate): 56216 (WebCore::V8TestSerializedScriptValueInterface::GetTemplate): 56217 (WebCore::V8TestSerializedScriptValueInterface::HasInstance): 56218 (WebCore::V8TestSerializedScriptValueInterface::wrapSlow): 56219 (WebCore::V8TestSerializedScriptValueInterface::derefObject): 56220 * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added. 56221 (WebCore::V8TestSerializedScriptValueInterface::toNative): 56222 (WebCore::V8TestSerializedScriptValueInterface::wrap): 56223 (WebCore::toV8): 56224 56225 2011-03-01 Oliver Hunt <oliver (a] apple.com> 56226 56227 Reviewed by Joseph Pecoraro. 56228 56229 Misaligned memory access in CloneDeserializer on all ARM arch. 56230 https://bugs.webkit.org/show_bug.cgi?id=48742 56231 56232 Push platforms that need aligned memory access down the 56233 endian independent serialization and deserialization 56234 paths. 56235 56236 * bindings/js/SerializedScriptValue.cpp: 56237 56238 2011-03-01 Joseph Pecoraro <joepeck (a] webkit.org> 56239 56240 Reviewed by Kenneth Rohde Christiansen. 56241 56242 Viewport Warning/Error Messages Are Now Inaccurate 56243 https://bugs.webkit.org/show_bug.cgi?id=53707 56244 56245 Correct and improve the error messages for viewport 56246 parsing. Clarify the difference between incorrect 56247 keys, values, and when to use the device-width or 56248 device-height constants. 56249 56250 * dom/ViewportArguments.cpp: 56251 (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height. 56252 (WebCore::numericPrefix): 56253 (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height. 56254 (WebCore::setViewportFeature): report a warning for an unrecognized key. 56255 (WebCore::viewportErrorMessageTemplate): added template for unrecognized key. 56256 (WebCore::viewportErrorMessageLevel): 56257 * dom/ViewportArguments.h: 56258 56259 2011-03-01 Ryosuke Niwa <rniwa (a] webkit.org> 56260 56261 Reviewed by Darin Adler. 56262 56263 WebKit does not merge text decorations in the typing style and the selected element properly 56264 https://bugs.webkit.org/show_bug.cgi?id=55349 56265 56266 The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property. 56267 Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and 56268 calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle. 56269 56270 Test: editing/execCommand/merge-text-decoration-with-typing-style.html 56271 56272 * editing/ApplyStyleCommand.cpp: 56273 (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*; 56274 calls mergeInlineStyleOfElement. 56275 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown. 56276 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto. 56277 * editing/ApplyStyleCommand.h: 56278 * editing/EditingStyle.cpp: 56279 (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle. 56280 (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto. 56281 (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown. 56282 * editing/EditingStyle.h: 56283 56284 2011-03-01 Levi Weintraub <leviw (a] chromium.org> 56285 56286 Reviewed by Ryosuke Niwa. 56287 56288 Stop instantiating legacy editing Positions in VisiblePosition 56289 https://bugs.webkit.org/show_bug.cgi?id=52919 56290 56291 Changing VisiblePosition completely away from legacy positions. 56292 56293 No new tests since this is functionaly equivalent. 56294 56295 * WebCore.exp.in: Removing the legacy VisiblePosition constructor and 56296 adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions 56297 outside of WebCore, they should be parent anchored. 56298 * accessibility/AXObjectCache.cpp: 56299 (WebCore::AXObjectCache::visiblePositionForTextMarkerData): 56300 * accessibility/AccessibilityObject.cpp: 56301 (WebCore::startOfStyleRange): 56302 (WebCore::endOfStyleRange): 56303 * accessibility/AccessibilityRenderObject.cpp: 56304 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 56305 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 56306 (objectAndOffsetUnignored): 56307 * dom/Position.cpp: 56308 (WebCore::Position::document): Added this inline function to avoid the necessity 56309 of calling anchorNode to assure a document from a Position. 56310 (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor 56311 (WebCore::Position::downstream): ditto 56312 * dom/Range.cpp: 56313 (WebCore::Range::editingStartPosition): 56314 * editing/Editor.cpp: 56315 (WebCore::Editor::canDeleteRange): 56316 * editing/ReplaceSelectionCommand.cpp: 56317 (WebCore::ReplaceSelectionCommand::doApply): 56318 * editing/SelectionController.cpp: 56319 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 56320 (WebCore::SelectionController::setSelectedRange): 56321 * editing/TextIterator.cpp: 56322 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 56323 * editing/TypingCommand.cpp: 56324 (WebCore::TypingCommand::deleteKeyPressed): 56325 * editing/VisiblePosition.cpp: 56326 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 56327 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 56328 (WebCore::VisiblePosition::canonicalPosition): 56329 (WebCore::VisiblePosition::characterAfter): 56330 (WebCore::VisiblePosition::localCaretRect): 56331 (WebCore::makeRange): 56332 (WebCore::startVisiblePosition): 56333 (WebCore::endVisiblePosition): 56334 (WebCore::setStart): 56335 (WebCore::setEnd): 56336 (WebCore::isFirstVisiblePositionInNode): 56337 (WebCore::isLastVisiblePositionInNode): 56338 * editing/VisiblePosition.h: 56339 (WebCore::VisiblePosition::VisiblePosition): 56340 * editing/htmlediting.cpp: 56341 (WebCore::firstInSpecialElement): 56342 (WebCore::lastInSpecialElement): 56343 (WebCore::visiblePositionBeforeNode): 56344 (WebCore::visiblePositionAfterNode): 56345 * editing/visible_units.cpp: 56346 (WebCore::startPositionForLine): 56347 (WebCore::endPositionForLine): 56348 (WebCore::previousLinePosition): 56349 (WebCore::nextLinePosition): 56350 (WebCore::startOfParagraph): 56351 (WebCore::endOfParagraph): 56352 (WebCore::endOfBlock): 56353 (WebCore::startOfDocument): 56354 (WebCore::endOfDocument): 56355 (WebCore::logicalStartPositionForLine): 56356 (WebCore::logicalEndPositionForLine): 56357 * page/DOMSelection.cpp: 56358 (WebCore::DOMSelection::collapse): 56359 (WebCore::DOMSelection::setBaseAndExtent): 56360 (WebCore::DOMSelection::setPosition): 56361 (WebCore::DOMSelection::extend): 56362 * page/EventHandler.cpp: 56363 (WebCore::EventHandler::handleMousePressEventSingleClick): 56364 * rendering/RenderObject.cpp: 56365 (WebCore::RenderObject::createVisiblePosition): 56366 * rendering/RenderTextControl.cpp: 56367 (WebCore::RenderTextControl::visiblePositionForIndex): 56368 * svg/SVGTextContentElement.cpp: 56369 (WebCore::SVGTextContentElement::selectSubString): 56370 56371 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56372 56373 Reviewed by Steve Block. 56374 56375 When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR 56376 https://bugs.webkit.org/show_bug.cgi?id=54785 56377 56378 This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing 56379 the right thing and continue to do the right thing. It also modifies EventQueue 56380 so that we can cancel an event. To do this efficiently, the vector is now a 56381 ListHashSet. 56382 56383 Cancelling the event is harder/messier, but the most deterministic thing to do. 56384 To the user, the work isn't done until we fire the onsuccess/onerror handler. 56385 So the event (which does fire that) needs to be cancelable. 56386 56387 transaction-abort.html tests this. 56388 56389 * dom/EventQueue.cpp: 56390 (WebCore::EventQueue::enqueueEvent): 56391 (WebCore::EventQueue::cancelEvent): 56392 (WebCore::EventQueue::pendingEventTimerFired): 56393 (WebCore::EventQueue::dispatchEvent): 56394 * dom/EventQueue.h: 56395 * dom/ExceptionCode.cpp: 56396 * storage/IDBCursor.cpp: 56397 (WebCore::IDBCursor::update): 56398 (WebCore::IDBCursor::deleteFunction): 56399 * storage/IDBDatabaseBackendImpl.cpp: 56400 (WebCore::IDBDatabaseBackendImpl::close): 56401 * storage/IDBDatabaseException.h: 56402 * storage/IDBIndex.cpp: 56403 (WebCore::IDBIndex::openCursor): 56404 (WebCore::IDBIndex::openKeyCursor): 56405 (WebCore::IDBIndex::get): 56406 (WebCore::IDBIndex::getKey): 56407 * storage/IDBObjectStore.cpp: 56408 (WebCore::IDBObjectStore::get): 56409 (WebCore::IDBObjectStore::add): 56410 (WebCore::IDBObjectStore::put): 56411 (WebCore::IDBObjectStore::deleteFunction): 56412 (WebCore::IDBObjectStore::clear): 56413 (WebCore::IDBObjectStore::openCursor): 56414 * storage/IDBRequest.cpp: 56415 (WebCore::IDBRequest::IDBRequest): 56416 (WebCore::IDBRequest::~IDBRequest): 56417 (WebCore::IDBRequest::readyState): 56418 (WebCore::IDBRequest::markEarlyDeath): 56419 (WebCore::IDBRequest::source): 56420 (WebCore::IDBRequest::abort): 56421 (WebCore::IDBRequest::onSuccess): 56422 (WebCore::IDBRequest::dispatchEvent): 56423 (WebCore::IDBRequest::enqueueEvent): 56424 * storage/IDBRequest.h: 56425 * storage/IDBTransaction.cpp: 56426 (WebCore::IDBTransaction::registerRequest): 56427 (WebCore::IDBTransaction::unregisterRequest): 56428 (WebCore::IDBTransaction::onAbort): 56429 * storage/IDBTransaction.h: 56430 56431 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56432 56433 Reviewed by Mihai Parparita. 56434 56435 EventQueue needs to be ref counted 56436 https://bugs.webkit.org/show_bug.cgi?id=55512 56437 56438 EventQueue needs to be ref counted because it's possible for its instance 56439 to be deleted while it's dispatching events. This is the reason why 56440 https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted. 56441 56442 No change of behavior, so no tests. 56443 56444 * dom/Document.h: 56445 * dom/EventQueue.cpp: 56446 (WebCore::EventQueue::create): 56447 * dom/EventQueue.h: 56448 56449 2011-03-01 Helder Correia <helder (a] sencha.com> 56450 56451 Reviewed by Simon Fraser. 56452 56453 No shadow when stroking a path with a gradient 56454 https://bugs.webkit.org/show_bug.cgi?id=55436 56455 56456 This happens in CG and is related to bug 52509, this time to be fixed 56457 in GraphicsContext::strokePath(). The gradient needs to be drawn 56458 clipped to the stroke on a CGLayer first, then the layer drawn on the 56459 GraphicsContext. 56460 56461 Tests: fast/canvas/canvas-strokePath-gradient-shadow.html 56462 svg/css/path-gradient-stroke-shadow.svg 56463 56464 * platform/graphics/cg/GraphicsContextCG.cpp: 56465 (WebCore::GraphicsContext::strokePath): 56466 56467 2011-03-01 David Hyatt <hyatt (a] apple.com> 56468 56469 Reviewed by Dan Bernstein. 56470 56471 Fix Font::spaceWidth() to be a float instead of an int. 56472 56473 * platform/graphics/Font.h: 56474 (WebCore::Font::spaceWidth): 56475 56476 2011-02-28 Steve Block <steveblock (a] google.com> 56477 56478 Reviewed by Jeremy Orlow. 56479 56480 Chromium gypi file should include Java bridge files from WebCore/bridge 56481 https://bugs.webkit.org/show_bug.cgi?id=55387 56482 56483 No new tests, no code changes. 56484 56485 * WebCore.gyp/WebCore.gyp: 56486 * WebCore.gypi: 56487 56488 2011-03-01 James Simonsen <simonjam (a] chromium.org> 56489 56490 Reviewed by Tony Gentilcore. 56491 56492 [Web Timing] Handle the case where no responseEnd time is available. 56493 https://bugs.webkit.org/show_bug.cgi?id=55444 56494 56495 * loader/MainResourceLoader.cpp: 56496 (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0. 56497 (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available. 56498 56499 2011-03-01 Patrick Gansterer <paroga (a] webkit.org> 56500 56501 Unreviewed, adding missing change for r80034. 56502 56503 Add a handler class for Win32 HANDLE 56504 https://bugs.webkit.org/show_bug.cgi?id=55334 56505 56506 * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro. 56507 56508 2011-03-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 56509 56510 Unreviewed, rolling out r80037. 56511 http://trac.webkit.org/changeset/80037 56512 https://bugs.webkit.org/show_bug.cgi?id=55508 56513 56514 broke compile on SL (Requested by tonyg-cr on #webkit). 56515 56516 * Android.mk: 56517 * CMakeLists.txt: 56518 * GNUmakefile.am: 56519 * WebCore.gypi: 56520 * WebCore.pro: 56521 * WebCore.vcproj/WebCore.vcproj: 56522 * WebCore.xcodeproj/project.pbxproj: 56523 * css/CSSParser.cpp: 56524 (WebCore::CSSParser::parseValue): 56525 * css/CSSParser.h: 56526 * css/CSSStyleSelector.cpp: 56527 (WebCore::CSSStyleSelector::applyProperty): 56528 * css/html.css: 56529 (q:before): 56530 (q:after): 56531 * rendering/RenderBlockLineLayout.cpp: 56532 (WebCore::dirtyLineBoxesForRenderer): 56533 * rendering/RenderObject.h: 56534 * rendering/RenderObjectChildList.cpp: 56535 (WebCore::RenderObjectChildList::removeChildNode): 56536 (WebCore::RenderObjectChildList::appendChildNode): 56537 (WebCore::RenderObjectChildList::insertChildNode): 56538 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 56539 * rendering/RenderQuote.cpp: Removed. 56540 * rendering/RenderQuote.h: Removed. 56541 * rendering/RenderingAllInOne.cpp: 56542 * rendering/style/ContentData.cpp: 56543 (WebCore::ContentData::dataEquivalent): 56544 (WebCore::ContentData::deleteContent): 56545 * rendering/style/ContentData.h: 56546 * rendering/style/QuotesData.cpp: Removed. 56547 * rendering/style/QuotesData.h: Removed. 56548 * rendering/style/RenderStyle.cpp: 56549 * rendering/style/RenderStyle.h: 56550 * rendering/style/RenderStyleConstants.h: 56551 * rendering/style/StyleAllInOne.cpp: 56552 * rendering/style/StyleRareInheritedData.cpp: 56553 (WebCore::StyleRareInheritedData::operator==): 56554 * rendering/style/StyleRareInheritedData.h: 56555 56556 2011-03-01 Abhishek Arya <inferno (a] chromium.org> 56557 56558 Reviewed by Dave Hyatt. 56559 56560 Paint outline for tables. 56561 https://bugs.webkit.org/show_bug.cgi?id=55474 56562 56563 Test: fast/table/table-and-parts-outline.html 56564 56565 * rendering/RenderTable.cpp: 56566 (WebCore::RenderTable::paintObject): 56567 56568 2011-03-01 Sheriff Bot <webkit.review.bot (a] gmail.com> 56569 56570 Unreviewed, rolling out r80028. 56571 http://trac.webkit.org/changeset/80028 56572 https://bugs.webkit.org/show_bug.cgi?id=55502 56573 56574 'caused crashes; rolling out while investigating' (Requested 56575 by jorlow on #webkit). 56576 56577 * dom/EventQueue.cpp: 56578 (WebCore::EventQueue::enqueueEvent): 56579 (WebCore::EventQueue::pendingEventTimerFired): 56580 (WebCore::EventQueue::dispatchEvent): 56581 * dom/EventQueue.h: 56582 * dom/ExceptionCode.cpp: 56583 * storage/IDBCursor.cpp: 56584 (WebCore::IDBCursor::update): 56585 (WebCore::IDBCursor::deleteFunction): 56586 * storage/IDBDatabaseException.h: 56587 * storage/IDBDatabaseException.idl: 56588 * storage/IDBIndex.cpp: 56589 (WebCore::IDBIndex::openCursor): 56590 (WebCore::IDBIndex::openKeyCursor): 56591 (WebCore::IDBIndex::get): 56592 (WebCore::IDBIndex::getKey): 56593 * storage/IDBObjectStore.cpp: 56594 (WebCore::IDBObjectStore::get): 56595 (WebCore::IDBObjectStore::add): 56596 (WebCore::IDBObjectStore::put): 56597 (WebCore::IDBObjectStore::deleteFunction): 56598 (WebCore::IDBObjectStore::clear): 56599 (WebCore::IDBObjectStore::openCursor): 56600 * storage/IDBRequest.cpp: 56601 (WebCore::IDBRequest::IDBRequest): 56602 (WebCore::IDBRequest::~IDBRequest): 56603 (WebCore::IDBRequest::readyState): 56604 (WebCore::IDBRequest::dispatchEvent): 56605 (WebCore::IDBRequest::enqueueEvent): 56606 (WebCore::IDBRequest::source): 56607 * storage/IDBRequest.h: 56608 * storage/IDBTransaction.cpp: 56609 (WebCore::IDBTransaction::onAbort): 56610 * storage/IDBTransaction.h: 56611 56612 2011-03-01 Carol Szabo <carol.szabo (a] nokia.com> 56613 56614 Reviewed by David Hyatt <hyatt (a] apple.com> 56615 56616 content property doesn't support quotes 56617 https://bugs.webkit.org/show_bug.cgi?id=6503 56618 56619 Added full support for quotes as defined by CSS 2.1. 56620 56621 Tests: fast/css/content/content-quotes-01.html 56622 fast/css/content/content-quotes-02.html 56623 fast/css/content/content-quotes-03.html 56624 fast/css/content/content-quotes-04.html 56625 fast/css/content/content-quotes-05.html 56626 56627 * Android.mk: 56628 * CMakeLists.txt: 56629 * GNUmakefile.am: 56630 * WebCore.pro: 56631 * WebCore.vcproj/WebCore.vcproj: 56632 * WebCore.xcodeproj/project.pbxproj: 56633 Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists 56634 * css/CSSParser.cpp: 56635 (WebCore::CSSParser::parseValue): 56636 (WebCore::CSSParser::parseQuotes): 56637 * css/CSSParser.h: 56638 Added needed stylesheet parsing support for quotes, 56639 (no-)open-quote and (no-)close-quote 56640 * css/CSSStyleSelector.cpp: 56641 (WebCore::CSSStyleSelector::applyProperty): 56642 Handled setting of the new quotes RenderStyle property and added 56643 handling of quotes for the content property. 56644 * css/html.css: 56645 (q:before): 56646 (q:after): 56647 replaced the '"' workaround with open/close-quote 56648 * rendering/RenderBlockLineLayout.cpp: 56649 (WebCore::dirtyLineBoxesForRenderer): 56650 Made RenderQuote behave like RenderCounter. 56651 Needed to ensure that the Quote text is calculated before layout, 56652 just as it is for RenderCounter. 56653 * rendering/RenderObject.h: 56654 (WebCore::RenderObject::isQuote): 56655 * rendering/RenderObjectChildList.cpp: 56656 (WebCore::RenderObjectChildList::removeChildNode): 56657 (WebCore::RenderObjectChildList::appendChildNode): 56658 (WebCore::RenderObjectChildList::insertChildNode): 56659 Handled updating of quote depth when renderers are added and removed 56660 from the tree. 56661 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 56662 * rendering/RenderQuote.cpp: Added. 56663 (WebCore::adjustDepth): 56664 (WebCore::RenderQuote::RenderQuote): 56665 (WebCore::RenderQuote::~RenderQuote): 56666 (WebCore::RenderQuote::renderName): 56667 (WebCore::RenderQuote::placeQuote): 56668 (WebCore::RenderQuote::originalText): 56669 (WebCore::RenderQuote::computePreferredLogicalWidths): 56670 (WebCore::RenderQuote::rendererSubtreeAttached): 56671 (WebCore::RenderQuote::rendererRemovedFromTree): 56672 (WebCore::RenderQuote::styleDidChange): 56673 * rendering/RenderQuote.h: Added. 56674 (WebCore::RenderQuote::isQuote): 56675 (WebCore::toRenderQuote): 56676 * rendering/RenderingAllInOne.cpp: 56677 Included RenderQuote.cpp 56678 * rendering/style/StyleAllInOne.cpp: 56679 Included QuotesData.cpp 56680 * rendering/style/ContentData.cpp: 56681 (WebCore::ContentData::dataEquivalent): 56682 Checked for quotetype identity. 56683 (WebCore::ContentData::deleteContent): 56684 Accounted for the new QUOTE_TYPE. 56685 * rendering/style/ContentData.h: 56686 (WebCore::ContentData::isQuote): 56687 (WebCore::ContentData::quote): 56688 (WebCore::ContentData::setQuote): 56689 * rendering/style/RenderStyle.cpp: 56690 (WebCore::RenderStyle::setContent): 56691 * rendering/style/RenderStyle.h: 56692 (WebCore::InheritedFlags::quotes): 56693 (WebCore::InheritedFlags::setQuotes): 56694 * rendering/style/RenderStyleConstants.h: 56695 * rendering/style/StyleRareInheritedData.cpp: 56696 (WebCore::StyleRareInheritedData::operator==): 56697 Included quotes in equality check. 56698 * rendering/style/StyleRareInheritedData.h: 56699 Added quotes 56700 56701 2011-03-01 Michael Nordman <michaeln (a] google.com> 56702 56703 Reviewed by Alexey Proskuryakov. 56704 56705 Alter the relative priorities of network vs fallback namespaces in the appcache. 56706 If a resource url is in an appcache's network namespace and fallback namespace, the network 56707 namespace wins (with the exception of the special '*' network namespace which does not take 56708 priority over the fallback namespace. 56709 https://bugs.webkit.org/show_bug.cgi?id=49292 56710 56711 Test: http/tests/appcache/online-fallback-layering.html 56712 56713 * loader/appcache/ApplicationCache.cpp: 56714 (WebCore::ApplicationCache::isURLInOnlineWhitelist): 56715 * loader/appcache/ApplicationCacheHost.cpp: 56716 (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): 56717 (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): 56718 * loader/appcache/ApplicationCacheStorage.cpp: 56719 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 56720 56721 2011-03-01 Patrick Gansterer <paroga (a] webkit.org> 56722 56723 Reviewed by Adam Roben. 56724 56725 Add a handler class for Win32 HANDLE 56726 https://bugs.webkit.org/show_bug.cgi?id=55334 56727 56728 This class will call CloseHandle in the destructor for valid handles. 56729 56730 * platform/win/Win32Handle.h: Added. 56731 56732 2011-03-01 Eric Carlson <eric.carlson (a] apple.com> 56733 56734 Reviewed by Chris Marrin. 56735 56736 <audio> and <video> should respect private browsing mode 56737 https://bugs.webkit.org/show_bug.cgi?id=55287 56738 <rdar://problem/9057699> 56739 56740 No new tests, this is just the plumbing. 56741 56742 * dom/Document.cpp: 56743 (WebCore::Document::privateBrowsingStateDidChange): New. 56744 (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto. 56745 (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto. 56746 * dom/Document.h: 56747 56748 * dom/Element.h: 56749 (WebCore::Element::privateBrowsingStateDidChange): New. 56750 56751 * html/HTMLMediaElement.cpp: 56752 (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes. 56753 (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes. 56754 (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode. 56755 (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): New, call through to MediaPlayer. 56756 * html/HTMLMediaElement.h: 56757 56758 * page/Page.cpp: 56759 (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange. 56760 56761 * platform/graphics/MediaPlayer.cpp: 56762 (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine. 56763 * platform/graphics/MediaPlayer.h: 56764 56765 * platform/graphics/MediaPlayerPrivate.h: 56766 (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode): Declare new interface. 56767 56768 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56769 56770 Reviewed by Steve Block. 56771 56772 When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR 56773 https://bugs.webkit.org/show_bug.cgi?id=54785 56774 56775 This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing 56776 the right thing and continue to do the right thing. It also modifies EventQueue 56777 so that we can cancel an event. To do this efficiently, the vector is now a 56778 ListHashSet. 56779 56780 Canelling the event is harder/messier, but the most deterministic thing to do. 56781 To the user, the work isn't done until we fire the onsuccess/onerror handler. 56782 So the event (which does fire that) needs to be cancelable. 56783 56784 transaction-abort.html tests this. 56785 56786 * dom/EventQueue.cpp: 56787 (WebCore::EventQueue::enqueueEvent): 56788 (WebCore::EventQueue::cancelEvent): 56789 (WebCore::EventQueue::pendingEventTimerFired): 56790 (WebCore::EventQueue::dispatchEvent): 56791 * dom/EventQueue.h: 56792 * dom/ExceptionCode.cpp: 56793 * storage/IDBCursor.cpp: 56794 (WebCore::IDBCursor::update): 56795 (WebCore::IDBCursor::deleteFunction): 56796 * storage/IDBDatabaseBackendImpl.cpp: 56797 (WebCore::IDBDatabaseBackendImpl::close): 56798 * storage/IDBDatabaseException.h: 56799 * storage/IDBIndex.cpp: 56800 (WebCore::IDBIndex::openCursor): 56801 (WebCore::IDBIndex::openKeyCursor): 56802 (WebCore::IDBIndex::get): 56803 (WebCore::IDBIndex::getKey): 56804 * storage/IDBObjectStore.cpp: 56805 (WebCore::IDBObjectStore::get): 56806 (WebCore::IDBObjectStore::add): 56807 (WebCore::IDBObjectStore::put): 56808 (WebCore::IDBObjectStore::deleteFunction): 56809 (WebCore::IDBObjectStore::clear): 56810 (WebCore::IDBObjectStore::openCursor): 56811 * storage/IDBRequest.cpp: 56812 (WebCore::IDBRequest::IDBRequest): 56813 (WebCore::IDBRequest::~IDBRequest): 56814 (WebCore::IDBRequest::readyState): 56815 (WebCore::IDBRequest::markEarlyDeath): 56816 (WebCore::IDBRequest::source): 56817 (WebCore::IDBRequest::abort): 56818 (WebCore::IDBRequest::onSuccess): 56819 (WebCore::IDBRequest::dispatchEvent): 56820 (WebCore::IDBRequest::enqueueEvent): 56821 * storage/IDBRequest.h: 56822 * storage/IDBTransaction.cpp: 56823 (WebCore::IDBTransaction::registerRequest): 56824 (WebCore::IDBTransaction::unregisterRequest): 56825 (WebCore::IDBTransaction::onAbort): 56826 * storage/IDBTransaction.h: 56827 56828 2011-03-01 Jeremy Orlow <jorlow (a] chromium.org> 56829 56830 Reviewed by Steve Block. 56831 56832 Only IndexedDB's error event should be cancelable 56833 https://bugs.webkit.org/show_bug.cgi?id=55413 56834 56835 * storage/IDBRequest.cpp: 56836 (WebCore::createSuccessEvent): 56837 * storage/IDBTransaction.cpp: 56838 (WebCore::IDBTransaction::onAbort): 56839 (WebCore::IDBTransaction::onComplete): 56840 56841 2011-03-01 Jia Pu <jpu (a] apple.com> 56842 56843 Reviewed by Darin Adler. 56844 56845 Remove CorrectionIndicator markers sooner. 56846 https://bugs.webkit.org/show_bug.cgi?id=54893 56847 <rdar://problem/8997524> 56848 56849 Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html 56850 56851 This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator 56852 marker after any editing command if the command: 56853 1. is not a SpellingCorrectionCommand itself. 56854 2. is not the command that triggers the autocorrection. 56855 This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns 56856 false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function 56857 always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member 56858 variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's 56859 public functions. 56860 56861 To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache 56862 to cache whether there is any marker of a particular type. 56863 56864 This patch also fixes two minor existing bugs. 56865 56866 1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because 56867 CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement 56868 marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement 56869 marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel 56870 if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null. 56871 56872 This works as following: 56873 When we apply an autocorrection, we add Replacement marker to corrected word, and store original word 56874 as the marker's description. If the user edited the corrected word afterward, we set description to null. 56875 So when we decide whether to show a reversion panel, we not only check for the existence of Replacement 56876 marker, but also check if description is null. 56877 56878 2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would 56879 occur when deleting the first character in an editable area. 56880 56881 * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is 56882 completely in from the document. 56883 56884 * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking 56885 the return value of possiblyHasMarkers() at beginning. 56886 (WebCore::DocumentMarkerController::possiblyHasMarkers): 56887 (WebCore::DocumentMarkerController::DocumentMarkerController): 56888 (WebCore::DocumentMarkerController::detach): 56889 (WebCore::DocumentMarkerController::removeMarkers): 56890 (WebCore::DocumentMarkerController::addMarker): 56891 (WebCore::DocumentMarkerController::copyMarkers): 56892 (WebCore::DocumentMarkerController::markerContainingPoint): 56893 (WebCore::DocumentMarkerController::renderedRectsForMarkers): 56894 (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair): 56895 (WebCore::DocumentMarkerController::repaintMarkers): 56896 (WebCore::DocumentMarkerController::shiftMarkers): 56897 (WebCore::DocumentMarkerController::setMarkersActive): 56898 (WebCore::DocumentMarkerController::hasMarkers): 56899 (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange): 56900 * dom/DocumentMarkerController.h: 56901 * editing/EditCommand.cpp: 56902 (WebCore::EditCommand::apply): 56903 (WebCore::EditCommand::shouldRetainAutocorrectionIndicator): 56904 (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator): 56905 * editing/EditCommand.h: 56906 * editing/Editor.cpp: 56907 (WebCore::Editor::respondToChangedSelection): 56908 (WebCore::Editor::appliedEditing): 56909 (WebCore::Editor::insertTextWithoutSendingTextEvent): 56910 (WebCore::Editor::insertLineBreak): 56911 (WebCore::Editor::insertParagraphSeparator): 56912 (WebCore::Editor::markMisspellingsAfterTypingToWord): 56913 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 56914 (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited): 56915 (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate): 56916 * editing/Editor.h: 56917 * editing/EditorCommand.cpp: 56918 (WebCore::executeInsertLineBreak): 56919 (WebCore::executeInsertParagraph): 56920 (WebCore::executeInsertText): 56921 * editing/SpellingCorrectionCommand.cpp: 56922 (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator): 56923 * editing/SpellingCorrectionCommand.h: 56924 * editing/TypingCommand.cpp: 56925 (WebCore::TypingCommand::TypingCommand): 56926 (WebCore::TypingCommand::deleteSelection): 56927 (WebCore::TypingCommand::deleteKeyPressed): 56928 (WebCore::TypingCommand::forwardDeleteKeyPressed): 56929 (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection): 56930 (WebCore::TypingCommand::insertText): 56931 (WebCore::TypingCommand::insertLineBreak): 56932 (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): 56933 (WebCore::TypingCommand::insertParagraphSeparator): 56934 * editing/TypingCommand.h: 56935 (WebCore::TypingCommand::create): 56936 (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator): 56937 (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator): 56938 * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html: 56939 56940 2011-03-01 Renata Hodovan <reni (a] webkit.org> 56941 56942 Reviewed by Andreas Kling. 56943 56944 FEDisplacementMapElement changes doesn't require relayout 56945 https://bugs.webkit.org/show_bug.cgi?id=55454 56946 56947 When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need 56948 to relayout the filter. 56949 56950 No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap. 56951 56952 * platform/graphics/filters/FEDisplacementMap.cpp: 56953 (WebCore::FEDisplacementMap::setXChannelSelector): 56954 (WebCore::FEDisplacementMap::setYChannelSelector): 56955 (WebCore::FEDisplacementMap::setScale): 56956 * platform/graphics/filters/FEDisplacementMap.h: 56957 * svg/SVGFEDisplacementMapElement.cpp: 56958 (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute): 56959 (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): 56960 * svg/SVGFEDisplacementMapElement.h: 56961 56962 2011-03-01 Dan Bernstein <mitz (a] apple.com> 56963 56964 Reviewed by Darin Adler. 56965 56966 <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base 56967 https://bugs.webkit.org/show_bug.cgi?id=55487 56968 56969 * css/html.css: 56970 (ruby > rt): Changed the default text-align value to -webkit-auto to signal 56971 the default expansion behavior. 56972 * rendering/RenderBlock.h: 56973 (WebCore::RenderRubyText::textAlignmentForLine): Made protected. 56974 (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected. 56975 * rendering/RenderRubyText.cpp: 56976 (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is 56977 -webkit-auto, returns JUSTIFY to allow expansion. 56978 (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If 56979 text-align is -webkit-auto, insets the line such that the inset on each side 56980 is the half the inter-ideograph expansion, or one ruby character wide, 56981 whichever is smaller. 56982 * rendering/RenderRubyText.h: 56983 56984 2011-03-01 Sam Weinig <sam (a] webkit.org> 56985 56986 Reviewed by Timothy Hatcher. 56987 56988 WebKit2 needs to be made localizable 56989 https://bugs.webkit.org/show_bug.cgi?id=55483 56990 56991 * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings. 56992 * WebCore.xcodeproj/project.pbxproj: 56993 Move Localizable.strings to WebCore. 56994 56995 * WebCore.exp.in: 56996 Add export for localizedString function. 56997 56998 * platform/LocalizedStrings.h: 56999 * platform/mac/LocalizedStringsMac.mm: Added. 57000 Add function to get localized version of a string from the WebCore bundle. 57001 57002 2011-03-01 Joseph Pecoraro <joepeck (a] webkit.org> 57003 57004 Reviewed by Timothy Hatcher. 57005 57006 All Console Messages should be passed to ChromeClients. 57007 https://bugs.webkit.org/show_bug.cgi?id=54926 57008 57009 Do not filter the message type here, allow clients 57010 to filter and deal with the different message types. 57011 57012 * page/Console.cpp: 57013 (WebCore::Console::addMessage): 57014 57015 2011-02-23 Joseph Pecoraro <joepeck (a] webkit.org> 57016 57017 Reviewed by Kenneth Rohde Christiansen. 57018 57019 Viewport parsing no longer accepts "1.0;" value as valid. 57020 https://bugs.webkit.org/show_bug.cgi?id=53705 57021 57022 When parsing numeric values, the "css-viewport" spec says 57023 to use the number prefix, and the non numeric part of the 57024 string can be ignored. This matches our behavior before 57025 r67376. The change was that checking the error out condition 57026 of String::toFloat doesn't necessarily mean that there 57027 was a non-numeric prefix. This patch checks if there was 57028 or wasn't a non-numeric prefix. 57029 57030 There is a console warning in any case where a numeric 57031 value is not parsed cleanly. There is an error warning 57032 when it is not a number at all, and a tip warning when 57033 it has been truncated. 57034 57035 Error messages are slightly improved to provide more 57036 context, both the key and value, when an error happens. 57037 57038 Test: fast/viewport/viewport-129.html 57039 57040 * dom/ViewportArguments.cpp: 57041 (WebCore::numericPrefix): 57042 (WebCore::findSizeValue): 57043 (WebCore::findScaleValue): 57044 (WebCore::findUserScalableValue): 57045 (WebCore::findTargetDensityDPIValue): 57046 (WebCore::viewportErrorMessageTemplate): 57047 (WebCore::viewportErrorMessageLevel): 57048 (WebCore::reportViewportWarning): 57049 * dom/ViewportArguments.h: 57050 57051 2011-03-01 Ilya Tikhonovsky <loislo (a] chromium.org> 57052 57053 Reviewed by Pavel Feldman. 57054 57055 Web Inspector: InjectedScript.setPropertyValue doesn't work. 57056 https://bugs.webkit.org/show_bug.cgi?id=55475 57057 57058 * inspector/InjectedScript.cpp: 57059 (WebCore::InjectedScript::setPropertyValue): 57060 57061 2011-03-01 Steve Block <steveblock (a] google.com> 57062 57063 Reviewed by Jeremy Orlow. 57064 57065 Remove unused JavaString::uchars() 57066 https://bugs.webkit.org/show_bug.cgi?id=55465 57067 57068 No new tests, removing dead code only. 57069 57070 * bridge/jni/JNIBridge.h: 57071 * bridge/jni/jsc/JavaStringJSC.h: 57072 (JSC::Bindings::JavaStringImpl::utf8): 57073 * bridge/jni/v8/JavaStringV8.h: 57074 57075 2011-03-01 Alexander Pavlov <apavlov (a] chromium.org> 57076 57077 Reviewed by Yury Semikhatsky. 57078 57079 Web Inspector: Extremely slow DOM search in GMail 57080 https://bugs.webkit.org/show_bug.cgi?id=55456 57081 57082 The solution comprises three major parts: 57083 - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk. 57084 - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed. 57085 - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult. 57086 57087 * inspector/front-end/ElementsPanel.js: 57088 (WebInspector.ElementsPanel.prototype.searchCanceled): 57089 (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): 57090 * inspector/front-end/ElementsTreeOutline.js: 57091 (WebInspector.ElementsTreeElement.prototype.highlightSearchResults): 57092 (WebInspector.ElementsTreeElement.prototype.updateTitle): 57093 (): 57094 * inspector/front-end/utilities.js: 57095 (): 57096 57097 2011-03-01 Adam Roben <aroben (a] apple.com> 57098 57099 Fix multiple-definition linker warnings introduced by r79978 on Windows 57100 57101 * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being 57102 compiled separately. 57103 57104 2011-03-01 Andras Becsi <abecsi (a] webkit.org> 57105 57106 Reviewed by Csaba Osztrogonc. 57107 57108 [Qt] Clean up the project files and move common options to WebKit.pri. 57109 57110 No new tests needed. 57111 57112 * WebCore.pri: Move common options to WebKit.pri. 57113 * WebCore.pro: Ditto. 57114 57115 2011-03-01 Steve Block <steveblock (a] google.com> 57116 57117 Reviewed by Pavel Feldman. 57118 57119 JNI code in Java bridge is not correctly guarded 57120 https://bugs.webkit.org/show_bug.cgi?id=55459 57121 57122 No new tests, build fix only. 57123 57124 * bridge/jni/v8/JNIBridgeV8.cpp: 57125 * bridge/jni/v8/JNIBridgeV8.h: 57126 * bridge/jni/v8/JNIUtilityPrivate.cpp: 57127 * bridge/jni/v8/JNIUtilityPrivate.h: 57128 * bridge/jni/v8/JavaClassV8.cpp: 57129 * bridge/jni/v8/JavaClassV8.h: 57130 * bridge/jni/v8/JavaInstanceV8.cpp: 57131 * bridge/jni/v8/JavaInstanceV8.h: 57132 * bridge/jni/v8/JavaNPObjectV8.cpp: 57133 * bridge/jni/v8/JavaNPObjectV8.h: 57134 57135 2011-03-01 Steve Block <steveblock (a] google.com> 57136 57137 Reviewed by Jeremy Orlow. 57138 57139 Bridge.h should not include BridgeJSC.h 57140 https://bugs.webkit.org/show_bug.cgi?id=55212 57141 57142 Instead, BridgeJSC.h should include Bridge.h and code should include 57143 BridgeJSC.h as appropriate. 57144 57145 This prevents ports that use V8 from having to include JSC-specific 57146 files, even if the contents of those files are guarded. 57147 57148 No new tests, cleanup only. 57149 57150 * bindings/js/JSPluginElementFunctions.cpp: 57151 * bindings/js/ScriptControllerBrew.cpp: 57152 * bindings/js/ScriptControllerGtk.cpp: 57153 * bindings/js/ScriptControllerHaiku.cpp: 57154 * bindings/js/ScriptControllerQt.cpp: 57155 * bindings/js/ScriptControllerMac.mm: 57156 * bindings/js/ScriptControllerWin.cpp: 57157 * bindings/js/ScriptControllerWx.cpp: 57158 * bindings/js/ScriptInstance.h: 57159 * bindings/objc/WebScriptObject.mm: 57160 * bridge/Bridge.h: 57161 * bridge/c/c_class.h: 57162 * bridge/c/c_instance.h: 57163 * bridge/c/c_runtime.h: 57164 * bridge/jni/jsc/JNIBridgeJSC.h: 57165 * bridge/jni/jsc/JavaInstanceJSC.h: 57166 * bridge/jsc/BridgeJSC.h: 57167 * bridge/objc/objc_runtime.h: 57168 * bridge/qt/qt_class.h: 57169 * bridge/qt/qt_instance.h: 57170 * bridge/qt/qt_pixmapruntime.h: 57171 * bridge/qt/qt_runtime.h: 57172 * bridge/runtime_array.h: 57173 * bridge/runtime_method.h: 57174 * bridge/runtime_object.h: 57175 * bridge/runtime_root.cpp: 57176 * bridge/testbindings.cpp: 57177 * bridge/testbindings.mm: 57178 * bridge/testqtbindings.cpp: 57179 * page/win/FrameWin.cpp: 57180 * platform/graphics/wince/MediaPlayerProxy.cpp: 57181 * plugins/PluginView.cpp: 57182 * plugins/PluginViewNone.cpp: 57183 * plugins/gtk/PluginViewGtk.cpp: 57184 * plugins/mac/PluginViewMac.mm: 57185 * plugins/qt/PluginViewQt.cpp: 57186 * plugins/symbian/PluginViewSymbian.cpp: 57187 * plugins/win/PluginViewWin.cpp: 57188 57189 2011-03-01 Nikolas Zimmermann <nzimmermann (a] rim.com> 57190 57191 Reviewed by Antti Koivisto. 57192 57193 SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling 57194 https://bugs.webkit.org/show_bug.cgi?id=54800 57195 57196 Wrong handling of currentColor on inherit 57197 https://bugs.webkit.org/show_bug.cgi?id=38102 57198 57199 Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last 57200 two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle. 57201 It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will 57202 once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to 57203 accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint 57204 type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles). 57205 57206 <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but 57207 <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle. 57208 57209 In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector, 57210 as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource, 57211 when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly 57212 available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled 57213 exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor. 57214 57215 A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce 57216 CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it. 57217 Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style. 57218 (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.) 57219 57220 Add several new tests covering the patch. 57221 57222 Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg 57223 svg/animations/animate-color-fill-currentColor.html 57224 svg/custom/SVGPaint-mutate-attribute.svg 57225 svg/custom/SVGPaint-mutate-inline-style.svg 57226 57227 * GNUMakefile.am: Add CSSMutableValue.h 57228 * WebCore.gypi: Ditto. 57229 * WebCore.xcodeproj/project.pbxproj: Ditto. 57230 * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration. 57231 (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration): 57232 * css/CSSMutableStyleDeclaration.h: Add destructor. 57233 * css/CSSMutableValue.h: Added. 57234 (WebCore::CSSMutableValue::CSSMutableValue): 57235 (WebCore::CSSMutableValue::~CSSMutableValue): 57236 (WebCore::CSSMutableValue::isMutableValue): 57237 (WebCore::CSSMutableValue::node): 57238 (WebCore::CSSMutableValue::setNode): 57239 (WebCore::CSSMutableValue::setNeedsStyleRecalc): 57240 * css/CSSStyleDeclaration.cpp: 57241 (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to. 57242 * css/CSSValue.h: 57243 (WebCore::CSSValue::isMutableValue): Return false, default. 57244 * css/SVGCSSComputedStyleDeclaration.cpp: 57245 (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects. 57246 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values. 57247 * css/SVGCSSStyleSelector.cpp: 57248 (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore. 57249 * rendering/style/SVGRenderStyle.cpp: 57250 (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes. 57251 * rendering/style/SVGRenderStyle.h: Ditto. 57252 (WebCore::SVGRenderStyle::initialFillOpacity): 57253 (WebCore::SVGRenderStyle::initialFillPaintType): 57254 (WebCore::SVGRenderStyle::initialFillPaintColor): 57255 (WebCore::SVGRenderStyle::initialFillPaintUri): 57256 (WebCore::SVGRenderStyle::initialStrokeOpacity): 57257 (WebCore::SVGRenderStyle::initialStrokePaintType): 57258 (WebCore::SVGRenderStyle::initialStrokePaintColor): 57259 (WebCore::SVGRenderStyle::initialStrokePaintUri): 57260 (WebCore::SVGRenderStyle::initialStrokeMiterLimit): 57261 (WebCore::SVGRenderStyle::initialStopOpacity): 57262 (WebCore::SVGRenderStyle::initialFloodOpacity): 57263 (WebCore::SVGRenderStyle::setFillPaint): 57264 (WebCore::SVGRenderStyle::setStrokePaint): 57265 (WebCore::SVGRenderStyle::fillPaintType): 57266 (WebCore::SVGRenderStyle::fillPaintColor): 57267 (WebCore::SVGRenderStyle::fillPaintUri): 57268 (WebCore::SVGRenderStyle::strokePaintType): 57269 (WebCore::SVGRenderStyle::strokePaintColor): 57270 (WebCore::SVGRenderStyle::strokePaintUri): 57271 (WebCore::SVGRenderStyle::hasStroke): 57272 (WebCore::SVGRenderStyle::hasFill): 57273 * rendering/style/SVGRenderStyleDefs.cpp: Ditto. 57274 (WebCore::StyleFillData::StyleFillData): 57275 (WebCore::StyleFillData::operator==): 57276 (WebCore::StyleStrokeData::StyleStrokeData): 57277 (WebCore::StyleStrokeData::operator==): 57278 * rendering/style/SVGRenderStyleDefs.h: Ditto. 57279 * rendering/svg/RenderSVGResource.cpp: Ditto. 57280 (WebCore::requestPaintingResource): 57281 * rendering/svg/RenderSVGResourceClipper.cpp: Ditto. 57282 (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): 57283 * rendering/svg/SVGResources.cpp: Ditto. 57284 (WebCore::paintingResourceFromSVGPaint): 57285 (WebCore::SVGResources::buildCachedResources): 57286 * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object. 57287 (WebCore::SVGColor::setRGBColor): 57288 (WebCore::SVGColor::setRGBColorICCColor): 57289 (WebCore::SVGColor::setColor): 57290 * svg/SVGColor.h: 57291 * svg/SVGPaint.cpp: Ditto. 57292 (WebCore::SVGPaint::setUri): 57293 (WebCore::SVGPaint::setPaint): 57294 * svg/SVGPaint.h: 57295 57296 2011-03-01 Andrey Adaikin <aandrey (a] google.com> 57297 57298 Reviewed by Pavel Feldman. 57299 57300 Web Inspector: [Text editor] Handle decorated lines in the editor 57301 https://bugs.webkit.org/show_bug.cgi?id=55373 57302 57303 * inspector/front-end/SourceFrame.js: 57304 (WebInspector.SourceFrame.prototype._startEditing): 57305 (WebInspector.SourceFrame.prototype._endEditing): 57306 (WebInspector.SourceFrame.prototype._createTextViewer): 57307 * inspector/front-end/TextViewer.js: 57308 (WebInspector.TextEditorGutterPanel.prototype.textChanged): 57309 (WebInspector.TextEditorGutterChunk.prototype.addDecoration): 57310 (WebInspector.TextEditorGutterChunk.prototype.removeDecoration): 57311 (WebInspector.TextEditorMainPanel.prototype.set readOnly): 57312 (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates): 57313 (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified): 57314 (WebInspector.TextEditorMainPanel.prototype._markDirtyLines): 57315 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 57316 (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange): 57317 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): 57318 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): 57319 (WebInspector.TextEditorMainChunk.prototype.addDecoration): 57320 (WebInspector.TextEditorMainChunk.prototype.removeDecoration): 57321 (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations): 57322 (WebInspector.TextEditorMainChunk.prototype.get decorated): 57323 57324 2011-03-01 Philippe Normand <pnormand (a] igalia.com> 57325 57326 Unreviewed GTK build fix after r79978 57327 57328 * GNUmakefile.am: 57329 57330 2011-03-01 Andras Becsi <abecsi (a] webkit.org> 57331 57332 Unreviewed build fix. 57333 57334 [Qt] Fix minimal build. 57335 57336 No new tests needed. 57337 57338 * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here. 57339 57340 2011-03-01 anthony taranto <anthony.taranto (a] gmail.com> 57341 57342 Return undefined value from ScriptController::evaluate(), allowing the 57343 caller to distinguish between an error and an undefined return value. 57344 https://bugs.webkit.org/show_bug.cgi?id=51528 57345 57346 * bindings/v8/ScriptController.cpp: 57347 57348 2011-03-01 Roland Steiner <rolandsteiner (a] chromium.org> 57349 57350 Reviewed by Kent Tamura. 57351 57352 Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow 57353 https://bugs.webkit.org/show_bug.cgi?id=54853 57354 57355 Moving the files from rendering to html/shadow, with the exception of 57356 the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine 57357 (this place is not ideal, but only a temporary state during the larger refactoring 57358 for <input>). 57359 57360 No new tests. (refactoring) 57361 57362 * Android.mk: 57363 * CMakeLists.txt: 57364 * WebCore.gypi: 57365 * WebCore.pro: 57366 * WebCore.vcproj/WebCore.vcproj: 57367 * WebCore.xcodeproj/project.pbxproj: 57368 * html/shadow/TextControlInnerElements.cpp: Copied from Source/WebCore/rendering/TextControlInnerElements.cpp. 57369 * html/shadow/TextControlInnerElements.h: Copied from Source/WebCore/rendering/TextControlInnerElements.h. 57370 * rendering/RenderTextControlSingleLine.cpp: 57371 (WebCore::RenderTextControlInnerBlock::positionForPoint): 57372 * rendering/RenderTextControlSingleLine.h: 57373 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): 57374 (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty): 57375 * rendering/TextControlInnerElements.cpp: Removed. 57376 * rendering/TextControlInnerElements.h: Removed. 57377 57378 2011-03-01 Ryosuke Niwa <rniwa (a] webkit.org> 57379 57380 Reviewed by Tony Chang. 57381 57382 applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle 57383 https://bugs.webkit.org/show_bug.cgi?id=55338 57384 57385 Deployed EditingStyle in applyInlineStyleToPushDown and removeInlineStyleFromElement. 57386 57387 Also added a convenience function EditingStyle::setProperty, which lazily instantiates 57388 new CSSMutableStyleDeclaration for m_mutableStyle. 57389 57390 * editing/ApplyStyleCommand.cpp: 57391 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle*. 57392 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Ditto. 57393 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto. 57394 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls the above three functions. 57395 (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownInlineStyleAroundNode. 57396 * editing/ApplyStyleCommand.h: 57397 * editing/EditingStyle.cpp: 57398 (WebCore::HTMLElementEquivalent::addToStyle): Takes EditingStyle*; calls EditingStyle::setProperty. 57399 (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto. 57400 (WebCore::EditingStyle::setProperty): Added. This member function lazily instantiates 57401 new CSSMutableStyleDeclaration for m_mutableStyle. 57402 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Takes EditingStyle*. 57403 (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Ditto. 57404 (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Ditto. 57405 * editing/EditingStyle.h: Added HTMLElementEquivalent and HTMLAttributeEquivalent as friends. 57406 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Ditto. 57407 * editing/InsertTextCommand.cpp: Removed unnecessary includes. 57408 * editing/RemoveCSSPropertyCommand.h: Ditto. 57409 57410 2011-02-28 Pavel Feldman <pfeldman (a] chromium.org> 57411 57412 Not reviewed: chromium rebuilds XMLViewer after noop. Fixed gyp file. 57413 57414 * WebCore.gyp/WebCore.gyp: 57415 57416 2011-02-28 David Levin <levin (a] chromium.org> 57417 57418 Reviewed by Darin Adler. 57419 57420 KURL should expose a referrer property. 57421 https://bugs.webkit.org/show_bug.cgi?id=55415 57422 57423 No change in functionality so no new tests. 57424 57425 * loader/FrameLoader.cpp: 57426 (WebCore::FrameLoader::setOutgoingReferrer): Refactor to put the majority 57427 of functionality in KURL::strippedForUseAsReferrer() so that this code can 57428 be more easily reused. 57429 * platform/KURL.cpp: 57430 (WebCore::KURL::strippedForUseAsReferrer): Converts the url to a string 57431 which is suitable for use as a referrer. 57432 * platform/KURL.h: 57433 57434 2011-02-28 Chang Shu <cshu (a] webkit.org> 57435 57436 Reviewed by Ryosuke Niwa. 57437 57438 Remove the support of Frame::isContentEditable and its dependencies. 57439 https://bugs.webkit.org/show_bug.cgi?id=54292 57440 57441 Frame::isContentEditable is currently based on two things: Editor::clientIsEditable and 57442 Document::inDesignMode. In fact, it should only rely on Document::inDesignMode. As a result, 57443 Editor::clientIsEditable and its client-side implementation can be removed. 57444 57445 * WebCore.exp.in: 57446 * accessibility/AccessibilityRenderObject.cpp: 57447 (WebCore::AccessibilityRenderObject::isReadOnly): 57448 * editing/Editor.cpp: 57449 * editing/Editor.h: 57450 * editing/SelectionController.cpp: 57451 (WebCore::SelectionController::setSelectionFromNone): 57452 * html/HTMLElement.cpp: 57453 (WebCore::HTMLElement::isContentEditable): 57454 (WebCore::HTMLElement::isContentRichlyEditable): 57455 * page/DragController.cpp: 57456 (WebCore::DragController::operationForLoad): 57457 * page/EditorClient.h: 57458 * page/Frame.cpp: 57459 * page/Frame.h: 57460 57461 2011-02-28 Kent Tamura <tkent (a] chromium.org> 57462 57463 Reviewed by Darin Adler. 57464 57465 Number type input cannot be set to empty string if it has an initial value 57466 https://bugs.webkit.org/show_bug.cgi?id=53744 57467 57468 We need to distinguish null strings and empty strings for 57469 InputElementData::value. So InputType::sanitizeValue() also needs to 57470 take care of it. 57471 57472 * dom/InputElement.h: Add a comment to InputElementData::value and 57473 setValue about null strings. 57474 * html/InputType.h: Add a comment to sanitizeValue about null strings. 57475 * html/NumberInputType.cpp: 57476 (WebCore::NumberInputType::sanitizeValue): Returns a null string if the 57477 proposed value is a null string. Returning an empty string if the 57478 proposed value is not a number. 57479 57480 2011-02-28 Kent Tamura <tkent (a] chromium.org> 57481 57482 Reviewed by Darin Adler. 57483 57484 Number type input should not handle mouse wheel events if it has no focus. 57485 https://bugs.webkit.org/show_bug.cgi?id=53638 57486 57487 * html/TextFieldInputType.cpp: 57488 (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Check focused(). 57489 57490 2011-02-28 Noel Gordon <noel.gordon (a] gmail.com> 57491 Reviewed by James Robinson. 57492 57493 [chromium] GradientSkia: use the common Gradient stop sorting methods. 57494 https://bugs.webkit.org/show_bug.cgi?id=54625 57495 57496 Remove a FIXME: call the Gradient.cpp stop storting routines, no need 57497 to duplicate that code herein. 57498 57499 No change in behavior, so no new tests. 57500 57501 * platform/graphics/skia/GradientSkia.cpp: 57502 (WebCore::Gradient::platformGradient): 57503 57504 2011-02-28 Steve Block <steveblock (a] google.com> 57505 57506 Reviewed by Jeremy Orlow. 57507 57508 JNI code should include <jni.h> on non-OSX platforms. 57509 https://bugs.webkit.org/show_bug.cgi?id=55219 57510 57511 On Mac we need to include <JavaVM/jni.h> as this is a framework 57512 include. We include jni.h through JNIUtility.h to minimize the 57513 number of ifdefs. 57514 57515 No new tests, build fix only. 57516 57517 * WebCore.xcodeproj/project.pbxproj 57518 * bridge/jni/JNIUtility.h: 57519 * bridge/jni/jni_jsobject.h: 57520 * bridge/jni/jsc/JNIBridgeJSC.h: 57521 * bridge/jni/jsc/JavaInstanceJSC.h: 57522 * bridge/jni/v8/JavaInstanceV8.h: 57523 57524 2011-02-28 Nebojsa Sabovic <neb (a] chromium.org> 57525 57526 Reviewed by James Robinson. 57527 57528 [chromium] Pepper plugins render upside down 57529 https://bugs.webkit.org/show_bug.cgi?id=55101 57530 57531 No layout tests for pepper plugins (yet). 57532 57533 * platform/graphics/chromium/PluginLayerChromium.h: 57534 57535 2011-02-28 Tony Gentilcore <tonyg (a] chromium.org> 57536 57537 Reviewed by Adam Barth. 57538 57539 Follow HTML5 spec for document.open() a little more closely 57540 https://bugs.webkit.org/show_bug.cgi?id=55392 57541 57542 See: 3.5.1.4 at http://www.whatwg.org/specs/web-apps/current-work/#dom-document-open. 57543 57544 The second return check matches the spec. The first return check (isExecutingScript()) 57545 was left in place because without it, fast/tokenizer/write-external-script-open.html 57546 would fail. It also possible there is a spec bug because FF4 crashes on that test and 57547 IE9 prints "FAILURE." The isLoadingMainResource() check was removed because the main 57548 resource is always loading while parser->isParsing(). 57549 57550 Test: fast/parser/double-write-from-closed-iframe.html 57551 57552 * dom/Document.cpp: 57553 (WebCore::Document::open): 57554 57555 2011-02-28 Avi Drissman <avi (a] google.com> 57556 57557 Reviewed by James Robinson. 57558 57559 WebCursorInfo needs to match enums in platform/Cursor.h 57560 https://bugs.webkit.org/show_bug.cgi?id=55094 57561 57562 * platform/chromium/CursorChromium.cpp: 57563 (WebCore::grabCursor): 57564 (WebCore::grabbingCursor): 57565 * platform/chromium/PlatformCursor.h: 57566 57567 2011-02-28 Jia Pu <jpu (a] apple.com> 57568 57569 Reviewed by Darin Adler. 57570 57571 [Mac] Make "Change back to " contextual menu item work with new autocorrection. 57572 https://bugs.webkit.org/show_bug.cgi?id=55396 57573 <rdar://problem/8836093> 57574 57575 The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't 57576 calculated. We need this to do hit test when deciding whether to show "Change back to ..." on 57577 contextual menu. 57578 57579 The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change 57580 back to ..." is clicked. 57581 57582 * editing/Editor.cpp: 57583 (WebCore::Editor::changeBackToReplacedString): 57584 * rendering/InlineTextBox.cpp: 57585 (WebCore::InlineTextBox::paintDocumentMarkers): 57586 57587 2011-02-28 Victoria Kirst <vrk (a] google.com> 57588 57589 Reviewed by Kenneth Russell. 57590 57591 [chromium] Fall back to texSubImage2D when mapTexSubImage2D fails in VideoLayerChromium 57592 https://bugs.webkit.org/show_bug.cgi?id=55269 57593 57594 Mesa does not support mapTexSubImage2D, so this change lets 57595 GPU-accelerated video work with DRT layout tests. 57596 57597 * platform/graphics/chromium/VideoLayerChromium.cpp: 57598 (WebCore::VideoLayerChromium::updateTexture): 57599 57600 2011-02-28 David Hyatt <hyatt (a] apple.com> 57601 57602 Reviewed by Dan Bernstein. 57603 57604 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. Change staticX and staticY 57605 to be staticInlinePosition and staticBlockPosition. Patch all of the computations involving these variables to be writing 57606 mode aware. Mixed writing modes are not yet supported. 57607 57608 Added new tests in fast/block/positioning/auto. 57609 57610 * rendering/RenderBlock.cpp: 57611 (WebCore::RenderBlock::adjustPositionedBlock): 57612 (WebCore::RenderBlock::layoutPositionedObjects): 57613 * rendering/RenderBlock.h: 57614 (WebCore::RenderBlock::startOffsetForLine): 57615 * rendering/RenderBlockLineLayout.cpp: 57616 (WebCore::RenderBlock::appendRunsForObject): 57617 (WebCore::setStaticPositions): 57618 (WebCore::RenderBlock::skipTrailingWhitespace): 57619 (WebCore::RenderBlock::skipLeadingWhitespace): 57620 (WebCore::RenderBlock::findNextLineBreak): 57621 * rendering/RenderBox.cpp: 57622 (WebCore::RenderBox::positionLineBox): 57623 (WebCore::computeInlineStaticDistance): 57624 (WebCore::RenderBox::computePositionedLogicalWidth): 57625 (WebCore::computeBlockStaticDistance): 57626 (WebCore::RenderBox::computePositionedLogicalHeight): 57627 (WebCore::RenderBox::computePositionedLogicalWidthReplaced): 57628 (WebCore::RenderBox::computePositionedLogicalHeightReplaced): 57629 * rendering/RenderBoxModelObject.h: 57630 (WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft): 57631 (WebCore::RenderBoxModelObject::borderAndPaddingStart): 57632 (WebCore::RenderBoxModelObject::borderLogicalLeft): 57633 (WebCore::RenderBoxModelObject::borderLogicalRight): 57634 * rendering/RenderFlexibleBox.cpp: 57635 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 57636 (WebCore::RenderFlexibleBox::layoutVerticalBox): 57637 * rendering/RenderInline.cpp: 57638 (WebCore::RenderInline::relativePositionedInlineOffset): 57639 * rendering/RenderLayer.cpp: 57640 (WebCore::RenderLayer::RenderLayer): 57641 * rendering/RenderLayer.h: 57642 (WebCore::RenderLayer::staticInlinePosition): 57643 (WebCore::RenderLayer::staticBlockPosition): 57644 (WebCore::RenderLayer::setStaticInlinePosition): 57645 (WebCore::RenderLayer::setStaticBlockPosition): 57646 * rendering/style/RenderStyle.h: 57647 (WebCore::InheritedFlags::hasAutoLeftAndRight): 57648 (WebCore::InheritedFlags::hasAutoTopAndBottom): 57649 (WebCore::InheritedFlags::hasStaticInlinePosition): 57650 (WebCore::InheritedFlags::hasStaticBlockPosition): 57651 57652 2011-02-28 Balazs Kelemen <kbalazs (a] webkit.org> 57653 57654 Reviewed by Anders Carlsson. 57655 57656 [Qt][WK2] Plugin initialization 57657 https://bugs.webkit.org/show_bug.cgi?id=48127 57658 57659 No function change so no new tests. 57660 57661 * WebCore.pri: Lift the definition of the XP_UNIX macro 57662 from WebCore.pri to WebKit.pri to apply it to WebKit2 as well. 57663 57664 2011-02-28 Dean Jackson <dino (a] apple.com> 57665 57666 Reviewed by Eric Carlson. 57667 57668 https://bugs.webkit.org/show_bug.cgi?id=55239 57669 57670 Allow webkitEnterFullScreen to be called from outside 57671 a user gesture, but only when the correct restrictions 57672 have been lifted in WebCore. Add a new restriction type 57673 for this situation. Meanwhile, expose the current 57674 restrictions externally from HTMLMediaElement, so that 57675 clients can easily set restrictions on their port. 57676 57677 No new tests. This doesn't change existing behavior. Some 57678 WebKit clients may lift the restriction. 57679 57680 * html/HTMLMediaElement.cpp: 57681 (WebCore::HTMLMediaElement::HTMLMediaElement): 57682 - ensure restrictions initialize with fullscreen restricted 57683 * html/HTMLMediaElement.h: 57684 (WebCore::HTMLMediaElement::requireUserGestureForLoad): 57685 (WebCore::HTMLMediaElement::requireUserGestureForRateChange): 57686 (WebCore::HTMLMediaElement::requireUserGestureForFullScreen): 57687 (WebCore::HTMLMediaElement::setBehaviorRestrictions): 57688 - new methods to expose the current restrictions 57689 * html/HTMLVideoElement.cpp: 57690 (WebCore::HTMLVideoElement::webkitEnterFullscreen): 57691 57692 2011-02-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 57693 57694 Unreviewed, rolling out r78789. 57695 http://trac.webkit.org/changeset/78789 57696 https://bugs.webkit.org/show_bug.cgi?id=55409 57697 57698 Incorrect canvas fallback implementation (Requested by 57699 inferno-sec on #webkit). 57700 57701 * accessibility/AccessibilityObject.h: 57702 * accessibility/AccessibilityRenderObject.cpp: 57703 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 57704 (WebCore::AccessibilityRenderObject::canHaveChildren): 57705 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 57706 (atkRole): 57707 * accessibility/mac/AccessibilityObjectWrapper.mm: 57708 * html/HTMLFormControlElement.cpp: 57709 (WebCore::HTMLFormControlElement::isFocusable): 57710 * rendering/RenderHTMLCanvas.cpp: 57711 * rendering/RenderHTMLCanvas.h: 57712 * rendering/RenderObject.cpp: 57713 (WebCore::RenderObject::repaint): 57714 * rendering/RenderTreeAsText.cpp: 57715 (WebCore::write): 57716 57717 2011-02-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 57718 57719 Unreviewed, rolling out r79425. 57720 http://trac.webkit.org/changeset/79425 57721 https://bugs.webkit.org/show_bug.cgi?id=55406 57722 57723 Incorrect canvas fallback implementation. (Requested by 57724 inferno-sec on #webkit). 57725 57726 * rendering/RenderHTMLCanvas.cpp: 57727 (WebCore::RenderHTMLCanvas::nodeAtPoint): 57728 57729 2011-02-28 Adam Klein <adamk (a] chromium.org> 57730 57731 Reviewed by Adam Barth. 57732 57733 [fileapi] Implement LocalFileSystem.resolveLocalFileSystemURI 57734 https://bugs.webkit.org/show_bug.cgi?id=54774 57735 57736 See http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods 57737 for the spec implemented by this patch. 57738 57739 Test: fast/filesystem/resolve-uri.html 57740 57741 * fileapi/DOMFileSystemBase.cpp: 57742 (WebCore::DOMFileSystemBase::crackFileSystemURL): 57743 * fileapi/DOMFileSystemBase.h: 57744 Added constants for "temporary" and "persistent". 57745 * fileapi/EntryBase.cpp: 57746 Replace hardcoded strings with aforementioned constants. 57747 * fileapi/FileSystemCallbacks.cpp: 57748 (WebCore::ResolveURICallbacks::create): 57749 (WebCore::ResolveURICallbacks::ResolveURICallbacks): 57750 (WebCore::ResolveURICallbacks::didOpenFileSystem): 57751 Chains a call of openFileSystem to calls to getDirectory/getFile. 57752 * fileapi/FileSystemCallbacks.h: 57753 * fileapi/LocalFileSystem.cpp: 57754 (WebCore::LocalFileSystem::readFileSystem): 57755 * fileapi/LocalFileSystem.h: 57756 Remove size argument from readFileSystem() 57757 * page/DOMWindow.cpp: 57758 (WebCore::DOMWindow::resolveLocalFileSystemURI): 57759 * page/DOMWindow.h: 57760 * page/DOMWindow.idl: 57761 57762 2011-02-28 Alexis Menard <alexis.menard (a] openbossa.org> 57763 57764 Reviewed by Oliver Hunt. 57765 57766 Build fix for Qt port after API changes of http://trac.webkit.org/changeset/79904. 57767 57768 * bridge/qt/qt_runtime.cpp: 57769 (JSC::Bindings::QtConnectionObject::execute): 57770 57771 2011-02-25 David Levin <levin (a] chromium.org> 57772 57773 Reviewed by Darin Adler. 57774 57775 Remove some duplicate code from KURLGoogle.cpp 57776 https://bugs.webkit.org/show_bug.cgi?id=55266 57777 57778 No change in functionality so no new tests. 57779 57780 * WebCore.gyp/WebCore.gyp: Make KURL.cpp get built by Chromium. 57781 * platform/KURL.cpp: 57782 Simply moved #include's and some code that was identical (i.e. 57783 had been copied) to KURLGoogle.cpp outside of ifdef !USE(GOOGLEURL) 57784 to reduce duplication. 57785 * platform/KURLGoogle.cpp: 57786 Removed the duplicate code. 57787 57788 2011-02-28 Oliver Hunt <oliver (a] apple.com> 57789 57790 Reviewed by Gavin Barraclough. 57791 57792 Make ScopeChainNode GC allocated 57793 https://bugs.webkit.org/show_bug.cgi?id=55283 57794 57795 Update WebCore to deal with the absence of the ScopeChain 57796 class. 57797 57798 * ForwardingHeaders/runtime/ScopeChain.h: Added. 57799 * bindings/js/JSHTMLElementCustom.cpp: 57800 (WebCore::JSHTMLElement::pushEventHandlerScope): 57801 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 57802 (WebCore::JSJavaScriptCallFrame::scopeChain): 57803 (WebCore::JSJavaScriptCallFrame::scopeType): 57804 * bindings/js/JSLazyEventListener.cpp: 57805 (WebCore::JSLazyEventListener::initializeJSFunction): 57806 * bindings/js/JSMainThreadExecState.h: 57807 (WebCore::JSMainThreadExecState::evaluate): 57808 * bindings/js/JSNodeCustom.cpp: 57809 (WebCore::JSNode::pushEventHandlerScope): 57810 * bindings/js/JavaScriptCallFrame.cpp: 57811 (WebCore::JavaScriptCallFrame::scopeChain): 57812 * bindings/js/JavaScriptCallFrame.h: 57813 * bindings/scripts/CodeGeneratorJS.pm: 57814 * bridge/c/c_class.cpp: 57815 * bridge/c/c_runtime.cpp: 57816 * bridge/jni/JNIBridge.cpp: 57817 * bridge/qt/qt_runtime.cpp: 57818 (JSC::Bindings::QtConnectionObject::execute): 57819 * plugins/PluginViewNone.cpp: 57820 57821 2011-02-28 Chang Shu <cshu (a] webkit.org> 57822 57823 Reviewed by Adele Peterson. 57824 57825 REGRESSION (r79762): Items in <select multiple> have focus rings, but shouldn't 57826 https://bugs.webkit.org/show_bug.cgi?id=55323 57827 57828 Draw focus ring on selected items only if spatial navigation is enabled. 57829 57830 Test: fast/forms/select-listbox-multiple-no-focusring.html 57831 57832 * rendering/RenderBlock.h: 57833 * rendering/RenderListBox.cpp: 57834 (WebCore::RenderListBox::addFocusRingRects): 57835 57836 2011-02-28 Abhishek Arya <inferno (a] chromium.org> 57837 57838 Reviewed by Anders Carlsson. 57839 57840 We can cancel the plugin load and fail with error before m_manualStream 57841 got a chance to initialize in PluginView::didReceiveResponse. This can 57842 happen when we run pending document onload events during plugin load that 57843 remove the frame from underneath. So, change the assert into a null check. 57844 https://bugs.webkit.org/show_bug.cgi?id=55307 57845 57846 * plugins/PluginView.cpp: 57847 (WebCore::PluginView::didFail): 57848 57849 2011-02-28 Alexis Menard <alexis.menard (a] openbossa.org> 57850 57851 Reviewed by Alexey Proskuryakov. 57852 57853 Build fix for Intel ICC Compiler. 57854 https://bugs.webkit.org/show_bug.cgi?id=55221 57855 57856 The virtual inheritance seems to confuse ICC. 57857 Anything that links with webkit has an undefined reference otherwise. 57858 57859 * svg/SVGTransformable.cpp: 57860 (WebCore::SVGTransformable::~SVGTransformable): 57861 * svg/SVGTransformable.h: 57862 57863 2011-02-28 Sergio Villar Senin <svillar (a] igalia.com> 57864 57865 Reviewed by Martin Robinson. 57866 57867 [Gtk] Resource size is incorrectly reported to WebCore 57868 https://bugs.webkit.org/show_bug.cgi?id=53228 57869 57870 When calling didReceiveData we are sending an invalid value for 57871 lengthReceived. Sometimes we were even passing a boolean value instead of the 57872 expected integer. We should pass the size of the received data instead of the 57873 total amount of data received. 57874 57875 * platform/network/ResourceHandleInternal.h: 57876 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 57877 * platform/network/soup/ResourceHandleSoup.cpp: 57878 (WebCore::gotChunkCallback): 57879 (WebCore::sendRequestCallback): 57880 (WebCore::readCallback): 57881 57882 2011-02-28 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 57883 57884 Reviewed by Dan Bernstein. 57885 57886 Cleanup the include guard form an Objective-C files 57887 https://bugs.webkit.org/show_bug.cgi?id=55379 57888 57889 Normally Objective-C files do not need include guard. 57890 r76916 introduced an include guard in EmptyProtocolDefinitions.h. 57891 The guard is no longer needed after r76991. 57892 57893 No new tests as there is no new functionality. 57894 57895 * platform/mac/EmptyProtocolDefinitions.h: 57896 57897 2011-02-28 Pavel Podivilov <podivilov (a] chromium.org> 57898 57899 Reviewed by Pavel Feldman. 57900 57901 Web Inspector: [REGRESSION] no resources in scripts panel because debugger is enabled too early. 57902 https://bugs.webkit.org/show_bug.cgi?id=55389 57903 57904 * inspector/InspectorAgent.cpp: 57905 (WebCore::InspectorAgent::populateScriptObjects): 57906 * inspector/InspectorDebuggerAgent.cpp: 57907 (WebCore::InspectorDebuggerAgent::setFrontend): 57908 (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown): 57909 * inspector/InspectorDebuggerAgent.h: 57910 57911 2011-02-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 57912 57913 Unreviewed, rolling out r79877. 57914 http://trac.webkit.org/changeset/79877 57915 https://bugs.webkit.org/show_bug.cgi?id=55388 57916 57917 Breaks chromium build (Requested by antonm_ on #webkit). 57918 57919 * WebCore.gypi: 57920 * platform/graphics/chromium/ContentLayerChromium.cpp: 57921 (WebCore::ContentLayerChromium::updateContentsIfDirty): 57922 (WebCore::ContentLayerChromium::resizeUploadBufferForImage): 57923 (WebCore::ContentLayerChromium::resizeUploadBuffer): 57924 (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels): 57925 (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels): 57926 (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels): 57927 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 57928 (WebCore::ContentLayerChromium::draw): 57929 * platform/graphics/chromium/ContentLayerChromium.h: 57930 * platform/graphics/chromium/ImageLayerChromium.cpp: 57931 (WebCore::ImageLayerChromium::updateContentsIfDirty): 57932 * platform/graphics/chromium/ImageLayerChromium.h: 57933 * platform/graphics/chromium/LayerTilerChromium.cpp: 57934 (WebCore::LayerTilerChromium::contentRectToTileIndices): 57935 (WebCore::LayerTilerChromium::update): 57936 * platform/graphics/chromium/LayerTilerChromium.h: 57937 * platform/graphics/chromium/PlatformCanvas.cpp: Removed. 57938 * platform/graphics/chromium/PlatformCanvas.h: Removed. 57939 * platform/graphics/chromium/PlatformImage.cpp: Removed. 57940 * platform/graphics/chromium/PlatformImage.h: Removed. 57941 57942 2011-02-28 Pavel Podivilov <podivilov (a] chromium.org> 57943 57944 Reviewed by Pavel Feldman. 57945 57946 Web Inspector: add live edit test. 57947 https://bugs.webkit.org/show_bug.cgi?id=55360 57948 57949 Test: inspector/debugger/live-edit.html 57950 57951 * inspector/front-end/SourceFrame.js: 57952 (WebInspector.SourceFrame.prototype._doubleClick): 57953 (WebInspector.SourceFrame.prototype._didEditLine): 57954 57955 2011-02-28 Pavel Feldman <pfeldman (a] chromium.org> 57956 57957 Not reviewed. Follow up to r79858, removing optimistic assertion that fails on debug bot. 57958 57959 * inspector/InspectorBrowserDebuggerAgent.cpp: 57960 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 57961 57962 2011-02-25 Adrienne Walker <enne (a] google.com> 57963 57964 Reviewed by James Robinson. 57965 57966 [chromium] Abstract "pixels with a graphics context" into its own class 57967 https://bugs.webkit.org/show_bug.cgi?id=55259 57968 57969 This creates new PlatformCanvas/PlatformImage classes which wrap 57970 all of the #ifdef Skia/Cg warts from the compositor. All classes 57971 (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are 57972 modified to use these abstractions. 57973 57974 Tests: LayoutTests/compositing 57975 57976 * WebCore.gypi: 57977 * platform/graphics/chromium/ContentLayerChromium.cpp: 57978 (WebCore::ContentLayerChromium::updateContentsIfDirty): 57979 (WebCore::ContentLayerChromium::resizeUploadBuffer): 57980 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 57981 (WebCore::ContentLayerChromium::updateTexture): 57982 (WebCore::ContentLayerChromium::draw): 57983 * platform/graphics/chromium/ContentLayerChromium.h: 57984 * platform/graphics/chromium/ImageLayerChromium.cpp: 57985 (WebCore::ImageLayerChromium::updateContentsIfDirty): 57986 (WebCore::ImageLayerChromium::updateTextureIfNeeded): 57987 * platform/graphics/chromium/ImageLayerChromium.h: 57988 * platform/graphics/chromium/LayerTilerChromium.cpp: 57989 (WebCore::LayerTilerChromium::contentRectToTileIndices): 57990 (WebCore::LayerTilerChromium::update): 57991 (WebCore::LayerTilerChromium::updateFromPixels): 57992 * platform/graphics/chromium/LayerTilerChromium.h: 57993 * platform/graphics/chromium/PlatformCanvas.cpp: Added. 57994 (WebCore::PlatformCanvas::PlatformCanvas): 57995 (WebCore::PlatformCanvas::~PlatformCanvas): 57996 (WebCore::PlatformCanvas::resize): 57997 (WebCore::PlatformCanvas::AutoLocker::AutoLocker): 57998 (WebCore::PlatformCanvas::AutoLocker::~AutoLocker): 57999 (WebCore::PlatformCanvas::Painter::Painter): 58000 (WebCore::PlatformCanvas::Painter::~Painter): 58001 * platform/graphics/chromium/PlatformCanvas.h: Added. 58002 (WebCore::PlatformCanvas::AutoLocker::pixels): 58003 (WebCore::PlatformCanvas::Painter::context): 58004 (WebCore::PlatformCanvas::size): 58005 * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp. 58006 (WebCore::PlatformImage::PlatformImage): 58007 (WebCore::PlatformImage::updateFromImage): 58008 * platform/graphics/chromium/PlatformImage.h: Added. 58009 (WebCore::PlatformImage::pixels): 58010 (WebCore::PlatformImage::size): 58011 58012 2011-02-28 Sheriff Bot <webkit.review.bot (a] gmail.com> 58013 58014 Unreviewed, rolling out r79784. 58015 http://trac.webkit.org/changeset/79784 58016 https://bugs.webkit.org/show_bug.cgi?id=55386 58017 58018 This change causes lots of assertion failures in Debug builds 58019 (Requested by aroben on #webkit). 58020 58021 * css/CSSStyleSelector.cpp: 58022 (WebCore::convertToLength): 58023 (WebCore::CSSStyleSelector::applyProperty): 58024 (WebCore::CSSStyleSelector::createTransformOperations): 58025 * platform/Length.h: 58026 (WebCore::Length::Length): 58027 (WebCore::Length::operator==): 58028 (WebCore::Length::operator!=): 58029 (WebCore::Length::rawValue): 58030 (WebCore::Length::type): 58031 (WebCore::Length::quirk): 58032 (WebCore::Length::setValue): 58033 (WebCore::Length::setRawValue): 58034 (WebCore::Length::calcFloatValue): 58035 (WebCore::Length::isZero): 58036 (WebCore::Length::blend): 58037 * rendering/AutoTableLayout.cpp: 58038 (WebCore::AutoTableLayout::recalcColumn): 58039 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 58040 * rendering/FixedTableLayout.cpp: 58041 (WebCore::FixedTableLayout::calcWidthArray): 58042 58043 2011-02-28 Andreas Kling <kling (a] webkit.org> 58044 58045 Reviewed by Darin Adler. 58046 58047 Use Frame::ownerElement() directly where appropriate. 58048 https://bugs.webkit.org/show_bug.cgi?id=55385 58049 58050 Don't take the roundabout way through frame->document->ownerElement 58051 which just checks that the document->frame is non-null. 58052 58053 No new test, refactoring only. 58054 58055 * editing/SelectionController.cpp: 58056 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 58057 * loader/FrameLoader.cpp: 58058 (WebCore::FrameLoader::loadWithDocumentLoader): 58059 * page/DOMWindow.cpp: 58060 (WebCore::DOMWindow::dispatchLoadEvent): 58061 * page/EventHandler.cpp: 58062 (WebCore::EventHandler::scrollRecursively): 58063 (WebCore::EventHandler::logicalScrollRecursively): 58064 * page/FrameView.cpp: 58065 (WebCore::FrameView::init): 58066 (WebCore::FrameView::layout): 58067 (WebCore::FrameView::repaintContentRectangle): 58068 (WebCore::FrameView::windowClipRect): 58069 (WebCore::FrameView::paintContents): 58070 58071 2011-02-28 Pavel Podivilov <podivilov (a] chromium.org> 58072 58073 Reviewed by Pavel Feldman. 58074 58075 Web Inspector: [REGRESSION] source frame is recreated for each inlined script in document. 58076 https://bugs.webkit.org/show_bug.cgi?id=55377 58077 58078 * inspector/front-end/ScriptsPanel.js: 58079 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 58080 (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName): 58081 (WebInspector.ScriptsPanel.prototype._createSourceFrame): 58082 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame): 58083 58084 2011-02-28 Patrick Gansterer <paroga (a] webkit.org> 58085 58086 Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r79569. 58087 58088 * svg/SVGDocumentExtensions.cpp: 58089 (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): 58090 58091 2011-02-28 Renata Hodovan <reni (a] webkit.org> 58092 58093 Reviewed by Andreas Kling. 58094 58095 Optimize parameter transmissions in FEConvolveMatrix. 58096 https://bugs.webkit.org/show_bug.cgi?id=55381 58097 58098 Parameter transmission via reference is more efficient than with copy. So they are substituted. 58099 58100 No new tests are needed since this is a refactoring. 58101 58102 * platform/graphics/filters/FEConvolveMatrix.cpp: 58103 (WebCore::FEConvolveMatrix::setKernelSize): 58104 (WebCore::FEConvolveMatrix::setTargetOffset): 58105 (WebCore::FEConvolveMatrix::setKernelUnitLength): 58106 * platform/graphics/filters/FEConvolveMatrix.h: 58107 58108 2011-02-28 Yury Semikhatsky <yurys (a] chromium.org> 58109 58110 Unreviewed. Fix Chromium tests failures due to r79858. 58111 58112 * inspector/InspectorAgent.cpp: 58113 (WebCore::InspectorAgent::inspectedPageDestroyed): 58114 58115 2011-02-28 Vsevolod Vlasov <vsevik (a] chromium.org> 58116 58117 Reviewed by Pavel Feldman. 58118 58119 XML without style should render as syntax-highlighted source. 58120 https://bugs.webkit.org/show_bug.cgi?id=13807 58121 58122 XML tree view mode implemented. If XML does not have any style 58123 information, it is rendered as highlighted source with collapsable 58124 elements. 58125 58126 Tests: fast/css/dumpAsText/xml-stylesheet-pi-not-in-prolog.xml 58127 fast/encoding/dumpAsText/utf-16-no-bom.xml 58128 http/tests/xmlviewer/dumpAsText/css-stylesheet.xml 58129 http/tests/xmlviewer/dumpAsText/frames.html 58130 http/tests/xmlviewer/dumpAsText/mathml.xml 58131 http/tests/xmlviewer/dumpAsText/svg.xml 58132 http/tests/xmlviewer/dumpAsText/wml.xml 58133 http/tests/xmlviewer/dumpAsText/xhtml-tag.xml 58134 http/tests/xmlviewer/dumpAsText/xlink.xml 58135 http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml 58136 http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml 58137 http/tests/xmlviewer/dumpAsText/xmlviewer.xml 58138 http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml 58139 http/tests/xmlviewer/dumpAsText/xul.xml 58140 svg/hixie/error/dumpAsText/004.xml 58141 svg/hixie/error/dumpAsText/005.xml 58142 58143 * CMakeLists.txt: 58144 * DerivedSources.make: 58145 * GNUmakefile.am: 58146 * WebCore.gyp/WebCore.gyp: 58147 * WebCore.gypi: 58148 * WebCore.vcproj/WebCore.vcproj: 58149 * WebCore.xcodeproj/project.pbxproj: 58150 * css/CSSStyleSelector.cpp: 58151 (WebCore::CSSStyleSelector::matchUARules): 58152 * dom/Document.cpp: 58153 (WebCore::Document::Document): 58154 (WebCore::Document::createElement): 58155 * dom/Document.h: 58156 (WebCore::Document::usesViewSourceStyles): 58157 (WebCore::Document::setUsesViewSourceStyles): 58158 (WebCore::Document::sawElementsInKnownNamespaces): 58159 * dom/XMLDocumentParser.h: 58160 * dom/XMLDocumentParserLibxml2.cpp: 58161 (WebCore::XMLDocumentParser::XMLDocumentParser): 58162 (WebCore::XMLDocumentParser::processingInstruction): 58163 (WebCore::XMLDocumentParser::initializeParserContext): 58164 (WebCore::XMLDocumentParser::doEnd): 58165 * dom/XMLDocumentParserQt.cpp: 58166 (WebCore::XMLDocumentParser::XMLDocumentParser): 58167 (WebCore::XMLDocumentParser::initializeParserContext): 58168 (WebCore::XMLDocumentParser::parseProcessingInstruction): 58169 * html/HTMLViewSourceDocument.cpp: 58170 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 58171 * xml/XMLTreeViewer.cpp: Added. 58172 (WebCore::XMLTreeViewer::XMLTreeViewer): 58173 (WebCore::XMLTreeViewer::hasNoStyleInformation): 58174 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 58175 * xml/XMLTreeViewer.h: Added. 58176 (WebCore::XMLTreeViewer::~XMLTreeViewer): 58177 * xml/XMLViewer.xsl: Added. 58178 * xml/XSLStyleSheet.h: 58179 (WebCore::XSLStyleSheet::createForXMLTreeViewer): 58180 58181 2011-02-28 Yury Semikhatsky <yurys (a] chromium.org> 58182 58183 Reviewed by Pavel Feldman. 58184 58185 Web Inspector: debugger agents should have same livetime as InspectorAgent 58186 https://bugs.webkit.org/show_bug.cgi?id=55369 58187 58188 DOM and JS debugger agents are now created in InspectorAgent's constructor and owned 58189 by the agent. Debugger state is cleared on frontend disconnect. 58190 58191 * inspector/Inspector.idl: 58192 * inspector/InspectorAgent.cpp: 58193 (WebCore::InspectorAgent::InspectorAgent): 58194 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 58195 (WebCore::InspectorAgent::setFrontend): 58196 (WebCore::InspectorAgent::disconnectFrontend): 58197 (WebCore::InspectorAgent::populateScriptObjects): 58198 (WebCore::InspectorAgent::didCommitLoad): 58199 (WebCore::InspectorAgent::showScriptsPanel): 58200 * inspector/InspectorAgent.h: 58201 * inspector/InspectorBrowserDebuggerAgent.cpp: 58202 (WebCore::InspectorBrowserDebuggerAgent::create): 58203 (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent): 58204 (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent): 58205 (WebCore::InspectorBrowserDebuggerAgent::debuggerWasEnabled): 58206 (WebCore::InspectorBrowserDebuggerAgent::debuggerWasDisabled): 58207 (WebCore::InspectorBrowserDebuggerAgent::disable): 58208 (WebCore::InspectorBrowserDebuggerAgent::setFrontend): 58209 (WebCore::InspectorBrowserDebuggerAgent::clearFrontend): 58210 (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints): 58211 (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged): 58212 (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint): 58213 (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint): 58214 (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode): 58215 (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode): 58216 (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr): 58217 (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent): 58218 (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded): 58219 (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest): 58220 (WebCore::InspectorBrowserDebuggerAgent::clear): 58221 * inspector/InspectorBrowserDebuggerAgent.h: 58222 * inspector/InspectorController.cpp: 58223 (WebCore::InspectorController::debuggerEnabled): 58224 (WebCore::InspectorController::showAndEnableDebugger): 58225 (WebCore::InspectorController::disableDebugger): 58226 * inspector/InspectorDebuggerAgent.cpp: 58227 (WebCore::InspectorDebuggerAgent::create): 58228 (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent): 58229 (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent): 58230 (WebCore::InspectorDebuggerAgent::startUserInitiatedDebugging): 58231 (WebCore::InspectorDebuggerAgent::enable): 58232 (WebCore::InspectorDebuggerAgent::disable): 58233 (WebCore::InspectorDebuggerAgent::enabled): 58234 (WebCore::InspectorDebuggerAgent::restore): 58235 (WebCore::InspectorDebuggerAgent::setFrontend): 58236 (WebCore::InspectorDebuggerAgent::clearFrontend): 58237 (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint): 58238 (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint): 58239 (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame): 58240 (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame): 58241 (WebCore::InspectorDebuggerAgent::currentCallFrames): 58242 (WebCore::InspectorDebuggerAgent::didParseSource): 58243 (WebCore::InspectorDebuggerAgent::clear): 58244 * inspector/InspectorDebuggerAgent.h: 58245 (WebCore::InspectorDebuggerAgent::enable): 58246 (WebCore::InspectorDebuggerAgent::disable): 58247 (WebCore::InspectorDebuggerAgent::Listener::~Listener): 58248 (WebCore::InspectorDebuggerAgent::setListener): 58249 * inspector/InspectorInstrumentation.cpp: 58250 (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): 58251 (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl): 58252 (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl): 58253 (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl): 58254 (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl): 58255 (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl): 58256 (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded): 58257 * inspector/front-end/DebuggerModel.js: 58258 (WebInspector.DebuggerModel.prototype.enableDebugger): 58259 (WebInspector.DebuggerModel.prototype.disableDebugger): 58260 58261 2011-02-28 Renata Hodovan <reni (a] webkit.org> 58262 58263 Reviewed by Andreas Kling. 58264 58265 FECompositeElement changes doesn't require relayout. 58266 https://bugs.webkit.org/show_bug.cgi?id=55367 58267 58268 When the FECompositeElement receives an update message but the given value remains the same we don't need 58269 to relayout the filter. 58270 58271 No new tests are needed because this modification is covered by the dynamic update tests of FEComposite. 58272 58273 * platform/graphics/filters/FEComposite.cpp: 58274 (WebCore::FEComposite::setOperation): 58275 (WebCore::FEComposite::setK1): 58276 (WebCore::FEComposite::setK2): 58277 (WebCore::FEComposite::setK3): 58278 (WebCore::FEComposite::setK4): 58279 * platform/graphics/filters/FEComposite.h: 58280 * svg/SVGFECompositeElement.cpp: 58281 (WebCore::SVGFECompositeElement::setFilterEffectAttribute): 58282 (WebCore::SVGFECompositeElement::svgAttributeChanged): 58283 * svg/SVGFECompositeElement.h: 58284 58285 2011-02-28 Andreas Kling <kling (a] webkit.org> 58286 58287 Reviewed by Kenneth Rohde Christiansen. 58288 58289 FrameLoader: Reorder early-returns in checkCompleted() 58290 https://bugs.webkit.org/show_bug.cgi?id=55366 58291 58292 Check allChildrenAreComplete() last, since it's the most expensive. 58293 58294 * loader/FrameLoader.cpp: 58295 (WebCore::FrameLoader::checkCompleted): 58296 58297 2011-02-28 Ryosuke Niwa <rniwa (a] webkit.org> 58298 58299 Reviewed by Kent Tamura. 58300 58301 Range::processContents needs cleanup 58302 https://bugs.webkit.org/show_bug.cgi?id=51006 58303 58304 Refactored Range::processContents. Extracted childOfCommonRootBeforeOffset from processContents 58305 which is used to find processStart and processEnd respectively. In the case of processStart, 58306 we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not 58307 the common root because copying m_start's ancestors will result in processing too much contents. 58308 58309 Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets. 58310 58311 In addition, lengthOfContentsInNode was modified to return the correct length instead of 58312 numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically 58313 corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than 58314 having two switch statements that need to be consistent. 58315 58316 Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const 58317 LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and 58318 other ports. 58319 58320 * dom/Range.cpp: 58321 (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents. 58322 (WebCore::lengthOfContentsInNode): Added. 58323 (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode, 58324 and processNodes. 58325 (WebCore::deleteCharacterData): Added. 58326 (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes. 58327 (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets. 58328 (WebCore::Range::processAncestorsAndTheirSiblings): 58329 * dom/Range.h: 58330 58331 2011-02-28 Pavel Feldman <pfeldman (a] chromium.org> 58332 58333 Not reviewed. Test harness change follow up. 58334 Consider missing localized string a warning, not an error in the front-end. 58335 58336 * inspector/front-end/inspector.js: 58337 (WebInspector.UIString): 58338 58339 2011-02-28 Steve Block <steveblock (a] google.com> 58340 58341 Reviewed by Jeremy Orlow. 58342 58343 getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android 58344 https://bugs.webkit.org/show_bug.cgi?id=55218 58345 58346 AttachCurrentThread() in Android's JVM takes a JINEnv** 58347 argument. 58348 58349 No new tests, build fix only. 58350 58351 * bridge/jni/JNIUtility.cpp: 58352 (JSC::Bindings::getJNIEnv): 58353 58354 2011-02-28 Renata Hodovan <reni (a] webkit.org> 58355 58356 Reviewed by Andreas Kling. 58357 58358 FETurbulenceElement changes doesn't require relayout 58359 https://bugs.webkit.org/show_bug.cgi?id=55141 58360 58361 When the FETurbulenceElement receives an update message but the given value remains the same we don't need 58362 to relayout the filter. 58363 Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool 58364 to int according to the spec. 58365 58366 No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence. 58367 58368 * platform/graphics/filters/FETurbulence.cpp: 58369 (WebCore::FETurbulence::FETurbulence): 58370 (WebCore::FETurbulence::create): 58371 (WebCore::FETurbulence::type): 58372 (WebCore::FETurbulence::setType): 58373 (WebCore::FETurbulence::setBaseFrequencyY): 58374 (WebCore::FETurbulence::setBaseFrequencyX): 58375 (WebCore::FETurbulence::setSeed): 58376 (WebCore::FETurbulence::setNumOctaves): 58377 (WebCore::FETurbulence::setStitchTiles): 58378 (WebCore::operator<<): 58379 * platform/graphics/filters/FETurbulence.h: 58380 * svg/SVGFETurbulenceElement.cpp: 58381 (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute): 58382 (WebCore::SVGFETurbulenceElement::svgAttributeChanged): 58383 (WebCore::SVGFETurbulenceElement::build): 58384 * svg/SVGFETurbulenceElement.h: 58385 58386 2011-02-28 Pavel Feldman <pfeldman (a] chromium.org> 58387 58388 Reviewed by Yury Semikhatsky. 58389 58390 WebInspector: InspectorAgent calls offsetWidth in the middle of painting 58391 https://bugs.webkit.org/show_bug.cgi?id=54597 58392 58393 * inspector/InspectorAgent.cpp: 58394 (WebCore::InspectorAgent::drawElementTitle): 58395 58396 2011-02-28 Roland Steiner <rolandsteiner (a] chromium.org> 58397 58398 Reviewed by Kent Tamura. 58399 58400 Bug 55355 - TextIterator should not be a friend of RenderTextControl 58401 https://bugs.webkit.org/show_bug.cgi?id=55355 58402 58403 Remove need for 'friend' clause by making innerTextElement() public. 58404 58405 No new tests. (simple refactoring) 58406 58407 * rendering/RenderTextControl.h: 58408 58409 2011-02-27 Patrick Gansterer <paroga (a] webkit.org> 58410 58411 Reviewed by Darin Adler. 58412 58413 Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE 58414 https://bugs.webkit.org/show_bug.cgi?id=55317 58415 58416 This functions are obsolete, since r78499 added TextCodecUTF8. 58417 Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec. 58418 58419 * platform/text/TextEncodingRegistry.cpp: 58420 (WebCore::buildBaseTextCodecMaps): 58421 * platform/text/wince/TextCodecWinCE.cpp: 58422 * platform/text/wince/TextCodecWinCE.h: 58423 58424 2011-02-27 Benjamin Poulain <benjamin.poulain (a] nokia.com> 58425 58426 Reviewed by Sam Weinig. 58427 58428 Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects 58429 https://bugs.webkit.org/show_bug.cgi?id=55327 58430 58431 Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have 58432 to release the memory manually. 58433 58434 * rendering/RenderBlock.cpp: 58435 (WebCore::RenderBlock::~RenderBlock): 58436 (WebCore::RenderBlock::selectionGaps): 58437 (WebCore::RenderBlock::insertPositionedObject): 58438 (WebCore::RenderBlock::insertFloatingObject): 58439 (WebCore::RenderBlock::addOverhangingFloats): 58440 (WebCore::RenderBlock::addIntrudingFloats): 58441 * rendering/RenderBlock.h: 58442 (WebCore::RenderBlock::positionedObjects): 58443 58444 2011-02-27 Benjamin Poulain <benjamin.poulain (a] nokia.com> 58445 58446 Reviewed by Andreas Kling. 58447 58448 Eliminate DeprecatedPtrList 58449 https://bugs.webkit.org/show_bug.cgi?id=17425 58450 58451 Remove the implementation of DeprecatedPtrList and all its references 58452 from the build systems. 58453 58454 * Android.mk: 58455 * CMakeLists.txt: 58456 * GNUmakefile.am: 58457 * WebCore.gypi: 58458 * WebCore.order: 58459 * WebCore.pro: 58460 * WebCore.vcproj/WebCore.vcproj: 58461 * WebCore.xcodeproj/project.pbxproj: 58462 * platform/DeprecatedPtrList.h: Removed. 58463 * platform/DeprecatedPtrListImpl.cpp: Removed. 58464 * platform/DeprecatedPtrListImpl.h: Removed. 58465 58466 2011-02-27 Andreas Kling <kling (a] webkit.org> 58467 58468 Reviewed by Kenneth Rohde Christiansen. 58469 58470 [Qt] Use WTF ref counting for FontPlatformDataPrivate 58471 https://bugs.webkit.org/show_bug.cgi?id=55303 58472 58473 Make FontPlatformDataPrivate a RefCounted<FPDP>. 58474 Incidentally fixes an uninitialized member bug in FontPlatformData(). 58475 58476 * platform/graphics/qt/FontPlatformData.h: 58477 (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate): 58478 (WebCore::FontPlatformData::FontPlatformData): 58479 (WebCore::FontPlatformData::isHashTableDeletedValue): 58480 (WebCore::FontPlatformData::font): 58481 (WebCore::FontPlatformData::size): 58482 (WebCore::FontPlatformData::family): 58483 (WebCore::FontPlatformData::bold): 58484 (WebCore::FontPlatformData::italic): 58485 (WebCore::FontPlatformData::smallCaps): 58486 (WebCore::FontPlatformData::pixelSize): 58487 * platform/graphics/qt/FontPlatformDataQt.cpp: 58488 (WebCore::toQFontWeight): 58489 (WebCore::FontPlatformData::operator==): 58490 (WebCore::FontPlatformData::hash): 58491 58492 2011-02-27 Benjamin Poulain <ikipou (a] gmail.com> 58493 58494 Reviewed by Darin Adler. 58495 58496 Eliminate DeprecatedPtrList from RenderBlock 58497 https://bugs.webkit.org/show_bug.cgi?id=54972 58498 58499 Refactor RenderBlock to get rid of the DeprecatedPtrList. 58500 The floating objects are stored in a ListHashSet. 58501 58502 Refactoring covered by existing test. 58503 58504 * rendering/RenderBlock.cpp: 58505 (WebCore::RenderBlock::~RenderBlock): 58506 (WebCore::RenderBlock::addOverflowFromFloats): 58507 (WebCore::RenderBlock::repaintOverhangingFloats): 58508 (WebCore::RenderBlock::paintFloats): 58509 (WebCore::RenderBlock::selectionGaps): 58510 (WebCore::RenderBlock::insertFloatingObject): 58511 (WebCore::RenderBlock::removeFloatingObject): 58512 (WebCore::RenderBlock::removeFloatingObjectsBelow): 58513 (WebCore::RenderBlock::positionNewFloats): 58514 (WebCore::RenderBlock::positionNewFloatOnLine): 58515 (WebCore::RenderBlock::logicalLeftOffsetForLine): 58516 (WebCore::RenderBlock::logicalRightOffsetForLine): 58517 (WebCore::RenderBlock::nextFloatLogicalBottomBelow): 58518 (WebCore::RenderBlock::lowestFloatLogicalBottom): 58519 (WebCore::RenderBlock::clearFloats): 58520 (WebCore::RenderBlock::addOverhangingFloats): 58521 (WebCore::RenderBlock::addIntrudingFloats): 58522 (WebCore::RenderBlock::containsFloat): 58523 (WebCore::RenderBlock::hitTestFloats): 58524 (WebCore::RenderBlock::adjustForBorderFit): 58525 * rendering/RenderBlock.h: 58526 (WebCore::RenderBlock::FloatingObjectHashFunctions::hash): 58527 (WebCore::RenderBlock::FloatingObjectHashFunctions::equal): 58528 (WebCore::RenderBlock::FloatingObjectHashTranslator::hash): 58529 (WebCore::RenderBlock::FloatingObjectHashTranslator::equal): 58530 * rendering/RenderBlockLineLayout.cpp: 58531 (WebCore::RenderBlock::layoutInlineChildren): 58532 (WebCore::RenderBlock::matchedEndLine): 58533 58534 2011-02-26 Adam Barth <abarth (a] webkit.org> 58535 58536 Reviewed by Eric Seidel. 58537 58538 <input value="type=submit"> throws a warning (HTML parse error) 58539 https://bugs.webkit.org/show_bug.cgi?id=55120 58540 58541 This patch removes parse error messages from the HTML parser. These 58542 messages are displayed at the wrong times, aren't tested, and aren't 58543 helpful. We'll try again with some more informative messages and 58544 better testing. 58545 58546 * html/parser/HTMLTreeBuilder.cpp: 58547 (WebCore::HTMLTreeBuilder::parseError): 58548 58549 2011-02-26 Patrick Gansterer <paroga (a] webkit.org> 58550 58551 Reviewed by Alexey Proskuryakov. 58552 58553 Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew 58554 https://bugs.webkit.org/show_bug.cgi?id=55309 58555 58556 This functions are obsolete, since r78499 added TextCodecUTF8. 58557 58558 * platform/text/TextEncodingRegistry.cpp: 58559 (WebCore::buildBaseTextCodecMaps): 58560 * platform/text/brew/TextCodecBrew.cpp: 58561 * platform/text/brew/TextCodecBrew.h: 58562 58563 2011-02-26 Justin Schuh <jschuh (a] chromium.org> 58564 58565 Reviewed by Darin Adler. 58566 58567 Delay firing of mutation events while setting attribute values 58568 https://bugs.webkit.org/show_bug.cgi?id=55199 58569 58570 Test: fast/dom/attribute-change-on-mutate.html 58571 58572 * dom/Attr.cpp: 58573 (WebCore::Attr::setValue): 58574 58575 2011-02-26 Yi Shen <yi.4.shen (a] nokia.com> 58576 58577 Reviewed by Andreas Kling. 58578 58579 [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed 58580 https://bugs.webkit.org/show_bug.cgi?id=55252 58581 58582 Need to invoke a callback function to notify the HTMLMediaElement 58583 when MediaPlayerPrivateQt's playback state gets changed. 58584 58585 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 58586 (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll 58587 (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement 58588 (WebCore::MediaPlayerPrivateQt::stateChanged): 58589 * platform/graphics/qt/MediaPlayerPrivateQt.h: 58590 58591 2011-02-25 Abhishek Arya <inferno (a] chromium.org> 58592 58593 Reviewed by Adam Barth. 58594 58595 When plugin document parser finishes parsing, it runs the raw 58596 document's parser finish functions which call the pending document 58597 onload events that removes the frame from underneath. So, we protect 58598 frame (and hence frameloader) in DocumentLoader::commitLoad. 58599 https://bugs.webkit.org/show_bug.cgi?id=55289 58600 58601 Test: fast/frames/iframe-plugin-load-remove-document-crash.html 58602 58603 * loader/DocumentLoader.cpp: 58604 (WebCore::DocumentLoader::commitLoad): 58605 58606 2011-02-26 Pavel Feldman <pfeldman (a] chromium.org> 58607 58608 Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac. 58609 58610 2011-02-26 Pavel Feldman <pfeldman (a] chromium.org> 58611 58612 Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt. 58613 https://bugs.webkit.org/show_bug.cgi?id=55302 58614 58615 * CMakeLists.txt: 58616 58617 2011-02-25 Vsevolod Vlasov <vsevik (a] chromium.org> 58618 58619 Reviewed by Pavel Feldman. 58620 58621 XML without style should render as syntax-highlighted source. 58622 https://bugs.webkit.org/show_bug.cgi?id=13807 58623 58624 XML tree view mode implemented. If XML does not have any style 58625 information, it is rendered as highlighted source with collapsable 58626 elements. 58627 58628 Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml 58629 http/tests/xmlviewer/dumpAsText/frames.html 58630 http/tests/xmlviewer/dumpAsText/mathml.xml 58631 http/tests/xmlviewer/dumpAsText/svg.xml 58632 http/tests/xmlviewer/dumpAsText/wml.xml 58633 http/tests/xmlviewer/dumpAsText/xhtml-tag.xml 58634 http/tests/xmlviewer/dumpAsText/xlink.xml 58635 http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml 58636 http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml 58637 http/tests/xmlviewer/dumpAsText/xmlviewer.xml 58638 http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml 58639 http/tests/xmlviewer/dumpAsText/xul.xml 58640 58641 * CMakeLists.txt: 58642 * DerivedSources.make: 58643 * GNUmakefile.am: 58644 * WebCore.gyp/WebCore.gyp: 58645 * WebCore.gypi: 58646 * WebCore.vcproj/WebCore.vcproj: 58647 * WebCore.xcodeproj/project.pbxproj: 58648 * css/CSSStyleSelector.cpp: 58649 (WebCore::CSSStyleSelector::matchUARules): 58650 * dom/Document.cpp: 58651 (WebCore::Document::Document): 58652 (WebCore::Document::createElement): 58653 * dom/Document.h: 58654 (WebCore::Document::usesViewSourceStyles): 58655 (WebCore::Document::setUsesViewSourceStyles): 58656 (WebCore::Document::sawElementsInKnownNamespaces): 58657 * dom/XMLDocumentParser.h: 58658 * dom/XMLDocumentParserLibxml2.cpp: 58659 (WebCore::XMLDocumentParser::XMLDocumentParser): 58660 (WebCore::XMLDocumentParser::processingInstruction): 58661 (WebCore::XMLDocumentParser::initializeParserContext): 58662 (WebCore::XMLDocumentParser::doEnd): 58663 * dom/XMLDocumentParserQt.cpp: 58664 (WebCore::XMLDocumentParser::XMLDocumentParser): 58665 (WebCore::XMLDocumentParser::initializeParserContext): 58666 (WebCore::XMLDocumentParser::parseProcessingInstruction): 58667 * html/HTMLViewSourceDocument.cpp: 58668 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 58669 * xml/XMLTreeViewer.cpp: Added. 58670 (WebCore::XMLTreeViewer::XMLTreeViewer): 58671 (WebCore::XMLTreeViewer::hasNoStyleInformation): 58672 (WebCore::XMLTreeViewer::transformDocumentToTreeView): 58673 * xml/XMLTreeViewer.h: Added. 58674 (WebCore::XMLTreeViewer::~XMLTreeViewer): 58675 * xml/XMLViewer.xsl: Added. 58676 * xml/XSLStyleSheet.h: 58677 (WebCore::XSLStyleSheet::createFromString): 58678 58679 2011-02-26 Andreas Kling <kling (a] webkit.org> 58680 58681 Reviewed by Kenneth Rohde Christiansen. 58682 58683 [Qt] Enable usage of synchronous HTTP feature in Qt 58684 https://bugs.webkit.org/show_bug.cgi?id=37191 58685 58686 Currently, we spin an event loop when doing synchronous calls to 58687 wait for completion. This patch uses synchronous requests in Qt, 58688 if available, and spins the event loop as a fallback solution. 58689 58690 Based on work by Simon Hausmann and Peter Hartmann. 58691 58692 * platform/network/qt/QNetworkReplyHandler.cpp: 58693 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 58694 (WebCore::QNetworkReplyHandler::start): 58695 * platform/network/qt/QNetworkReplyHandler.h: 58696 * platform/network/qt/ResourceHandleQt.cpp: 58697 (WebCore::WebCoreSynchronousLoader::setReplyFinished): 58698 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 58699 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 58700 (WebCore::WebCoreSynchronousLoader::didFail): 58701 (WebCore::ResourceHandle::loadResourceSynchronously): 58702 58703 2011-02-26 Ryosuke Niwa <rniwa (a] webkit.org> 58704 58705 Reviewed by Kent Tamura. 58706 58707 REGRESSION(r79398): Webkit crash on dojo theme tester page 58708 https://bugs.webkit.org/show_bug.cgi?id=55290 58709 58710 The bug was caused by selectionStartCSSPropertyValue's not considering the possibility 58711 of selectionStartStyle() returning a null pointer. Fixed it by adding a null check. 58712 58713 Test: editing/execCommand/value-without-selection-crash.html 58714 58715 * editing/Editor.cpp: 58716 (WebCore::Editor::selectionStartCSSPropertyValue): 58717 58718 2011-02-26 Vsevolod Vlasov <vsevik (a] chromium.org> 58719 58720 Reviewed by Pavel Feldman. 58721 58722 DumpRenderTree should reset frame opener between tests. 58723 https://bugs.webkit.org/show_bug.cgi?id=54874 58724 58725 No new tests. (no code affected, just exporting a method for DumpRenderTree use) 58726 58727 * WebCore.exp.in: 58728 58729 2011-02-26 Jia Pu <jpu (a] apple.com> 58730 58731 Reviewed by Dan Bernstein. 58732 58733 On Mac, need to remove misspell underline in Editor::learnSpelling(). 58734 https://bugs.webkit.org/show_bug.cgi?id=55251 58735 58736 This change makes sure that the misspelling markers are removed after the word is learned. 58737 58738 * editing/Editor.cpp: 58739 (WebCore::Editor::learnSpelling): 58740 58741 2011-02-26 Rik Cabanier <cabanier (a] adobe.com> 58742 58743 Reviewed by David Hyatt. 58744 58745 Fix that allows fixed length values to be floating point 58746 https://bugs.webkit.org/show_bug.cgi?id=52699 58747 58748 Transitions now return matrices in floating point. 2 of the transition tests were failing 58749 because they expected integer values. 58750 58751 * WebCore.xcodeproj/project.pbxproj: 58752 * css/CSSStyleSelector.cpp: 58753 (WebCore::convertToLength): 58754 (WebCore::convertToIntLength): 58755 (WebCore::convertToFloatLength): 58756 (WebCore::CSSStyleSelector::applyProperty): 58757 (WebCore::CSSStyleSelector::createTransformOperations): 58758 * platform/Length.h: 58759 (WebCore::Length::Length): 58760 (WebCore::Length::operator==): 58761 (WebCore::Length::operator!=): 58762 (WebCore::Length::rawValue): 58763 (WebCore::Length::type): 58764 (WebCore::Length::quirk): 58765 (WebCore::Length::setValue): 58766 (WebCore::Length::calcFloatValue): 58767 (WebCore::Length::isZero): 58768 (WebCore::Length::blend): 58769 (WebCore::Length::getIntValue): 58770 (WebCore::Length::getFloatValue): 58771 * rendering/AutoTableLayout.cpp: 58772 (WebCore::AutoTableLayout::recalcColumn): 58773 (WebCore::AutoTableLayout::calcEffectiveLogicalWidth): 58774 * rendering/FixedTableLayout.cpp: 58775 (WebCore::FixedTableLayout::calcWidthArray): 58776 58777 2011-02-26 Eric Seidel <eric (a] webkit.org> 58778 58779 Reviewed by Maciej Stachowiak. 58780 58781 malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement 58782 https://bugs.webkit.org/show_bug.cgi?id=55204 58783 58784 * dom/ContainerNode.cpp: 58785 (WebCore::ContainerNode::removeChildren): 58786 - Using an inlineCapacity of 10 for now. We may want to tweak it later. 58787 - This removes yet another malloc from code which removes nodes (which is rather common). 58788 58789 2011-02-26 Eric Seidel <eric (a] webkit.org> 58790 58791 Reviewed by Maciej Stachowiak. 58792 58793 HashSet<T>::end() creation is expensive and should be avoided 58794 https://bugs.webkit.org/show_bug.cgi?id=55205 58795 58796 In the common case, m_ranges is an empty set. When that's 58797 the case, we spend all our time in skipEmptyBuckets, walking 58798 the hash storage skipping over empty buckets. 58799 58800 This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement. 58801 58802 Before: 58803 avg 383.6666666666667 58804 median 386 58805 stdev 7.152311203768722 58806 min 360 58807 max 391 58808 58809 After: 58810 avg 366.3333333333333 58811 median 366 58812 stdev 2.712112747574399 58813 min 362 58814 max 377 58815 58816 * dom/Document.cpp: 58817 (WebCore::Document::nodeChildrenChanged): 58818 (WebCore::Document::nodeChildrenWillBeRemoved): 58819 (WebCore::Document::nodeWillBeRemoved): 58820 (WebCore::Document::textInserted): 58821 (WebCore::Document::textRemoved): 58822 (WebCore::Document::textNodesMerged): 58823 (WebCore::Document::textNodeSplit): 58824 58825 2011-02-26 Sheriff Bot <webkit.review.bot (a] gmail.com> 58826 58827 Unreviewed, rolling out r79764. 58828 http://trac.webkit.org/changeset/79764 58829 https://bugs.webkit.org/show_bug.cgi?id=55295 58830 58831 "broke Chromium builds" (Requested by rniwa on #webkit). 58832 58833 * WebCore.exp.in: 58834 58835 2011-02-26 Adam Klein <adamk (a] chromium.org> 58836 58837 Reviewed by Adam Barth. 58838 58839 [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase 58840 https://bugs.webkit.org/show_bug.cgi?id=54585 58841 58842 In order to move toURI to EntryBase, it needed access to 58843 SecurityOrigin. Most of the changes below were to pass a 58844 ScriptExecutionContext to DOMFileSystemBase to enable this. 58845 58846 Test: fast/filesystem/workers/file-entry-to-uri-sync.html 58847 58848 * WebCore.gypi: 58849 * WebCore.xcodeproj/project.pbxproj: 58850 * fileapi/DOMFileSystem.cpp: 58851 (WebCore::DOMFileSystem::DOMFileSystem): 58852 * fileapi/DOMFileSystemBase.cpp: 58853 (WebCore::DOMFileSystemBase::DOMFileSystemBase): 58854 (WebCore::DOMFileSystemBase::securityOrigin): 58855 * fileapi/DOMFileSystemBase.h: 58856 (WebCore::DOMFileSystemBase::create): 58857 * fileapi/DOMFileSystemSync.cpp: 58858 (WebCore::DOMFileSystemSync::create): 58859 (WebCore::DOMFileSystemSync::DOMFileSystemSync): 58860 * fileapi/DOMFileSystemSync.h: 58861 (WebCore::DOMFileSystemSync::create): 58862 * fileapi/Entry.cpp: 58863 * fileapi/Entry.h: 58864 * fileapi/EntryBase.cpp: Added. 58865 (WebCore::EntryBase::EntryBase): 58866 (WebCore::EntryBase::~EntryBase): 58867 (WebCore::EntryBase::toURI): 58868 * fileapi/EntryBase.h: 58869 * fileapi/EntrySync.idl: 58870 58871 2011-02-26 Alice Boxhall <aboxhall (a] chromium.org> 58872 58873 Reviewed by Ojan Vafai. 58874 58875 typing enter in the input element should not fire textInput 58876 https://bugs.webkit.org/show_bug.cgi?id=54152 58877 58878 Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly. 58879 58880 Test: fast/forms/textinput-not-fired-on-enter-in-input.html 58881 58882 * html/HTMLInputElement.cpp: 58883 (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true. 58884 58885 2011-02-26 James Simonsen <simonjam (a] chromium.org> 58886 58887 Reviewed by Tony Gentilcore. 58888 58889 [Web Timing] loadEvent timing should refer to first load event if there are many 58890 https://bugs.webkit.org/show_bug.cgi?id=55201 58891 58892 Test: fast/dom/webtiming-document-open.html 58893 58894 * page/DOMWindow.cpp: 58895 (WebCore::DOMWindow::dispatchLoadEvent): 58896 58897 2011-02-26 Tony Gentilcore <tonyg (a] chromium.org> 58898 58899 Reviewed by Adam Barth. 58900 58901 Fix isLayoutTimerActive for ports that set a minimumLayoutDelay 58902 https://bugs.webkit.org/show_bug.cgi?id=54810 58903 58904 No new tests because no new functionality. 58905 58906 * dom/Document.cpp: 58907 (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare 58908 minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was 58909 broken by r52919. The effect would be that ports that set an extra layout delay can't yield 58910 between tokens. Note: can't be const because minimumLayoutDelay sets a member. 58911 * dom/Document.h: 58912 * html/parser/HTMLParserScheduler.cpp: 58913 (WebCore::HTMLParserScheduler::continueNextChunkTimerFired): 58914 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): 58915 58916 2011-02-26 David Dorwin <ddorwin (a] chromium.org> 58917 58918 Reviewed by Darin Fisher. 58919 58920 Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default. 58921 58922 fullscreen javascript bindings not implemented for v8 58923 https://bugs.webkit.org/show_bug.cgi?id=44797 58924 58925 Tested by the existing fullscreen Layout Tests. 58926 58927 * WebCore.gyp/WebCore.gyp: 58928 * WebCore.gypi: 58929 58930 2011-02-26 Tony Gentilcore <tonyg (a] chromium.org> 58931 58932 Reviewed by Adam Barth. 58933 58934 Prevent parser yields from triggering early dumpAsText() 58935 https://bugs.webkit.org/show_bug.cgi?id=55187 58936 58937 DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense() 58938 indicates the page is done. isLoadingInAPISense depends on 58939 HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an 58940 insert() or append(). 58941 58942 This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or 58943 resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch 58944 fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and 58945 incrementing it in pumpTokenizer(). 58946 58947 When I locally cause the parser to yield after every token, a lot of tests fail 58948 because DRT snapshots too early. This patch fixes those tests, however I'm having 58949 trouble writing a test case that reliably reproduces the problem without this patch 58950 and passes with it (without changing yield constants). This is because it requires 58951 4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which 58952 doesn't always happen). 58953 58954 * html/parser/HTMLDocumentParser.cpp: 58955 (WebCore::HTMLDocumentParser::HTMLDocumentParser): 58956 (WebCore::HTMLDocumentParser::~HTMLDocumentParser): 58957 (WebCore::HTMLDocumentParser::processingData): 58958 (WebCore::HTMLDocumentParser::pumpTokenizer): 58959 (WebCore::HTMLDocumentParser::insert): 58960 (WebCore::HTMLDocumentParser::append): 58961 * html/parser/HTMLDocumentParser.h: 58962 (WebCore::HTMLDocumentParser::inPumpSession): 58963 (WebCore::HTMLDocumentParser::shouldDelayEnd): 58964 * html/parser/HTMLParserScheduler.h: 58965 (WebCore::PumpSession::PumpSession): 58966 * html/parser/NestingLevelIncrementer.h: 58967 58968 2011-02-26 Yongjun Zhang <yongjun_zhang (a] apple.com> 58969 58970 Reviewed by David Kilzer. 58971 58972 https://bugs.webkit.org/show_bug.cgi?id=48781 58973 58974 Add a resource load delegate method to query if WebCore should paint the default broken image for failed images. 58975 58976 Add a new resource load client method (shouldPaintBrokenImage). WebKit client can decide if WebCore 58977 should paint the default broken image when an image fails to load or decode. The method also passes the 58978 URL of the failed image. 58979 58980 Test: fast/images/support-broken-image-delegate.html 58981 58982 * loader/FrameLoaderClient.h: 58983 (WebCore::FrameLoaderClient::shouldPaintBrokenImage): 58984 * loader/cache/CachedImage.cpp: 58985 (WebCore::CachedImage::CachedImage): 58986 (WebCore::CachedImage::image): 58987 (WebCore::CachedImage::checkShouldPaintBrokenImage): 58988 (WebCore::CachedImage::error): 58989 * loader/cache/CachedImage.h: 58990 58991 2011-02-26 Chris Evans <cevans (a] chromium.org> 58992 58993 Reviewed by Adam Barth. 58994 58995 Database: Data race: should only touch the transaction queue inside the 58996 lock. 58997 https://bugs.webkit.org/show_bug.cgi?id=55031 58998 58999 * storage/Database.cpp: 59000 (WebCore::Database::changeVersion): only touch queue inside lock. 59001 (WebCore::Database::runTransaction): only touch queue inside lock. 59002 59003 2011-02-26 Yi Shen <yi.4.shen (a] nokia.com> 59004 59005 Reviewed by Eric Carlson. 59006 59007 Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback 59008 https://bugs.webkit.org/show_bug.cgi?id=55147 59009 59010 When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback, 59011 a volumechangeEvent event should be fired if the volume gets changed. 59012 59013 Test: media/event-attributes.html 59014 59015 * html/HTMLMediaElement.cpp: 59016 (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0. 59017 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed. 59018 59019 2011-02-26 Eric Seidel <eric (a] webkit.org> 59020 59021 Reviewed by Maciej Stachowiak. 59022 59023 disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement 59024 https://bugs.webkit.org/show_bug.cgi?id=55127 59025 59026 Before: 59027 avg 513.4 59028 median 515 59029 stdev 7.234638899074368 59030 min 490 59031 max 528 59032 59033 After: 59034 avg 508.15 59035 median 510 59036 stdev 6.966168243733426 59037 min 485 59038 max 515 59039 59040 Yes, the stdev is a bit high to actually support my conclusions. But looking 59041 at the profile, this change makes a lot of sense. I'll up the iterations 59042 for future testing. 59043 59044 * dom/Document.cpp: 59045 (WebCore::disableRangeMutation): 59046 - This check should only be compiled in if we're planning to run on Tiger or Leopard. 59047 59048 2011-02-26 Vsevolod Vlasov <vsevik (a] chromium.org> 59049 59050 Reviewed by Pavel Feldman. 59051 59052 DumpRenderTree should reset frame opener between tests. 59053 https://bugs.webkit.org/show_bug.cgi?id=54874 59054 59055 No new tests. (no code affected, just exporting a method for DumpRenderTree use) 59056 59057 * WebCore.exp.in: 59058 59059 2011-02-26 Chang Shu <chang.shu (a] nokia.com> 59060 59061 Reviewed by Antonio Gomes. 59062 59063 Based on patch by Carlos Garcia Campos <cgarcia (a] igalia.com>. 59064 59065 Spatial Navigation: Add support for <select> element in multiple selection mode 59066 https://bugs.webkit.org/show_bug.cgi?id=49261 59067 59068 When spatial navigation is enabled, use space key to toggle select 59069 items. And the up and down keys should not affect selection but just 59070 navigate through items, which is indicated visually by a focus ring. 59071 59072 New Test: fast/spatial-navigation/snav-single-select-list.html 59073 Enhanced Test: fast/spatial-navigation/snav-multiple-select.html 59074 59075 * dom/SelectElement.cpp: 59076 (WebCore::SelectElement::listBoxDefaultEventHandler): 59077 * rendering/RenderListBox.cpp: 59078 (WebCore::RenderListBox::addFocusRingRects): 59079 * rendering/RenderListBox.h: 59080 59081 2011-02-25 Ryosuke Niwa <rniwa (a] webkit.org> 59082 59083 Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp. 59084 59085 * editing/EditingStyle.cpp: 59086 59087 2011-02-25 Ryosuke Niwa <rniwa (a] webkit.org> 59088 59089 Reviewed by Darin Adler. 59090 59091 Move HTMLEquivalent and its subclasses to EditingStyle 59092 https://bugs.webkit.org/show_bug.cgi?id=55207 59093 59094 Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle, 59095 and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent, 59096 and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent, 59097 HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively. 59098 59099 Also extracted the logic to determine which element and attribute are removed 59100 as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes, 59101 and extractConflictingImplicitStyleOfAttributes. 59102 59103 * editing/ApplyStyleCommand.cpp: 59104 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): 59105 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): 59106 * editing/ApplyStyleCommand.h: 59107 * editing/EditingStyle.cpp: 59108 (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp. 59109 (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto. 59110 (WebCore::HTMLElementEquivalent::matches): Ditto. 59111 (WebCore::HTMLElementEquivalent::hasAttribute): Ditto. 59112 (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto. 59113 (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto. 59114 (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto. 59115 (WebCore::HTMLElementEquivalent::addToStyle): Ditto. 59116 (WebCore::HTMLTextDecorationEquivalent::create): Ditto. 59117 (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto. 59118 (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto. 59119 (WebCore::HTMLAttributeEquivalent::create): Ditto. 59120 (WebCore::HTMLAttributeEquivalent::matches): Ditto. 59121 (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto. 59122 (WebCore::HTMLAttributeEquivalent::attributeName): Ditto. 59123 (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto. 59124 (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto. 59125 (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto. 59126 (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto. 59127 (WebCore::HTMLFontSizeEquivalent::create): Ditto. 59128 (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto. 59129 (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto. 59130 (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added. 59131 (WebCore::htmlAttributeEquivalents): Added. 59132 (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added. 59133 (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added. 59134 * editing/EditingStyle.h: 59135 59136 2011-02-25 Chris Fleizach <cfleizach (a] apple.com> 59137 59138 Reviewed by Anders Carlsson. 59139 59140 AX: Add Xcode entries back to the navigator list for Accessibility cpp files 59141 https://bugs.webkit.org/show_bug.cgi?id=55280 59142 59143 * WebCore.xcodeproj/project.pbxproj: 59144 59145 2011-02-25 Fumitoshi Ukai <ukai (a] chromium.org> 59146 59147 Reviewed by Adam Barth. 59148 59149 WebSocket uses insecure random numbers 59150 https://bugs.webkit.org/show_bug.cgi?id=54714 59151 59152 * websockets/WebSocketHandshake.cpp: 59153 (WebCore::randomNumberLessThan): 59154 (WebCore::generateSecWebSocketKey): 59155 (WebCore::generateKey3): 59156 59157 2011-02-25 Eric Carlson <eric.carlson (a] apple.com> 59158 59159 Reviewed by Darin Adler. 59160 59161 Add API to enumerate/delete files downloaded for <audio> and <video> 59162 https://bugs.webkit.org/show_bug.cgi?id=55267 59163 59164 Add review changes missed in r79737. 59165 59166 * html/HTMLMediaElement.cpp: 59167 (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference. 59168 * html/HTMLMediaElement.h: 59169 * platform/graphics/MediaPlayer.cpp: 59170 (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto. 59171 * platform/graphics/MediaPlayer.h: 59172 * platform/graphics/MediaPlayerPrivate.h: 59173 (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto. 59174 59175 2011-02-25 Eric Carlson <eric.carlson (a] apple.com> 59176 59177 Reviewed by Darin Adler. 59178 59179 Add API to enumerate/delete files downloaded for <audio> and <video> 59180 https://bugs.webkit.org/show_bug.cgi?id=55267 59181 <rdar://problem/9049280> 59182 59183 No new tests, this is just the plumbing. 59184 59185 * html/HTMLMediaElement.cpp: 59186 (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer. 59187 (WebCore::HTMLMediaElement::clearMediaCache): Ditto. 59188 (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto. 59189 * html/HTMLMediaElement.h: 59190 59191 * platform/graphics/MediaPlayer.cpp: 59192 (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine. 59193 (WebCore::MediaPlayer::clearMediaCache): Ditto. 59194 (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto. 59195 * platform/graphics/MediaPlayer.h: 59196 59197 * platform/graphics/MediaPlayerPrivate.h: 59198 (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface. 59199 (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto. 59200 (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto. 59201 59202 2011-02-25 Abhishek Arya <inferno (a] chromium.org> 59203 59204 Reviewed by Dave Hyatt. 59205 59206 Don't add inline continuation outline to the containing block's 59207 continuationOutlineTable list if it is not enclosed by an anonymous block. 59208 https://bugs.webkit.org/show_bug.cgi?id=54690 59209 59210 We currently don't reconnect inline continuations after a child removal. 59211 As a result, those merged inlines do not get seperated and hence not get enclosed 59212 by anonymous blocks. In this case, it is better to bail out and paint it ourself. 59213 59214 Test: fast/table/table-continuation-outline-paint-crash.html 59215 59216 * rendering/InlineFlowBox.cpp: 59217 (WebCore::InlineFlowBox::paint): 59218 * rendering/RenderBlock.cpp: 59219 (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell 59220 if this containing block has the continuation flow in its continuations list. 59221 * rendering/RenderBlock.h: helper function definition. 59222 * rendering/RenderInline.cpp: 59223 (WebCore::RenderInline::destroy): debug only code that asserts if we leave 59224 behind a continuation in the containing block's continuation list when it is 59225 getting destroyed. 59226 59227 2011-02-25 David Hyatt <hyatt (a] apple.com> 59228 59229 Reviewed by Adam Roben. 59230 59231 https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type 59232 from Length. 59233 59234 * css/CSSPrimitiveValue.cpp: 59235 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 59236 * platform/Length.h: 59237 (WebCore::Length::isFixed): 59238 * rendering/AutoTableLayout.cpp: 59239 (WebCore::AutoTableLayout::layout): 59240 * rendering/RenderImage.cpp: 59241 (WebCore::RenderImage::isLogicalWidthSpecified): 59242 (WebCore::RenderImage::isLogicalHeightSpecified): 59243 * rendering/RenderObject.h: 59244 (WebCore::RenderObject::markContainingBlocksForLayout): 59245 * rendering/style/RenderStyle.h: 59246 (WebCore::InheritedFlags::hasStaticX): 59247 (WebCore::InheritedFlags::hasStaticY): 59248 59249 2011-02-25 Brian Weinstein <bweinstein (a] apple.com> 59250 59251 Windows build fix. 59252 59253 * platform/network/cf/CookieJarCFNet.cpp: 59254 (WebCore::getHostnamesWithCookies): Add a const_cast. 59255 (WebCore::deleteCookiesForHostname): Ditto. 59256 59257 2011-02-25 Pavel Feldman <pfeldman (a] chromium.org> 59258 59259 Reviewed by Timothy Hatcher. 59260 59261 Web Inspector: Empty Elements panel after closing and reopening Inspector 59262 https://bugs.webkit.org/show_bug.cgi?id=55248 59263 59264 Fixing regression real quick. Test to follow. 59265 59266 * inspector/InspectorDOMAgent.cpp: 59267 (WebCore::InspectorDOMAgent::reset): 59268 59269 2011-02-25 Pavel Feldman <pfeldman (a] chromium.org> 59270 59271 Not reviewed: added missing handle scope into V8InjectedScriptHostCustom. 59272 https://bugs.webkit.org/show_bug.cgi?id=55256 59273 59274 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 59275 (WebCore::InjectedScriptHost::nodeAsScriptValue): 59276 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 59277 59278 2011-02-25 David Hyatt <hyatt (a] apple.com> 59279 59280 Reviewed by Sam Weinig. 59281 59282 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 59283 59284 Make positioned objects work with all possible crazy combinations of mixed writing modes. Added new helper 59285 functions that flip around the padding box of the containing block and then add in the appropriate border 59286 side to ensure that the offset of the positioned object is actually correctly placed in the containing block's 59287 local coordinate space. 59288 59289 Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments. 59290 59291 * rendering/RenderBox.cpp: 59292 (WebCore::computeLogicalLeftPositionedOffset): 59293 (WebCore::RenderBox::computePositionedLogicalWidthUsing): 59294 (WebCore::computeLogicalTopPositionedOffset): 59295 (WebCore::RenderBox::computePositionedLogicalHeightUsing): 59296 (WebCore::RenderBox::computePositionedLogicalWidthReplaced): 59297 (WebCore::RenderBox::computePositionedLogicalHeightReplaced): 59298 59299 2011-02-25 Brian Weinstein <bweinstein (a] apple.com> 59300 59301 Reviewed by Brady Eidson and looked over by Jessie Berlin. 59302 59303 WebKit2: Need a way to manage cookies from the web process 59304 https://bugs.webkit.org/show_bug.cgi?id=55086 59305 59306 Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies, 59307 deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest), 59308 and call them from WebKit2's WebCookieManager. 59309 59310 No change in behavior needing tests. 59311 59312 * WebCore.exp.in: Added needed functions to export. 59313 * platform/CookieJar.h: 59314 59315 * platform/mac/CookieJar.mm: 59316 (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage. 59317 (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from 59318 NSHTTPCookieStorage. 59319 (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage. 59320 59321 * platform/network/cf/CookieJarCFNet.cpp: 59322 (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs. 59323 (WebCore::deleteCookiesForHostname): Ditto. 59324 (WebCore::deleteAllCookies): Ditto. 59325 59326 * platform/efl/CookieJarEfl.cpp: Added stub functions. 59327 * platform/haiku/CookieJarHaiku.cpp: Ditto. 59328 * platform/network/android/CookieJarAndroid.cpp: Ditto. 59329 * platform/network/chromium/CookieJarChromium.cpp: Ditto. 59330 * platform/network/curl/CookieJarCurl.cpp: Ditto. 59331 * platform/network/soup/CookieJarSoup.cpp: Ditto. 59332 * platform/network/win/CookieJarWin.cpp: Ditto. 59333 * platform/qt/CookieJarQt.cpp: Ditto. 59334 59335 2011-02-25 Eric Carlson <eric.carlson (a] apple.com> 59336 59337 Reviewed by Eric Seidel. 59338 59339 'load' and 'error' events fired for @poster 59340 https://bugs.webkit.org/show_bug.cgi?id=54908 59341 59342 * html/HTMLImageLoader.cpp: 59343 (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used 59344 by a video element. 59345 59346 2011-02-25 David Hyatt <hyatt (a] apple.com> 59347 59348 Reviewed by Sam Weinig. 59349 59350 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 59351 59352 Patch computePositionedLogicalHeightReplaced to be writing-mode aware. 59353 59354 Added six new tests in fast/replaced. 59355 59356 * rendering/RenderBox.cpp: 59357 (WebCore::RenderBox::computePositionedLogicalHeightReplaced): 59358 59359 2011-02-25 Patrick Gansterer <paroga (a] webkit.org> 59360 59361 Unreviewed build fix. 59362 59363 * platform/text/brew/TextBreakIteratorBrew.cpp: 59364 (WebCore::acquireLineBreakIterator): 59365 * platform/text/wince/TextBreakIteratorWinCE.cpp: 59366 (WebCore::acquireLineBreakIterator): 59367 59368 2011-02-25 Vangelis Kokkevis <vangelis (a] chromium.org> 59369 59370 Reviewed by Simon Fraser. 59371 59372 Update the clip layer size whenever the root layer's size and position 59373 is updated. This only affects the accelerated compositing path. 59374 https://bugs.webkit.org/show_bug.cgi?id=55103 59375 59376 * rendering/RenderLayerCompositor.cpp: 59377 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 59378 59379 Test: platform/chromium/compositing/layout-width-change.html 59380 59381 * rendering/RenderLayerCompositor.cpp: 59382 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 59383 59384 2011-02-25 Ned Holbrook <nholbrook (a] apple.com> 59385 59386 Reviewed by Dan Bernstein. 59387 59388 Minimize calls to ubrk_setText() 59389 https://bugs.webkit.org/show_bug.cgi?id=54912 59390 <rdar://problem/9032774> 59391 59392 Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers 59393 break iterator creation until needed. This requires replacing the global line break iterator primitive with a 59394 version that can be nested, since in some cases two iterators may need to be outstanding. In particular, 59395 layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator. 59396 In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1. 59397 59398 * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator. 59399 (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): 59400 (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator): 59401 (WebCore::LazyLineBreakIterator::string): 59402 (WebCore::LazyLineBreakIterator::length): 59403 (WebCore::LazyLineBreakIterator::get): 59404 (WebCore::LazyLineBreakIterator::reset): 59405 * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator(). 59406 (WebCore::acquireLineBreakIterator): 59407 (WebCore::releaseLineBreakIterator): 59408 * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto. 59409 (WebCore::acquireLineBreakIterator): 59410 (WebCore::releaseLineBreakIterator): 59411 * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto. 59412 (WebCore::acquireLineBreakIterator): 59413 (WebCore::releaseLineBreakIterator): 59414 * platform/text/qt/TextBreakIteratorQt.cpp: Ditto. 59415 (WebCore::acquireLineBreakIterator): 59416 (WebCore::releaseLineBreakIterator): 59417 * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto. 59418 (WebCore::acquireLineBreakIterator): 59419 (WebCore::releaseLineBreakIterator): 59420 * rendering/RenderBlock.h: 59421 * rendering/RenderBlockLineLayout.cpp: 59422 (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next. 59423 (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText. 59424 * rendering/RenderText.cpp: Use a local LazyLineBreakIterator. 59425 (WebCore::RenderText::computePreferredLogicalWidths): 59426 * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer. 59427 (WebCore::nextBreakablePosition): 59428 * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer. 59429 (WebCore::isBreakable): 59430 59431 2011-02-25 David Hyatt <hyatt (a] apple.com> 59432 59433 Reviewed by Sam Weinig. 59434 59435 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 59436 59437 Patch computePositionedLogicalWidthReplaced to be writing-mode aware. Not testable yet, since the height function overwrites the values 59438 in a vertical text environment. 59439 59440 * rendering/RenderBox.cpp: 59441 (WebCore::RenderBox::computePositionedLogicalWidthReplaced): 59442 59443 2011-02-25 Abhishek Arya <inferno (a] chromium.org> 59444 59445 Reviewed by Dave Hyatt. 59446 59447 When trying to find which lines to dirty for a changed child, make sure 59448 that we do test if the adjacent next linebox contains that changed child 59449 and if yes, dirty it. This can happen in cases when we have a word break 59450 between text nodes. 59451 https://bugs.webkit.org/show_bug.cgi?id=55206 59452 59453 Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html 59454 59455 * rendering/RenderLineBoxList.cpp: 59456 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 59457 59458 2011-02-25 Andrey Adaikin <aandrey (a] google.com> 59459 59460 Reviewed by Pavel Feldman. 59461 59462 Web Inspector: [Text editor] Add basic layout tests for the highlighter 59463 https://bugs.webkit.org/show_bug.cgi?id=54751 59464 59465 Test: inspector/editor/highlighter-basics.html 59466 59467 * inspector/front-end/TextEditorHighlighter.js: 59468 (WebInspector.TextEditorHighlighter.prototype.highlight): 59469 59470 2011-02-24 Alexander Pavlov <apavlov (a] chromium.org> 59471 59472 Reviewed by Pavel Feldman. 59473 59474 Web Inspector: Huge fonts in font preview 59475 https://bugs.webkit.org/show_bug.cgi?id=55143 59476 59477 * inspector/front-end/FontView.js: 59478 (WebInspector.FontView.prototype._createContentIfNeeded): 59479 (WebInspector.FontView.prototype.show): 59480 (WebInspector.FontView.prototype.resize): 59481 (WebInspector.FontView.prototype._measureElement): 59482 (WebInspector.FontView.prototype.updateFontPreviewSize): 59483 59484 2011-02-25 Nikolas Zimmermann <nzimmermann (a] rim.com> 59485 59486 Reviewed by Dirk Schulze. 59487 59488 Implement SVGColor/SVGPaint API 59489 https://bugs.webkit.org/show_bug.cgi?id=55119 59490 59491 SVGColor::cssText() shouldn't return #RRGGBBAA colors 59492 https://bugs.webkit.org/show_bug.cgi?id=48120 59493 59494 Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs. 59495 SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type. 59496 That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to 59497 their CSSValues should be reflected in the elements style as well as in the computed style. 59498 This patch doesn't yet implement that, the stubbed-out method valueChanged() is what 59499 needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue 59500 and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed). 59501 Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects. 59502 59503 Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..) 59504 Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style 59505 <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch. 59506 59507 Tests: svg/dom/SVGColor.html 59508 svg/dom/SVGPaint.html 59509 59510 * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs. 59511 * bindings/scripts/CodeGeneratorJS.pm: Ditto. 59512 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 59513 * bindings/scripts/CodeGeneratorV8.pm: Ditto. 59514 * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes. 59515 (WebCore::CSSParser::parseSVGValue): 59516 (WebCore::CSSParser::parseSVGPaint): 59517 (WebCore::CSSParser::parseSVGColor): 59518 * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention. 59519 (WebCore::valueChanged): Stub implementation, will land in a follow-up patch. 59520 (WebCore::SVGColor::SVGColor): 59521 (WebCore::SVGColor::setRGBColor): 59522 (WebCore::SVGColor::colorFromRGBColorString): 59523 (WebCore::SVGColor::setRGBColorICCColor): 59524 (WebCore::SVGColor::setColor): 59525 (WebCore::SVGColor::cssText): 59526 * svg/SVGColor.h: 59527 (WebCore::SVGColor::createFromString): 59528 (WebCore::SVGColor::createFromColor): 59529 (WebCore::SVGColor::color): 59530 (WebCore::SVGColor::colorType): 59531 (WebCore::SVGColor::~SVGColor): 59532 (WebCore::SVGColor::setColor): 59533 (WebCore::SVGColor::setColorType): 59534 * svg/SVGColor.idl: Enable strict type checking. 59535 * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention. 59536 (WebCore::valueChanged): Stub implementation, will land in a follow-up patch. 59537 (WebCore::colorTypeForPaintType): 59538 (WebCore::SVGPaint::SVGPaint): 59539 (WebCore::SVGPaint::setUri): 59540 (WebCore::SVGPaint::defaultFill): 59541 (WebCore::SVGPaint::defaultStroke): 59542 (WebCore::SVGPaint::setPaint): 59543 (WebCore::SVGPaint::cssText): 59544 (WebCore::SVGPaint::matchesTargetURI): 59545 * svg/SVGPaint.h: 59546 (WebCore::SVGPaint::createUnknown): 59547 (WebCore::SVGPaint::createNone): 59548 (WebCore::SVGPaint::createCurrentColor): 59549 (WebCore::SVGPaint::createColor): 59550 (WebCore::SVGPaint::createURI): 59551 (WebCore::SVGPaint::createURIAndColor): 59552 (WebCore::SVGPaint::paintType): 59553 (WebCore::SVGPaint::uri): 59554 (WebCore::SVGPaint::create): 59555 (WebCore::SVGPaint::isSVGPaint): 59556 * svg/SVGPaint.idl: Enable strict type checking. 59557 59558 2011-02-25 Renata Hodovan <reni (a] webkit.org> 59559 59560 Reviewed by Nikolas Zimmermann. 59561 59562 FESpecularLightingElement changes doesn't require relayout. 59563 https://bugs.webkit.org/show_bug.cgi?id=54451 59564 59565 When the FESpecularLightingElement receives an update message but the given value remains the same we don't need 59566 to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter. 59567 Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null. 59568 59569 No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting. 59570 We only test what happens if we remove the light source of specularLight. 59571 59572 Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html 59573 59574 * platform/graphics/filters/FESpecularLighting.cpp: 59575 (WebCore::FESpecularLighting::setSurfaceScale): 59576 (WebCore::FESpecularLighting::setSpecularConstant): 59577 (WebCore::FESpecularLighting::setSpecularExponent): 59578 (WebCore::FESpecularLighting::setKernelUnitLengthX): 59579 (WebCore::FESpecularLighting::setKernelUnitLengthY): 59580 * platform/graphics/filters/FESpecularLighting.h: 59581 * rendering/svg/RenderSVGResourceFilter.cpp: 59582 (WebCore::RenderSVGResourceFilter::postApplyResource): 59583 * svg/SVGFEDiffuseLightingElement.cpp: 59584 (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute): 59585 (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged): 59586 (WebCore::SVGFEDiffuseLightingElement::build): 59587 * svg/SVGFEDiffuseLightingElement.h: 59588 * svg/SVGFELightElement.cpp: 59589 (WebCore::SVGFELightElement::findLightElement): 59590 (WebCore::SVGFELightElement::findLight): 59591 (WebCore::SVGFELightElement::svgAttributeChanged): 59592 * svg/SVGFELightElement.h: 59593 * svg/SVGFESpecularLightingElement.cpp: 59594 (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute): 59595 (WebCore::SVGFESpecularLightingElement::svgAttributeChanged): 59596 (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged): 59597 (WebCore::SVGFESpecularLightingElement::build): 59598 * svg/SVGFESpecularLightingElement.h: 59599 59600 2011-02-24 Jocelyn Turcotte <jocelyn.turcotte (a] nokia.com> 59601 59602 Reviewed by Andreas Kling. 59603 59604 [Qt] Revert the support for QNAM affined to a different thread. 59605 https://bugs.webkit.org/show_bug.cgi?id=55149 59606 59607 Qt 4.8 will have QNAM use its own thread internally by default, 59608 no need to keep this complexity in WebKit. 59609 59610 This mainly reverts: 59611 http://trac.webkit.org/changeset/73710 59612 http://trac.webkit.org/changeset/73712 59613 59614 * WebCore.pro: 59615 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 59616 (WebCore::MediaPlayerPrivateQt::commitLoad): 59617 * platform/network/qt/QNetworkReplyHandler.cpp: 59618 (WebCore::FormDataIODevice::FormDataIODevice): 59619 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 59620 (WebCore::QNetworkReplyHandler::setLoadMode): 59621 (WebCore::QNetworkReplyHandler::abort): 59622 (WebCore::QNetworkReplyHandler::release): 59623 (WebCore::ignoreHttpError): 59624 (WebCore::QNetworkReplyHandler::finish): 59625 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 59626 (WebCore::QNetworkReplyHandler::forwardData): 59627 (WebCore::QNetworkReplyHandler::start): 59628 (WebCore::QNetworkReplyHandler::sendQueuedItems): 59629 * platform/network/qt/QNetworkReplyHandler.h: 59630 (WebCore::QNetworkReplyHandler::reply): 59631 * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed. 59632 * platform/network/qt/QtNAMThreadSafeProxy.h: Removed. 59633 * platform/network/qt/ResourceHandleQt.cpp: 59634 (WebCore::ResourceHandle::willLoadFromCache): 59635 * platform/qt/CookieJarQt.cpp: 59636 (WebCore::cookieJar): 59637 (WebCore::setCookies): 59638 (WebCore::cookies): 59639 (WebCore::cookieRequestHeaderFieldValue): 59640 (WebCore::cookiesEnabled): 59641 59642 2011-02-25 Renata Hodovan <reni (a] webkit.org> 59643 59644 Reviewed by Andreas Kling. 59645 59646 FEBlendElement changes doesn't require relayout 59647 https://bugs.webkit.org/show_bug.cgi?id=55138 59648 59649 When the FEBlendElement receives an update message but the given value remains the same we don't need 59650 to relayout the filter. 59651 59652 No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend. 59653 59654 * platform/graphics/filters/FEBlend.cpp: 59655 (WebCore::FEBlend::setBlendMode): 59656 * platform/graphics/filters/FEBlend.h: 59657 * svg/SVGFEBlendElement.cpp: 59658 (WebCore::SVGFEBlendElement::setFilterEffectAttribute): 59659 (WebCore::SVGFEBlendElement::svgAttributeChanged): 59660 (WebCore::SVGFEBlendElement::synchronizeProperty): 59661 * svg/SVGFEBlendElement.h: 59662 59663 2011-02-24 Daniel Bates <dbates (a] rim.com> 59664 59665 Reviewed by Antonio Gomes. 59666 59667 Clean up: Extract table height adjustment for <caption> into common function 59668 https://bugs.webkit.org/show_bug.cgi?id=54936 59669 59670 We use similar logic for adjusting the height of a table with respect 59671 to a top- and bottom-positioned <caption>. Instead, we should extract 59672 the common code into a shared function. 59673 59674 No functionality changed. So no new tests. 59675 59676 * rendering/RenderTable.cpp: 59677 (WebCore::RenderTable::adjustLogicalHeightForCaption): Added. 59678 (WebCore::RenderTable::layout): Extracted common code to adjust table height 59679 with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption(). 59680 * rendering/RenderTable.h: 59681 59682 2011-02-24 James Robinson <jamesr (a] chromium.org> 59683 59684 Reviewed by Kenneth Russell. 59685 59686 [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl 59687 https://bugs.webkit.org/show_bug.cgi?id=55013 59688 59689 This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers. 59690 Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium 59691 tree for structure. In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only 59692 concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish. 59693 59694 RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies. 59695 59696 Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally 59697 not added it to the include path. We plan to add more compositor implementation details to this directory 59698 and we want to keep accidental dependencies on these files to a minimum. 59699 59700 See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture. 59701 59702 Refactor only, compositing/ tests cover these codepaths. 59703 59704 * WebCore.gypi: 59705 * platform/graphics/chromium/CanvasLayerChromium.cpp: 59706 (WebCore::CanvasLayerChromium::draw): 59707 * platform/graphics/chromium/ContentLayerChromium.cpp: 59708 (WebCore::ContentLayerChromium::requiresClippedUpdateRect): 59709 (WebCore::ContentLayerChromium::updateContentsIfDirty): 59710 (WebCore::ContentLayerChromium::draw): 59711 * platform/graphics/chromium/LayerChromium.cpp: 59712 (WebCore::LayerChromium::LayerChromium): 59713 (WebCore::LayerChromium::cleanupResources): 59714 (WebCore::LayerChromium::setLayerRenderer): 59715 (WebCore::LayerChromium::setBounds): 59716 (WebCore::LayerChromium::setFrame): 59717 (WebCore::LayerChromium::setNeedsDisplay): 59718 (WebCore::LayerChromium::setBorderColor): 59719 (WebCore::LayerChromium::borderColor): 59720 (WebCore::LayerChromium::setBorderWidth): 59721 (WebCore::LayerChromium::borderWidth): 59722 (WebCore::LayerChromium::layerRenderer): 59723 (WebCore::LayerChromium::setDoubleSided): 59724 (WebCore::LayerChromium::bounds): 59725 * platform/graphics/chromium/LayerChromium.h: 59726 (WebCore::LayerChromium::maskDrawLayer): 59727 (WebCore::LayerChromium::ccLayerImpl): 59728 * platform/graphics/chromium/LayerRendererChromium.cpp: 59729 (WebCore::LayerRendererChromium::compareLayerZ): 59730 (WebCore::LayerRendererChromium::drawLayers): 59731 (WebCore::LayerRendererChromium::updateLayersRecursive): 59732 (WebCore::LayerRendererChromium::setCompositeOffscreen): 59733 (WebCore::LayerRendererChromium::getOffscreenLayerTexture): 59734 (WebCore::LayerRendererChromium::drawLayer): 59735 * platform/graphics/chromium/LayerRendererChromium.h: 59736 * platform/graphics/chromium/PluginLayerChromium.cpp: 59737 (WebCore::PluginLayerChromium::draw): 59738 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 59739 (WebCore::RenderSurfaceChromium::RenderSurfaceChromium): 59740 (WebCore::RenderSurfaceChromium::drawSurface): 59741 (WebCore::RenderSurfaceChromium::draw): 59742 * platform/graphics/chromium/RenderSurfaceChromium.h: 59743 * platform/graphics/chromium/VideoLayerChromium.cpp: 59744 (WebCore::VideoLayerChromium::drawYUV): 59745 (WebCore::VideoLayerChromium::drawRGBA): 59746 * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added. 59747 (WebCore::CCLayerImpl::CCLayerImpl): 59748 (WebCore::CCLayerImpl::~CCLayerImpl): 59749 (WebCore::CCLayerImpl::superlayer): 59750 (WebCore::CCLayerImpl::maskLayer): 59751 (WebCore::CCLayerImpl::replicaLayer): 59752 (WebCore::CCLayerImpl::setLayerRenderer): 59753 (WebCore::CCLayerImpl::createRenderSurface): 59754 (WebCore::CCLayerImpl::updateContentsIfDirty): 59755 (WebCore::CCLayerImpl::drawsContent): 59756 (WebCore::CCLayerImpl::draw): 59757 (WebCore::CCLayerImpl::unreserveContentsTexture): 59758 (WebCore::CCLayerImpl::bindContentsTexture): 59759 (WebCore::CCLayerImpl::cleanupResources): 59760 (WebCore::CCLayerImpl::getDrawRect): 59761 (WebCore::CCLayerImpl::drawDebugBorder): 59762 * platform/graphics/chromium/cc/CCLayerImpl.h: Added. 59763 (WebCore::CCLayerImpl::create): 59764 (WebCore::CCLayerImpl::setDebugBorderColor): 59765 (WebCore::CCLayerImpl::debugBorderColor): 59766 (WebCore::CCLayerImpl::setDebugBorderWidth): 59767 (WebCore::CCLayerImpl::debugBorderWidth): 59768 (WebCore::CCLayerImpl::layerRenderer): 59769 (WebCore::CCLayerImpl::renderSurface): 59770 (WebCore::CCLayerImpl::clearRenderSurface): 59771 (WebCore::CCLayerImpl::drawDepth): 59772 (WebCore::CCLayerImpl::setDrawDepth): 59773 (WebCore::CCLayerImpl::drawOpacity): 59774 (WebCore::CCLayerImpl::setDrawOpacity): 59775 (WebCore::CCLayerImpl::scissorRect): 59776 (WebCore::CCLayerImpl::setScissorRect): 59777 (WebCore::CCLayerImpl::targetRenderSurface): 59778 (WebCore::CCLayerImpl::setTargetRenderSurface): 59779 (WebCore::CCLayerImpl::doubleSided): 59780 (WebCore::CCLayerImpl::setDoubleSided): 59781 (WebCore::CCLayerImpl::bounds): 59782 (WebCore::CCLayerImpl::setBounds): 59783 (WebCore::CCLayerImpl::drawTransform): 59784 (WebCore::CCLayerImpl::setDrawTransform): 59785 (WebCore::CCLayerImpl::drawableContentRect): 59786 (WebCore::CCLayerImpl::setDrawableContentRect): 59787 59788 2011-02-24 Dan Bernstein <mitz (a] apple.com> 59789 59790 Reviewed by Simon Fraser. 59791 59792 REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered 59793 https://bugs.webkit.org/show_bug.cgi?id=55197 59794 59795 * rendering/RenderBlockLineLayout.cpp: 59796 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even 59797 if there are no expansion opportunities. This allows RenderRubyBase to center itself. 59798 59799 2011-02-24 Darin Adler <darin (a] apple.com> 59800 59801 Reviewed by Alexey Proskuryakov. 59802 59803 REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions 59804 https://bugs.webkit.org/show_bug.cgi?id=55135 59805 59806 * platform/text/TextCodecUTF8.cpp: 59807 (WebCore::TextCodecUTF8::decode): Removed incorrect assertions. 59808 59809 2011-02-24 Darin Adler <darin (a] apple.com> 59810 59811 Reviewed by Anders Carlsson. 59812 59813 WebKit2: Image-based cursors do not work 59814 https://bugs.webkit.org/show_bug.cgi?id=55184 59815 59816 * WebCore.exp.in: Exported new entry points now used by WebKit2. 59817 59818 2011-02-24 Matthew Delaney <mdelaney (a] apple.com> 59819 59820 Reviewed by Simon Fraser. 59821 59822 ImageBuffer::clip creates an image of the incorrect context in IOSurface case 59823 https://bugs.webkit.org/show_bug.cgi?id=55170 59824 59825 Test: fast/canvas/2d.fillText.gradient.html 59826 59827 * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context 59828 instead of ourself (the passed in context). 59829 59830 2011-02-24 Simon Fraser <simon.fraser (a] apple.com> 59831 59832 Reviewed by Dan Bernstein. 59833 59834 RenderBoxModelObject::paintBoxShadow should bail earlier 59835 https://bugs.webkit.org/show_bug.cgi?id=55186 59836 59837 Make paintBoxShadow() bail early if there is no shadow, and make 59838 callers consistent in not checking for box-shadow before calling it. 59839 59840 * rendering/InlineFlowBox.cpp: 59841 (WebCore::InlineFlowBox::paintBoxDecorations): 59842 * rendering/RenderBoxModelObject.cpp: 59843 (WebCore::RenderBoxModelObject::paintBoxShadow): 59844 * rendering/RenderTableCell.cpp: 59845 (WebCore::RenderTableCell::paintBoxDecorations): 59846 59847 2011-02-24 James Robinson <jamesr (a] chromium.org> 59848 59849 Reviewed by Darin Fisher. 59850 59851 Add a USE() macro to control use of the built-in UTF8 codec 59852 https://bugs.webkit.org/show_bug.cgi?id=55189 59853 59854 Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set. 59855 59856 * platform/text/TextCodecICU.cpp: 59857 (WebCore::TextCodecICU::registerEncodingNames): 59858 * platform/text/TextEncodingRegistry.cpp: 59859 (WebCore::buildBaseTextCodecMaps): 59860 59861 2011-02-24 Dan Bernstein <mitz (a] apple.com> 59862 59863 Reviewed by Dave Hyatt. 59864 59865 <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text 59866 https://bugs.webkit.org/show_bug.cgi?id=55183 59867 59868 Test: fast/ruby/base-shorter-than-text.html 59869 59870 * rendering/RenderBlock.cpp: 59871 (WebCore::RenderBlock::availableLogicalWidthForLine): 59872 * rendering/RenderBlock.h: 59873 (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing. 59874 * rendering/RenderBlockLineLayout.cpp: 59875 (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for 59876 the last line or a line that ends with a hard break. 59877 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available 59878 width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines. 59879 * rendering/RenderRubyBase.cpp: 59880 (WebCore::RenderRubyBase::rubyRun): Added. 59881 (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify". 59882 (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is 59883 half the width of a single intra-line expansion. 59884 * rendering/RenderRubyBase.h: 59885 * rendering/RenderRubyRun.cpp: 59886 (WebCore::RenderRubyRun::addChild): 59887 59888 2011-02-24 James Robinson <jamesr (a] chromium.org> 59889 59890 Unreviewed, rolling out r79604. 59891 http://trac.webkit.org/changeset/79604 59892 https://bugs.webkit.org/show_bug.cgi?id=55017 59893 59894 Causes assertions to fail on some SVG tests 59895 59896 * svg/graphics/SVGImage.cpp: 59897 (WebCore::SVGImage::dataChanged): 59898 59899 2011-02-24 Oliver Hunt <oliver (a] apple.com> 59900 59901 Build fix 59902 59903 * bindings/js/JSBindingsAllInOne.cpp: 59904 59905 2011-02-24 David Hyatt <hyatt (a] apple.com> 59906 59907 Reviewed by Simon Fraser. 59908 59909 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 59910 59911 Rework the logical height computation for positioned elements to work in terms of before and after. That way the offset is determined from 59912 the correct container side in flipped block writing modes (e.g., vertical-rl). 59913 59914 Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned 59915 elements. 59916 59917 Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly. 59918 59919 Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr. 59920 59921 * rendering/RenderBox.cpp: 59922 (WebCore::RenderBox::offsetFromContainer): 59923 (WebCore::RenderBox::computePositionedLogicalHeight): 59924 (WebCore::RenderBox::computePositionedLogicalHeightUsing): 59925 (WebCore::RenderBox::locationOffsetIncludingFlipping): 59926 * rendering/style/RenderStyle.h: 59927 (WebCore::InheritedFlags::logicalTop): 59928 (WebCore::InheritedFlags::logicalBottom): 59929 59930 2011-02-23 Oliver Hunt <oliver (a] apple.com> 59931 59932 Reviewed by Geoffrey Garen. 59933 59934 Make WeakGCMap use new handle infrastructure 59935 https://bugs.webkit.org/show_bug.cgi?id=55100 59936 59937 Update to new WeakGCMap APIs, this requires threading global 59938 data to a few functions that did not need it in the past, but 59939 also gets rid of a large number of destructors, as well as the 59940 forgetDOMNode, etc APIs. 59941 59942 We can also drop the JSDebugWrapperSet as its only purpose was 59943 to ensure that we retained correct semantics in the old WeakGCMap, 59944 but happilly these semantics are now guaranteed by the map itself. 59945 59946 * CMakeLists.txt: 59947 * GNUmakefile.am: 59948 * WebCore.gypi: 59949 * WebCore.pro: 59950 * WebCore.vcproj/WebCore.vcproj: 59951 * WebCore.xcodeproj/project.pbxproj: 59952 * bindings/js/JSDOMBinding.cpp: 59953 (WebCore::hasCachedDOMObjectWrapperUnchecked): 59954 (WebCore::cacheDOMObjectWrapper): 59955 (WebCore::hasCachedDOMNodeWrapperUnchecked): 59956 (WebCore::cacheDOMNodeWrapper): 59957 (WebCore::isObservableThroughDOM): 59958 (WebCore::markDOMNodesForDocument): 59959 (WebCore::takeWrappers): 59960 (WebCore::updateDOMNodeDocument): 59961 (WebCore::markDOMObjectWrapper): 59962 (WebCore::markDOMNodeWrapper): 59963 (WebCore::stringWrapperDestroyed): 59964 (WebCore::jsStringSlowCase): 59965 * bindings/js/JSDOMBinding.h: 59966 * bindings/js/JSDOMWrapper.cpp: 59967 (WebCore::DOMObject::~DOMObject): 59968 * bindings/js/JSDebugWrapperSet.cpp: Removed. 59969 * bindings/js/JSDebugWrapperSet.h: Removed. 59970 * bindings/scripts/CodeGeneratorJS.pm: 59971 * bridge/jsc/BridgeJSC.cpp: 59972 (JSC::Bindings::Instance::createRuntimeObject): 59973 * bridge/jsc/BridgeJSC.h: 59974 * bridge/runtime_object.cpp: 59975 (JSC::Bindings::RuntimeObject::~RuntimeObject): 59976 * bridge/runtime_root.cpp: 59977 (JSC::Bindings::RootObject::invalidate): 59978 (JSC::Bindings::RootObject::addRuntimeObject): 59979 (JSC::Bindings::RootObject::removeRuntimeObject): 59980 * bridge/runtime_root.h: 59981 59982 2011-02-24 James Robinson <jamesr (a] chromium.org> 59983 59984 Fix chromium compile. 59985 59986 * bindings/v8/custom/V8LocationCustom.cpp: 59987 (WebCore::V8Location::toStringCallback): 59988 59989 2011-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 59990 59991 Unreviewed, rolling out r79607. 59992 http://trac.webkit.org/changeset/79607 59993 https://bugs.webkit.org/show_bug.cgi?id=55157 59994 59995 Broke Chromium layout tests. 59996 59997 * html/shadow/MediaControls.cpp: 59998 (WebCore::MediaControls::updateVolumeSliderContainer): 59999 * rendering/RenderMediaControls.cpp: 60000 (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): 60001 * rendering/RenderMediaControls.h: 60002 * rendering/RenderTheme.cpp: 60003 (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): 60004 * rendering/RenderTheme.h: 60005 * rendering/RenderThemeChromiumMac.h: 60006 * rendering/RenderThemeChromiumMac.mm: 60007 (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): 60008 * rendering/RenderThemeMac.h: 60009 * rendering/RenderThemeMac.mm: 60010 (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): 60011 * rendering/RenderThemeWin.cpp: 60012 (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): 60013 * rendering/RenderThemeWin.h: 60014 60015 2011-02-24 Anders Carlsson <andersca (a] apple.com> 60016 60017 Reviewed by Sam Weinig. 60018 60019 Fix the clang -Woverloaded-virtual build. 60020 60021 JSLocation has a toString function which conflicts with the virtual JSObject::toString member function. 60022 Fix this by renaming the implementation function from JSLocation::toString to JSLocation::toStringFunction. 60023 60024 * bindings/js/JSLocationCustom.cpp: 60025 (WebCore::JSLocation::toStringFunction): 60026 * bindings/v8/custom/V8LocationCustom.cpp: 60027 (WebCore::V8Location::toStringFunctionCallback): 60028 * page/Location.idl: 60029 60030 2011-02-24 Anders Carlsson <andersca (a] apple.com> 60031 60032 Fix clang build. 60033 60034 * bindings/objc/WebScriptObject.mm: 60035 (-[WebUndefined release]): 60036 Release should be "oneway void". 60037 60038 (-[WebUndefined retainCount]): 60039 Return NSUIntegerMax instead of UINT_MAX. 60040 60041 2011-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 60042 60043 Reviewed by Darin Adler. 60044 60045 Simplify RenderTheme::volumeSliderOffsetFromMuteButton, unduplicate code. 60046 https://bugs.webkit.org/show_bug.cgi?id=55157 60047 60048 Refactoring, no functional changes. Covered by existing tests. 60049 60050 RenderTheme::volumeSliderOffsetFromMuteButton has the same duplicated 60051 logic for all platforms. This patch: 60052 a) moves the common logic of determining absolute positioning to a 60053 platform-agnostic place; 60054 b) simplifies the method to return constant offset. 60055 60056 * html/shadow/MediaControls.cpp: 60057 (WebCore::volumeSliderOffset): Added new helper function, 60058 capturing common logic of finding the absolute position of the volume slider. 60059 (WebCore::MediaControls::updateVolumeSliderContainer): Changed to use the 60060 new helper. 60061 * rendering/RenderMediaControls.cpp: 60062 (WebCore::RenderMediaControls::volumeSliderOffsetRelativeToMuteButton): Simplified. 60063 * rendering/RenderMediaControls.h: Ditto. 60064 * rendering/RenderTheme.cpp: 60065 (WebCore::RenderTheme::volumeSliderOffsetRelativeToMuteButton): Ditto. 60066 * rendering/RenderTheme.h: Ditto. 60067 * rendering/RenderThemeChromiumMac.h: Ditto. 60068 * rendering/RenderThemeChromiumMac.mm: Ditto. 60069 (WebCore::RenderThemeChromiumMac::volumeSliderOffsetRelativeToMuteButton): Ditto. 60070 * rendering/RenderThemeMac.h: Ditto. 60071 * rendering/RenderThemeMac.mm: Ditto. 60072 (WebCore::RenderThemeMac::volumeSliderOffsetRelativeToMuteButton): Ditto. 60073 * rendering/RenderThemeWin.cpp: Ditto. 60074 (WebCore::RenderThemeWin::volumeSliderOffsetRelativeToMuteButton): Ditto. 60075 * rendering/RenderThemeWin.h: Ditto. 60076 60077 2011-02-24 Tom Sepez <tsepez (a] chromium.org> 60078 60079 Reviewed by Darin Fisher. 60080 60081 Make frameview resized event dispatch async so that it occurs 60082 after layout has completed. 60083 60084 https://bugs.webkit.org/show_bug.cgi?id=54467 60085 Test: fast/replaced/frame-removed-during-resize-smaller.html 60086 60087 * page/EventHandler.cpp: 60088 (WebCore::EventHandler::sendResizeEvent): 60089 60090 2011-02-24 Xianzhu Wang <wangxianzhu (a] google.com> 60091 60092 Reviewed by Adam Barth. 60093 60094 Use loader->init() instead of loader->load() to avoid complex fake 60095 request loading and cleanup logic, and also avoid ResourceLoader leaks. 60096 60097 https://bugs.webkit.org/show_bug.cgi?id=55017 60098 60099 Test: svg/misc/SVGImage-leak-ResourceLoader.html 60100 60101 * svg/graphics/SVGImage.cpp: 60102 (WebCore::SVGImage::dataChanged): 60103 60104 2011-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 60105 60106 Chromium Mac build fix after r79591. 60107 60108 * WebCore.gypi: Added RenderMediaControls to WebCore.gypi. 60109 60110 2011-02-24 Misha Tyutyunik <michael.tyutyunik (a] nokia.com> 60111 60112 Reviewed by Andreas Kling. 60113 60114 [Qt] Dont use QPixmapCache if QPixmapCache::cacheLimit() is too small 60115 (2048Kb for now). 60116 https://bugs.webkit.org/show_bug.cgi?id=54887 60117 60118 No new tests required. 60119 60120 * platform/graphics/qt/GraphicsLayerQt.cpp: 60121 (WebCore::GraphicsLayerQtImpl::allowAcceleratedCompositingCache): 60122 (WebCore::GraphicsLayerQtImpl::drawLayerContent): 60123 (WebCore::GraphicsLayerQtImpl::paint): 60124 (WebCore::GraphicsLayerQtImpl::flushChanges): 60125 60126 2011-02-20 Martin Robinson <mrobinson (a] igalia.com> 60127 60128 Reviewed by Nikolas Zimmermann. 60129 60130 [CAIRO] Support ImageBuffers clip operation on all Cairo ports 60131 https://bugs.webkit.org/show_bug.cgi?id=23526 60132 60133 Add support for ImageBuffer clipping on Cairo by emulating them with image 60134 masks. Since masking is immediate on Cairo, we must store the mask surfaces 60135 on a stack and apply them during restorePlatformState. 60136 60137 * platform/graphics/GraphicsContext.h: Add pushImageMask. 60138 * platform/graphics/cairo/GraphicsContextCairo.cpp: 60139 (WebCore::GraphicsContext::savePlatformState): Push an empty mask onto the 60140 stack, so we can keep track of when to actually apply the image mask. 60141 (WebCore::GraphicsContext::restorePlatformState): When we are ready to apply 60142 an image mask, use cairo_mask_surface to mask the group that we pushed onto 60143 our surface. 60144 (WebCore::GraphicsContext::pushImageMask): Added. This method will push a surface 60145 onto the image mask stack and push a group onto the Cairo state, so that the masking 60146 only affects what we paint after this point. 60147 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Added a class to keep 60148 track of image masking information after calls to pushImageMask. 60149 (WebCore::ImageMaskInformation::update): Added 60150 (WebCore::ImageMaskInformation::valid): Added 60151 (WebCore::ImageMaskInformation::maskSurface): Added 60152 (WebCore::ImageMaskInformation::maskRect): Added 60153 * platform/graphics/cairo/ImageBufferCairo.cpp: 60154 (WebCore::ImageBuffer::clip): Call GraphicsContext::pushImageMask. 60155 60156 2011-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 60157 60158 Reviewed by Eric Carlson. 60159 60160 Add RenderMediaControls to Mac build, unduplicate one method. 60161 https://bugs.webkit.org/show_bug.cgi?id=55152 60162 60163 Refactoring, no functional changes. 60164 60165 * WebCore.xcodeproj/project.pbxproj: Added RenderMediaControls to project, 60166 ran sort-XCode-project-file. 60167 * rendering/RenderMediaControls.cpp: Moved ENABLE(VIDEO) and PLATFORM(WIN) 60168 defines to allow building on Mac. 60169 * rendering/RenderMediaControls.h: Ditto. 60170 * rendering/RenderThemeMac.mm: 60171 (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Replaced guts 60172 with a call to RenderMediaControls function. 60173 60174 2011-02-24 James Robinson <jamesr (a] chromium.org> 60175 60176 Unreviewed, rolling out r79584. 60177 http://trac.webkit.org/changeset/79584 60178 https://bugs.webkit.org/show_bug.cgi?id=44797 60179 60180 [chromium] Patch does not compile if ENABLE_FULLSCREEN_API is 60181 not set 60182 60183 * WebCore.gyp/WebCore.gyp: 60184 * WebCore.gypi: 60185 60186 2011-02-24 Carlos Garcia Campos <cgarcia (a] igalia.com> 60187 60188 Reviewed by Martin Robinson. 60189 60190 Do not cache the default cairo font options using a static 60191 variable. It fixes a memory leak reported by valgrind. 60192 60193 * platform/graphics/freetype/FontPlatformDataFreeType.cpp: 60194 (WebCore::getDefaultFontOptions): 60195 (WebCore::FontPlatformData::initializeWithFontFace): 60196 60197 2011-02-24 Andrew Wilson <atwilson (a] chromium.org> 60198 60199 Unreviewed, rolling out r79570. 60200 http://trac.webkit.org/changeset/79570 60201 https://bugs.webkit.org/show_bug.cgi?id=54874 60202 60203 Breaks chromium build because glue/mocks/mock_web_frame.h/cc 60204 was not updated 60205 60206 * WebCore.exp.in: 60207 60208 2011-02-24 David Dorwin <ddorwin (a] chromium.org> 60209 60210 Reviewed by Eric Seidel. 60211 60212 Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default. 60213 60214 fullscreen javascript bindings not implemented for v8 60215 https://bugs.webkit.org/show_bug.cgi?id=44797 60216 60217 Tested by the existing fullscreen Layout Tests. 60218 60219 * WebCore.gyp/WebCore.gyp: 60220 * WebCore.gypi: 60221 60222 2011-02-24 Pavel Feldman <pfeldman (a] chromium.org> 60223 60224 Reviewed by Yury Semikhatsky. 60225 60226 Web Inspector: move querySelectorAll from CSS agent to DOM agent where it belongs. 60227 https://bugs.webkit.org/show_bug.cgi?id=55131 60228 60229 Test: inspector/elements/dom-agent-query-selector.html 60230 60231 * inspector/Inspector.idl: 60232 * inspector/InspectorCSSAgent.cpp: 60233 * inspector/InspectorCSSAgent.h: 60234 * inspector/InspectorDOMAgent.cpp: 60235 (WebCore::InspectorDOMAgent::nodeToSelectOn): 60236 (WebCore::InspectorDOMAgent::querySelector): 60237 (WebCore::InspectorDOMAgent::querySelectorAll): 60238 * inspector/InspectorDOMAgent.h: 60239 * inspector/front-end/AuditRules.js: 60240 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 60241 * inspector/front-end/CSSStyleModel.js: 60242 (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback): 60243 (WebInspector.CSSStyleModel.prototype.setRuleSelector): 60244 (WebInspector.CSSStyleModel.prototype.addRule.callback): 60245 (WebInspector.CSSStyleModel.prototype.addRule): 60246 60247 2011-02-24 Eric Seidel <eric (a] webkit.org> 60248 60249 Reviewed by Adam Barth. 60250 60251 Fragment parsing does not need to use HTMLSourceTracker 60252 https://bugs.webkit.org/show_bug.cgi?id=55011 60253 60254 Any performance gains from this patch are likely 60255 the result of working around: 60256 https://bugs.webkit.org/show_bug.cgi?id=55005 60257 (Which suggests that fixing bug 55005 will speed 60258 up normal HTML parsing substantially.) 60259 60260 Assuming I ran the numbers correct, here is the 60261 change from PerformanceTests/Parser/tiny-innerHTML: 60262 Before patch: 60263 avg 5586.1 60264 median 5594 60265 stdev 41.295157101045135 60266 min 5425 60267 max 5633 60268 60269 After Patch: 60270 avg 2603.9 60271 median 2609.5 60272 stdev 32.500615378789355 60273 min 2475 60274 max 2649 60275 60276 Removing just the HTMLSourceTracker calls brought our 60277 score from 5500 to 5200, removing the XSSFilter as well 60278 brought it to 2600 on my machine. 60279 60280 * html/parser/HTMLDocumentParser.cpp: 60281 (WebCore::HTMLDocumentParser::HTMLDocumentParser): 60282 (WebCore::HTMLDocumentParser::pumpTokenizer): 60283 * html/parser/HTMLDocumentParser.h: 60284 60285 2011-02-24 Amruth Raj <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro <alex (a] igalia.com> 60286 60287 Reviewed by Martin Robinson. 60288 60289 [GTK] Implement WebEventFactory, WebErrors classes for WebKit2 60290 https://bugs.webkit.org/show_bug.cgi?id=48510 60291 60292 Exported static functions for GTK, we need them to create events 60293 in WebKit2. 60294 60295 * platform/PlatformKeyboardEvent.h: 60296 * platform/gtk/KeyEventGtk.cpp: 60297 (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode): 60298 (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): 60299 (WebCore::PlatformKeyboardEvent::singleCharacterString): 60300 60301 2011-02-24 Martin Robinson <mrobinson (a] igalia.com> 60302 60303 Reviewed by Xan Lopez. 60304 60305 [GTK] Remove the GFile GOwnPtr specialization 60306 https://bugs.webkit.org/show_bug.cgi?id=55154 60307 60308 Convert uses of GOwnPtr<GFile> to GRefPtr<GFile>. 60309 60310 No new tests. This should not change behavior. 60311 60312 * plugins/gtk/PluginPackageGtk.cpp: Fix include order and remove unnecessary include. 60313 (WebCore::PluginPackage::load): Use GRefPtr for GFile instead of GOwnPtr. 60314 60315 2011-02-24 Patrick Gansterer <paroga (a] webkit.org> 60316 60317 Reviewed by Eric Seidel. 60318 60319 Rename PLATFORM(SKIA) to USE(SKIA) 60320 https://bugs.webkit.org/show_bug.cgi?id=55090 60321 60322 * config.h: Removed second define of PLATFORM(SKIA). 60323 * html/HTMLCanvasElement.cpp: 60324 * platform/graphics/FloatPoint.h: 60325 * platform/graphics/FloatRect.h: 60326 * platform/graphics/Gradient.cpp: 60327 * platform/graphics/Gradient.h: 60328 * platform/graphics/GraphicsContext.cpp: 60329 * platform/graphics/GraphicsContext.h: 60330 * platform/graphics/ImageSource.h: 60331 * platform/graphics/IntPoint.h: 60332 * platform/graphics/IntRect.h: 60333 * platform/graphics/Path.h: 60334 * platform/graphics/Pattern.cpp: 60335 * platform/graphics/Pattern.h: 60336 * platform/graphics/chromium/ContentLayerChromium.cpp: 60337 * platform/graphics/chromium/ContentLayerChromium.h: 60338 * platform/graphics/chromium/GLES2Canvas.cpp: 60339 * platform/graphics/chromium/ImageLayerChromium.cpp: 60340 * platform/graphics/chromium/LayerChromium.cpp: 60341 * platform/graphics/chromium/LayerRendererChromium.cpp: 60342 * platform/graphics/chromium/LayerRendererChromium.h: 60343 * platform/graphics/chromium/LayerTilerChromium.cpp: 60344 * platform/graphics/chromium/ShaderChromium.h: 60345 * platform/graphics/gpu/LoopBlinnPathProcessor.cpp: 60346 * platform/graphics/transforms/AffineTransform.h: 60347 * platform/graphics/transforms/TransformationMatrix.h: 60348 * platform/image-decoders/ImageDecoder.cpp: 60349 * platform/image-decoders/ImageDecoder.h: 60350 * rendering/svg/RenderSVGResourceSolidColor.cpp: 60351 60352 2011-02-24 Pavel Feldman <pfeldman (a] chromium.org> 60353 60354 Reviewed by Yury Semikhatsky. 60355 60356 Web Inspector: follow up to 79566. USE_PARAM not declared 60357 https://bugs.webkit.org/show_bug.cgi?id=55155 60358 60359 * bindings/js/JSInjectedScriptHostCustom.cpp: 60360 (WebCore::JSInjectedScriptHost::currentCallFrame): 60361 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 60362 (WebCore::V8InjectedScriptHost::currentCallFrameCallback): 60363 60364 2011-02-24 Emil A Eklund <eae (a] chromium.org> 60365 60366 Reviewed by Simon Fraser. 60367 60368 Add support for missing properties to getComputedStyle 60369 https://bugs.webkit.org/show_bug.cgi?id=23668 60370 60371 Implement getComputedStyle for the content, counter and outline-offset 60372 properties. 60373 60374 Test: fast/css/getComputedStyle/computed-style-properties.html 60375 60376 * css/CSSComputedStyleDeclaration.cpp: 60377 (WebCore::contentToCSSValue): 60378 (WebCore::counterToCSSValue): 60379 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 60380 * css/CSSPrimitiveValue.cpp: 60381 (WebCore::CSSPrimitiveValue::cssText): 60382 * css/CSSPrimitiveValue.h: 60383 60384 2011-02-24 Eric Seidel <eric (a] webkit.org> 60385 60386 Reviewed by Adam Barth. 60387 60388 SegmentedString does not need an m_composite member 60389 https://bugs.webkit.org/show_bug.cgi?id=55083 60390 60391 Storing m_composite as distinct from m_substrings.isEmpty() 60392 was just error prone and eventually going to get us in trouble. 60393 60394 I also cleaned up some of the style in SegementedString.* 60395 since this file long predates check-webkit-style. 60396 60397 * platform/text/SegmentedString.cpp: 60398 (WebCore::SegmentedString::SegmentedString): 60399 (WebCore::SegmentedString::operator=): 60400 (WebCore::SegmentedString::length): 60401 (WebCore::SegmentedString::setExcludeLineNumbers): 60402 (WebCore::SegmentedString::clear): 60403 (WebCore::SegmentedString::append): 60404 (WebCore::SegmentedString::prepend): 60405 (WebCore::SegmentedString::advanceSubstring): 60406 (WebCore::SegmentedString::toString): 60407 * platform/text/SegmentedString.h: 60408 (WebCore::SegmentedSubstring::SegmentedSubstring): 60409 (WebCore::SegmentedSubstring::appendTo): 60410 (WebCore::SegmentedString::SegmentedString): 60411 (WebCore::SegmentedString::isComposite): 60412 60413 2011-02-24 David Kilzer <ddkilzer (a] apple.com> 60414 60415 BUILD FIX: Add missing include for UnusedParam.h 60416 60417 Not reviewed. 60418 60419 * platform/mac/FileSystemMac.mm: Add include. It should have 60420 originally been added with r76614. 60421 60422 2011-02-24 Vsevolod Vlasov <vsevik (a] chromium.org> 60423 60424 Reviewed by Alexey Proskuryakov. 60425 60426 DumpRenderTree should reset frame opener between tests. 60427 https://bugs.webkit.org/show_bug.cgi?id=54874 60428 60429 No new tests. (no code affected, just exporting a method for DumpRenderTree use) 60430 60431 * WebCore.exp.in: 60432 60433 2011-02-24 Dirk Schulze <krit (a] webkit.org> 60434 60435 Reviewed by Darin Adler. 60436 60437 Removing a SVG animation target during animation crashes WebKit 60438 https://bugs.webkit.org/show_bug.cgi?id=12065 60439 60440 SVGAnimations with IRI references via 'xlink:href' are slow 60441 https://bugs.webkit.org/show_bug.cgi?id=49437 60442 60443 Store reference to target element for SVG animation elements. This is important if the 60444 target gets referenced via 'xlink:href'. At the moment we would call getElementById() multiple 60445 times on every animation step. A very expensive operation. This will be avoided with this patch. 60446 On the other hand, we need to be sure that the target element is always valid. The reference is 60447 reset, if the target was removed from document or its destructor was called. A HashMap in 60448 SVGDocumentExtensions stores all mappings from target element to all current animation elements. 60449 60450 Tests: svg/custom/animate-target-id-changed.svg 60451 svg/custom/animate-target-removed-from-document.svg 60452 60453 * svg/SVGDocumentExtensions.cpp: 60454 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): 60455 (WebCore::SVGDocumentExtensions::addAnimationElementToTarget): New animation gets applied to target. 60456 (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): Animation stoped, remove it from HashMap. 60457 (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): Target no longer in document, reset all 60458 references in SVG animation elements. 60459 * svg/SVGDocumentExtensions.h: 60460 * svg/SVGElement.cpp: 60461 (WebCore::SVGElement::~SVGElement): 60462 (WebCore::SVGElement::removedFromDocument): 60463 (WebCore::SVGElement::attributeChanged): 60464 * svg/SVGElement.h: 60465 * svg/SVGHKernElement.cpp: 60466 (WebCore::SVGHKernElement::removedFromDocument): 60467 * svg/SVGVKernElement.cpp: 60468 (WebCore::SVGVKernElement::removedFromDocument): 60469 * svg/animation/SVGSMILElement.cpp: 60470 (WebCore::SVGSMILElement::SVGSMILElement): 60471 (WebCore::SVGSMILElement::removedFromDocument): 60472 (WebCore::SVGSMILElement::eventBaseFor): 60473 (WebCore::SVGSMILElement::targetElement): 60474 * svg/animation/SVGSMILElement.h: 60475 (WebCore::SVGSMILElement::resetTargetElement): 60476 60477 2011-02-24 Simon Fraser <simon.fraser (a] apple.com> 60478 60479 Reviewed by Eric Seidel. 60480 60481 REGRESSION: Accelerated transitions are jumpy 60482 https://bugs.webkit.org/show_bug.cgi?id=55022 60483 60484 When an accelerated transition used the default timing function, 60485 a typo in toCAMediaTimingFunction() resulting in the incorrect 60486 timing function being used. 60487 60488 Test: transitions/default-timing-function.html 60489 60490 * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: 60491 (toCAMediaTimingFunction): 60492 60493 2011-02-24 Andreas Kling <kling (a] webkit.org> 60494 60495 Reviewed by Kenneth Rohde Christiansen. 60496 60497 [Qt] Remove bogus optimizations in TextBreakIteratorQt 60498 https://bugs.webkit.org/show_bug.cgi?id=55139 60499 60500 Let QTextBoundaryFinder hold a deep copy of the string data it's 60501 operating on, and don't use the same working buffer for all iterators. 60502 60503 * platform/text/qt/TextBreakIteratorQt.cpp: 60504 (WebCore::TextBreakIterator::TextBreakIterator): 60505 (WebCore::setUpIterator): 60506 60507 2011-02-24 Andrey Adaikin <aandrey (a] google.com> 60508 60509 Reviewed by Pavel Feldman. 60510 60511 Web Inspector: [Text editor] Bug in the highlighter 60512 https://bugs.webkit.org/show_bug.cgi?id=54876 60513 60514 Tests: inspector/editor/highlighter-long-line.html 60515 inspector/editor/highlighter-paste-in-comment.html 60516 60517 * inspector/front-end/TextEditorHighlighter.js: 60518 (WebInspector.TextEditorHighlighter): 60519 (WebInspector.TextEditorHighlighter.prototype.set highlightChunkLimit): 60520 (WebInspector.TextEditorHighlighter.prototype.updateHighlight): 60521 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 60522 60523 2011-02-24 James Simonsen <simonjam (a] chromium.org> 60524 60525 Reviewed by Tony Gentilcore. 60526 60527 [Web Timing] Zero out navigationStart and unloadEvent on cross-origin redirect 60528 https://bugs.webkit.org/show_bug.cgi?id=55068 60529 60530 Test: http/tests/misc/webtiming-origins.html 60531 60532 * page/PerformanceTiming.cpp: 60533 (WebCore::PerformanceTiming::navigationStart): Zero out on cross origin redirect. 60534 (WebCore::PerformanceTiming::unloadEventStart): Ditto. 60535 (WebCore::PerformanceTiming::unloadEventEnd): Ditto. 60536 60537 2011-02-24 Adam Klein <adamk (a] chromium.org> 60538 60539 Reviewed by Darin Fisher. 60540 60541 [chromium] Add code to WebKit Chromium to allow access to NetworkStateNotifier 60542 https://bugs.webkit.org/show_bug.cgi?id=54516 60543 60544 Give Chromium's NetworkStateNotifier the ability to change the value 60545 of m_isOnLine, rather than making it always true. 60546 60547 No new tests, not sure how to test this. No other LayoutTests seem 60548 to exercise navigator.onLine. 60549 60550 * WebCore.gypi: 60551 * platform/network/NetworkStateNotifier.cpp: 60552 (WebCore::NetworkStateNotifier::setOnLine): Moved and renamed from NetworkStateNotifierAndroid. 60553 * platform/network/NetworkStateNotifier.h: 60554 (WebCore::NetworkStateNotifier::networkStateChange): Forward to setOnLine. 60555 * platform/network/android/NetworkStateNotifierAndroid.cpp: Removed. 60556 * platform/network/chromium/NetworkStateNotifierChromium.cpp: Removed. 60557 * platform/network/chromium/NetworkStateNotifierPrivate.h: Removed. 60558 60559 2011-02-24 Benjamin Poulain <benjamin.poulain (a] nokia.com> 60560 60561 Reviewed by Eric Seidel. 60562 60563 Support building WebKit with Python 3 60564 https://bugs.webkit.org/show_bug.cgi?id=55038 60565 60566 Add support for Python 3 without breaking support for Python 2. 60567 60568 Main issues: 60569 -print is a function in Python 3 60570 -list.sort() no longer have the cmp parameter 60571 -string.uppercase and string.lowercase have been removed 60572 60573 * html/parser/create-html-entity-table: 60574 60575 2011-02-24 Chris Fleizach <cfleizach (a] apple.com> 60576 60577 Reviewed by Eric Seidel. 60578 60579 AX: WebKit should expose MathML at least as well as it exposes ARIA role="math" 60580 https://bugs.webkit.org/show_bug.cgi?id=55049 60581 60582 Make <math> elements behave as ARIA math roles and use MathML::alttext as a 60583 possible accessible label. 60584 60585 Test: platform/mac/accessibility/math-alttext.html 60586 60587 * accessibility/AccessibilityRenderObject.cpp: 60588 (WebCore::AccessibilityRenderObject::accessibilityDescription): 60589 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 60590 * mathml/mathattrs.in: 60591 60592 2011-02-24 Ilya Tikhonovsky <loislo (a] chromium.org> 60593 60594 Reviewed by Pavel Feldman. 60595 60596 Web Inspector: adjust protocol message format according to spec. 60597 https://bugs.webkit.org/show_bug.cgi?id=55140 60598 60599 * inspector/CodeGeneratorInspector.pm: 60600 60601 2011-02-24 Adam Roben <aroben (a] apple.com> 60602 60603 Windows Production build fix 60604 60605 * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for 60606 <rdar://problem/9042114>. 60607 60608 2011-02-23 Pavel Feldman <pfeldman (a] chromium.org> 60609 60610 Reviewed by Yury Semikhatsky. 60611 60612 Web Inspector: refactor inspect() workflow so that it did not push dom nodes. 60613 https://bugs.webkit.org/show_bug.cgi?id=55057 60614 60615 Test: inspector/console/command-line-api-inspect.html 60616 60617 I am working on getting rid of DOM agent pushes - everything should happen upon 60618 front-end request. This patch changes the way we handle inspect() command line 60619 api: instead of pushing nodes, we are telling front-end that inspect(object) has 60620 been requested. It is then up to front-end to request dom nodes and focus them in 60621 the tree. I also made inspect() work in a generic manner, using same routines for 60622 nodes, databases, storages and potentially new elements. 60623 60624 As a side-effect, we don't do console.log from within inspect() anymore, but dump 60625 inspected value as inspect's result. 60626 60627 Also, I added individual object release method and made object groups optional. 60628 60629 * bindings/js/JSInjectedScriptHostCustom.cpp: 60630 (WebCore::InjectedScriptHost::scriptValueAsNode): 60631 (WebCore::InjectedScriptHost::nodeAsScriptValue): 60632 (WebCore::JSInjectedScriptHost::inspect): 60633 (WebCore::JSInjectedScriptHost::databaseId): 60634 (WebCore::JSInjectedScriptHost::storageId): 60635 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 60636 (WebCore::InjectedScriptHost::scriptValueAsNode): 60637 (WebCore::InjectedScriptHost::nodeAsScriptValue): 60638 (WebCore::V8InjectedScriptHost::inspectCallback): 60639 (WebCore::V8InjectedScriptHost::databaseIdCallback): 60640 (WebCore::V8InjectedScriptHost::storageIdCallback): 60641 * inspector/InjectedScript.cpp: 60642 (WebCore::InjectedScript::nodeForObjectId): 60643 (WebCore::InjectedScript::releaseObject): 60644 (WebCore::InjectedScript::wrapForConsole): 60645 (WebCore::InjectedScript::inspectNode): 60646 * inspector/InjectedScript.h: 60647 * inspector/InjectedScriptHost.cpp: 60648 (WebCore::InjectedScriptHost::inspectImpl): 60649 (WebCore::InjectedScriptHost::databaseIdImpl): 60650 (WebCore::InjectedScriptHost::storageIdImpl): 60651 * inspector/InjectedScriptHost.h: 60652 * inspector/InjectedScriptHost.idl: 60653 * inspector/InjectedScriptSource.js: 60654 * inspector/Inspector.idl: 60655 * inspector/InspectorAgent.cpp: 60656 (WebCore::InspectorAgent::focusNode): 60657 * inspector/InspectorDOMAgent.cpp: 60658 * inspector/InspectorDOMAgent.h: 60659 * inspector/InspectorDOMStorageAgent.cpp: 60660 (WebCore::InspectorDOMStorageAgent::storageId): 60661 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): 60662 * inspector/InspectorDOMStorageAgent.h: 60663 * inspector/InspectorDOMStorageResource.cpp: 60664 * inspector/InspectorDOMStorageResource.h: 60665 * inspector/InspectorDatabaseAgent.cpp: 60666 (WebCore::InspectorDatabaseAgent::databaseId): 60667 * inspector/InspectorDatabaseAgent.h: 60668 * inspector/InspectorDatabaseResource.cpp: 60669 * inspector/InspectorDatabaseResource.h: 60670 * inspector/InspectorRuntimeAgent.cpp: 60671 (WebCore::InspectorRuntimeAgent::releaseObject): 60672 * inspector/InspectorRuntimeAgent.h: 60673 * inspector/front-end/AuditRules.js: 60674 (WebInspector.AuditRules.evaluateInTargetWindow): 60675 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 60676 * inspector/front-end/DOMStorage.js: 60677 * inspector/front-end/Database.js: 60678 * inspector/front-end/ExtensionServer.js: 60679 (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): 60680 * inspector/front-end/inspector.js: 60681 (WebInspector.inspect): 60682 60683 2011-02-22 Pavel Podivilov <podivilov (a] chromium.org> 60684 60685 Reviewed by Pavel Feldman. 60686 60687 Web Inspector: refactor "script or resource" mess in scripts panel. 60688 https://bugs.webkit.org/show_bug.cgi?id=54961 60689 60690 - Use sourceName instead of scriptOrResource 60691 - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are 60692 calling each other recursively with small one-purpose non-recursive functions 60693 60694 Test: inspector/debugger/scripts-panel.html 60695 60696 * inspector/front-end/ScriptsPanel.js: 60697 (WebInspector.ScriptsPanel): 60698 (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement): 60699 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 60700 (WebInspector.ScriptsPanel.prototype._addScript): 60701 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 60702 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded): 60703 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare): 60704 (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect): 60705 (WebInspector.ScriptsPanel.prototype.reset): 60706 (WebInspector.ScriptsPanel.prototype.canShowSourceLine): 60707 (WebInspector.ScriptsPanel.prototype.showSourceLine): 60708 (WebInspector.ScriptsPanel.prototype._showSourceFrame): 60709 (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName): 60710 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame): 60711 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): 60712 (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList): 60713 (WebInspector.ScriptsPanel.prototype._sourceNameForScript): 60714 (WebInspector.ScriptsPanel.prototype._scriptForSourceName): 60715 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 60716 (WebInspector.ScriptsPanel.prototype._filesSelectChanged): 60717 (WebInspector.ScriptsPanel.prototype._goBack): 60718 (WebInspector.ScriptsPanel.prototype._goForward): 60719 * inspector/front-end/SourceFrame.js: 60720 (WebInspector.SourceFrame.prototype.setExecutionLine): 60721 60722 2011-02-24 Eric Seidel <eric (a] webkit.org> 60723 60724 Reviewed by Adam Barth. 60725 60726 Fragment parsing does not need to use HTMLSourceTracker 60727 https://bugs.webkit.org/show_bug.cgi?id=55011 60728 60729 Any performance gains from this patch are likely 60730 the result of working around: 60731 https://bugs.webkit.org/show_bug.cgi?id=55005 60732 (Which suggests that fixing bug 55005 will speed 60733 up normal HTML parsing substantially.) 60734 60735 Assuming I ran the numbers correct, here is the 60736 change from PerformanceTests/Parser/tiny-innerHTML: 60737 Before patch: 60738 avg 5586.1 60739 median 5594 60740 stdev 41.295157101045135 60741 min 5425 60742 max 5633 60743 60744 After Patch: 60745 avg 2603.9 60746 median 2609.5 60747 stdev 32.500615378789355 60748 min 2475 60749 max 2649 60750 60751 Removing just the HTMLSourceTracker calls brought our 60752 score from 5500 to 5200, removing the XSSFilter as well 60753 brought it to 2600 on my machine. 60754 60755 * html/parser/HTMLDocumentParser.cpp: 60756 (WebCore::HTMLDocumentParser::HTMLDocumentParser): 60757 (WebCore::HTMLDocumentParser::pumpTokenizer): 60758 * html/parser/HTMLDocumentParser.h: 60759 60760 2011-02-24 Andras Becsi <abecsi (a] webkit.org> 60761 60762 Reviewed by Laszlo Gombos. 60763 60764 [Qt] MinGW build fails to link 60765 https://bugs.webkit.org/show_bug.cgi?id=55050 60766 60767 Prepend the libraries of subcomponents instead of appending them 60768 to fix the library order according to the dependency of the libraries 60769 60770 No new tests needed. 60771 60772 * WebCore.pri: 60773 60774 2011-02-24 Adam Barth <abarth (a] webkit.org> 60775 60776 Reviewed by Eric Seidel. 60777 60778 CSP's script-src should block JavaScript URLs 60779 https://bugs.webkit.org/show_bug.cgi?id=54787 60780 60781 Blocking JavaScript URLs required some re-architecting of the lifetime 60782 of the ContentSecurityPolicy object. We now manage the lifetime the 60783 same way we manage the lifetime of the SecurityOrigin object. In 60784 particular, when SecurityOrigin inherits into an about:blank iframe, we 60785 inherit the CSP object as well. (This is covered by the test added in 60786 this patch.) In the future, we might consider making 60787 ContentSecurityPolicy a component of SecurityOrigin instead of a 60788 component of Document. 60789 60790 I noted the trickiness in 60791 http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll 60792 make sure it gets defined properly in the spec. 60793 60794 Test: http/tests/security/contentSecurityPolicy/javascript-url.html 60795 60796 * bindings/ScriptControllerBase.cpp: 60797 (WebCore::ScriptController::executeIfJavaScriptURL): 60798 * dom/Document.cpp: 60799 (WebCore::Document::initSecurityContext): 60800 * dom/Document.h: 60801 (WebCore::Document::contentSecurityPolicy): 60802 * page/ContentSecurityPolicy.cpp: 60803 (WebCore::ContentSecurityPolicy::allowJavaScriptURLs): 60804 * page/ContentSecurityPolicy.h: 60805 (WebCore::ContentSecurityPolicy::create): 60806 60807 2011-02-21 Philippe Normand <pnormand (a] igalia.com> 60808 60809 Reviewed by Martin Robinson. 60810 60811 [GStreamer] GRefPtr support for GstElement 60812 https://bugs.webkit.org/show_bug.cgi?id=54870 60813 60814 * CMakeListsEfl.txt: 60815 * GNUmakefile.am: 60816 * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added. 60817 (WTF::GstElement): 60818 * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added. 60819 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 60820 (webKitWebSrcQuery): 60821 60822 2011-02-24 Emil A Eklund <eae (a] chromium.org> 60823 60824 Reviewed by Eric Seidel. 60825 60826 Share code between elementFromPoint and caretRangeFromPoint in Document. 60827 https://bugs.webkit.org/show_bug.cgi?id=54610 60828 60829 Eliminate duplicate code by moving shared logic from elementFromPoint and 60830 caretRangeFromPoint into helper function. 60831 60832 * dom/Document.cpp: 60833 (WebCore::nodeFromPoint): 60834 (WebCore::Document::elementFromPoint): 60835 (WebCore::Document::caretRangeFromPoint): 60836 60837 2011-02-24 Ilya Tikhonovsky <loislo (a] chromium.org> 60838 60839 Unreviewed build fix. 60840 60841 * inspector/InspectorDOMAgent.cpp: 60842 (WebCore::InspectorDOMAgent::removeAttribute): 60843 * inspector/InspectorResourceAgent.cpp: 60844 (WebCore::InspectorResourceAgent::cachedResources): 60845 * inspector/InspectorRuntimeAgent.cpp: 60846 (WebCore::InspectorRuntimeAgent::evaluate): 60847 60848 2011-02-24 Zan Dobersek <zandobersek (a] gmail.com> 60849 60850 Reviewed by Eric Seidel. 60851 60852 [gtk] Failing collinear arcTo canvas tests 60853 https://bugs.webkit.org/show_bug.cgi?id=54658 60854 60855 Check for collinearity of the three points that affect how arcTo call 60856 results. This behavior is in accordance with the HTML standard. 60857 60858 No new tests added as this is already covered by at least two tests. 60859 60860 * platform/graphics/cairo/PathCairo.cpp: 60861 (WebCore::areaOfTriangleFormedByPoints): 60862 (WebCore::Path::addArcTo): 60863 60864 2011-02-24 Ilya Tikhonovsky <loislo (a] chromium.org> 60865 60866 Reviewed by Pavel Feldman. 60867 60868 Web Inspector: There is a validator of the protocol message format. 60869 60870 It has two parts. InspectorBackendStub.js is the frontend part. 60871 InspectorBackendDispatcher.cpp is the backend part. 60872 Both parts are checking protocol message format and report the error if 60873 the message has not enough fields or the types of fields do not match with 60874 Inspector.idl specification. These validators are generated automatically. 60875 60876 In addition, we have a number of places at the backend where we check the 60877 function arguments and do nothing if the arguments are invalid 60878 from the business logic point of view. 60879 60880 This patch bring us an ability to report a custom error from such function to the frontend. 60881 60882 https://bugs.webkit.org/show_bug.cgi?id=54971 60883 60884 * inspector/CodeGeneratorInspector.pm: 60885 * inspector/InjectedScriptHost.cpp: 60886 * inspector/InspectorAgent.cpp: 60887 * inspector/InspectorAgent.h: 60888 * inspector/InspectorApplicationCacheAgent.cpp: 60889 * inspector/InspectorApplicationCacheAgent.h: 60890 * inspector/InspectorBrowserDebuggerAgent.cpp: 60891 * inspector/InspectorBrowserDebuggerAgent.h: 60892 * inspector/InspectorCSSAgent.cpp: 60893 * inspector/InspectorCSSAgent.h: 60894 * inspector/InspectorConsoleAgent.cpp: 60895 * inspector/InspectorConsoleAgent.h: 60896 * inspector/InspectorController.cpp: 60897 * inspector/InspectorDOMAgent.cpp: 60898 * inspector/InspectorDOMAgent.h: 60899 * inspector/InspectorDOMStorageAgent.cpp: 60900 * inspector/InspectorDOMStorageAgent.h: 60901 * inspector/InspectorDatabaseAgent.cpp: 60902 * inspector/InspectorDatabaseAgent.h: 60903 * inspector/InspectorDebuggerAgent.cpp: 60904 * inspector/InspectorDebuggerAgent.h: 60905 * inspector/InspectorProfilerAgent.cpp: 60906 * inspector/InspectorProfilerAgent.h: 60907 * inspector/InspectorResourceAgent.cpp: 60908 * inspector/InspectorResourceAgent.h: 60909 * inspector/InspectorRuntimeAgent.cpp: 60910 * inspector/InspectorRuntimeAgent.h: 60911 * inspector/InspectorTimelineAgent.cpp: 60912 * inspector/InspectorTimelineAgent.h: 60913 60914 2011-02-24 Ryosuke Niwa <rniwa (a] webkit.org> 60915 60916 Reviewed by Ojan Vafai. 60917 60918 Crash when deleting inside a blockquote with a large offset 60919 https://bugs.webkit.org/show_bug.cgi?id=55098 60920 60921 The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph. 60922 While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position, 60923 breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using 60924 the downstream position to instantiate caretPos. 60925 60926 Co-author: Abhishek Arya <inferno (a] chromium.org>. 60927 60928 Test: editing/deleting/delete-blockquote-large-offsets.html 60929 60930 * editing/CompositeEditCommand.cpp: 60931 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 60932 60933 2011-02-24 Robert Kroeger <rjkroege (a] chromium.org> 60934 60935 Reviewed by Darin Fisher. 60936 60937 Added timestamps to PlatformTouchEvent etc. 60938 60939 PlatformTouchEvent doesn't have a timestamp and so 60940 eventSender.leapForward cannot be used for touchevent based tests. 60941 This change adds a timestamp to PlatformTouchEvent and initializes 60942 it in a reasonable manner on Android and Qt platforms. 60943 60944 [chromium] [WebCore] [android] Touch events are missing time stamps 60945 https://bugs.webkit.org/show_bug.cgi?id=53510 60946 60947 * platform/PlatformTouchEvent.h: 60948 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 60949 (WebCore::PlatformTouchEvent::timestamp): 60950 * platform/android/PlatformTouchEventAndroid.cpp: 60951 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 60952 * platform/qt/PlatformTouchEventQt.cpp: 60953 (WebCore::PlatformTouchEvent::PlatformTouchEvent): 60954 60955 2011-02-24 Renata Hodovan <reni (a] webkit.org> 60956 60957 Unreviewed GTK, Snow Leopard build fix for r79474. 60958 60959 * platform/graphics/filters/FEConvolveMatrix.cpp: 60960 (WebCore::FEConvolveMatrix::setKernelUnitLength): 60961 * platform/graphics/filters/FEConvolveMatrix.h: 60962 60963 2011-02-24 Carlos Garcia Campos <cgarcia (a] igalia.com> 60964 60965 Reviewed by Xan Lopez. 60966 60967 Use IntRect instead of a pointer to a GtkAllocation struct to avoid 60968 unnecessary memory allocations. 60969 60970 * plugins/PluginView.h: 60971 * plugins/gtk/PluginViewGtk.cpp: 60972 (WebCore::PluginView::setNPWindowIfNeeded): 60973 (WebCore::PluginView::plugAddedCallback): 60974 60975 2011-02-24 Carlos Garcia Campos <cgarcia (a] igalia.com> 60976 60977 Unreviewed. Fix the build with GTK+ 3. 60978 60979 * plugins/PluginView.h: 60980 60981 2011-02-23 Ryosuke Niwa <rniwa (a] webkit.org> 60982 60983 Reviewed by Darin Adler. 60984 60985 Refactor HTMLEquivalent into a hierachy of classes 60986 https://bugs.webkit.org/show_bug.cgi?id=55025 60987 60988 Converted HTMLEquivalent into a class. Some logic in removeImplicitlyStyledElement is 60989 extracted as member functions of HTMLEquivalent and its subclasses. 60990 60991 * editing/ApplyStyleCommand.cpp: 60992 (WebCore::HTMLEquivalent::create): Added. 60993 (WebCore::HTMLEquivalent::~HTMLEquivalent): Added. 60994 (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that 60995 the element's implicit style affects the property of this equivalence. 60996 (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes; 60997 e.g. color, size, dir. 60998 (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence 60999 exists in the specified style. e.g. if this equivalence is for size attribute and font-size property, 61000 this function returns true if the specified style has font-size property set. 61001 (WebCore::HTMLEquivalent::HTMLEquivalent): Added. 61002 (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the 61003 implicit style of the specified element of this equivalence. 61004 (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence 61005 to the specified mutable style. 61006 (WebCore::HTMLEquivalentValueList::create): Added. 61007 (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added. 61008 (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added. 61009 (WebCore::HTMLEquivalentAttribute::create): Added. 61010 (WebCore::HTMLEquivalentAttribute::matches): Added. 61011 (WebCore::HTMLEquivalentAttribute::hasAttribute): Added. 61012 (WebCore::HTMLEquivalentAttribute::attributeName): Added. 61013 (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added. 61014 (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added. 61015 (WebCore::HTMLEquivalentAttribute::addToStyle): Added. 61016 (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added. 61017 (WebCore::HTMLEquivalentFontSizeAttribute::create): Added. 61018 (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added. 61019 (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added. 61020 (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes. 61021 61022 2011-02-23 Sheriff Bot <webkit.review.bot (a] gmail.com> 61023 61024 Unreviewed, rolling out r79510. 61025 http://trac.webkit.org/changeset/79510 61026 https://bugs.webkit.org/show_bug.cgi?id=55114 61027 61028 It made ~200 tests crash on Qt bot (Requested by Ossy_ on 61029 #webkit). 61030 61031 * platform/text/TextBreakIterator.h: 61032 * platform/text/TextBreakIteratorICU.cpp: 61033 (WebCore::lineBreakIterator): 61034 * platform/text/qt/TextBreakIteratorQt.cpp: 61035 (WebCore::lineBreakIterator): 61036 * rendering/RenderBlock.h: 61037 * rendering/RenderBlockLineLayout.cpp: 61038 (WebCore::RenderBlock::layoutInlineChildren): 61039 (WebCore::RenderBlock::findNextLineBreak): 61040 * rendering/RenderText.cpp: 61041 (WebCore::RenderText::computePreferredLogicalWidths): 61042 * rendering/break_lines.cpp: 61043 (WebCore::nextBreakablePosition): 61044 * rendering/break_lines.h: 61045 (WebCore::isBreakable): 61046 61047 2011-02-23 Geoffrey Garen <ggaren (a] apple.com> 61048 61049 Reviewed by Mark Rowe. 61050 61051 Used svn merge -r79502:79501 to roll out r79502 because it broke the 61052 SnowLeopard and Leopard builds. 61053 61054 * WebCore.xcodeproj/project.pbxproj: 61055 * platform/mac/HTMLConverter.h: Removed. 61056 * platform/mac/HTMLConverter.mm: Removed. 61057 * platform/mac/PasteboardMac.mm: 61058 (WebCore::Pasteboard::writeSelection): 61059 61060 2011-02-23 Beth Dakin <bdakin (a] apple.com> 61061 61062 Reviewed by Dan Bernstein. 61063 61064 Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window 61065 when scrolling 61066 61067 When there is both a horizontal and a vertical scrollbar, it is necessary to 61068 include the space between them in the invalidation. 61069 * platform/ScrollableArea.cpp: 61070 (WebCore::ScrollableArea::setScrollOffsetFromAnimation): 61071 61072 2011-02-23 Ned Holbrook <nholbrook (a] apple.com> 61073 61074 Reviewed by Dan Bernstein. 61075 61076 Minimize calls to ubrk_setText() 61077 https://bugs.webkit.org/show_bug.cgi?id=54912 61078 <rdar://problem/9032774> 61079 61080 Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers 61081 break iterator creation until needed. This requires replacing the global line break iterator primitive with a 61082 version that can be nested, since in some cases two iterators may need to be outstanding. In particular, 61083 layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator. 61084 In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1. 61085 61086 * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator. 61087 (WebCore::LazyLineBreakIterator::LazyLineBreakIterator): 61088 (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator): 61089 (WebCore::LazyLineBreakIterator::string): 61090 (WebCore::LazyLineBreakIterator::length): 61091 (WebCore::LazyLineBreakIterator::get): 61092 (WebCore::LazyLineBreakIterator::reset): 61093 * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator(). 61094 (WebCore::acquireLineBreakIterator): 61095 (WebCore::releaseLineBreakIterator): 61096 * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp. 61097 (WebCore::acquireLineBreakIterator): 61098 (WebCore::releaseLineBreakIterator): 61099 * rendering/RenderBlock.h: 61100 * rendering/RenderBlockLineLayout.cpp: 61101 (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next. 61102 (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText. 61103 * rendering/RenderText.cpp: Use a local LazyLineBreakIterator. 61104 (WebCore::RenderText::computePreferredLogicalWidths): 61105 * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator. 61106 (WebCore::nextBreakablePosition): 61107 * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator. 61108 (WebCore::isBreakable): 61109 61110 2011-02-23 Anders Carlsson <andersca (a] apple.com> 61111 61112 Fix build. 61113 61114 * platform/mac/HTMLConverter.h: 61115 61116 2011-02-17 Enrica Casucci <enrica (a] apple.com> 61117 61118 Reviewed by Darin Adler. 61119 61120 REGRESSION: Copied content loses formatting on paste to external apps. 61121 https://bugs.webkit.org/show_bug.cgi?id=47615 61122 <rdar://problem/9001214> 61123 61124 This patch adds a way for WebKit2 to create NSAttributedStrings from 61125 a DOM range without using the AppKit api initWithDOMRange that internally 61126 needs to access the WebView. The NSAttributedString is needed to create 61127 RTF formats in the pasteboard. 61128 This is to be considered a first step, since in the future we want to have 61129 an implementation based on the TextIterator. 61130 61131 * WebCore.xcodeproj/project.pbxproj: Added new file. 61132 * platform/mac/HTMLConverter.h: Added. 61133 * platform/mac/HTMLConverter.mm: Added. 61134 * platform/mac/PasteboardMac.mm: 61135 (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter 61136 class for WebKit2 to create the NSAttributedString from the DOM range. 61137 61138 2011-02-23 David Hyatt <hyatt (a] apple.com> 61139 61140 Reviewed by Sam Weinig. 61141 61142 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61143 61144 Patch computePositionedLogicalHeightUsing to be writing-mode-aware. 61145 61146 * rendering/RenderBox.cpp: 61147 (WebCore::RenderBox::computePositionedLogicalWidthUsing): 61148 (WebCore::RenderBox::computePositionedLogicalHeightUsing): 61149 * rendering/RenderBox.h: 61150 61151 2011-02-23 Martin Robinson <mrobinson (a] igalia.com> 61152 61153 Reviewed by Xan Lopez. 61154 61155 [Gtk] Flash item placed on wrong location right after load 61156 https://bugs.webkit.org/show_bug.cgi?id=37769 61157 61158 If a plugin is GtkSocket based, do not set the widget allocation until the 61159 window is actually embedded in the parent. When the window is embedded, use 61160 any pending allocation for the call to gtk_widget_size_allocate. This bug 61161 seems to only appear with Flash movies loaded as the src of an iframe. 61162 61163 * manual-tests/plugins/windowed-in-iframe.html: Added. 61164 * plugins/PluginView.h: Add a few new members to track window embedding state. 61165 * plugins/gtk/PluginViewGtk.cpp: 61166 (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin 61167 wait until the plug-added signal fires to set the widget allocation. 61168 (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that 61169 we can access private members. If there is a pending allocation, call gtk_widget_size_allocate 61170 with it. 61171 (WebCore::PluginView::platformStart): Update the plugin state, so that we do not 61172 call gtk_widget_size_allocate if the window isn't embedded. 61173 61174 2011-02-18 Enrica Casucci <enrica (a] apple.com> 61175 61176 Reviewed by Adam Roben. 61177 61178 Mac OS X Services are not available for selected text in WebKit2 windows. 61179 https://bugs.webkit.org/show_bug.cgi?id=54777 61180 <rdar://problem/8666428> 61181 61182 The changes to WebCore for this bug are limited to exposing a new 61183 entry point in the Editor class to write to the pasteboard and 61184 changes to the Pasteboard class to write the selection with 61185 a given set of pasteboard types. The majority of the work 61186 is done in WebKit2. 61187 61188 * WebCore.exp.in: 61189 * editing/Editor.h: 61190 * editing/mac/EditorMac.mm: Added entrypoint to write the 61191 selection to the pasteboard. 61192 (WebCore::Editor::writeSelectionToPasteboard): 61193 * platform/Pasteboard.h: 61194 * platform/mac/ClipboardMac.mm: 61195 (WebCore::ClipboardMac::writeRange): 61196 * platform/mac/PasteboardMac.mm: 61197 (WebCore::Pasteboard::writeSelection): 61198 61199 2011-02-23 David Hyatt <hyatt (a] apple.com> 61200 61201 Reviewed by Simon Fraser. 61202 61203 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61204 61205 Patch computePositionedLogicalHeight to be writing-mode-aware. Functions it calls have not been 61206 patched yet, so still not testable in a vertical text environment. 61207 61208 * rendering/RenderBox.cpp: 61209 (WebCore::RenderBox::computePositionedLogicalHeight): 61210 61211 2011-02-23 David Hyatt <hyatt (a] apple.com> 61212 61213 Reviewed by Sam Weinig. 61214 61215 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61216 61217 Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text 61218 environment, since height computations will overwrite all values computed here until they are patched as well. 61219 61220 * rendering/RenderBox.cpp: 61221 (WebCore::RenderBox::computePositionedLogicalWidthUsing): 61222 * rendering/RenderBox.h: 61223 61224 2011-02-23 Renata Hodovan <reni (a] webkit.org> 61225 61226 Reviewed by Nikolas Zimmermann. 61227 61228 FEColorMatrixElement changes doesn't require relayout 61229 https://bugs.webkit.org/show_bug.cgi?id=54880 61230 61231 When the FEColorMatrixElement receives an update message but the given value remains the same we don't need 61232 to relayout the filter. 61233 61234 No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix. 61235 61236 * platform/graphics/filters/FEColorMatrix.cpp: 61237 (WebCore::FEColorMatrix::setType): 61238 (WebCore::FEColorMatrix::setValues): 61239 * platform/graphics/filters/FEColorMatrix.h: 61240 * svg/SVGFEColorMatrixElement.cpp: 61241 (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute): 61242 (WebCore::SVGFEColorMatrixElement::svgAttributeChanged): 61243 * svg/SVGFEColorMatrixElement.h: 61244 61245 2011-02-23 James Robinson <jamesr (a] chromium.org> 61246 61247 REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails 61248 61249 Reverts TextCodecUTF16.cpp back to pre-79466 state. The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail. 61250 61251 * platform/text/TextCodecUTF16.cpp: 61252 (WebCore::newStreamingTextDecoderUTF16LE): 61253 (WebCore::newStreamingTextDecoderUTF16BE): 61254 (WebCore::TextCodecUTF16::decode): 61255 (WebCore::TextCodecUTF16::encode): 61256 61257 2011-02-23 David Hyatt <hyatt (a] apple.com> 61258 61259 Reviewed by Sam Weinig. 61260 61261 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61262 61263 Patch computePositionedLogicalWidth to be writing-mode-aware. Functions it calls have not been 61264 patched yet, so still not testable in a vertical text environment. 61265 61266 * rendering/RenderBox.cpp: 61267 (WebCore::RenderBox::computePositionedLogicalWidth): 61268 61269 2011-02-23 James Robinson <jamesr (a] chromium.org> 61270 61271 Unreviewed, rolling out r79428. 61272 http://trac.webkit.org/changeset/79428 61273 https://bugs.webkit.org/show_bug.cgi?id=54714 61274 61275 Does not work in the Chromium sandbox 61276 61277 * websockets/WebSocketHandshake.cpp: 61278 (WebCore::generateSecWebSocketKey): 61279 (WebCore::generateKey3): 61280 61281 2011-02-23 David Hyatt <hyatt (a] apple.com> 61282 61283 Reviewed by Sam Weinig. 61284 61285 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61286 61287 Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle. 61288 61289 * rendering/style/RenderStyle.h: 61290 (WebCore::InheritedFlags::logicalLeft): 61291 (WebCore::InheritedFlags::logicalRight): 61292 (WebCore::InheritedFlags::logicalTop): 61293 (WebCore::InheritedFlags::logicalBottom): 61294 61295 2011-02-23 Darin Adler <darin (a] apple.com> 61296 61297 Reviewed by Alexey Proskuryakov. 61298 61299 Fix crash seen in one of the regression tests. 61300 61301 * platform/text/TextCodecUTF16.cpp: 61302 (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data, 61303 we were not told to flush, and we had a buffered byte. The assertion here was incorrect, 61304 and the correct thing to do is nothing. 61305 61306 2011-02-23 Sergey Glazunov <serg.glazunov (a] gmail.com> 61307 61308 Reviewed by James Robinson. 61309 61310 SVGCursorElement::removeClient() should verify that its argument is connected with 61311 the proper cursor element. 61312 https://bugs.webkit.org/show_bug.cgi?id=54979 61313 61314 Test: svg/css/multiple-cursors-crash.html 61315 61316 * svg/SVGCursorElement.cpp: 61317 (WebCore::SVGCursorElement::removeClient): 61318 61319 2011-02-23 Renata Hodovan <reni (a] webkit.org> 61320 61321 Reviewed by Darin Adler. 61322 61323 FEConvolveMatrixElement changes doesn't require relayout 61324 https://bugs.webkit.org/show_bug.cgi?id=55067 61325 61326 When the FEConvolveMatrixElement receives an update message but the 61327 given value remains the same we don't need to relayout the filter. 61328 61329 No new tests are needed because this modificiation is covered by the 61330 dynamic update tests of FEConvolveMatrix. 61331 61332 * platform/graphics/filters/FEConvolveMatrix.cpp: 61333 (WebCore::FEConvolveMatrix::setDivisor): 61334 (WebCore::FEConvolveMatrix::setBias): 61335 (WebCore::FEConvolveMatrix::setTargetOffset): 61336 (WebCore::FEConvolveMatrix::edgeMode): 61337 (WebCore::FEConvolveMatrix::setEdgeMode): 61338 (WebCore::FEConvolveMatrix::setPreserveAlpha): 61339 * platform/graphics/filters/FEConvolveMatrix.h: 61340 * svg/SVGFEConvolveMatrixElement.cpp: 61341 (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute): 61342 (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged): 61343 * svg/SVGFEConvolveMatrixElement.h: 61344 61345 2011-02-23 Geoffrey Garen <ggaren (a] apple.com> 61346 61347 Reviewed by Darin Adler. 61348 61349 Rolled back in r79367 with SnowLeopard Release bot crash fixed. 61350 https://bugs.webkit.org/show_bug.cgi?id=54999 61351 61352 * ForwardingHeaders/wtf/DoublyLinkedList.h: Added. 61353 61354 2011-02-23 Dimitri Glazkov <dglazkov (a] chromium.org> 61355 61356 Reviewed by Darin Adler. 61357 61358 Add more thorough manual test coverage for media controls 61359 https://bugs.webkit.org/show_bug.cgi?id=55006 61360 61361 * manual-tests/media-controls.html: Added. 61362 61363 2011-02-23 Darin Adler <darin (a] apple.com> 61364 61365 Fix build. 61366 61367 * platform/text/TextCodecUTF16.cpp: 61368 (WebCore::TextCodecUTF16::decode): Removed stray unused local variable. 61369 61370 2011-02-23 Dimitri Glazkov <dglazkov (a] chromium.org> 61371 61372 Reviewed by Darin Adler. 61373 61374 Setting shadow host should also attach and set inDocument, just like 61375 appending/inserting a child. 61376 https://bugs.webkit.org/show_bug.cgi?id=55065 61377 61378 No new tests, because functionality is not yet used. 61379 61380 * dom/Element.cpp: 61381 (WebCore::Element::setShadowRoot): Add attaching and setting inDocument 61382 for the shadow DOM subtree, like the host. 61383 61384 2011-02-23 David Hyatt <hyatt (a] apple.com> 61385 61386 Reviewed by Darin Adler and Simon Fraser. 61387 61388 https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text. 61389 61390 - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off 61391 writing-mode. 61392 - Patch clientLogicalBottom to use clientLogicalHeight. 61393 - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of 61394 clientLogicalHeight/Width. Also make them able to handle perpendicular writing mode containining blocks. 61395 - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely. 61396 61397 * rendering/RenderBox.cpp: 61398 (WebCore::RenderBox::computeReplacedLogicalWidthUsing): 61399 (WebCore::RenderBox::computeReplacedLogicalHeightUsing): 61400 (WebCore::RenderBox::containingBlockLogicalWidthForPositioned): 61401 (WebCore::RenderBox::containingBlockLogicalHeightForPositioned): 61402 (WebCore::RenderBox::computePositionedLogicalWidth): 61403 (WebCore::RenderBox::computePositionedLogicalHeight): 61404 (WebCore::RenderBox::computePositionedLogicalWidthReplaced): 61405 (WebCore::RenderBox::computePositionedLogicalHeightReplaced): 61406 * rendering/RenderBox.h: 61407 (WebCore::RenderBox::clientLogicalWidth): 61408 (WebCore::RenderBox::clientLogicalHeight): 61409 (WebCore::RenderBox::clientLogicalBottom): 61410 61411 2011-02-23 Darin Adler <darin (a] apple.com> 61412 61413 Reviewed by Alexey Proskuryakov. 61414 61415 REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se 61416 https://bugs.webkit.org/show_bug.cgi?id=54862 61417 61418 Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length 61419 https://bugs.webkit.org/show_bug.cgi?id=54444 61420 61421 No new tests at this time. I will add some tests later, but since multiple 61422 people are hitting this I wanted to get it in as quickly as possible. 61423 61424 * platform/text/TextCodecUTF16.cpp: 61425 (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit. 61426 Removed special case for zero length now that main code handles it 61427 correctly. Used words instead of abbreviations for local variable names. 61428 Added error handling for a trailing byte. 61429 61430 * platform/text/TextCodecUTF8.cpp: 61431 (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function 61432 to make the handleError and handlePartialSequence functions clearer. 61433 (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the 61434 handlePartialSequence clearer. 61435 (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for 61436 the partial sequence case. Making this a separate function probably helps make 61437 the fast case a little faster. This new version handles more cases correctly, 61438 which is what fixes the crashes we were seeing. In particular, it no longer 61439 assumes that the partial sequence is truly partial, because there are cases 61440 where we end up handling complete sequences here, such as when a complete 61441 sequence is inside a malformed partial sequence. 61442 (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this 61443 call handlePartialSequence instead. Could be streamlined if we double checked 61444 that passing a reference to "destination" and "source" doesn't harm code 61445 generation too much, so perhaps someone can do that research on a few compilers 61446 later and clean this up. Removed special case for zero length now that the 61447 main code handles that correctly. 61448 61449 * platform/text/TextCodecUTF8.h: Added declarations for new functions. 61450 Made partial sequence buffer large enough to hold a whole sequence so we can 61451 use it to complete and decode a sequence in place. 61452 61453 2011-02-23 Abhishek Arya <inferno (a] chromium.org> 61454 61455 Reviewed by Dave Hyatt. 61456 61457 Make clear float lineboxes resilient against overflows. 61458 https://bugs.webkit.org/show_bug.cgi?id=54995 61459 61460 We try to dirty everthing in block range if we have a negative 61461 logical bottom, or if our logical bottom is less than our logical 61462 top, or if our logical top is equal to INT_MAX. Plus, we also dirty 61463 a linebox if its block logical height is less than zero. 61464 Tests: fast/overflow/overflow-height-float-not-removed-crash2.html 61465 fast/overflow/overflow-height-float-not-removed-crash3.html 61466 61467 * rendering/RenderBlock.cpp: 61468 (WebCore::RenderBlock::removeFloatingObject): 61469 (WebCore::RenderBlock::markLinesDirtyInBlockRange): 61470 * rendering/RootInlineBox.cpp: 61471 (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack 61472 added in r69735. we don't need this anymore since we are making the 61473 underlying float dirty logic resilient. 61474 61475 2011-02-22 Kenneth Russell <kbr (a] google.com> 61476 61477 Reviewed by Darin Fisher. 61478 61479 Per-page minimum DOMTimer interval broken for repeating timers 61480 https://bugs.webkit.org/show_bug.cgi?id=55014 61481 61482 When the minimum timer interval is adjusted, if the timer is 61483 repeating, cause its repeat interval to be set to its original 61484 timeout clamped to the new minimum interval. 61485 61486 Tests: fast/dom/timer-increase-min-interval-repeating.html 61487 fast/dom/timer-increase-then-decrease-min-interval-repeating.html 61488 61489 * page/DOMTimer.cpp: 61490 (WebCore::DOMTimer::adjustMinimumTimerInterval): 61491 61492 2011-02-23 Dan Bernstein <mitz (a] apple.com> 61493 61494 Reviewed by Maciej Stachowiak. 61495 61496 Fix two issues seen in WebKit2 views on Mac: 61497 - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink 61498 - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text 61499 61500 * page/EventHandler.cpp: 61501 (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber 61502 to -1. Since WebKit2 doesnt support non-activating clicks yet (<http://webkit.org/b/55053> 61503 <rdar://problem/9042197>) and doesnt send event numbers, all events were considered to be 61504 window-activating events. This in turn prevented them from clearing the selection and resuming 61505 caret blinking on mouse up. 61506 61507 2011-02-23 Jacob Dinu <dinu.jacob (a] nokia.com> 61508 61509 Reviewed by Pavel Feldman. 61510 61511 Web Inspector: Linking error for some InspectorController symbols 61512 https://bugs.webkit.org/show_bug.cgi?id=54953 61513 61514 Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag 61515 61516 * inspector/InspectorController.cpp: 61517 (WebCore::InspectorController::hideHighlight): 61518 (WebCore::InspectorController::resume): 61519 61520 2011-02-23 Hans Wennborg <hans (a] chromium.org> 61521 61522 IndexedDB: Move some SQL code into IDBBackingStore 61523 https://bugs.webkit.org/show_bug.cgi?id=54889 61524 61525 The idea is to gather all the SQL logic into IDBBackingStore. 61526 61527 No new functionality, so no new tests. 61528 61529 * storage/IDBBackingStore.cpp: 61530 (WebCore::IDBBackingStore::IDBBackingStore): 61531 (WebCore::runCommands): 61532 (WebCore::createTables): 61533 (WebCore::createMetaDataTable): 61534 (WebCore::getDatabaseSchemaVersion): 61535 (WebCore::migrateDatabase): 61536 (WebCore::IDBBackingStore::open): 61537 (WebCore::IDBBackingStore::extractIDBDatabaseMetaData): 61538 (WebCore::IDBBackingStore::setIDBDatabaseMetaData): 61539 (WebCore::IDBBackingStore::getObjectStores): 61540 (WebCore::IDBBackingStore::createObjectStore): 61541 (WebCore::doDelete): 61542 (WebCore::IDBBackingStore::deleteObjectStore): 61543 (WebCore::whereSyntaxForKey): 61544 (WebCore::bindKeyToQuery): 61545 (WebCore::IDBBackingStore::getObjectStoreRecord): 61546 (WebCore::bindKeyToQueryWithNulls): 61547 (WebCore::IDBBackingStore::putObjectStoreRecord): 61548 (WebCore::IDBBackingStore::deleteIndexDataForRecord): 61549 (WebCore::IDBBackingStore::putIndexDataForRecord): 61550 (WebCore::IDBBackingStore::createIndex): 61551 (WebCore::IDBBackingStore::deleteIndex): 61552 (WebCore::IDBBackingStore::clearObjectStore): 61553 * storage/IDBBackingStore.h: 61554 * storage/IDBDatabaseBackendImpl.cpp: 61555 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): 61556 (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): 61557 (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): 61558 (WebCore::IDBDatabaseBackendImpl::setVersionInternal): 61559 (WebCore::IDBDatabaseBackendImpl::loadObjectStores): 61560 * storage/IDBFactoryBackendImpl.cpp: 61561 (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl): 61562 (WebCore::IDBFactoryBackendImpl::addIDBBackingStore): 61563 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore): 61564 (WebCore::IDBFactoryBackendImpl::open): 61565 * storage/IDBFactoryBackendImpl.h: 61566 * storage/IDBObjectStoreBackendImpl.cpp: 61567 (WebCore::IDBObjectStoreBackendImpl::getInternal): 61568 (WebCore::IDBObjectStoreBackendImpl::putInternal): 61569 (WebCore::IDBObjectStoreBackendImpl::clearInternal): 61570 (WebCore::populateIndex): 61571 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): 61572 (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): 61573 61574 2011-02-23 Siddharth Mathur <siddharth.mathur (a] nokia.com> 61575 61576 Reviewed by Laszlo Gombos. 61577 61578 [Qt] Fix the Symbian build after r79334 61579 https://bugs.webkit.org/show_bug.cgi?id=55044 61580 61581 No new tests as there is no new functionality. 61582 61583 * WebCore.pri: Reorder symbian blocks to make sure that 61584 system-sqlite is set before it is tested. 61585 61586 Copy the rules from JavaScriptCore.pri for defineTest(). 61587 61588 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 61589 61590 Reviewed by Alexey Proskuryakov. 61591 61592 Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings 61593 https://bugs.webkit.org/show_bug.cgi?id=54992 61594 61595 * websockets/WebSocketHandshake.cpp: 61596 (WebCore::WebSocketHandshake::readHTTPHeaders): 61597 61598 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 61599 61600 Reviewed by Andreas Kling. 61601 61602 [CMake] Move platform dependent files out of main CMakeLists.txt 61603 https://bugs.webkit.org/show_bug.cgi?id=53891 61604 61605 Apple Windows port does not use the image decoders, 61606 so move them into the platform specific CMake files. 61607 61608 * CMakeLists.txt: 61609 * CMakeListsEfl.txt: 61610 * CMakeListsWinCE.txt: 61611 61612 2011-02-21 Stephen White <senorblanco (a] chromium.org> 61613 61614 Reviewed by Kenneth Russell. 61615 61616 Jittering when animating a rotated image 61617 https://bugs.webkit.org/show_bug.cgi?id=50775 61618 61619 Since Skia does not seem to suffer from pixel cracks when scaling to 61620 non-integral sizes the way CG does, no-op roundToDevicePixels on the 61621 Skia implementation. 61622 61623 * platform/graphics/skia/GraphicsContextSkia.cpp: 61624 (WebCore::GraphicsContext::roundToDevicePixels): 61625 61626 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 61627 61628 Reviewed by Andreas Kling. 61629 61630 [WINCE] Get rid of TemporaryLinkStubs.cpp 61631 https://bugs.webkit.org/show_bug.cgi?id=54825 61632 61633 * CMakeListsWinCE.txt: 61634 * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp. 61635 * platform/wince/TemporaryLinkStubs.cpp: Removed. 61636 61637 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 61638 61639 Reviewed by Darin Adler. 61640 61641 Rename PLATFORM(CF) to USE(CF) 61642 https://bugs.webkit.org/show_bug.cgi?id=53540 61643 61644 * WebCore.gyp/WebCore.gyp: 61645 * editing/SmartReplace.cpp: 61646 * editing/SmartReplaceICU.cpp: 61647 * loader/MainResourceLoader.cpp: 61648 (WebCore::MainResourceLoader::didReceiveResponse): 61649 (WebCore::MainResourceLoader::didReceiveData): 61650 (WebCore::MainResourceLoader::didFinishLoading): 61651 (WebCore::MainResourceLoader::didFail): 61652 * loader/archive/ArchiveFactory.cpp: 61653 (WebCore::archiveMIMETypes): 61654 * platform/FileSystem.h: 61655 * platform/KURL.h: 61656 * platform/KURLGoogle.cpp: 61657 * platform/RunLoopTimer.h: 61658 * platform/SharedBuffer.cpp: 61659 * platform/SharedBuffer.h: 61660 * platform/UUID.cpp: 61661 (WebCore::createCanonicalUUIDString): 61662 * platform/network/ResourceHandle.h: 61663 * platform/network/ResourceRequestBase.h: 61664 * platform/network/curl/ResourceHandleCurl.cpp: 61665 * platform/network/curl/ResourceHandleManager.cpp: 61666 (WebCore::certificatePath): 61667 * platform/text/cf/StringCF.cpp: 61668 * platform/text/cf/StringImplCF.cpp: 61669 * platform/win/BString.cpp: 61670 * platform/win/BString.h: 61671 * platform/win/ClipboardUtilitiesWin.cpp: 61672 (WebCore::getWebLocData): 61673 (WebCore::getURL): 61674 (WebCore::getClipboardData): 61675 * platform/win/ClipboardWin.cpp: 61676 (WebCore::writeFileToDataObject): 61677 * platform/win/SearchPopupMenuWin.cpp: 61678 (WebCore::SearchPopupMenuWin::enabled): 61679 (WebCore::SearchPopupMenuWin::saveRecentSearches): 61680 (WebCore::SearchPopupMenuWin::loadRecentSearches): 61681 61682 2011-02-23 Benjamin Kalman <kalman (a] chromium.org> 61683 61684 Reviewed by Ojan Vafai. 61685 61686 Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered 61687 https://bugs.webkit.org/show_bug.cgi?id=51001 61688 61689 Test: editing/selection/extend-backward-by-word-over-non-editable.html 61690 61691 Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this 61692 bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix. 61693 61694 The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the 61695 selection (webkit.org/b/36360). This was caused by upstream/downstream VisbiblePosition complications. To fix, 61696 refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which 61697 causes this bug). 61698 61699 To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has 61700 been slightly restructured to express the invariant that the iterator will never advance past the start node. 61701 61702 * editing/TextIterator.cpp: 61703 (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary. 61704 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the 61705 mechanism for iteration range checking, and use a flag m_havePassedStartNode instead. 61706 (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and 61707 m_havePassedStartNode for iteration range checking rather than m_pastStartNode. 61708 (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node 61709 which updates m_havePassedStartNode and refuses to continue when it becomes true. 61710 * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and 61711 member variables. 61712 * editing/visible_units.cpp: 61713 (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary. 61714 61715 2011-02-23 Fumitoshi Ukai <ukai (a] chromium.org> 61716 61717 Reviewed by Adam Barth. 61718 61719 WebSocket uses insecure random numbers 61720 https://bugs.webkit.org/show_bug.cgi?id=54714 61721 61722 * websockets/WebSocketHandshake.cpp: 61723 (WebCore::randomNumberLessThan): 61724 (WebCore::generateSecWebSocketKey): 61725 (WebCore::generateKey3): 61726 61727 2011-02-21 Hans Wennborg <hans (a] chromium.org> 61728 61729 Reviewed by Jeremy Orlow. 61730 61731 IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore 61732 https://bugs.webkit.org/show_bug.cgi?id=54864 61733 61734 No new functionality, so no new tests. 61735 61736 * GNUmakefile.am: 61737 * WebCore.gypi: 61738 * storage/IDBBackingStore.cpp: 61739 (WebCore::IDBBackingStore::IDBBackingStore): 61740 (WebCore::IDBBackingStore::~IDBBackingStore): 61741 * storage/IDBBackingStore.h: 61742 (WebCore::IDBBackingStore::create): 61743 (WebCore::IDBBackingStore::db): 61744 * storage/IDBCursorBackendImpl.cpp: 61745 (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl): 61746 (WebCore::IDBCursorBackendImpl::currentRowExists): 61747 (WebCore::IDBCursorBackendImpl::database): 61748 * storage/IDBCursorBackendImpl.h: 61749 (WebCore::IDBCursorBackendImpl::create): 61750 * storage/IDBDatabaseBackendImpl.cpp: 61751 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): 61752 (WebCore::IDBDatabaseBackendImpl::sqliteDatabase): 61753 (WebCore::IDBDatabaseBackendImpl::createObjectStore): 61754 (WebCore::IDBDatabaseBackendImpl::setVersionInternal): 61755 (WebCore::IDBDatabaseBackendImpl::loadObjectStores): 61756 * storage/IDBDatabaseBackendImpl.h: 61757 (WebCore::IDBDatabaseBackendImpl::create): 61758 * storage/IDBFactoryBackendImpl.cpp: 61759 (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore): 61760 (WebCore::openSQLiteDatabase): 61761 (WebCore::IDBFactoryBackendImpl::open): 61762 * storage/IDBFactoryBackendImpl.h: 61763 * storage/IDBIndexBackendImpl.cpp: 61764 (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): 61765 (WebCore::IDBIndexBackendImpl::openCursorInternal): 61766 (WebCore::IDBIndexBackendImpl::sqliteDatabase): 61767 * storage/IDBIndexBackendImpl.h: 61768 (WebCore::IDBIndexBackendImpl::create): 61769 * storage/IDBObjectStoreBackendImpl.cpp: 61770 (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl): 61771 (WebCore::IDBObjectStoreBackendImpl::createIndex): 61772 (WebCore::IDBObjectStoreBackendImpl::openCursorInternal): 61773 (WebCore::IDBObjectStoreBackendImpl::loadIndexes): 61774 (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase): 61775 * storage/IDBObjectStoreBackendImpl.h: 61776 (WebCore::IDBObjectStoreBackendImpl::create): 61777 61778 2011-02-23 Dominic Mazzoni <dmazzoni (a] google.com> 61779 61780 Reviewed by Kenneth Russell. 61781 61782 Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children. 61783 https://bugs.webkit.org/show_bug.cgi?id=54697 61784 61785 New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html 61786 61787 * rendering/RenderHTMLCanvas.cpp: 61788 (WebCore::RenderHTMLCanvas::nodeAtPoint): 61789 61790 2011-02-23 Patrick Gansterer <paroga (a] webkit.org> 61791 61792 Reviewed by Darin Adler. 61793 61794 Remove obsolete focusRingColor functions 61795 https://bugs.webkit.org/show_bug.cgi?id=54824 61796 61797 * CMakeListsWinCE.txt: 61798 * platform/graphics/haiku/ColorHaiku.cpp: 61799 * platform/graphics/wince/ColorWinCE.cpp: Removed. 61800 61801 2011-02-22 Jia Pu <jpu (a] apple.com> 61802 61803 Reviewed by Dan Bernstein. 61804 61805 On Mac OS X, English contractions are marked misspelled with certain user preference setting. 61806 https://bugs.webkit.org/show_bug.cgi?id=54975 61807 61808 manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html 61809 61810 Without this patch, we check for contraction only when autocorrection or other type of auto- 61811 substituation is on. And we failed to check for contraction if only spellchecking is turned on. 61812 This patch implements the desired behavior, checking for contraction when either correction/substitution, 61813 or spellchecking, is on. 61814 61815 * editing/Editor.cpp: 61816 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 61817 * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added. 61818 61819 2011-02-22 Charlie Reis <creis (a] chromium.org> 61820 61821 Reviewed by Darin Fisher. 61822 61823 Remove DatabasePolicy from FrameLoaderTypes 61824 https://bugs.webkit.org/show_bug.cgi?id=54968 61825 61826 The DatabasePolicy enum is no longer needed now that we avoid stopping 61827 loaders on same-document navigations. 61828 61829 Existing test: storage/hash-change-with-xhr.html 61830 61831 * WebCore.exp.in: 61832 * loader/DocumentLoader.cpp: 61833 * loader/DocumentLoader.h: 61834 * loader/FrameLoader.cpp: 61835 * loader/FrameLoader.h: 61836 * loader/FrameLoaderTypes.h: 61837 * workers/WorkerThread.cpp: 61838 61839 2011-02-22 Alexis Menard <alexis.menard (a] openbossa.org> 61840 61841 Reviewed by Andreas Kling. 61842 61843 [Qt] QWebView ignores a palette set with QWebView::setPalette() 61844 https://bugs.webkit.org/show_bug.cgi?id=31742 61845 61846 Use custom QWebView palette if the view provides one. 61847 Modified version of a patch made by Fabrizio Machado. 61848 61849 * platform/qt/RenderThemeQt.cpp: 61850 (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor): 61851 (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor): 61852 (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor): 61853 (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor): 61854 (WebCore::RenderThemeQt::platformFocusRingColor): 61855 61856 2011-02-22 Brian Salomon <bsalomon (a] google.com> 61857 61858 Reviewed by Kenneth Russell. 61859 61860 Don't disable accelerated canvas when using the skia gpu backend. 61861 61862 No new tests are required. 61863 61864 * html/canvas/CanvasRenderingContext2D.cpp: 61865 (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): 61866 61867 2011-02-22 Luiz Agostini <luiz.agostini (a] openbossa.org> 61868 61869 Reviewed by Kenneth Rohde Christiansen. 61870 61871 [Qt] <select>s on http://www.ryanair.com render wrong 61872 https://bugs.webkit.org/show_bug.cgi?id=29647 61873 61874 Reducing padding in <select> elements to improve its rendering and introducing a 61875 rendering adjustment specific to QMacStyle. 61876 61877 * platform/qt/RenderThemeQt.cpp: 61878 (WebCore::RenderThemeQt::setPopupPadding): 61879 (WebCore::RenderThemeQt::paintMenuList): 61880 61881 2011-02-22 Andreas Kling <kling (a] webkit.org> 61882 61883 Reviewed by Dan Bernstein. 61884 61885 FontCache: Make cTargetInactiveFontData an int instead of float. 61886 https://bugs.webkit.org/show_bug.cgi?id=54963 61887 61888 * platform/graphics/FontCache.cpp: 61889 61890 2011-02-22 Ryosuke Niwa <rniwa (a] webkit.org> 61891 61892 Reviewed by Darin Adler. 61893 61894 Make Editor::selectionComputedStyle return EditingStyle 61895 https://bugs.webkit.org/show_bug.cgi?id=54933 61896 61897 Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle. 61898 It also no longer takes a boolean shouldUseFixedFontDefaultSize. 61899 61900 Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function 61901 doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed 61902 by an existing layout test only after the code was shared with selectionStartStyle. 61903 61904 No tests are added since this is a refactoring. 61905 61906 * editing/CompositeEditCommand.cpp: 61907 (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle. 61908 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. 61909 * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle. 61910 (WebCore::EditingStyle::mergeTypingStyle): Added. 61911 * editing/EditingStyle.h: 61912 (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added. 61913 * editing/Editor.cpp: 61914 (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle. 61915 (WebCore::Editor::selectionHasStyle): Ditto. 61916 (WebCore::Editor::selectionStartCSSPropertyValue): Ditto. 61917 (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle. 61918 * editing/Editor.h: 61919 * editing/EditorCommand.cpp: 61920 (WebCore::executeToggleStyleInList): Calls selectionStartStyle. 61921 * editing/InsertLineBreakCommand.cpp: 61922 * editing/InsertParagraphSeparatorCommand.cpp: 61923 (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and 61924 EditingStyle::mergeTypingStyle. 61925 * editing/ReplaceSelectionCommand.cpp: 61926 (WebCore::ReplaceSelectionCommand::doApply): Ditto. 61927 61928 2011-02-22 Robert Hogan <robert (a] webkit.org> 61929 61930 Reviewed by Andreas Kling. 61931 61932 [Qt] painting of windowed plugins faulty on certain scroll events 61933 61934 https://bugs.webkit.org/show_bug.cgi?id=52735 61935 61936 Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords() 61937 imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute 61938 to the frame again) before passing it to FrameView. 61939 61940 * plugins/qt/PluginViewQt.cpp: 61941 (WebCore::PluginView::updatePluginWidget): 61942 61943 2011-02-22 Philippe Normand <pnormand (a] igalia.com> 61944 61945 Reviewed by Martin Robinson. 61946 61947 Minimal build broken 61948 https://bugs.webkit.org/show_bug.cgi?id=54743 61949 61950 Moved the code of setInspectorExtensionAPI and 61951 dispatchMessageFromFrontend out of #if 61952 ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build. 61953 61954 * inspector/InspectorController.cpp: 61955 (WebCore::InspectorController::setInspectorExtensionAPI): 61956 (WebCore::InspectorController::dispatchMessageFromFrontend): 61957 61958 2011-02-22 Sheriff Bot <webkit.review.bot (a] gmail.com> 61959 61960 Unreviewed, rolling out r79367. 61961 http://trac.webkit.org/changeset/79367 61962 https://bugs.webkit.org/show_bug.cgi?id=55012 61963 61964 all layout tests are crashing on Snow Leopard (Requested by 61965 rniwa on #webkit). 61966 61967 * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed. 61968 61969 2011-02-22 Ryosuke Niwa <rniwa (a] webkit.org> 61970 61971 Reviewed by Darin Adler. 61972 61973 Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle 61974 https://bugs.webkit.org/show_bug.cgi?id=54944 61975 61976 Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle. 61977 61978 Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle, 61979 which returns true iff the specified element has inline style that conflicts or matches the editing style. 61980 It also appends conflicting property IDs to the vector of property IDs if one is specified. 61981 61982 * editing/ApplyStyleCommand.cpp: 61983 (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle. 61984 (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement. 61985 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement. 61986 (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*. 61987 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as 61988 conflictsWithInlineStyleOfElement. 61989 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement. 61990 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement. 61991 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto. 61992 (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*. 61993 * editing/ApplyStyleCommand.h: 61994 (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto. 61995 * editing/EditingStyle.cpp: 61996 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle. 61997 * editing/EditingStyle.h: 61998 (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added. 61999 62000 2011-02-22 Chang Shu <cshu (a] webkit.org> 62001 62002 Reviewed by Csaba Osztrogonc. 62003 62004 [Qt] editing/deleting/5408255.html fails 62005 https://bugs.webkit.org/show_bug.cgi?id=54964 62006 62007 Move WebCore resource file to QtWebKit since they are referred in WebKit. 62008 62009 * WebCore.pro: 62010 62011 2011-02-22 Brady Eidson <beidson (a] apple.com> 62012 62013 Reviewed by Anders Carlsson. 62014 62015 <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514 62016 API to view and delete Application Cache data by origin. 62017 62018 Implement these to be used by WK2 API: 62019 * loader/appcache/ApplicationCacheStorage.cpp: 62020 (WebCore::ApplicationCacheStorage::getOriginsWithCache): 62021 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin): 62022 62023 2011-02-22 Geoffrey Garen <ggaren (a] apple.com> 62024 62025 Reviewed by Oliver Hunt. 62026 62027 Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1) 62028 https://bugs.webkit.org/show_bug.cgi?id=54999 62029 62030 New WTF header. 62031 62032 * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h. 62033 62034 2011-02-22 Beth Dakin <bdakin (a] apple.com> 62035 62036 Reviewed by Sam Weinig. 62037 62038 Fix for https://bugs.webkit.org/show_bug.cgi?id=54991 62039 Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS 62040 Scrollbars 62041 -and corresponding- 62042 <rdar://problem/9034318> 62043 62044 Instead of consulting the theme directly, callers should ask the Scrollbar or 62045 ScrollableArea if the scrollbars are overlay or not. 62046 62047 * platform/ScrollView.cpp: 62048 (WebCore::ScrollView::visibleContentRect): 62049 (WebCore::ScrollView::scrollContents): 62050 (WebCore::ScrollView::wheelEvent): 62051 * platform/ScrollableArea.cpp: 62052 (WebCore::ScrollableArea::setScrollOffsetFromAnimation): 62053 (WebCore::ScrollableArea::hasOverlayScrollbars): 62054 * platform/ScrollableArea.h: 62055 * platform/Scrollbar.cpp: 62056 (WebCore::Scrollbar::isOverlayScrollbar): 62057 * platform/Scrollbar.h: 62058 * rendering/RenderBox.cpp: 62059 (WebCore::RenderBox::includeVerticalScrollbarSize): 62060 (WebCore::RenderBox::includeHorizontalScrollbarSize): 62061 * rendering/RenderLayer.cpp: 62062 (WebCore::RenderLayer::verticalScrollbarWidth): 62063 (WebCore::RenderLayer::horizontalScrollbarHeight): 62064 * rendering/RenderListBox.cpp: 62065 (WebCore::RenderListBox::verticalScrollbarWidth): 62066 * rendering/RenderScrollbar.h: 62067 (WebCore::RenderScrollbar::isOverlayScrollbar): 62068 62069 2011-02-22 Andras Becsi <abecsi (a] webkit.org> 62070 62071 Reviewed by Csaba Osztrogonc. 62072 62073 [Qt] Redesign the build system 62074 https://bugs.webkit.org/show_bug.cgi?id=51339 62075 62076 Move inspector's resource files into the final build step to fix the layout test regression. 62077 62078 No new tests needed. 62079 62080 * WebCore.pro: Move inspector's resource files into QtWebKit.pro. 62081 62082 2011-02-22 Martin Robinson <mrobinson (a] igalia.com> 62083 62084 Reviewed by Xan Lopez. 62085 62086 [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167 62087 https://bugs.webkit.org/show_bug.cgi?id=54990 62088 62089 No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html 62090 to start passing again. 62091 62092 * platform/gtk/ScrollViewGtk.cpp: 62093 (WebCore::ScrollView::visibleContentRect): Update this method to match the original 62094 in the parent class. 62095 62096 2011-01-17 Martin Robinson <mrobinson (a] igalia.com> 62097 62098 Reviewed by Xan Lopez. 62099 62100 [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots 62101 https://bugs.webkit.org/show_bug.cgi?id=49177 62102 62103 * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation 62104 of platformAddChild and platformRemoveChild. This code can be shared. 62105 * platform/gtk/MainFrameScrollbarGtk.cpp: 62106 (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached 62107 adjustment. Connect the adjustment value-changed signal handler after resetting the 62108 adjustment. This prevents the rest from stomping on pre-existing WebCore values. 62109 (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to 62110 a scrollview do not listing for value changes. These scrollbars are defunct. 62111 * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods. 62112 62113 2011-02-22 Pavel Feldman <pfeldman (a] chromium.org> 62114 62115 Reviewed by Yury Semikhatsky. 62116 62117 Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction. 62118 https://bugs.webkit.org/show_bug.cgi?id=54954 62119 62120 * bindings/js/JSInjectedScriptHostCustom.cpp: 62121 (WebCore::InjectedScriptHost::toNode): 62122 (WebCore::JSInjectedScriptHost::inspect): 62123 * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: 62124 (WebCore::InjectedScriptHost::toNode): 62125 (WebCore::V8InjectedScriptHost::inspectCallback): 62126 * inspector/CodeGeneratorInspector.pm: 62127 * inspector/InjectedScript.cpp: 62128 (WebCore::InjectedScript::nodeForObjectId): 62129 * inspector/InjectedScript.h: 62130 * inspector/InjectedScriptHost.cpp: 62131 (WebCore::InjectedScriptHost::inspect): 62132 * inspector/InjectedScriptHost.h: 62133 * inspector/InjectedScriptHost.idl: 62134 * inspector/InjectedScriptSource.js: 62135 (.): 62136 * inspector/Inspector.idl: 62137 * inspector/InspectorAgent.cpp: 62138 (WebCore::InspectorAgent::focusNode): 62139 * inspector/InspectorAgent.h: 62140 * inspector/InspectorDOMAgent.cpp: 62141 (WebCore::InspectorDOMAgent::inspect): 62142 (WebCore::InspectorDOMAgent::pushNodeToFrontend): 62143 * inspector/InspectorDOMAgent.h: 62144 * inspector/front-end/AuditRules.js: 62145 (WebInspector.AuditRules.evaluateInTargetWindow): 62146 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 62147 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles): 62148 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages): 62149 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes): 62150 * inspector/front-end/ConsoleView.js: 62151 (WebInspector.ConsoleView.prototype.completions): 62152 * inspector/front-end/DOMAgent.js: 62153 (WebInspector.DOMDispatcher.prototype.childNodeRemoved): 62154 (WebInspector.DOMDispatcher.prototype.inspectElementRequested): 62155 * inspector/front-end/RemoteObject.js: 62156 (WebInspector.RemoteObject.prototype.pushNodeToFrontend): 62157 62158 2011-02-22 Brady Eidson <beidson (a] apple.com> 62159 62160 Reviewed by Anders Carlsson. 62161 62162 Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514 62163 API to view and delete Application Cache data by origin. 62164 62165 Stub these out for now: 62166 * loader/appcache/ApplicationCacheStorage.cpp: 62167 (WebCore::ApplicationCacheStorage::getOriginsWithCache): 62168 (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin): 62169 (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac 62170 * loader/appcache/ApplicationCacheStorage.h: 62171 62172 Export the new symbols: 62173 * WebCore.exp.in: 62174 62175 2011-02-22 Anders Carlsson <andersca (a] apple.com> 62176 62177 Fix debug build. 62178 62179 * WebCore.exp.in: 62180 62181 2011-02-22 Balazs Kelemen <kbalazs (a] webkit.org> 62182 62183 Reviewed by Anders Carlsson. 62184 62185 notImplemented() should behave identical in WebCore and WebKit2 62186 https://bugs.webkit.org/show_bug.cgi?id=54449 62187 62188 No functional change so no new tests. 62189 62190 * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header 62191 to be able to use it in WebKit2. 62192 62193 2011-02-22 Andras Becsi <abecsi (a] webkit.org> 62194 62195 Reviewed by Laszlo Gombos. 62196 Rubber-stamped by Csaba Osztrogonc. 62197 62198 [Qt] Redesign the build system 62199 https://bugs.webkit.org/show_bug.cgi?id=51339 62200 62201 The patch landed in r79320 didn't contain the cleanup 62202 which was already addressed in the last attachment. 62203 62204 No new tests needed. 62205 62206 * WebCore.pri: Add common LIB and CONFIG options. 62207 * WebCore.pro: Add accidentally moved sections. 62208 62209 2011-02-22 Philippe Normand <pnormand (a] igalia.com> 62210 62211 Unreviewed, rolling out r79321. 62212 http://trac.webkit.org/changeset/79321 62213 https://bugs.webkit.org/show_bug.cgi?id=53146 62214 62215 Regresses fast/forms/listbox-typeahead-cyrillic.html and fast 62216 /spatial-navigation/snav-single-select.html on GTK 62217 62218 * accessibility/gtk/AXObjectCacheAtk.cpp: 62219 (WebCore::notifyChildrenSelectionChange): 62220 (WebCore::AXObjectCache::postPlatformNotification): 62221 62222 2011-02-22 Ilya Tikhonovsky <loislo (a] chromium.org> 62223 62224 Reviewed by Yury Semikhatsky. 62225 62226 Web Inspector: Inspector.IDL change. rename attribute notify -> event. 62227 https://bugs.webkit.org/show_bug.cgi?id=54958 62228 62229 * inspector/CodeGeneratorInspector.pm: 62230 * inspector/Inspector.idl: 62231 62232 2011-02-22 Yury Semikhatsky <yurys (a] chromium.org> 62233 62234 Reviewed by Pavel Feldman. 62235 62236 Web Inspector: Timeline agent should have same lifetime as InspectorAgent 62237 https://bugs.webkit.org/show_bug.cgi?id=54951 62238 62239 * inspector/CodeGeneratorInspector.pm: 62240 * inspector/Inspector.idl: 62241 * inspector/InspectorAgent.cpp: 62242 (WebCore::InspectorAgent::InspectorAgent): 62243 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 62244 (WebCore::InspectorAgent::setFrontend): 62245 (WebCore::InspectorAgent::disconnectFrontend): 62246 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 62247 (WebCore::InspectorAgent::didCommitLoad): 62248 (WebCore::InspectorAgent::domContentLoadedEventFired): 62249 (WebCore::InspectorAgent::loadEventFired): 62250 * inspector/InspectorAgent.h: 62251 * inspector/InspectorController.cpp: 62252 (WebCore::InspectorController::startTimelineProfiler): 62253 (WebCore::InspectorController::stopTimelineProfiler): 62254 (WebCore::InspectorController::timelineProfilerEnabled): 62255 * inspector/InspectorInstrumentation.cpp: 62256 (WebCore::InspectorInstrumentation::retrieveTimelineAgent): 62257 * inspector/InspectorTimelineAgent.cpp: 62258 (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent): 62259 (WebCore::InspectorTimelineAgent::setFrontend): 62260 (WebCore::InspectorTimelineAgent::clearFrontend): 62261 (WebCore::InspectorTimelineAgent::restore): 62262 (WebCore::InspectorTimelineAgent::startTimelineProfiler): 62263 (WebCore::InspectorTimelineAgent::stopTimelineProfiler): 62264 (WebCore::InspectorTimelineAgent::timelineProfilerStarted): 62265 (WebCore::InspectorTimelineAgent::didCommitLoad): 62266 (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): 62267 (WebCore::InspectorTimelineAgent::clearRecordStack): 62268 * inspector/InspectorTimelineAgent.h: 62269 (WebCore::InspectorTimelineAgent::create): 62270 * inspector/front-end/TimelinePanel.js: 62271 (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 62272 62273 2011-02-22 Ilya Tikhonovsky <loislo (a] chromium.org> 62274 62275 Reviewed by Pavel Feldman. 62276 62277 Web Inspector: flakyness of inspector tests. 62278 https://bugs.webkit.org/show_bug.cgi?id=54729 62279 62280 As far as we have the protocol with sequence numbers we can simplify test harness support 62281 and drop out chomium specific methods. 62282 62283 * inspector/CodeGeneratorInspector.pm: 62284 * inspector/front-end/TestController.js: 62285 (WebInspector.TestController): 62286 (WebInspector.TestController.prototype.notifyDone): 62287 (WebInspector.TestController.prototype.runAfterPendingDispatches): 62288 (WebInspector.TestController.prototype._evaluateForTestInFrontend): 62289 * inspector/front-end/inspector.js: 62290 (WebInspector.dispatch): 62291 62292 2011-02-22 Mario Sanchez Prada <msanchez (a] igalia.com> 62293 62294 Reviewed by Martin Robinson. 62295 62296 [GTK] Combo boxes should emit object:selection-changed even when collapsed 62297 https://bugs.webkit.org/show_bug.cgi?id=53146 62298 62299 Emit the selection-changed signals when the menu list value has changed 62300 62301 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html 62302 62303 * accessibility/gtk/AXObjectCacheAtk.cpp: 62304 (WebCore::getListObject): New, return the right list object for 62305 menu lists and list boxes. 62306 (WebCore::notifyChildrenSelectionChange): Support menu lists. 62307 (WebCore::AXObjectCache::postPlatformNotification): Call function 62308 notifyChildrenSelectionChange for AXMenuListValueChanged. 62309 62310 2011-02-22 Andras Becsi <abecsi (a] webkit.org> 62311 62312 Reviewed by Laszlo Gombos. 62313 62314 [Qt] Redesign the build system 62315 https://bugs.webkit.org/show_bug.cgi?id=51339 62316 62317 Part 2. 62318 62319 Build WebCore as a static library, compile the WebKit API and WebKit2 API 62320 in a final step and link to WebKit2, WebCore and JSC libraries to fix 62321 linking issues resulting from stripped away symbols. 62322 62323 No new tests needed. 62324 62325 * WebCore.pri: Add needed rules for handling the static library. 62326 * WebCore.pro: Reorganize API and linker options to QtWebKit.pro. 62327 62328 2011-02-22 Pavel Podivilov <podivilov (a] chromium.org> 62329 62330 Reviewed by Pavel Feldman. 62331 62332 Web Inspector: [REGRESSION] navigation does not work when inspector is opened. 62333 https://bugs.webkit.org/show_bug.cgi?id=54947 62334 62335 * inspector/InspectorAgent.cpp: 62336 (WebCore::InspectorAgent::restoreInspectorStateFromCookie): 62337 * inspector/InspectorState.cpp: 62338 (WebCore::InspectorState::loadFromCookie): 62339 * inspector/InspectorState.h: 62340 62341 2011-02-15 Jer Noble <jer.noble (a] apple.com> 62342 62343 Reviewed by Darin Adler. 62344 62345 Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays 62346 https://bugs.webkit.org/show_bug.cgi?id=46142 62347 62348 Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the 62349 container elements. This is necessary because, during layout(), the child renderers 62350 query the current LayoutState to determine where they will be repainting. If a new 62351 LayoutState is not pushed here, child renderers will attempt to repaint relative to 62352 their grandparent's origin instead of their parents', and repaint operations will fail. 62353 62354 * rendering/RenderMedia.cpp: 62355 (WebCore::RenderMedia::layout): 62356 62357 2011-02-22 Benjamin Poulain <benjamin.poulain (a] nokia.com> 62358 62359 Reviewed by Kenneth Rohde Christiansen. 62360 62361 Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip() 62362 https://bugs.webkit.org/show_bug.cgi?id=54952 62363 62364 Remove the unnecessary condition from the if(), HTMLInputElement::files() always return 62365 a valid reference for the input type FileInputType. 62366 62367 * page/Chrome.cpp: 62368 (WebCore::Chrome::setToolTip): 62369 62370 2011-02-21 Pavel Podivilov <podivilov (a] chromium.org> 62371 62372 Reviewed by Pavel Feldman. 62373 62374 Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel. 62375 https://bugs.webkit.org/show_bug.cgi?id=54645 62376 62377 This is needed to map one script to several source files. 62378 62379 Test: inspector/debugger/source-frame.html 62380 62381 * WebCore.gypi: 62382 * WebCore.vcproj/WebCore.vcproj: 62383 * inspector/front-end/DebuggerPresentationModel.js: Added. 62384 (WebInspector.DebuggerPresentationModel): 62385 (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName): 62386 (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded): 62387 (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved): 62388 (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved): 62389 (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation): 62390 (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation): 62391 * inspector/front-end/ScriptsPanel.js: 62392 (WebInspector.ScriptsPanel): 62393 (WebInspector.ScriptsPanel.prototype._breakpointAdded): 62394 (WebInspector.ScriptsPanel.prototype._breakpointRemoved): 62395 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): 62396 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript): 62397 (WebInspector.ScriptsPanel.prototype._addSourceFrame): 62398 (WebInspector.ScriptsPanel.prototype._removeSourceFrame): 62399 (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded): 62400 (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine): 62401 (WebInspector.ScriptsPanel.prototype._callFrameSelected): 62402 (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource): 62403 * inspector/front-end/SourceFrame.js: 62404 (WebInspector.SourceFrame.prototype.get loaded): 62405 (WebInspector.SourceFrame.prototype._createTextViewer): 62406 (WebInspector.SourceFrame.prototype._setTextViewerDecorations): 62407 (WebInspector.SourceFrame.prototype.setExecutionLine): 62408 (WebInspector.SourceFrame.prototype.clearExecutionLine): 62409 (WebInspector.SourceFrame.prototype.addBreakpoint): 62410 (WebInspector.SourceFrame.prototype.removeBreakpoint): 62411 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition): 62412 (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint): 62413 (WebInspector.SourceFrame.prototype._findBreakpoint.filter): 62414 (WebInspector.SourceFrame.prototype._findBreakpoint): 62415 * inspector/front-end/WebKit.qrc: 62416 * inspector/front-end/inspector.html: 62417 62418 2011-02-22 Andrey Kosyakov <caseq (a] chromium.org> 62419 62420 Reviewed by Pavel Feldman. 62421 62422 Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit 62423 https://bugs.webkit.org/show_bug.cgi?id=54671 62424 62425 - factored toolbar handling out of inspector.js 62426 - added toolbar dropdown 62427 62428 * WebCore.gypi: 62429 * WebCore.vcproj/WebCore.vcproj: 62430 * inspector/front-end/ExtensionServer.js: 62431 (WebInspector.ExtensionServer.prototype._onCreatePanel): 62432 * inspector/front-end/Panel.js: 62433 (WebInspector.Panel.prototype.get toolbarItem): 62434 * inspector/front-end/Toolbar.js: Added. 62435 (WebInspector.Toolbar): 62436 (WebInspector.Toolbar.prototype.resize): 62437 (WebInspector.Toolbar.prototype.addPanel): 62438 (WebInspector.Toolbar.prototype._toolbarDragStart): 62439 (WebInspector.Toolbar.prototype._toolbarDragEnd): 62440 (WebInspector.Toolbar.prototype._toolbarDrag): 62441 (WebInspector.Toolbar.prototype._onClose): 62442 (WebInspector.Toolbar.prototype._setDropdownVisible): 62443 (WebInspector.Toolbar.prototype._toggleDropdown): 62444 (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown): 62445 (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked): 62446 (WebInspector.Toolbar.createPanelToolbarItem): 62447 (WebInspector.ToolbarDropdown): 62448 (WebInspector.ToolbarDropdown.prototype.show): 62449 (WebInspector.ToolbarDropdown.prototype.hide): 62450 (WebInspector.ToolbarDropdown.prototype.get visible): 62451 (WebInspector.ToolbarDropdown.prototype._populate): 62452 (WebInspector.ToolbarDropdown.prototype._onKeyDown): 62453 * inspector/front-end/WebKit.qrc: 62454 * inspector/front-end/inspector.css: 62455 (#toolbar): 62456 (.toolbar-item): 62457 (.toolbar-item.toggleable): 62458 (.toolbar-item.toggleable.toggled-on): 62459 (#toolbar-dropdown .toolbar-icon): 62460 (#toolbar-dropdown .toolbar-label): 62461 (#toolbar-controls): 62462 (#toolbar-dropdown-arrow): 62463 (body.attached #toolbar-dropdown-arrow): 62464 (#toolbar-dropdown-arrow.dropdown-visible): 62465 (#toolbar-dropdown-arrow:hover): 62466 (#toolbar-dropdown-arrow:active): 62467 (#toolbar-dropdown): 62468 (body.detached.platform-mac-snowleopard #toolbar-dropdown): 62469 (#toolbar-dropdown .scrollable-content): 62470 (#toolbar-dropdown .toolbar-item): 62471 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on): 62472 (#toolbar-dropdown .toolbar-item:hover): 62473 (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover): 62474 (#toolbar-dropdown .toolbar-item:active .toolbar-icon): 62475 (.scrollable-content): 62476 (.scrollable-content::-webkit-scrollbar): 62477 (.scrollable-content::-webkit-resizer): 62478 (.scrollable-content::-webkit-scrollbar-thumb:vertical): 62479 (.scrollable-content::-webkit-scrollbar-thumb:vertical:active): 62480 (.scrollable-content::-webkit-scrollbar-track:vertical): 62481 (.toolbar-search-item): 62482 (#search): 62483 (body.attached #search): 62484 (#search-results-matches): 62485 (#close-button-left, #close-button-right): 62486 (.close-left): 62487 * inspector/front-end/inspector.html: 62488 * inspector/front-end/inspector.js: 62489 (WebInspector.set attached): 62490 (WebInspector.addPanel): 62491 (WebInspector.windowResize): 62492 62493 2011-02-22 Philippe Normand <pnormand (a] igalia.com> 62494 62495 Reviewed by Xan Lopez. 62496 62497 [GTK] make distcheck fails 62498 https://bugs.webkit.org/show_bug.cgi?id=54943 62499 62500 Added new headers and removed references to deleted files. 62501 62502 * GNUmakefile.am: 62503 62504 2011-02-21 Yury Semikhatsky <yurys (a] chromium.org> 62505 62506 Reviewed by Pavel Feldman. 62507 62508 Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent 62509 https://bugs.webkit.org/show_bug.cgi?id=54891 62510 62511 * inspector/InspectorAgent.cpp: 62512 (WebCore::InspectorAgent::InspectorAgent): 62513 (WebCore::InspectorAgent::setFrontend): 62514 (WebCore::InspectorAgent::disconnectFrontend): 62515 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 62516 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 62517 (WebCore::InspectorAgent::didCommitLoad): 62518 * inspector/InspectorAgent.h: 62519 (WebCore::InspectorAgent::instrumentingAgents): 62520 * inspector/InspectorDOMStorageAgent.cpp: 62521 (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent): 62522 (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent): 62523 (WebCore::InspectorDOMStorageAgent::setFrontend): 62524 (WebCore::InspectorDOMStorageAgent::clearFrontend): 62525 (WebCore::InspectorDOMStorageAgent::selectDOMStorage): 62526 (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId): 62527 (WebCore::InspectorDOMStorageAgent::didUseDOMStorage): 62528 (WebCore::InspectorDOMStorageAgent::clearResources): 62529 * inspector/InspectorDOMStorageAgent.h: 62530 (WebCore::InspectorDOMStorageAgent::create): 62531 * inspector/InspectorDatabaseAgent.cpp: 62532 (WebCore::InspectorDatabaseAgent::didOpenDatabase): 62533 (WebCore::InspectorDatabaseAgent::clearResources): 62534 (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent): 62535 (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent): 62536 (WebCore::InspectorDatabaseAgent::setFrontend): 62537 (WebCore::InspectorDatabaseAgent::clearFrontend): 62538 (WebCore::InspectorDatabaseAgent::databaseForId): 62539 (WebCore::InspectorDatabaseAgent::selectDatabase): 62540 * inspector/InspectorDatabaseAgent.h: 62541 (WebCore::InspectorDatabaseAgent::create): 62542 * inspector/InspectorInstrumentation.cpp: 62543 (WebCore::InspectorInstrumentation::didOpenDatabaseImpl): 62544 (WebCore::InspectorInstrumentation::didUseDOMStorageImpl): 62545 62546 2011-02-22 Steve Lacey <sjl (a] chromium.org> 62547 62548 Reviewed by Darin Fisher. 62549 62550 Rename new media statistics apis to better names 62551 62552 https://bugs.webkit.org/show_bug.cgi?id=54784 62553 62554 * html/HTMLMediaElement.cpp: 62555 (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount): 62556 (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount): 62557 * html/HTMLMediaElement.h: 62558 * html/HTMLMediaElement.idl: 62559 * html/HTMLVideoElement.cpp: 62560 (WebCore::HTMLVideoElement::webkitDecodedFrameCount): 62561 (WebCore::HTMLVideoElement::webkitDroppedFrameCount): 62562 * html/HTMLVideoElement.h: 62563 * html/HTMLVideoElement.idl: 62564 * platform/graphics/MediaPlayer.cpp: 62565 (WebCore::MediaPlayer::decodedFrameCount): 62566 (WebCore::MediaPlayer::droppedFrameCount): 62567 (WebCore::MediaPlayer::audioDecodedByteCount): 62568 (WebCore::MediaPlayer::videoDecodedByteCount): 62569 * platform/graphics/MediaPlayer.h: 62570 * platform/graphics/MediaPlayerPrivate.h: 62571 (WebCore::MediaPlayerPrivateInterface::decodedFrameCount): 62572 (WebCore::MediaPlayerPrivateInterface::droppedFrameCount): 62573 (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount): 62574 (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount): 62575 62576 2011-02-21 Roland Steiner <rolandsteiner (a] chromium.org> 62577 62578 Reviewed by Kent Tamura. 62579 62580 Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement 62581 https://bugs.webkit.org/show_bug.cgi?id=54435 62582 62583 Changed the function to a series of early-exit 'if's, 62584 removed most temporary variables. 62585 62586 No new tests. (refactoring) 62587 62588 * css/CSSStyleSelector.cpp: 62589 (WebCore::CSSStyleSelector::canShareStyleWithElement): 62590 62591 2011-02-21 Nico Weber <thakis (a] chromium.org> 62592 62593 Reviewed by James Robinson. 62594 62595 [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual 62596 https://bugs.webkit.org/show_bug.cgi?id=54923 62597 62598 Rename PopupContainer::show() to showInRect(), to make it obvious it's 62599 not an override of ScrollView::show(). 62600 62601 No intended functionality change. 62602 62603 * platform/chromium/PopupMenuChromium.cpp: 62604 (WebCore::PopupContainer::showInRect): 62605 (WebCore::PopupMenuChromium::show): 62606 * platform/chromium/PopupMenuChromium.h: 62607 62608 2011-02-21 Julien Chaffraix <jchaffraix (a] codeaurora.org> 62609 62610 Reviewed by Antti Koivisto. 62611 62612 Improve the local{SharedStyle,CousinList} algorithm 62613 https://bugs.webkit.org/show_bug.cgi?id=45507 62614 62615 This change improves the algorithm to find shared styles: the old 62616 algorithm would stop the search after the first cousin, even if 62617 the search threshold is not met. As such, the algorithm would 62618 systematically miss sharings across second cousins and beyond. 62619 The new algorithm continues the search, as long as threshold is 62620 not met. It also separates the threshold for sibling/cousins 62621 search, from that on the levels of search, which is easier to 62622 optimize. 62623 The new algorithm finds up to 30% more sharings on some sites 62624 (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown. 62625 62626 No new test, refactoring only. 62627 62628 * css/CSSStyleSelector.cpp: 62629 (WebCore::CSSStyleSelector::locateCousinList): 62630 (WebCore::CSSStyleSelector::locateSharedStyle): 62631 While changing the algorithm, cleaned up the style of those 2 methods 62632 (use early return, renamed some variables). 62633 62634 * css/CSSStyleSelector.h: 62635 62636 2011-02-21 Nico Weber <thakis (a] chromium.org> 62637 62638 Reviewed by Adam Barth. 62639 62640 RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual 62641 https://bugs.webkit.org/show_bug.cgi?id=54922 62642 62643 RenderTableCell::baselinePosition() has the same name as a virtual 62644 method in superclass RenderBlock. Rename the subclass method to make 62645 it clear it's not an attempted override. 62646 62647 No intended functionality change. 62648 62649 * rendering/RenderTableCell.cpp: 62650 (WebCore::RenderTableCell::cellBaselinePosition): 62651 * rendering/RenderTableCell.h: 62652 * rendering/RenderTableSection.cpp: 62653 (WebCore::RenderTableSection::calcRowLogicalHeight): 62654 (WebCore::RenderTableSection::layoutRows): 62655 62656 2011-02-21 Benjamin Kalman <kalman (a] chromium.org> 62657 62658 Reviewed by Ryosuke Niwa. 62659 62660 Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect 62661 start/end of selection for RTL 62662 https://bugs.webkit.org/show_bug.cgi?id=54724 62663 62664 On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document). 62665 This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or 62666 extending from the end when for the "right" direction (e.g. pressing right arrow key). 62667 62668 However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since 62669 direction is obviously reversed) and likewise extend from the start when extending right. 62670 62671 * editing/SelectionController.cpp: 62672 (WebCore::SelectionController::modify): 62673 62674 2011-02-21 Nico Weber <thakis (a] chromium.org> 62675 62676 Reviewed by Adam Barth. 62677 62678 ImageDocument::imageChanged() confuses clang's -Woverride-virtual 62679 https://bugs.webkit.org/show_bug.cgi?id=54924 62680 62681 Rename ImageDocument::imageChanged() to imageUpdated() to make clear 62682 that it's not an override of CachedResourceClient::imageChanged(). 62683 62684 * html/ImageDocument.cpp: 62685 (WebCore::ImageDocumentParser::appendBytes): 62686 (WebCore::ImageDocumentParser::finish): 62687 (WebCore::ImageDocument::imageUpdated): 62688 * html/ImageDocument.h: 62689 62690 2011-02-21 Roland Steiner <rolandsteiner (a] chromium.org> 62691 62692 Reviewed by Kent Tamura. 62693 62694 Bug 54934 - Sort the WebCore project file(s) 62695 https://bugs.webkit.org/show_bug.cgi?id=54934 62696 62697 No new tests. (no code affected) 62698 62699 * GNUmakefile.am: 62700 * WebCore.xcodeproj/project.pbxproj: 62701 62702 2011-02-21 Nico Weber <thakis (a] chromium.org> 62703 62704 Reviewed by Adam Barth. 62705 62706 canAccommodateEllipsis() confuses clang's -Woverloaded-virtual 62707 https://bugs.webkit.org/show_bug.cgi?id=54909 62708 62709 Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to 62710 unconfuse clang. No intended functionality change. 62711 62712 * rendering/RenderBlockLineLayout.cpp: 62713 (WebCore::RenderBlock::checkLinesForTextOverflow): 62714 * rendering/RenderFlexibleBox.cpp: 62715 (WebCore::RenderFlexibleBox::applyLineClamp): 62716 * rendering/RootInlineBox.cpp: 62717 (WebCore::RootInlineBox::lineCanAccommodateEllipsis): 62718 * rendering/RootInlineBox.h: 62719 62720 2011-02-21 Adele Peterson <adele (a] apple.com> 62721 62722 Reviewed by Dan Bernstein. 62723 62724 Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402 62725 REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows 62726 62727 Test: updated fast/forms/placeholder-position.html and tested manually 62728 62729 Consider padding and margin for the results and cancel buttons. This is important for the Windows 62730 theme which uses padding to correctly position those buttons. This change fixes the placeholder 62731 position, and also better aligns the results popup list with the actual text you type. 62732 62733 * rendering/RenderTextControlSingleLine.cpp: 62734 (WebCore::RenderTextControlSingleLine::clientPaddingLeft): 62735 (WebCore::RenderTextControlSingleLine::clientPaddingRight): 62736 62737 2011-02-21 Nico Weber <thakis (a] chromium.org> 62738 62739 Reviewed by Kent Tamura. 62740 62741 GIFImageDecoder::setSize() tries to override the superclass method but fails 62742 https://bugs.webkit.org/show_bug.cgi?id=54305 62743 62744 The superclass uses unsigned instead of int for its parameters, so 62745 GIFImageDecoder::setSize() was an overload, not an override. 62746 62747 * platform/image-decoders/gif/GIFImageDecoder.cpp: 62748 (WebCore::GIFImageDecoder::setSize): 62749 * platform/image-decoders/gif/GIFImageDecoder.h: 62750 62751 2011-02-21 Ryosuke Niwa <rniwa (a] webkit.org> 62752 62753 Reviewed by Darin Adler. 62754 62755 Deploy EditingStyle more in ApplyStyleCommand and do some cleanup 62756 https://bugs.webkit.org/show_bug.cgi?id=54528 62757 62758 * editing/ApplyStyleCommand.cpp: 62759 (WebCore::StyleChange::init): Allows style to be a null pointer. 62760 (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of 62761 -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement 62762 to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine 62763 whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property. 62764 (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*. 62765 (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto. 62766 (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto. 62767 (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto. 62768 (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto. 62769 (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto. 62770 (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because 62771 ApplyStyleCommand::applyInlineStyle already does it. 62772 * editing/ApplyStyleCommand.h: 62773 * editing/EditingStyle.cpp: 62774 (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null. 62775 (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle. 62776 * editing/EditingStyle.h: 62777 62778 2011-02-21 Mark Rowe <mrowe (a] apple.com> 62779 62780 Reviewed by Darin Adler and Alexey Proskuryakov. 62781 62782 <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO 62783 62784 * platform/graphics/cg/ImageSourceCG.cpp: 62785 (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the 62786 frame properties dictionary and use that if it exists. If it does not exist in the 62787 dictionary then fall back to using the clamped frame delay. 62788 62789 2011-02-21 James Kozianski <koz (a] chromium.org> 62790 62791 Reviewed by Kent Tamura. 62792 62793 Causes elements to be unfocusable after tabindex property is removed. 62794 https://bugs.webkit.org/show_bug.cgi?id=54727 62795 62796 Test: fast/html/tabindex-removal.html 62797 62798 * dom/Node.cpp: 62799 (WebCore::Node::clearTabIndexExplicitly): 62800 * dom/Node.h: 62801 * dom/NodeRareData.h: 62802 (WebCore::NodeRareData::clearTabIndexExplicitly): 62803 * html/HTMLElement.cpp: 62804 (WebCore::HTMLElement::parseMappedAttribute): 62805 62806 2011-02-21 Alexey Proskuryakov <ap (a] apple.com> 62807 62808 Reviewed by Mark Rowe. 62809 62810 <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods 62811 62812 * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed. 62813 62814 2011-02-21 Sam Weinig <sam (a] webkit.org> 62815 62816 Reviewed by Dan Bernstein. 62817 62818 Overhang areas need to be invalidated on scroll 62819 <rdar://problem/9032194> 62820 https://bugs.webkit.org/show_bug.cgi?id=54917 62821 62822 * platform/ScrollView.cpp: 62823 (WebCore::ScrollView::scrollContents): 62824 We need to explicitly invalidate the overhang areas when we scroll the contents 62825 of a ScrollView, since they could contain arbitrary content that cannot be blitted. 62826 62827 2011-02-21 Lucas Forschler <lforschler (a] apple.com> 62828 62829 Reviewed by Stephanie Lewis. 62830 62831 Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp 62832 62833 No new tests required. 62834 62835 * WebCore.xcodeproj/project.pbxproj: 62836 62837 2011-02-21 Pratik Solanki <psolanki (a] apple.com> 62838 62839 Reviewed by Darin Adler. 62840 62841 Remove global initializer in CookieStorageCFNet.cpp 62842 https://bugs.webkit.org/show_bug.cgi?id=54905 62843 62844 * platform/network/cf/CookieStorageCFNet.cpp: 62845 (WebCore::currentCookieStorage): 62846 (WebCore::setCurrentCookieStorage): 62847 (WebCore::setCookieStoragePrivateBrowsingEnabled): 62848 62849 2011-02-18 Jer Noble <jer.noble (a] apple.com> 62850 62851 Reviewed by Sam Weinig. 62852 62853 WebKit2: Media document videos play only sound, no video (affects trailers.apple.com) 62854 https://bugs.webkit.org/show_bug.cgi?id=54771 62855 62856 Now that video is accelerated, we no longer need to special case 62857 video playing within a media document. 62858 62859 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 62860 (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode): 62861 (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering): 62862 62863 2011-02-21 Alexey Proskuryakov <ap (a] apple.com> 62864 62865 Reviewed by Adam Roben. 62866 62867 REGRESSION (WebKit2): HTTP requests time out after 60 seconds 62868 https://bugs.webkit.org/show_bug.cgi?id=54755 62869 <rdar://problem/9006592> 62870 62871 No new tests - it won't be great to have a test that runs for a minute. 62872 62873 It's now possible to set a default timeout to be used at ResourceRequest creation. If one 62874 hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac, 62875 or use INT_MAX on other platforms). 62876 62877 * WebCore.exp.in: 62878 * platform/network/ResourceRequestBase.cpp: 62879 (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of 62880 default timeout interval (may be 0 if using NSURLRequest default). 62881 (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable. 62882 (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource 62883 request is updated. Plaform code often calls updateResourceRequest() indirectly from this 62884 function, and that must obviously be a no-op. 62885 (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite 62886 direction. 62887 * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to 62888 "defaultTimeoutInterval". It has been used as default by most platforms anyway. 62889 (WebCore::ResourceRequestBase::ResourceRequestBase): 62890 62891 * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest): 62892 Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither 62893 setTimeoutInterval() nor setDefaultTimeoutInterval() has been called. 62894 62895 2011-02-21 Martin Robinson <mrobinson (a] igalia.com> 62896 62897 Reviewed by Xan Lopez. 62898 62899 [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails 62900 https://bugs.webkit.org/show_bug.cgi?id=54895 62901 62902 Correct the GTK+ clipboard implementation to know that "text" is an alias 62903 for "text/html" data. This corrects the failing test. 62904 62905 * platform/gtk/ClipboardGtk.cpp: 62906 (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text". 62907 (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text". 62908 62909 2011-02-21 Vsevolod Vlasov <vsevik (a] chromium.org> 62910 62911 Reviewed by Pavel Feldman. 62912 62913 ProcessingInstruction should provide a way to know if it is of CSS type. 62914 https://bugs.webkit.org/show_bug.cgi?id=54868 62915 62916 * dom/ProcessingInstruction.cpp: 62917 (WebCore::ProcessingInstruction::ProcessingInstruction): 62918 (WebCore::ProcessingInstruction::checkStyleSheet): 62919 (WebCore::ProcessingInstruction::setCSSStyleSheet): 62920 * dom/ProcessingInstruction.h: 62921 (WebCore::ProcessingInstruction::isCSS): 62922 62923 2011-02-21 Simon Fraser <simon.fraser (a] apple.com> 62924 62925 Put JSDOMImplementationCustom.cpp where it belongs in the project. 62926 62927 * WebCore.xcodeproj/project.pbxproj: 62928 62929 2011-02-21 Gavin Barraclough <barraclough (a] apple.com> 62930 62931 Reviewed by Sam Weinig. 62932 62933 Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy. 62934 62935 The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance 62936 containing a pointer to its parent class. These links should reflect the inheritance 62937 hierarchy of C++ classes below JSObject. For the large part it does, but in some cases 62938 entries in the C++ hierarchy are skipped over. This presently likely doesn't matter, 62939 since intervening C++ classes may not have ClassInfo - but would be a potential bug 62940 were ClassInfo were to be added. 62941 62942 * bindings/js/JSAudioConstructor.cpp: 62943 * bindings/js/JSDOMGlobalObject.cpp: 62944 * bindings/js/JSImageConstructor.cpp: 62945 * bindings/js/JSOptionConstructor.cpp: 62946 * bindings/scripts/CodeGeneratorJS.pm: 62947 * bridge/objc/objc_runtime.mm: 62948 * bridge/runtime_object.cpp: 62949 62950 2011-02-21 Pavel Feldman <pfeldman (a] chromium.org> 62951 62952 Reviewed by Yury Semikhatsky. 62953 62954 Web Inspector: navigation does not work after reopening frontend. 62955 https://bugs.webkit.org/show_bug.cgi?id=54879 62956 62957 Test: http/tests/inspector-enabled/open-close-open.html 62958 62959 * inspector/InspectorAgent.cpp: 62960 (WebCore::InspectorAgent::setFrontend): 62961 * inspector/InspectorState.cpp: 62962 (WebCore::InspectorState::unmute): 62963 * inspector/InspectorState.h: 62964 62965 2011-02-21 Adam Roben <aroben (a] apple.com> 62966 62967 Protect the PluginView when evaluating javascript: URLs 62968 62969 Fixes <http://webkit.org/b/54884> <rdar://problem/9030864> 62970 plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was 62971 added 62972 62973 Reviewed by Sam Weinig. 62974 62975 * plugins/PluginView.cpp: 62976 (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame, 62977 when evaluating javascript: URLs. 62978 62979 2011-02-21 Martin Robinson <mrobinson (a] igalia.com> 62980 62981 Fix GTK+ build after r79223. 62982 62983 * GNUmakefile.am: Add file missing from the source list. 62984 62985 2011-02-14 Alexander Pavlov <apavlov (a] chromium.org> 62986 62987 Reviewed by Yury Semikhatsky. 62988 62989 Web Inspector: audits should not warn about gzip compression for 304s 62990 https://bugs.webkit.org/show_bug.cgi?id=54343 62991 62992 Do not run compression-related audits on 304 resources. 62993 Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly. 62994 62995 * inspector/front-end/AuditRules.js: 62996 (WebInspector.AuditRules.GzipRule.prototype.doRun): 62997 (WebInspector.AuditRules.GzipRule.prototype._isCompressed): 62998 62999 2011-02-08 Anton Muhin <antonm (a] chromium.org> 63000 63001 Reviewed by Adam Barth and Alexey Proskuryakov. 63002 63003 Propagate security origin of parent document into HTML documents created with DOMImplementation 63004 https://bugs.webkit.org/show_bug.cgi?id=53611 63005 63006 This restores invariant that JS wrappers residing in the same JS context should come 63007 from the same security origin. 63008 63009 Absence of regressions is covered by the current tests. Different security origin of 63010 DOMImplementation is difficult to check with layout tests as DOMImplementation 63011 resides in the same JS context as parent document and therefore there are no security origin checks. 63012 This is observable however in C++. 63013 63014 * Android.jscbindings.mk: 63015 * CMakeLists.txt: 63016 * WebCore.gypi: 63017 * WebCore.pro: 63018 * WebCore.vcproj/WebCore.vcproj: 63019 * WebCore.xcodeproj/project.pbxproj: 63020 * bindings/v8/V8GCController.cpp: 63021 (WebCore::NodeGrouperVisitor::visitDOMWrapper): 63022 * dom/DOMImplementation.cpp: 63023 (WebCore::DOMImplementation::DOMImplementation): 63024 (WebCore::DOMImplementation::createDocument): 63025 * dom/DOMImplementation.h: 63026 (WebCore::DOMImplementation::create): 63027 (WebCore::DOMImplementation::documentDestroyed): 63028 (WebCore::DOMImplementation::parentDocument): 63029 * dom/DOMImplementation.idl: 63030 * dom/Document.cpp: 63031 (WebCore::Document::~Document): 63032 (WebCore::Document::implementation): 63033 * dom/Document.h: 63034 63035 2011-02-21 Andrey Adaikin <aandrey (a] google.com> 63036 63037 Reviewed by Pavel Feldman. 63038 63039 Web Inspector: [Text editor] Optimize editing updates in gutter panel 63040 https://bugs.webkit.org/show_bug.cgi?id=54866 63041 63042 * inspector/front-end/TextViewer.js: 63043 (WebInspector.TextViewer.prototype.set startEditingListener): 63044 (WebInspector.TextViewer.prototype.set endEditingListener): 63045 (WebInspector.TextViewer.prototype.endUpdates): 63046 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): 63047 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): 63048 (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine): 63049 (WebInspector.TextEditorGutterPanel.prototype._expandChunks): 63050 (WebInspector.TextEditorGutterPanel.prototype.textChanged): 63051 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): 63052 63053 2011-02-21 Alexander Pavlov <apavlov (a] chromium.org> 63054 63055 Reviewed by Yury Semikhatsky. 63056 63057 Web Inspector: [Audits] Image dimensions in inline style not checked 63058 https://bugs.webkit.org/show_bug.cgi?id=54738 63059 63060 * inspector/front-end/AuditRules.js: 63061 (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun): 63062 63063 2011-02-21 Yury Semikhatsky <yurys (a] chromium.org> 63064 63065 Reviewed by Pavel Feldman. 63066 63067 Web Inspector: create and destroy DOM agent along with InspectorAgent 63068 https://bugs.webkit.org/show_bug.cgi?id=54875 63069 63070 * GNUmakefile.am: 63071 * WebCore.gypi: 63072 * WebCore.pro: 63073 * WebCore.vcproj/WebCore.vcproj: 63074 * WebCore.xcodeproj/project.pbxproj: 63075 * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve 63076 on this object. 63077 (WebCore::InstrumentingAgents::InstrumentingAgents): 63078 (WebCore::InstrumentingAgents::~InstrumentingAgents): 63079 (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent): 63080 (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent): 63081 (WebCore::InstrumentingAgents::inspectorConsoleAgent): 63082 (WebCore::InstrumentingAgents::setInspectorConsoleAgent): 63083 (WebCore::InstrumentingAgents::inspectorDOMAgent): 63084 (WebCore::InstrumentingAgents::setInspectorDOMAgent): 63085 (WebCore::InstrumentingAgents::inspectorDOMStorageAgent): 63086 (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent): 63087 (WebCore::InstrumentingAgents::inspectorDatabaseAgent): 63088 (WebCore::InstrumentingAgents::setInspectorDatabaseAgent): 63089 (WebCore::InstrumentingAgents::inspectorDebuggerAgent): 63090 (WebCore::InstrumentingAgents::setInspectorDebuggerAgent): 63091 (WebCore::InstrumentingAgents::inspectorProfilerAgent): 63092 (WebCore::InstrumentingAgents::setInspectorProfilerAgent): 63093 (WebCore::InstrumentingAgents::inspectorResourceAgent): 63094 (WebCore::InstrumentingAgents::setInspectorResourceAgent): 63095 (WebCore::InstrumentingAgents::inspectorRuntimeAgent): 63096 (WebCore::InstrumentingAgents::setInspectorRuntimeAgent): 63097 (WebCore::InstrumentingAgents::inspectorStorageAgent): 63098 (WebCore::InstrumentingAgents::setInspectorStorageAgent): 63099 (WebCore::InstrumentingAgents::inspectorTimelineAgent): 63100 (WebCore::InstrumentingAgents::setInspectorTimelineAgent): 63101 * inspector/InspectorAgent.cpp: 63102 (WebCore::InspectorAgent::InspectorAgent): 63103 (WebCore::InspectorAgent::setFrontend): 63104 (WebCore::InspectorAgent::disconnectFrontend): 63105 (WebCore::InspectorAgent::createFrontendLifetimeAgents): 63106 (WebCore::InspectorAgent::releaseFrontendLifetimeAgents): 63107 (WebCore::InspectorAgent::didCommitLoad): 63108 (WebCore::InspectorAgent::domContentLoadedEventFired): 63109 (WebCore::InspectorAgent::loadEventFired): 63110 * inspector/InspectorAgent.h: 63111 * inspector/InspectorCSSAgent.cpp: 63112 (WebCore::InspectorCSSAgent::InspectorCSSAgent): 63113 (WebCore::InspectorCSSAgent::~InspectorCSSAgent): 63114 * inspector/InspectorCSSAgent.h: 63115 * inspector/InspectorConsoleAgent.cpp: 63116 (WebCore::InspectorConsoleAgent::InspectorConsoleAgent): 63117 (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent): 63118 (WebCore::InspectorConsoleAgent::clearConsoleMessages): 63119 (WebCore::InspectorConsoleAgent::clearFrontend): 63120 (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest): 63121 (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled): 63122 (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled): 63123 (WebCore::InspectorConsoleAgent::addConsoleMessage): 63124 * inspector/InspectorConsoleAgent.h: 63125 * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached. 63126 (WebCore::InspectorDOMAgent::InspectorDOMAgent): 63127 (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end 63128 is attached. 63129 (WebCore::InspectorDOMAgent::clearFrontend): 63130 * inspector/InspectorDOMAgent.h: 63131 (WebCore::InspectorDOMAgent::create): 63132 63133 2011-02-21 Csaba Osztrogonc <ossy (a] webkit.org> 63134 63135 Reviewed by Andreas Kling. 63136 63137 [Qt][V8]REGRESSION(r79157): Fix build 63138 https://bugs.webkit.org/show_bug.cgi?id=54871 63139 63140 * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro. 63141 63142 2011-02-16 Vitaly Repeshko <vitalyr (a] chromium.org> 63143 63144 Reviewed by Mihai Parparita. 63145 63146 [V8] SerializedScriptValue: fix JS exception handling. 63147 https://bugs.webkit.org/show_bug.cgi?id=54555 63148 63149 Added checks for exceptions and empty handles: 63150 * bindings/v8/SerializedScriptValue.cpp: 63151 (WebCore::Serializer::Serializer): 63152 (WebCore::Serializer::serialize): 63153 (WebCore::Serializer::checkException): 63154 (WebCore::Serializer::reportFailure): 63155 (WebCore::Serializer::ArrayState::advance): 63156 (WebCore::Serializer::AbstractObjectState::AbstractObjectState): 63157 (WebCore::Serializer::AbstractObjectState::advance): 63158 (WebCore::Serializer::push): 63159 (WebCore::Serializer::handleError): 63160 (WebCore::Serializer::newObjectState): 63161 (WebCore::Serializer::doSerialize): 63162 (WebCore::SerializedScriptValue::SerializedScriptValue): 63163 63164 2011-02-21 Ryosuke Niwa <rniwa (a] webkit.org> 63165 63166 Reviewed by Kent Tamura. 63167 63168 Add selectionchange event 63169 https://bugs.webkit.org/show_bug.cgi?id=45712 63170 63171 Added the support for asynchronous selectionchange event, which is fired whenever selection is changed. 63172 This event is not cancelable and does not bubble. An event listener can be attached to a document by 63173 body element's onselectionchange attribute or via document's onselectionchange property. 63174 63175 Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation 63176 fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange) 63177 will not observe the event before the control returns to JavaScript. 63178 63179 See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx 63180 63181 Tests: fast/events/selectionchange-iframe.html 63182 fast/events/selectionchange-user-initiated.html 63183 63184 * dom/Document.cpp: 63185 (WebCore::Document::enqueueDocumentEvent): Added. 63186 * dom/Document.h: Added selectionchange event listener. 63187 * dom/Document.idl: Added onselectionchagne attribute. 63188 * dom/EventNames.h: Added selectionchange 63189 * editing/SelectionController.cpp: 63190 (WebCore::SelectionController::setSelection): Fires selectionchange event. 63191 * html/HTMLAttributeNames.in: Added onselectionchange. 63192 * html/HTMLBodyElement.cpp: 63193 (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute. 63194 63195 2011-02-21 Ilya Tikhonovsky <loislo (a] chromium.org> 63196 63197 Reviewed by Pavel Feldman. 63198 63199 Web Inspector: protocol error messages are dumping incorrectly in Layout tests. 63200 https://bugs.webkit.org/show_bug.cgi?id=54859 63201 63202 * inspector/CodeGeneratorInspector.pm: 63203 63204 2011-02-21 Pavel Feldman <pfeldman (a] chromium.org> 63205 63206 Reviewed by Yury Semikhatsky. 63207 63208 Web Inspector: generate protocol documentation based on IDL. 63209 https://bugs.webkit.org/show_bug.cgi?id=54822 63210 63211 * inspector/CodeGeneratorInspector.pm: 63212 63213 2011-02-21 Andoni Morales Alastruey <amorales (a] flumotion.com> 63214 63215 Reviewed by Martin Robinson. 63216 63217 [GStreamer] Add URI queries support in webkitwebsrc 63218 https://bugs.webkit.org/show_bug.cgi?id=54627 63219 63220 This allow replying to URI queries from downstream elements 63221 with the uri currently set in the source element. 63222 63223 No new tests, this feature is dedicated to internal GStreamer use, 63224 such as the upcoming HTTP Live Streaming element. 63225 63226 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 63227 (webKitWebSrcQuery): 63228 63229 2011-02-21 Andoni Morales Alastruey <amorales (a] flumotion.com> 63230 63231 Reviewed by Martin Robinson. 63232 63233 [GStreamer] Add 'location' property in webkitwebsrc 63234 https://bugs.webkit.org/show_bug.cgi?id=54628 63235 63236 No new tests, this feature is dedicated to internal GStreamer use, 63237 such as the upcoming HTTP Live Streaming element. 63238 63239 * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: 63240 (webkit_web_src_class_init): 63241 (webKitWebSrcSetProperty): 63242 (webKitWebSrcGetProperty): 63243 63244 2011-02-17 Ryosuke Niwa <rniwa (a] webkit.org> 63245 63246 Reviewed by Kent Tamura. 63247 63248 Rename Position::node() to Position::deprecatedNode() 63249 https://bugs.webkit.org/show_bug.cgi?id=54622 63250 63251 Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when 63252 calls were of the form node()->document() and node()->inDocument() in which case they were 63253 replaced by anchorNode()->document() and anchorNode()->inDocument() respectively. 63254 63255 * WebCore.exp.in: Added Position::containerNode. 63256 63257 The rest abbreviated for simplicity. Please see svn log. 63258 63259 2011-02-20 Gavin Barraclough <barraclough (a] apple.com> 63260 63261 Build fix (remove includes). 63262 63263 * bindings/js/JSDOMBinding.cpp: 63264 * bindings/js/JSDOMWindowCustom.cpp: 63265 * bindings/js/JSHistoryCustom.cpp: 63266 * bindings/js/JSLocationCustom.cpp: 63267 63268 2011-02-20 Gavin Barraclough <barraclough (a] apple.com> 63269 63270 Reviewed by Oliver Hunt. 63271 63272 https://bugs.webkit.org/show_bug.cgi?id=54839 63273 Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction. 63274 63275 Historically, Native functions used to be represented by PrototypeFunctions, however 63276 since introducing call optimizations to the JIT this has used JSFunctions for host 63277 calls too. At the point this change was made, the interpreter continued to use 63278 PrototypeFunctions, however since fallback from the JIT to interpreter was introduced 63279 the interpreter has had to be able to run using host functions represented using 63280 JSFunctions - leading to an unnecessary and redundant divergence in behaviour between 63281 interpreter only builds, and situations where the JIT has fallen back to interpreting. 63282 63283 NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction 63284 for wrappers for host functions, and as such can also be removed. 63285 63286 GlobalEvalFunction is a redundant wrapper that happens to be derived from 63287 PrototypeFunction. It existed to hold a reference to the global object - but since all 63288 functions how derive from JSObjectWithGlobalObject, this no longer requires an 63289 additional class to provide this functionality. 63290 63291 * bindings/js/JSDOMBinding.cpp: 63292 * bindings/js/JSDOMWindowCustom.cpp: 63293 * bindings/js/JSHistoryCustom.cpp: 63294 * bindings/js/JSLocationCustom.cpp: 63295 Removed use of redundant classes. 63296 63297 2011-02-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 63298 63299 Unreviewed, rolling out r79169. 63300 http://trac.webkit.org/changeset/79169 63301 https://bugs.webkit.org/show_bug.cgi?id=54846 63302 63303 Made unexpected results for tests without CJK characters 63304 (Requested by tkent on #webkit). 63305 63306 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 63307 (WebCore::FontCache::createFontPlatformData): 63308 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 63309 (WebCore::FontPlatformData::FontPlatformData): 63310 (WebCore::FontPlatformData::operator=): 63311 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 63312 (WebCore::FontPlatformData::orientation): 63313 * platform/graphics/skia/FontCustomPlatformData.cpp: 63314 (WebCore::FontCustomPlatformData::fontPlatformData): 63315 63316 2011-02-20 Chun-Lung Huang <alvincl.huang (a] gmail.com> 63317 63318 Reviewed by Kent Tamura. 63319 63320 On Chromium Windows, glyphs in vertical text tests are rotated 90 63321 degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450 63322 63323 This platform dependent patch makes Chromium Windows show the 63324 vertical writing text correctly. Job was done by adding a prefix '@' 63325 in front of the font family name (Windows Only). No new tests added. 63326 63327 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 63328 (WebCore::FontCache::createFontPlatformData): 63329 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: 63330 (WebCore::FontPlatformData::FontPlatformData): 63331 (WebCore::FontPlatformData::operator=): 63332 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: 63333 (WebCore::FontPlatformData::orientation): 63334 * platform/graphics/skia/FontCustomPlatformData.cpp: 63335 (WebCore::FontCustomPlatformData::fontPlatformData): 63336 63337 2011-02-20 Simon Fraser <simon.fraser (a] apple.com> 63338 63339 Reviewed by Dirk Schulze. 63340 63341 REGRESSION (r73369-r73405): transform animation interpolates incorrectly 63342 https://bugs.webkit.org/show_bug.cgi?id=54793 63343 63344 After the refactoring in r73380, the ending state for some types of 63345 accelerated animations was computed incorrectly, because the TransformationMatrix 63346 wasn't reset to identity before the ending value transformations were applied. 63347 63348 Fix by cleaning up the code to use explicit, separate values for 63349 starting and ending values. Only matrix-type animations had this 63350 issue, but cleaned up other clauses similarly. 63351 63352 Test: animations/3d/matrix-transform-type-animation.html 63353 63354 * platform/graphics/ca/GraphicsLayerCA.cpp: 63355 (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): 63356 63357 2011-02-20 Dan Bernstein <mitz (a] apple.com> 63358 63359 Reviewed by Maciej Stachowiak. 63360 63361 <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor 63362 63363 Test: fast/frames/iframe-scale-applied-twice.html 63364 63365 * page/FrameView.cpp: 63366 (WebCore::FrameView::create): Set the initial bounds of the view to match the 63367 frame size. 63368 * platform/ScrollView.cpp: 63369 (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size. 63370 (WebCore::ScrollView::updateScrollbars): Ditto. 63371 (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size 63372 change to setBoundsSize(). 63373 (WebCore::ScrollView::setBoundsSize): Added. 63374 (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does 63375 not update anything. 63376 (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size. 63377 (WebCore::ScrollView::scrollbarCornerPresent): Ditto. 63378 * platform/ScrollView.h: 63379 (WebCore::ScrollView::boundsSize): Added this getter. 63380 * platform/Widget.h: 63381 (WebCore::Widget::resize): Set the bounds size to the frame size. 63382 * platform/mac/ScrollbarThemeMac.mm: 63383 (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code 63384 path where the buffer rect was resized to capture only the damaged part, but was 63385 still drawn in the original location. 63386 63387 2011-02-20 Alexey Proskuryakov <ap (a] apple.com> 63388 63389 Reviewed by Eric Seidel. 63390 63391 Tighten up access permissions by using libxslt API 63392 https://bugs.webkit.org/show_bug.cgi?id=52688 63393 <rdar://problem/8909191> 63394 63395 * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only 63396 interested in a string result, so let libxslt know about that. 63397 63398 2011-02-20 Sheriff Bot <webkit.review.bot (a] gmail.com> 63399 63400 Unreviewed, rolling out r79104. 63401 http://trac.webkit.org/changeset/79104 63402 https://bugs.webkit.org/show_bug.cgi?id=54835 63403 63404 Might have caused flaky canaries (Requested by tonyg-cr on 63405 #webkit). 63406 63407 * html/parser/HTMLDocumentParser.cpp: 63408 (WebCore::HTMLDocumentParser::canTakeNextToken): 63409 (WebCore::HTMLDocumentParser::pumpTokenizer): 63410 * html/parser/HTMLParserScheduler.cpp: 63411 (WebCore::isLayoutTimerActive): 63412 * html/parser/HTMLParserScheduler.h: 63413 (WebCore::HTMLParserScheduler::checkForYieldBeforeToken): 63414 * page/FrameView.h: 63415 63416 2011-02-20 Dirk Schulze <krit (a] webkit.org> 63417 63418 Reviewed by Nikolas Zimmermann. 63419 63420 SVG animation - analyze attribute type for animation 63421 https://bugs.webkit.org/show_bug.cgi?id=54542 63422 63423 Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it 63424 with AnimatedAttributeType instead. More cleanup of the animation code. 63425 Added missing fillAttributeToPropertyTypeMap() for SVGGElement. 63426 63427 Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes 63428 from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well. 63429 63430 No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly 63431 animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually 63432 with the W3C test suite in trunk. 63433 63434 The change on SVGUseElement gets covered by animate-elem-39-t.svg 63435 63436 Test: svg/animations/animate-dynamic-update-attributeName.html 63437 63438 * svg/SVGAnimateElement.cpp: 63439 (WebCore::SVGAnimateElement::SVGAnimateElement): 63440 (WebCore::SVGAnimateElement::hasValidAttributeType): 63441 (WebCore::SVGAnimateElement::determineAnimatedAttributeType): 63442 (WebCore::SVGAnimateElement::calculateAnimatedValue): 63443 (WebCore::inheritsFromProperty): 63444 (WebCore::SVGAnimateElement::calculateFromAndToValues): 63445 (WebCore::SVGAnimateElement::calculateFromAndByValues): 63446 (WebCore::SVGAnimateElement::resetToBaseValue): 63447 (WebCore::SVGAnimateElement::applyResultsToTarget): 63448 (WebCore::SVGAnimateElement::calculateDistance): 63449 * svg/SVGAnimateElement.h: 63450 * svg/SVGAnimateMotionElement.cpp: 63451 (WebCore::SVGAnimateMotionElement::hasValidAttributeType): 63452 (WebCore::parsePoint): 63453 (WebCore::SVGAnimateMotionElement::resetToBaseValue): 63454 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 63455 (WebCore::SVGAnimateMotionElement::calculateDistance): 63456 * svg/SVGAnimateMotionElement.h: 63457 * svg/SVGAnimateTransformElement.cpp: 63458 (WebCore::SVGAnimateTransformElement::hasValidAttributeType): 63459 (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType): 63460 (WebCore::SVGAnimateTransformElement::resetToBaseValue): 63461 (WebCore::SVGAnimateTransformElement::calculateAnimatedValue): 63462 (WebCore::SVGAnimateTransformElement::calculateFromAndByValues): 63463 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 63464 (WebCore::SVGAnimateTransformElement::calculateDistance): 63465 * svg/SVGAnimateTransformElement.h: 63466 * svg/SVGAnimationElement.cpp: 63467 (WebCore::parseKeyTimes): 63468 (WebCore::parseKeySplines): 63469 (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty): 63470 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 63471 (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced): 63472 (WebCore::solveEpsilon): 63473 (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints): 63474 (WebCore::SVGAnimationElement::currentValuesFromKeyPoints): 63475 (WebCore::SVGAnimationElement::currentValuesForValuesAnimation): 63476 (WebCore::SVGAnimationElement::startedActiveInterval): 63477 * svg/SVGAnimationElement.h: 63478 * svg/SVGFilterElement.cpp: 63479 (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap): 63480 * svg/SVGGElement.cpp: 63481 (WebCore::SVGGElement::attributeToPropertyTypeMap): 63482 (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element. 63483 * svg/SVGGElement.h: 63484 * svg/SVGUseElement.cpp: 63485 (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href. 63486 * svg/animation/SMILTimeContainer.cpp: 63487 (WebCore::SMILTimeContainer::baseValueFor): 63488 (WebCore::SMILTimeContainer::updateAnimations): 63489 * svg/animation/SMILTimeContainer.h: 63490 * svg/animation/SVGSMILElement.cpp: 63491 (WebCore::SVGSMILElement::SVGSMILElement): 63492 (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name. 63493 (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name. 63494 (WebCore::SVGSMILElement::removedFromDocument): Ditto. 63495 (WebCore::SVGSMILElement::attributeChanged): Ditto. 63496 * svg/animation/SVGSMILElement.h: 63497 (WebCore::SVGSMILElement::attributeName): 63498 63499 2011-02-20 David Kilzer <ddkilzer (a] apple.com> 63500 63501 BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API) 63502 63503 Not reviewed. 63504 63505 * rendering/RenderLayerCompositor.cpp: 63506 (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): 63507 63508 2011-02-20 Carlos Garcia Campos <cgarcia (a] igalia.com> 63509 63510 Reviewed by Martin Robinson. 63511 63512 [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState() 63513 https://bugs.webkit.org/show_bug.cgi?id=52880 63514 63515 * platform/gtk/KeyEventGtk.cpp: 63516 (WebCore::PlatformKeyboardEvent::getCurrentModifierState): 63517 63518 2011-02-19 Andreas Kling <kling (a] webkit.org> 63519 63520 Reviewed by Oliver Hunt. 63521 63522 DragController should use Color::serialized() when passing colors to CSSStyleDeclaration 63523 https://bugs.webkit.org/show_bug.cgi?id=54545 63524 63525 * page/DragController.cpp: 63526 (WebCore::DragController::concludeEditDrag): 63527 63528 2011-02-19 Sam Weinig <sam (a] webkit.org> 63529 63530 Reviewed by Anders Carlsson. 63531 63532 Add phase in addition to momentumPhase to platform wheel events 63533 Part of <rdar://problem/8945362> 63534 63535 Rename existing phase to momentumPhase. 63536 63537 * platform/PlatformWheelEvent.h: 63538 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 63539 (WebCore::PlatformWheelEvent::momentumPhase): 63540 * platform/mac/ScrollAnimatorMac.mm: 63541 (WebCore::ScrollAnimatorMac::handleWheelEvent): 63542 (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): 63543 * platform/mac/WheelEventMac.mm: 63544 (WebCore::momentumPhaseForEvent): 63545 (WebCore::phaseForEvent): 63546 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 63547 63548 2011-02-19 Gavin Barraclough <barraclough (a] apple.com> 63549 63550 Qt build fix. 63551 63552 * bridge/runtime_method.h: 63553 (JSC::RuntimeMethod::createStructure): 63554 63555 2011-02-19 Gavin Barraclough <barraclough (a] apple.com> 63556 63557 Qt build fix. 63558 63559 * bridge/qt/qt_instance.cpp: 63560 * bridge/qt/qt_pixmapruntime.cpp: 63561 63562 2011-02-19 Gavin Barraclough <barraclough (a] apple.com> 63563 63564 Qt build fix. 63565 63566 * bridge/qt/qt_instance.cpp: 63567 (JSC::Bindings::QtInstance::getMethod): 63568 * bridge/qt/qt_pixmapruntime.cpp: 63569 (JSC::Bindings::QtPixmapInstance::getMethod): 63570 63571 2011-02-18 Gavin Barraclough <barraclough (a] apple.com> 63572 63573 Reviewed by Sam Weinig. 63574 63575 Bug 54786 - Devirtualize JSCell::classInfo() 63576 63577 Instead of making a virtual function call, add a pointer to the ClassInfo 63578 onto Structure. 63579 63580 This removes a virtual function call, and paves the way towards removing all 63581 the createStructure methods, and StructureFlags/AnonymousSlotCount properties 63582 (these should be able to move onto ClassInfo). 63583 63584 Calls to Structure::create must now pass a pointer to the ClassInfo for the 63585 structure. All objects now have a ClassInfo pointer, non-object cell types 63586 still do not. 63587 63588 Changes are most mechanical, involving three steps: 63589 * Remove virtual classInfo() methods. 63590 * Add &s_info parameter to calls to Structure::create. 63591 * Rename ClassInfo static members on classes from 'info' to 's_info', 63592 for consistency. 63593 63594 * WebCore.exp.in: 63595 * bindings/js/JSAudioConstructor.cpp: 63596 * bindings/js/JSAudioConstructor.h: 63597 * bindings/js/JSDOMBinding.cpp: 63598 * bindings/js/JSDOMBinding.h: 63599 * bindings/js/JSDOMGlobalObject.cpp: 63600 * bindings/js/JSDOMGlobalObject.h: 63601 * bindings/js/JSDOMWindowBase.cpp: 63602 * bindings/js/JSDOMWindowBase.h: 63603 * bindings/js/JSDOMWindowShell.cpp: 63604 * bindings/js/JSDOMWindowShell.h: 63605 * bindings/js/JSGeolocationCustom.cpp: 63606 * bindings/js/JSImageConstructor.cpp: 63607 * bindings/js/JSImageConstructor.h: 63608 * bindings/js/JSImageDataCustom.cpp: 63609 * bindings/js/JSOptionConstructor.cpp: 63610 * bindings/js/JSOptionConstructor.h: 63611 * bindings/js/JSWorkerContextBase.cpp: 63612 * bindings/js/JSWorkerContextBase.h: 63613 * bindings/js/SerializedScriptValue.cpp: 63614 * bindings/scripts/CodeGeneratorJS.pm: 63615 * bridge/c/CRuntimeObject.cpp: 63616 * bridge/c/CRuntimeObject.h: 63617 * bridge/c/c_instance.cpp: 63618 * bridge/jni/jsc/JNIUtilityPrivate.cpp: 63619 * bridge/jni/jsc/JavaInstanceJSC.cpp: 63620 * bridge/jni/jsc/JavaRuntimeObject.cpp: 63621 * bridge/jni/jsc/JavaRuntimeObject.h: 63622 * bridge/jsc/BridgeJSC.cpp: 63623 * bridge/objc/ObjCRuntimeObject.h: 63624 * bridge/objc/ObjCRuntimeObject.mm: 63625 * bridge/objc/objc_instance.mm: 63626 * bridge/objc/objc_runtime.h: 63627 * bridge/objc/objc_runtime.mm: 63628 * bridge/runtime_array.cpp: 63629 * bridge/runtime_array.h: 63630 * bridge/runtime_method.cpp: 63631 * bridge/runtime_method.h: 63632 * bridge/runtime_object.cpp: 63633 * bridge/runtime_object.h: 63634 63635 2011-02-19 Zan Dobersek <zandobersek (a] gmail.com> 63636 63637 Reviewed by Martin Robinson. 63638 63639 [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails 63640 https://bugs.webkit.org/show_bug.cgi?id=54491 63641 63642 When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0) 63643 and would round to 0, alter the behaviour to ensure that width or height are 63644 at least 1 pixel in size in these cases. 63645 63646 * platform/graphics/cairo/GraphicsContextCairo.cpp: 63647 (WebCore::GraphicsContext::roundToDevicePixels): 63648 63649 2011-02-19 Dan Bernstein <mitz (a] apple.com> 63650 63651 LLVM Compiler build fix. 63652 63653 * platform/graphics/ShadowBlur.cpp: 63654 (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated 63655 a global initializer since the compiler does not evaluate sqrtf at compile time. 63656 63657 2011-02-19 Brian Ryner <bryner (a] chromium.org> 63658 63659 Reviewed by Adam Barth. 63660 63661 Replace the #include of DocumentLoader.h in Document.h with a 63662 forward declaration, and add a missing #include now that this 63663 transitive include is gone. 63664 https://bugs.webkit.org/show_bug.cgi?id=50489 63665 63666 No new tests required. 63667 63668 * bindings/ScriptControllerBase.cpp: 63669 * dom/Document.h: 63670 63671 2011-02-19 Patrick Gansterer <paroga (a] webkit.org> 63672 63673 Reviewed by Antonio Gomes. 63674 63675 [EFL] Remove WebCore::currentTime() 63676 https://bugs.webkit.org/show_bug.cgi?id=53886 63677 63678 There is no declaration for it and we use WTF::currentTime() everywhere. 63679 63680 * platform/efl/SystemTimeEfl.cpp: 63681 63682 2011-02-19 Patrick Gansterer <paroga (a] webkit.org> 63683 63684 Reviewed by Andreas Kling. 63685 63686 Move KeygenWinCE from wince into win directory 63687 https://bugs.webkit.org/show_bug.cgi?id=54804 63688 63689 Move this file into the win directory, since it can be used on all windows platforms. 63690 63691 * CMakeListsWinCE.txt: 63692 * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp. 63693 63694 2011-02-19 Patrick Gansterer <paroga (a] webkit.org> 63695 63696 Reviewed by Andreas Kling. 63697 63698 Make FileChooserWin.cpp more portable and use it on WinCE 63699 https://bugs.webkit.org/show_bug.cgi?id=54803 63700 63701 * CMakeListsWinCE.txt: 63702 * platform/win/FileChooserWin.cpp: 63703 (WebCore::FileChooser::basenameForWidth): 63704 * platform/wince/FileChooserWinCE.cpp: Removed. 63705 63706 2011-02-19 James Simonsen <simonjam (a] chromium.org> 63707 63708 Reviewed by Adam Barth. 63709 63710 Make ScriptElement match the HTML5 spec 63711 https://bugs.webkit.org/show_bug.cgi?id=54676 63712 63713 This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript(). 63714 http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script 63715 63716 There are a couple of things missing from the spec that would be new functionality. These will be added later. 63717 - Support for async=false 63718 - Empty src attribute should dispatch an error. 63719 63720 There are a couple of slight behavioral changes to match the spec. 63721 - An XHTML script that is loaded then copied will not fire load on the copy. 63722 - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true. 63723 63724 The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately. 63725 63726 Test: All existing tests. 63727 63728 * dom/ScriptElement.cpp: Rewritten to match HTML5 spec. 63729 (WebCore::ScriptElement::ScriptElement): 63730 (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript. 63731 (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript. 63732 (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript. 63733 (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests. 63734 (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript(). 63735 (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser. 63736 (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here. 63737 (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript. 63738 (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts. 63739 (WebCore::ScriptElement::execute): Renamed executeScript. 63740 (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts. 63741 (WebCore::ScriptElement::ignoresLoadRequest): New variable names. 63742 (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance. 63743 (WebCore::ScriptElement::scriptCharset): Use HTML5 variables. 63744 * dom/ScriptElement.h: 63745 (WebCore::ScriptElement::willBeParserExecuted): Added. 63746 (WebCore::ScriptElement::readyToBeParserExecuted): Added. 63747 (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added. 63748 (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish. 63749 (WebCore::ScriptElement::isParserInserted): Added. 63750 * dom/XMLDocumentParserLibxml2.cpp: 63751 (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript(). 63752 * dom/XMLDocumentParserQt.cpp: 63753 (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes. 63754 * html/HTMLScriptElement.cpp: 63755 (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url. 63756 (WebCore::HTMLScriptElement::hasSourceAttribute): Added. 63757 * html/HTMLScriptElement.h: 63758 * html/parser/HTMLScriptRunner.cpp: 63759 (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement. 63760 (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript(). 63761 * svg/SVGScriptElement.cpp: 63762 (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names. 63763 (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url. 63764 (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone. 63765 (WebCore::SVGScriptElement::hasSourceAttribute): Added. 63766 (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names. 63767 * svg/SVGScriptElement.h: 63768 63769 2011-02-19 Marc-Antoine Ruel <maruel (a] chromium.org> 63770 63771 Reviewed by James Robinson. 63772 63773 Split webcore_rendering off webcore_remaining to reduce its size for WPO builds 63774 https://bugs.webkit.org/show_bug.cgi?id=54789 63775 63776 * WebCore.gyp/WebCore.gyp: 63777 63778 2011-02-19 Bill Budge <bbudge (a] chromium.org> 63779 63780 Reviewed by David Levin. 63781 63782 ThreadableLoaderClient needs willSendRequest method 63783 https://bugs.webkit.org/show_bug.cgi?id=54688 63784 63785 No new tests. Exposes no new functionality 63786 63787 * WebCore.gypi: 63788 * loader/DocumentThreadableLoader.cpp: 63789 (WebCore::DocumentThreadableLoader::willSendRequest): 63790 (WebCore::DocumentThreadableLoader::didReceiveData): 63791 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata): 63792 * loader/DocumentThreadableLoaderClient.h: Added. 63793 (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient): 63794 (WebCore::DocumentThreadableLoaderClient::willSendRequest): 63795 * loader/ThreadableLoaderClient.h: 63796 (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient): 63797 63798 2011-02-19 Charlie Reis <creis (a] chromium.org> 63799 63800 Reviewed by Mihai Parparita. 63801 63802 Ensure loading has stopped in HistoryController::goToItem 63803 https://bugs.webkit.org/show_bug.cgi?id=54517 63804 63805 Avoid stopping all loaders in goToItem for same document navigations 63806 or pseudo-back-forward URLs. Make HistoryController::goToItem private 63807 to force callers to go through Page::goToItem. Also add a callback to 63808 FrameLoaderClient to let clients decide whether to stop loading first. 63809 63810 Test: http/tests/navigation/forward-to-fragment-fires-onload.html 63811 63812 * loader/EmptyClients.h: 63813 * loader/FrameLoader.h: 63814 * loader/FrameLoaderClient.h: 63815 * loader/HistoryController.cpp: 63816 * loader/HistoryController.h: 63817 * page/Page.cpp: 63818 63819 2011-02-19 Adam Barth <abarth (a] webkit.org> 63820 63821 Reviewed by Daniel Bates. 63822 63823 Fix xssAuditor/iframe-injection.html 63824 https://bugs.webkit.org/show_bug.cgi?id=54591 63825 63826 We should block the iframe src attribute. Although this technically 63827 can't be used to run script, it's a pretty easy vector for stealing 63828 passwords. 63829 63830 * html/parser/XSSFilter.cpp: 63831 (WebCore::XSSFilter::filterTokenInitial): 63832 (WebCore::XSSFilter::filterIframeToken): 63833 * html/parser/XSSFilter.h: 63834 63835 2011-02-18 Tony Gentilcore <tonyg (a] chromium.org> 63836 63837 Reviewed by Eric Seidel. 63838 63839 Let the parser yield for layout before running scripts 63840 https://bugs.webkit.org/show_bug.cgi?id=54355 63841 63842 Prior to this patch, the parser would yield to perform a layout/paint before running a 63843 script only if the script or a stylesheet blocking the script is not loaded yet. Since we 63844 don't preload scan into the body while parsing the head, typically we'll block on a script 63845 early in the body that causes us to yield to do the first paint within a reasonable time. 63846 63847 However, I'm planning to change the PreloadScanner to scan into the body from the head. 63848 That significantly improves overall load time, but would hurt first paint time because 63849 fewer scripts would be blocked during parsing and thus wouldn't yield. 63850 63851 This change causes us to yield before running scripts if we haven't painted yet (regardless 63852 of whether or not the script is loaded). In addition to allowing the above mentioned 63853 PreloadScanner change to be implemented without regressing first paint time, this also 63854 improves first paint time by itself. 63855 63856 I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate 63857 bandwidth. This patch improved average first paint time by 1% over an unlimited connection, 63858 6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically 63859 signifcant change in page load time. 63860 63861 Within the pages tested, 33 had no statistically significant change in time to first paint, 63862 12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set 63863 are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu. 63864 63865 * html/parser/HTMLDocumentParser.cpp: 63866 (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point. 63867 (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused 63868 means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does 63869 the right thing whether we are just before a token or waiting for a script. Now that we may 63870 yield before a token or before a script, this may be called while paused. 63871 * html/parser/HTMLParserScheduler.cpp: 63872 (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay() 63873 to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay() 63874 no longer works. The fix is to change it to check minimumLayoutDelay() == 63875 m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll 63876 do this in a follow up. 63877 (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added. 63878 * page/FrameView.h: 63879 (WebCore::FrameView::hasEverPainted): Added. 63880 63881 2011-02-18 Dawit Alemayehu <adawit (a] kde.org> 63882 63883 Reviewed by Andreas Kling. 63884 63885 [Qt] Button Element is rendered w/ text off-center. 63886 https://bugs.webkit.org/show_bug.cgi?id=53373 63887 63888 Test: LayoutTests/fast/forms/button-white-space.html 63889 63890 * platform/qt/RenderThemeQt.cpp: 63891 (WebCore::RenderThemeQt::adjustButtonStyle): 63892 63893 2011-02-18 Jonathan Backer <backer (a] chromium.org> 63894 63895 Reviewed by Eric Seidel. 63896 63897 [chromium] Fix leak of texture IDs in compositor. 63898 https://bugs.webkit.org/show_bug.cgi?id=54750 63899 63900 No new tests. It is extremely unlikely that this leak would have 63901 any user visible impact because only a few bytes of space are wasted 63902 (we're leaking texture IDs, not actual textures) and the space of 63903 texture IDs is large (32 bits). 63904 63905 * platform/graphics/chromium/TextureManager.cpp: 63906 (WebCore::TextureManager::requestTexture): 63907 63908 2011-02-18 Yi Shen <yi.4.shen (a] nokia.com> 63909 63910 Reviewed by Tor Arne Vestb. 63911 63912 Always display the media controls when requiresFullscreenForVideoPlayback() is true 63913 https://bugs.webkit.org/show_bug.cgi?id=54308 63914 63915 For video element, it should have controls when 63916 Chrome::requiresFullscreenForVideoPlayback() is true. 63917 63918 * html/HTMLMediaElement.cpp: 63919 (WebCore::HTMLMediaElement::controls): 63920 63921 2011-02-18 Adrienne Walker <enne (a] google.com> 63922 63923 Reviewed by Kenneth Russell. 63924 63925 [chromium] Use nearest-neighbor filtering for root layer. 63926 https://bugs.webkit.org/show_bug.cgi?id=54409 63927 https://bugs.webkit.org/show_bug.cgi?id=54509 63928 63929 This setting creates more consistent images for LayoutTests and 63930 prevents small floating point errors in texture coordinates from 63931 creating off-by-one pixel color differences. 63932 63933 * platform/graphics/chromium/LayerTilerChromium.cpp: 63934 (WebCore::LayerTilerChromium::update): 63935 63936 2011-02-18 Gyuyoung Kim <gyuyoung.kim (a] samsung.com> 63937 63938 Reviewed by Kent Tamura. 63939 63940 [EFL] Fix coding style errors in RenderThemeEfl.h 63941 https://bugs.webkit.org/show_bug.cgi?id=54693 63942 63943 Fix style errors in RenderThemeEfl.h 63944 63945 * platform/efl/RenderThemeEfl.h: 63946 63947 2011-02-18 Ademar de Souza Reis Jr <ademar.reis (a] openbossa.org> 63948 63949 Reviewed by Andreas Kling. 63950 63951 [Qt] The localized vendor name for Qt SIS packages should be "Nokia" 63952 https://bugs.webkit.org/show_bug.cgi?id=54742 63953 63954 This change was applied in the Qt repository (qt/src/3rdparty/webkit), 63955 so we should do the same here in QtWebKit. 63956 63957 Patch by Eckhart Koppen <eckhart.koppen (a] nokia.com> 63958 a8a84f1667966acfa093c4be0b7d4b0900ddd3d9: 63959 63960 The previously used name "Nokia, Qt" was not usable for Nokia 63961 Content Signing, which only allows "Nokia" as the visible vendor 63962 name. The unique vendor ID remains as "Nokia, Qt" 63963 63964 * WebCore.pro: 63965 63966 2011-02-18 Alexis Menard <alexis.menard (a] openbossa.org> 63967 63968 Reviewed by Andreas Kling. 63969 63970 [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the 63971 menu bar due to flash. 63972 https://bugs.webkit.org/show_bug.cgi?id=54741 63973 63974 Only show plugins with a valid size. We then don't involve X11 if there is 63975 nothing to see anyway. 63976 63977 * plugins/qt/PluginViewQt.cpp: 63978 (WebCore::PluginView::updatePluginWidget): 63979 (WebCore::PluginView::platformStart): 63980 63981 2011-02-18 Ryuan Choi <ryuan.choi (a] samsung.com> 63982 63983 Reviewed by Kent Tamura. 63984 63985 [EFL] Remove GDK dependency. 63986 https://bugs.webkit.org/show_bug.cgi?id=53978 63987 63988 Remove GLIB_SUPPORT macro in GDK related code. 63989 Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way. 63990 63991 * CMakeListsEfl.txt: 63992 * platform/graphics/freetype/FontPlatformDataFreeType.cpp: 63993 (WebCore::getDefaultFontOptions): 63994 63995 2011-02-18 Noel Gordon <noel.gordon (a] gmail.com> 63996 63997 Reviewed by James Robinson. 63998 63999 [Chromium] Add elliptical gradient support to GradientSkia 64000 https://bugs.webkit.org/show_bug.cgi?id=51841 64001 64002 Covered by existing tests, these need new rebaselines once this patch 64003 lands for chrome linux, win32 64004 64005 fast/gradients/css3-color-stop-units.html 64006 fast/gradients/css3-color-stops.html 64007 fast/gradients/css3-linear-angle-gradients.html 64008 fast/gradients/css3-radial-gradients.html 64009 fast/gradients/css3-radial-gradients2.html 64010 fast/gradients/css3-radial-gradients3.html 64011 fast/gradients/css3-repeating-radial-gradients.html 64012 64013 * platform/graphics/skia/GradientSkia.cpp: 64014 (WebCore::Gradient::platformGradient): 64015 64016 2011-02-18 James Robinson <jamesr (a] chromium.org> 64017 64018 Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive. 64019 64020 * platform/graphics/chromium/ContentLayerChromium.cpp: 64021 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 64022 64023 2011-02-18 Viatcheslav Ostapenko <ostapenko.viatcheslav (a] nokia.com> 64024 64025 Reviewed by Kenneth Rohde Christiansen. 64026 64027 Tiled backing store area is too big. 64028 Error in area calculcation causes size of backing store 64029 up to 6 times bigger than viewport with default multipliers. 64030 https://bugs.webkit.org/show_bug.cgi?id=54587 64031 64032 * platform/graphics/TiledBackingStore.cpp: 64033 (WebCore::TiledBackingStore::createTiles): 64034 64035 2011-02-18 Beth Dakin <bdakin (a] apple.com> 64036 64037 Reviewed by Sam Weinig. 64038 64039 Fix for <rdar://problem/9018729> Horizontal scroller doesn't 64040 appear when loading a page with a Horizontal scrollbar from 64041 the back/forward cache. 64042 64043 This patch adds a new bool member variable to FrameView to 64044 keep track of whether we are loading a page from the back/ 64045 forward cache. If we are, don't suppress scrollbars on 64046 first layout. 64047 * history/CachedFrame.cpp: 64048 (WebCore::CachedFrameBase::restore): 64049 * page/FrameView.cpp: 64050 (WebCore::FrameView::FrameView): 64051 (WebCore::FrameView::reset): 64052 (WebCore::FrameView::layout): 64053 * page/FrameView.h: 64054 (WebCore::FrameView::setIsRestoringFromBackForward): 64055 (WebCore::FrameView::isRestoringFromBackForward): 64056 64057 2011-02-18 Patrick Gansterer <paroga (a] webkit.org> 64058 64059 Unreviewed WinCE build fix for r78846. 64060 64061 * platform/graphics/wince/FontWinCE.cpp: 64062 (WebCore::TextRunComponent::TextRunComponent): 64063 * platform/graphics/wince/GraphicsContextWinCE.cpp: 64064 (WebCore::GraphicsContext::drawLineForText): 64065 (WebCore::GraphicsContext::drawLineForTextChecking): 64066 (WebCore::GraphicsContext::drawText): 64067 * platform/wince/FileChooserWinCE.cpp: 64068 (WebCore::FileChooser::basenameForWidth): 64069 64070 2011-02-18 Emil A Eklund <eae (a] chromium.org> 64071 64072 Reviewed by Darin Adler. 64073 64074 Crash in EventHandler::sendContextMenuEventForKey 64075 https://bugs.webkit.org/show_bug.cgi?id=54495 64076 64077 Test: fast/events/menu-keydown-on-hidden-element.html 64078 64079 * page/EventHandler.cpp: 64080 (WebCore::EventHandler::sendContextMenuEventForKey): Add null check. 64081 64082 2011-02-15 Adrienne Walker <enne (a] google.com> 64083 64084 Reviewed by James Robinson. 64085 64086 [chromium] Clean up shader code from LayerChromium classes 64087 https://bugs.webkit.org/show_bug.cgi?id=54484 64088 64089 This is a refactoring and there should be no change in functionality. 64090 All shader code is pulled out into classes in ShaderChromium. 64091 The SharedValues classes are now turned into ProgramBinding, one per 64092 shader program. These contain shader classes that know about what 64093 variables they can bind. 64094 64095 * WebCore.gypi: 64096 * platform/graphics/chromium/CanvasLayerChromium.cpp: 64097 (WebCore::CanvasLayerChromium::draw): 64098 * platform/graphics/chromium/CanvasLayerChromium.h: 64099 * platform/graphics/chromium/ContentLayerChromium.cpp: 64100 (WebCore::ContentLayerChromium::draw): 64101 * platform/graphics/chromium/ContentLayerChromium.h: 64102 * platform/graphics/chromium/GeometryBinding.cpp: Added. 64103 (WebCore::GeometryBinding::GeometryBinding): 64104 (WebCore::GeometryBinding::~GeometryBinding): 64105 (WebCore::GeometryBinding::prepareForDraw): 64106 * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h. 64107 (WebCore::GeometryBinding::initialized): 64108 (WebCore::GeometryBinding::context): 64109 (WebCore::GeometryBinding::quadVerticesVbo): 64110 (WebCore::GeometryBinding::quadElementsVbo): 64111 (WebCore::GeometryBinding::positionAttribLocation): 64112 (WebCore::GeometryBinding::texCoordAttribLocation): 64113 * platform/graphics/chromium/LayerChromium.cpp: 64114 (WebCore::LayerChromium::drawDebugBorder): 64115 * platform/graphics/chromium/LayerChromium.h: 64116 * platform/graphics/chromium/LayerRendererChromium.cpp: 64117 (WebCore::LayerRendererChromium::drawLayers): 64118 (WebCore::LayerRendererChromium::initializeSharedObjects): 64119 (WebCore::LayerRendererChromium::cleanupSharedObjects): 64120 * platform/graphics/chromium/LayerRendererChromium.h: 64121 (WebCore::LayerRendererChromium::sharedGeometry): 64122 (WebCore::LayerRendererChromium::borderProgram): 64123 (WebCore::LayerRendererChromium::contentLayerProgram): 64124 (WebCore::LayerRendererChromium::canvasLayerProgram): 64125 (WebCore::LayerRendererChromium::videoLayerRGBAProgram): 64126 (WebCore::LayerRendererChromium::videoLayerYUVProgram): 64127 (WebCore::LayerRendererChromium::pluginLayerProgram): 64128 (WebCore::LayerRendererChromium::renderSurfaceProgram): 64129 (WebCore::LayerRendererChromium::renderSurfaceMaskProgram): 64130 (WebCore::LayerRendererChromium::tilerProgram): 64131 * platform/graphics/chromium/LayerTilerChromium.cpp: 64132 (WebCore::LayerTilerChromium::draw): 64133 (WebCore::LayerTilerChromium::drawTexturedQuad): 64134 * platform/graphics/chromium/LayerTilerChromium.h: 64135 * platform/graphics/chromium/PluginLayerChromium.cpp: 64136 (WebCore::PluginLayerChromium::draw): 64137 * platform/graphics/chromium/PluginLayerChromium.h: 64138 * platform/graphics/chromium/ProgramBinding.cpp: Added. 64139 (WebCore::ProgramBindingBase::ProgramBindingBase): 64140 (WebCore::ProgramBindingBase::~ProgramBindingBase): 64141 (WebCore::ProgramBindingBase::init): 64142 (WebCore::ProgramBindingBase::loadShader): 64143 (WebCore::ProgramBindingBase::createShaderProgram): 64144 * platform/graphics/chromium/ProgramBinding.h: Added. 64145 (WebCore::ProgramBindingBase::program): 64146 (WebCore::ProgramBindingBase::initialized): 64147 (WebCore::ProgramBinding::ProgramBinding): 64148 (WebCore::ProgramBinding::vertexShader): 64149 (WebCore::ProgramBinding::fragmentShader): 64150 * platform/graphics/chromium/RenderSurfaceChromium.cpp: 64151 (WebCore::RenderSurfaceChromium::drawSurface): 64152 * platform/graphics/chromium/RenderSurfaceChromium.h: 64153 * platform/graphics/chromium/ShaderChromium.cpp: Added. 64154 (WebCore::VertexShaderPosTex::VertexShaderPosTex): 64155 (WebCore::VertexShaderPosTex::init): 64156 (WebCore::VertexShaderPosTex::getShaderString): 64157 (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch): 64158 (WebCore::VertexShaderPosTexYUVStretch::init): 64159 (WebCore::VertexShaderPosTexYUVStretch::getShaderString): 64160 (WebCore::VertexShaderPos::VertexShaderPos): 64161 (WebCore::VertexShaderPos::init): 64162 (WebCore::VertexShaderPos::getShaderString): 64163 (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform): 64164 (WebCore::VertexShaderPosTexTransform::init): 64165 (WebCore::VertexShaderPosTexTransform::getShaderString): 64166 (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding): 64167 (WebCore::FragmentTexAlphaBinding::init): 64168 (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString): 64169 (WebCore::FragmentShaderRGBATexAlpha::getShaderString): 64170 (WebCore::FragmentShaderBGRATexAlpha::getShaderString): 64171 (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask): 64172 (WebCore::FragmentShaderRGBATexAlphaMask::init): 64173 (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString): 64174 (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo): 64175 (WebCore::FragmentShaderYUVVideo::init): 64176 (WebCore::FragmentShaderYUVVideo::getShaderString): 64177 (WebCore::FragmentShaderColor::FragmentShaderColor): 64178 (WebCore::FragmentShaderColor::init): 64179 (WebCore::FragmentShaderColor::getShaderString): 64180 * platform/graphics/chromium/ShaderChromium.h: Added. 64181 (WebCore::VertexShaderPosTex::matrixLocation): 64182 (WebCore::VertexShaderPosTexYUVStretch::matrixLocation): 64183 (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation): 64184 (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation): 64185 (WebCore::VertexShaderPos::matrixLocation): 64186 (WebCore::VertexShaderPosTexTransform::matrixLocation): 64187 (WebCore::VertexShaderPosTexTransform::texTransformLocation): 64188 (WebCore::FragmentTexAlphaBinding::alphaLocation): 64189 (WebCore::FragmentTexAlphaBinding::samplerLocation): 64190 (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation): 64191 (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation): 64192 (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation): 64193 (WebCore::FragmentShaderYUVVideo::yTextureLocation): 64194 (WebCore::FragmentShaderYUVVideo::uTextureLocation): 64195 (WebCore::FragmentShaderYUVVideo::vTextureLocation): 64196 (WebCore::FragmentShaderYUVVideo::alphaLocation): 64197 (WebCore::FragmentShaderYUVVideo::ccMatrixLocation): 64198 (WebCore::FragmentShaderYUVVideo::signAdjLocation): 64199 (WebCore::FragmentShaderColor::colorLocation): 64200 * platform/graphics/chromium/VideoLayerChromium.cpp: 64201 (WebCore::VideoLayerChromium::draw): 64202 (WebCore::VideoLayerChromium::drawYUV): 64203 (WebCore::VideoLayerChromium::drawRGBA): 64204 * platform/graphics/chromium/VideoLayerChromium.h: 64205 64206 2011-02-18 James Robinson <jamesr (a] chromium.org> 64207 64208 Reviewed by Kenneth Russell. 64209 64210 [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call 64211 https://bugs.webkit.org/show_bug.cgi?id=54315 64212 64213 This defers all operations on the compositor's GL context until the 64214 draw() call which is a prerequisite for moving the draw() off-thread. 64215 Also cleans up the update cycle a bit - there were some unused local 64216 variables and whatnot. 64217 64218 One consequence of this change is that the upload buffer is retained 64219 across updates now instead of allocated by each paint. This is 64220 necessary so that the full layer contents can be uploaded if the 64221 texture manager evicts the layer's backing texture. This costs more 64222 persistent memory but avoids lots of allocator churn on updates. 64223 Another nonobvious detail is that I have to update the texture for 64224 ContentLayerChromiums in bindContentsTexture() because mask layers 64225 never draw(), they are instead bound to the secondary texture unit. 64226 64227 * platform/graphics/chromium/ContentLayerChromium.cpp: 64228 (WebCore::ContentLayerChromium::requiresClippedUpdateRect): 64229 (WebCore::ContentLayerChromium::updateContentsIfDirty): 64230 (WebCore::ContentLayerChromium::resizeUploadBufferForImage): 64231 (WebCore::ContentLayerChromium::resizeUploadBuffer): 64232 (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels): 64233 (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels): 64234 (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels): 64235 (WebCore::ContentLayerChromium::updateTextureIfNeeded): 64236 (WebCore::ContentLayerChromium::draw): 64237 (WebCore::ContentLayerChromium::unreserveContentsTexture): 64238 (WebCore::ContentLayerChromium::bindContentsTexture): 64239 * platform/graphics/chromium/ContentLayerChromium.h: 64240 * platform/graphics/chromium/ImageLayerChromium.cpp: 64241 (WebCore::ImageLayerChromium::updateContentsIfDirty): 64242 * platform/graphics/chromium/LayerChromium.cpp: 64243 (WebCore::LayerChromium::setBounds): 64244 * platform/graphics/chromium/LayerChromium.h: 64245 64246 2011-02-18 Kenneth Russell <kbr (a] google.com> 64247 64248 Unreviewed, Chromium build fix on certain Linux platforms. 64249 64250 * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp: 64251 64252 2011-02-18 Mahesh Kulkarni <mahesh.kulkarni (a] nokia.com> 64253 64254 Reviewed by Kenneth Rohde Christiansen. 64255 64256 [Qt] Implement client based geolocation for qtport 64257 https://bugs.webkit.org/show_bug.cgi?id=42629 64258 64259 Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation 64260 64261 No tests as yet. This will be raised as different bug as new mock client implementation need to be done. 64262 64263 * WebCore.pro: 64264 * features.pri: 64265 * platform/qt/GeolocationServiceQt.cpp: Removed. 64266 * platform/qt/GeolocationServiceQt.h: Removed. 64267 64268 2011-02-18 Yael Aharon <yael.aharon (a] nokia.com> 64269 64270 Reviewed by Dave Hyatt. 64271 64272 Add support for dir=auto 64273 https://bugs.webkit.org/show_bug.cgi?id=50916 64274 64275 When an element has dir attribute with value "auto", call defaultWritingMode 64276 to find its directionality. 64277 Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set 64278 and check this flag. This flag is set on every node between an element with 64279 dir=auto attribute and its first text node. Changes in the DOM between those 64280 elements will trigger re-evaluating the directionality, but changes not 64281 between those element do not need to be concerned. 64282 The DOM hooks were added to childrenChanged, and to parseMappedAttribute. 64283 The directionality is evaluated when children are added, and cleared when they are 64284 removed. Directionality flag is also cleared on a child that is no longer determining 64285 the directionality due to a sibling being added before that child. 64286 64287 Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto. 64288 We cannot used the mapped declaration, because it can take only one value. 64289 64290 Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html 64291 fast/dom/HTMLElement/attr-dir-auto-change-child-node.html 64292 fast/dom/HTMLElement/attr-dir-auto-change-text.html 64293 fast/dom/HTMLElement/attr-dir-auto-children.html 64294 fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html 64295 fast/dom/HTMLElement/attr-dir-auto.html 64296 fast/dom/HTMLElement/attr-dir-value-change.html 64297 64298 * css/CSSStyleSelector.cpp: 64299 (WebCore::leftToRightDeclaration): 64300 (WebCore::rightToLeftDeclaration): 64301 (WebCore::CSSStyleSelector::canShareStyleWithElement): 64302 (WebCore::CSSStyleSelector::styleForElement): 64303 * dom/Node.h: 64304 (WebCore::Node::selfOrAncestorHasDirAutoAttribute): 64305 (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute): 64306 * html/HTMLElement.cpp: 64307 (WebCore::HTMLElement::mapToEntry): 64308 (WebCore::HTMLElement::parseMappedAttribute): 64309 (WebCore::setHasDirAutoFlagRecursively): 64310 (WebCore::HTMLElement::childrenChanged): 64311 (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute): 64312 (WebCore::HTMLElement::directionality): 64313 (WebCore::HTMLElement::dirAttributeChanged): 64314 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged): 64315 (WebCore::HTMLElement::calculateAndAdjustDirectionality): 64316 (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged): 64317 * html/HTMLElement.h: 64318 64319 2011-02-18 Yael Aharon <yael.aharon (a] nokia.com> 64320 64321 Reviewed by Antonio Gomes. 64322 64323 Navigating downwards / upwards does not focus on the links spread across more than one line. 64324 https://bugs.webkit.org/show_bug.cgi?id=54639 64325 64326 When 2 anchor elements span more than one line each, and one ends on the same line that the 64327 second starts on, the rects reported by their renderers are overlapping. When handling 64328 2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer. 64329 64330 Test: fast/spatial-navigation/snav-two-elements-one-line.html 64331 64332 * page/FocusController.cpp: 64333 (WebCore::updateFocusCandidateIfNeeded): 64334 (WebCore::FocusController::findFocusCandidateInContainer): 64335 * page/SpatialNavigation.cpp: 64336 (WebCore::areElementsOnSameLine): 64337 (WebCore::distanceDataForNode): 64338 * page/SpatialNavigation.h: 64339 64340 2011-02-18 Ben Vanik <benvanik (a] google.com> 64341 64342 Reviewed by Kenneth Russell. 64343 64344 Bug 53940: Implement the OES_vertex_array_object WebGL extension 64345 https://bugs.webkit.org/show_bug.cgi?id=53940 64346 64347 Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject 64348 extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through 64349 the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when 64350 it is available. 64351 Two big changes touching code outside of the extension files: 64352 * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after 64353 GraphicsTypes.h). They are not namespaced as they weren't before. 64354 * To make the code cleaner/clearer all vertex attribute state has been moved to the 64355 WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still 64356 on the WebGLRenderingContext. A default VAO is now used to store the existing attribute 64357 states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and 64358 vertex attributes now defers to or stores values in the bound array object. 64359 64360 Tested against the WebGL conformance suite and the new 64361 oes-vertex-array-object test: 64362 https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html 64363 64364 * CMakeLists.txt: 64365 * CodeGenerators.pri: 64366 * DerivedSources.make: 64367 * GNUmakefile.am: 64368 * WebCore.gyp: Modified property svn:ignore. 64369 * WebCore.gypi: 64370 * WebCore.pro: 64371 * WebCore.xcodeproj/project.pbxproj: 64372 * bindings/js/JSWebGLRenderingContextCustom.cpp: 64373 (WebCore::toJS): 64374 * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: 64375 (WebCore::toV8Object): 64376 * html/canvas/OESVertexArrayObject.cpp: Added. 64377 (WebCore::OESVertexArrayObject::OESVertexArrayObject): 64378 (WebCore::OESVertexArrayObject::~OESVertexArrayObject): 64379 (WebCore::OESVertexArrayObject::getName): 64380 (WebCore::OESVertexArrayObject::create): 64381 (WebCore::OESVertexArrayObject::createVertexArrayOES): 64382 (WebCore::OESVertexArrayObject::deleteVertexArrayOES): 64383 (WebCore::OESVertexArrayObject::isVertexArrayOES): 64384 (WebCore::OESVertexArrayObject::bindVertexArrayOES): 64385 * html/canvas/OESVertexArrayObject.h: Added. 64386 * html/canvas/OESVertexArrayObject.idl: Added. 64387 * html/canvas/WebGLExtension.h: 64388 * html/canvas/WebGLGetInfo.cpp: 64389 (WebCore::WebGLGetInfo::WebGLGetInfo): 64390 (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES): 64391 * html/canvas/WebGLGetInfo.h: 64392 * html/canvas/WebGLRenderingContext.cpp: 64393 (WebCore::WebGLRenderingContext::initializeNewContext): 64394 (WebCore::WebGLRenderingContext::bindBuffer): 64395 (WebCore::WebGLRenderingContext::deleteBuffer): 64396 (WebCore::WebGLRenderingContext::disableVertexAttribArray): 64397 (WebCore::WebGLRenderingContext::validateElementArraySize): 64398 (WebCore::WebGLRenderingContext::validateIndexArrayConservative): 64399 (WebCore::WebGLRenderingContext::validateIndexArrayPrecise): 64400 (WebCore::WebGLRenderingContext::validateRenderingState): 64401 (WebCore::WebGLRenderingContext::drawElements): 64402 (WebCore::WebGLRenderingContext::enableVertexAttribArray): 64403 (WebCore::WebGLRenderingContext::getExtension): 64404 (WebCore::WebGLRenderingContext::getParameter): 64405 (WebCore::WebGLRenderingContext::getSupportedExtensions): 64406 (WebCore::WebGLRenderingContext::getVertexAttrib): 64407 (WebCore::WebGLRenderingContext::vertexAttribPointer): 64408 (WebCore::WebGLRenderingContext::validateBufferDataParameters): 64409 (WebCore::WebGLRenderingContext::vertexAttribfImpl): 64410 (WebCore::WebGLRenderingContext::vertexAttribfvImpl): 64411 (WebCore::WebGLRenderingContext::initVertexAttrib0): 64412 (WebCore::WebGLRenderingContext::simulateVertexAttrib0): 64413 (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): 64414 (WebCore::WebGLRenderingContext::getNumberOfExtensions): 64415 (WebCore::WebGLRenderingContext::getExtensionNumber): 64416 * html/canvas/WebGLRenderingContext.h: 64417 (WebCore::WebGLRenderingContext::getMaxVertexAttribs): 64418 (WebCore::WebGLRenderingContext::setBoundVertexArrayObject): 64419 (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue): 64420 * html/canvas/WebGLVertexArrayObjectOES.cpp: Added. 64421 (WebCore::WebGLVertexArrayObjectOES::create): 64422 (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES): 64423 (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl): 64424 * html/canvas/WebGLVertexArrayObjectOES.h: Added. 64425 (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES): 64426 (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState): 64427 (WebCore::WebGLVertexArrayObjectOES::isDefaultObject): 64428 (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound): 64429 (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound): 64430 (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer): 64431 (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer): 64432 (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState): 64433 (WebCore::WebGLVertexArrayObjectOES::isVertexArray): 64434 * html/canvas/WebGLVertexArrayObjectOES.idl: Added. 64435 * platform/graphics/Extensions3D.h: 64436 * platform/graphics/GraphicsContext3D.h: 64437 * platform/graphics/GraphicsTypes3D.h: Added. 64438 * platform/graphics/chromium/Extensions3DChromium.h: 64439 * platform/graphics/opengl/Extensions3DOpenGL.cpp: 64440 (WebCore::Extensions3DOpenGL::supports): 64441 (WebCore::Extensions3DOpenGL::createVertexArrayOES): 64442 (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): 64443 (WebCore::Extensions3DOpenGL::isVertexArrayOES): 64444 (WebCore::Extensions3DOpenGL::bindVertexArrayOES): 64445 * platform/graphics/opengl/Extensions3DOpenGL.h: 64446 * platform/graphics/qt/Extensions3DQt.cpp: 64447 (WebCore::Extensions3DQt::createVertexArrayOES): 64448 (WebCore::Extensions3DQt::deleteVertexArrayOES): 64449 (WebCore::Extensions3DQt::isVertexArrayOES): 64450 (WebCore::Extensions3DQt::bindVertexArrayOES): 64451 * platform/graphics/qt/Extensions3DQt.h: 64452 64453 2011-02-17 Alexander Pavlov <apavlov (a] chromium.org> 64454 64455 Reviewed by Pavel Feldman. 64456 64457 Web Inspector: reflect changes to styles when they happen outside inspector. 64458 https://bugs.webkit.org/show_bug.cgi?id=44620 64459 64460 Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration 64461 whenever the style change does not come from a direct "style" attribute modification. 64462 The performance regression occurs only with the Web Inspector opened, when inline styles 64463 are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol, 64464 an attribute change requires that all attributes for the node in question be pushed into the frontend. 64465 64466 Test: inspector/styles/styles-update-from-js.html 64467 64468 * css/CSSMutableStyleDeclaration.cpp: 64469 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): 64470 * inspector/InspectorDOMAgent.cpp: 64471 (WebCore::RevalidateStyleAttributeTask::reset): 64472 (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask): 64473 (WebCore::RevalidateStyleAttributeTask::scheduleFor): 64474 (WebCore::RevalidateStyleAttributeTask::onTimer): 64475 (WebCore::InspectorDOMAgent::reset): 64476 (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): 64477 * inspector/InspectorDOMAgent.h: 64478 * inspector/InspectorInstrumentation.cpp: 64479 (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl): 64480 * inspector/InspectorInstrumentation.h: 64481 (WebCore::InspectorInstrumentation::didInvalidateStyleAttr): 64482 * inspector/InspectorStyleSheet.cpp: 64483 (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute): 64484 (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady): 64485 (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText): 64486 * inspector/InspectorStyleSheet.h: 64487 * inspector/front-end/ElementsPanel.js: 64488 (WebInspector.ElementsPanel.prototype._attributesUpdated): 64489 * inspector/front-end/StylesSidebarPane.js: 64490 (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules): 64491 (WebInspector.StylesSidebarPane.prototype.addBlankSection): 64492 (WebInspector.StylePropertiesSection.prototype.onpopulate): 64493 (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): 64494 (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate): 64495 (WebInspector.BlankStylePropertiesSection): 64496 (WebInspector.StylePropertyTreeElement): 64497 (WebInspector.StylePropertyTreeElement.prototype): 64498 (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection): 64499 64500 2011-02-16 Tony Gentilcore <tonyg (a] chromium.org> 64501 64502 Reviewed by Eric Seidel. 64503 64504 Refactor pumpTokenizer loop 64505 https://bugs.webkit.org/show_bug.cgi?id=54574 64506 64507 1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get 64508 the next token, although ASSERTs still enforce that we aren't waiting for a script. This 64509 enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we 64510 yield before running a script rather than before taking a token (see bug 54355). 64511 2. This also picks up the refCount >= 1 assert when stopped. 64512 64513 Tested PerformanceTests/Parser to verify no regression. If anything it got faster. 64514 Before: 64515 avg 985.05 64516 median 985.5 64517 stdev 3.007906248539007 64518 min 980 64519 max 990 64520 After: 64521 avg 980.05 64522 median 981 64523 stdev 3.122098653149833 64524 min 974 64525 max 985 64526 64527 No new tests because no new functionality. 64528 64529 * html/parser/HTMLDocumentParser.cpp: 64530 (WebCore::HTMLDocumentParser::canTakeNextToken): Added. 64531 (WebCore::HTMLDocumentParser::pumpTokenizer): 64532 * html/parser/HTMLDocumentParser.h: 64533 64534 2011-02-18 Sheriff Bot <webkit.review.bot (a] gmail.com> 64535 64536 Unreviewed, rolling out r79003. 64537 http://trac.webkit.org/changeset/79003 64538 https://bugs.webkit.org/show_bug.cgi?id=54753 64539 64540 It broke tests on GTK bots (Requested by Ossy on #webkit). 64541 64542 * accessibility/AccessibilityRenderObject.cpp: 64543 (WebCore::lastChildConsideringContinuation): 64544 * dom/Node.cpp: 64545 (WebCore::Node::removeEventListener): 64546 * html/DateComponents.cpp: 64547 (WebCore::DateComponents::parseTime): 64548 64549 2011-02-18 Csaba Osztrogonc <ossy (a] webkit.org> 64550 64551 Rubber-stamped by Andreas Kling. 64552 64553 Warning fix. Use ASSERT_UNUSED() instead of ASSERT(). 64554 64555 * accessibility/AccessibilityRenderObject.cpp: 64556 (WebCore::lastChildConsideringContinuation): 64557 * dom/Node.cpp: 64558 (WebCore::Node::removeEventListener): 64559 * html/DateComponents.cpp: 64560 (WebCore::DateComponents::parseTime): 64561 64562 2011-02-18 Andrey Adaikin <aandrey (a] google.com> 64563 64564 Reviewed by Pavel Feldman. 64565 64566 Web Inspector: [Text editor] Optimize editing updates in main panel 64567 https://bugs.webkit.org/show_bug.cgi?id=54661 64568 64569 * inspector/front-end/TextViewer.js: 64570 (WebInspector.TextViewer): 64571 (WebInspector.TextViewer.prototype._textChanged): 64572 (WebInspector.TextViewer.prototype._enterInternalTextChangeMode): 64573 (WebInspector.TextViewer.prototype._exitInternalTextChangeMode): 64574 (WebInspector.TextViewer.prototype._syncDecorationsForLine): 64575 (WebInspector.TextEditorChunkedPanel.prototype.textChanged): 64576 (WebInspector.TextEditorChunkedPanel.prototype._scroll): 64577 (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine): 64578 (WebInspector.TextEditorChunkedPanel.prototype._totalHeight): 64579 (WebInspector.TextEditorGutterPanel.prototype._expandChunks): 64580 (WebInspector.TextEditorGutterChunk): 64581 (WebInspector.TextEditorGutterChunk.prototype.addDecoration): 64582 (WebInspector.TextEditorGutterChunk.prototype.removeDecoration): 64583 (WebInspector.TextEditorMainPanel): 64584 (WebInspector.TextEditorMainPanel.prototype._expandChunks): 64585 (WebInspector.TextEditorMainPanel.prototype._highlightDataReady): 64586 (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines): 64587 (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines): 64588 (WebInspector.TextEditorMainPanel.prototype._paintLines): 64589 (WebInspector.TextEditorMainPanel.prototype._paintLine): 64590 (WebInspector.TextEditorMainPanel.prototype._positionToSelection): 64591 (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates): 64592 (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges): 64593 (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange): 64594 (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv): 64595 (WebInspector.TextEditorMainChunk): 64596 (WebInspector.TextEditorMainChunk.prototype.get startLine): 64597 (WebInspector.TextEditorMainChunk.prototype.set startLine): 64598 (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow): 64599 (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow): 64600 64601 2011-02-18 Steve Block <steveblock (a] google.com> 64602 64603 Reviewed by Andreas Kling 64604 64605 Memory allocation error in convertV8ObjectToNPVariant() for strings 64606 https://bugs.webkit.org/show_bug.cgi?id=54737 64607 64608 Include the termination character in the length when allocating memory 64609 and copying the string. This fixes a crashing bug on Android. 64610 64611 This should be tested by the java/ tests on Chromium, but these 64612 tests are currently skipped. 64613 64614 * bindings/v8/V8NPUtils.cpp: 64615 (WebCore::convertV8ObjectToNPVariant): 64616 64617 2011-02-18 Philippe Normand <pnormand (a] igalia.com> 64618 64619 Unreviewed, rolling out r78979. 64620 http://trac.webkit.org/changeset/78979 64621 https://bugs.webkit.org/show_bug.cgi?id=53146 64622 64623 causes multiple crashes on GTK 64624 64625 * accessibility/gtk/AXObjectCacheAtk.cpp: 64626 (WebCore::notifyChildrenSelectionChange): 64627 (WebCore::AXObjectCache::postPlatformNotification): 64628 64629 2011-02-18 Philippe Normand <pnormand (a] igalia.com> 64630 64631 Reviewed by Martin Robinson. 64632 64633 [GTK] minimal build unrecognized options 64634 https://bugs.webkit.org/show_bug.cgi?id=50890 64635 64636 * GNUmakefile.am: new feature defines for optional features build. 64637 64638 2011-02-17 Hans Wennborg <hans (a] chromium.org> 64639 64640 Reviewed by Jeremy Orlow. 64641 64642 IndexedDB: Populate indexes created for object stores with data 64643 https://bugs.webkit.org/show_bug.cgi?id=54669 64644 64645 Make sure that indices for object stores that already hold data get 64646 populated. 64647 64648 * storage/IDBIndexBackendImpl.h: 64649 (WebCore::IDBIndexBackendImpl::hasValidId): 64650 * storage/IDBObjectStoreBackendImpl.cpp: 64651 (WebCore::IDBObjectStoreBackendImpl::putInternal): 64652 (WebCore::populateIndex): 64653 (WebCore::IDBObjectStoreBackendImpl::createIndexInternal): 64654 64655 2011-02-18 Mario Sanchez Prada <msanchez (a] igalia.com> 64656 64657 Reviewed by Martin Robinson. 64658 64659 [GTK] Combo boxes should emit object:selection-changed even when collapsed 64660 https://bugs.webkit.org/show_bug.cgi?id=53146 64661 64662 Emit the selection-changed signals when the menu list value has changed 64663 64664 Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html 64665 64666 * accessibility/gtk/AXObjectCacheAtk.cpp: 64667 (WebCore::getListObject): New, return the right list object for 64668 menu lists and list boxes. 64669 (WebCore::notifyChildrenSelectionChange): Support menu lists. 64670 (WebCore::AXObjectCache::postPlatformNotification): Call function 64671 notifyChildrenSelectionChange for AXMenuListValueChanged. 64672 64673 2011-02-18 Mario Sanchez Prada <msanchez (a] igalia.com> 64674 64675 Reviewed by Martin Robinson. 64676 64677 [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items 64678 https://bugs.webkit.org/show_bug.cgi?id=53453 64679 64680 Ensure that atk_text_{get|set}_selection() work with list items. 64681 64682 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 64683 (webkit_accessible_text_get_text): Properly handle list item 64684 markers when returning the text for an object for a given interval 64685 specified through the startOffset and endOffset parameters. 64686 (getSelectionOffsetsForObject): Bear in mind list item markers 64687 when returning the offsets for a selection over a list item. 64688 (webkit_accessible_text_set_selection): Adjust offsets if needed 64689 for list items with item markers. Ensure that it returns TRUE only 64690 when everything went fine setting the text selection. 64691 64692 2011-02-18 Antti Koivisto <antti (a] apple.com> 64693 64694 Reviewed by Maciej Stachowiak. 64695 64696 https://bugs.webkit.org/show_bug.cgi?id=54728 64697 checkSelector*Value functions used in fastCheckSelector fail to inline 64698 64699 Wrap the functions used as template arguments to classes. 64700 64701 * css/CSSStyleSelector.cpp: 64702 (WebCore::fastCheckSingleSelector): 64703 (WebCore::ClassCheck::checkValue): 64704 (WebCore::IdCheck::checkValue): 64705 (WebCore::TagCheck::checkValue): 64706 (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector): 64707 64708 2011-02-17 Simon Fraser <simon.fraser (a] apple.com> 64709 64710 Reviewed by Sam Weinig. 64711 64712 Composited iframe content is missing from snapshots in WebKit2 64713 https://bugs.webkit.org/show_bug.cgi?id=54696 64714 64715 We need to propagate the 'flattening' paint behavior flag 64716 down to subviews while painting. WebKit1 does this via 64717 code in WebFrameView, but this is a more general fix 64718 that works in WebKit2 as well. 64719 64720 Made a utility method, parentFrameView(), which I changed 64721 some other methods to use as well. 64722 64723 * page/FrameView.cpp: 64724 (WebCore::FrameView::isEnclosedInCompositingLayer): 64725 (WebCore::FrameView::useSlowRepaints): 64726 (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): 64727 (WebCore::FrameView::isOverlappedIncludingAncestors): 64728 (WebCore::FrameView::parentFrameView): 64729 (WebCore::FrameView::paintContents): 64730 * page/FrameView.h: 64731 64732 2011-02-17 Dan Bernstein <mitz (a] apple.com> 64733 64734 Reviewed by Simon Fraser. 64735 64736 <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled 64737 64738 * html/HTMLBodyElement.cpp: 64739 (WebCore::adjustForZoom): Account for page scale. 64740 (WebCore::HTMLBodyElement::setScrollLeft): Ditto. 64741 (WebCore::HTMLBodyElement::setScrollTop): Ditto. 64742 * page/FrameView.cpp: 64743 (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to 64744 account for page scale: when the page is scaled, the viewport with respect to which fixed 64745 objects are positioned is scaled as well. Since its now bigger than the real viewport (that is, 64746 the frame view), we move it around in proportion to the document scroll, so that when the document 64747 is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible. 64748 (WebCore::FrameView::scrollYForFixedPosition): Ditto. 64749 (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here. 64750 * page/FrameView.h: 64751 * platform/ScrollView.cpp: Moved functions to FrameView. 64752 * platform/ScrollView.h: 64753 * rendering/RenderLayer.cpp: 64754 (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed. 64755 (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition(). 64756 (WebCore::RenderLayer::backgroundClipRect): Ditto. 64757 64758 2011-02-17 Kenneth Russell <kbr (a] google.com> 64759 64760 Reviewed by James Robinson. 64761 64762 Add support for GPU accelerated path rendering 64763 https://bugs.webkit.org/show_bug.cgi?id=44729 64764 64765 Incorporates the Loop and Blinn path rendering algorithm as an 64766 option to the GPU-accelerated canvas code, currently only compiled 64767 in to the Chromium port. Currently it's toggled by changing a 64768 hardcoded constant in 64769 SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is 64770 disabled by default. This mechanism can be improved once we've 64771 gained more confidence in the implementation. There are some known 64772 bugs that need to be fixed first. 64773 64774 No new tests; ran some 2D Canvas tests manually with the new flag 64775 both enabled and disabled. 64776 64777 * WebCore.gypi: 64778 * platform/graphics/chromium/GLES2Canvas.cpp: 64779 (WebCore::GLES2Canvas::GLES2Canvas): 64780 (WebCore::GLES2Canvas::fillPath): 64781 * platform/graphics/chromium/GLES2Canvas.h: 64782 * platform/graphics/gpu/LoopBlinnClassifier.h: 64783 * platform/graphics/gpu/LoopBlinnLocalTriangulator.h: 64784 * platform/graphics/gpu/SharedGraphicsContext3D.cpp: 64785 (WebCore::SharedGraphicsContext3D::create): 64786 (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D): 64787 (WebCore::SharedGraphicsContext3D::createBuffer): 64788 (WebCore::SharedGraphicsContext3D::bindBuffer): 64789 (WebCore::SharedGraphicsContext3D::bufferData): 64790 (WebCore::SharedGraphicsContext3D::bufferSubData): 64791 (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering): 64792 (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram): 64793 (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram): 64794 * platform/graphics/gpu/SharedGraphicsContext3D.h: 64795 * platform/graphics/skia/GraphicsContextSkia.cpp: 64796 (WebCore::GraphicsContext::fillPath): 64797 64798 2011-02-16 Stephen White <senorblanco (a] chromium.org> 64799 64800 Reviewed by James Robinson. 64801 64802 Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on 64803 accelerated 2D canvas w/compositor enabled. 64804 https://bugs.webkit.org/show_bug.cgi?id=54561 64805 64806 When resetting the CanvasRenderingContext2D, we also need to send a 64807 contentChanged() to the relevant RenderLayer. This is similar to what 64808 is done in didDraw(). 64809 64810 Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note 64811 that this test will still fail pixel tests because the compositor 64812 is not compatible with repaint tests (the green square is now white, 64813 but the half-transparent grey repaint rect does not appear). 64814 64815 * html/canvas/CanvasRenderingContext2D.cpp: 64816 (WebCore::CanvasRenderingContext2D::reset): 64817 64818 2011-02-17 Sergey Glazunov <serg.glazunov (a] gmail.com> 64819 64820 Reviewed by Kenneth Russell. 64821 64822 Null out the WEBKIT_lose_context WebGL extension's context pointer when 64823 the WebGL rendering context is removed. 64824 https://bugs.webkit.org/show_bug.cgi?id=54679 64825 64826 Test: fast/canvas/webgl/context-destroyed-crash.html 64827 64828 * html/canvas/WebGLRenderingContext.cpp: 64829 (WebCore::WebGLRenderingContext::~WebGLRenderingContext): 64830 * html/canvas/WebKitLoseContext.cpp: 64831 (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context. 64832 * html/canvas/WebKitLoseContext.h: 64833 (WebCore::WebKitLoseContext::contextDestroyed): 64834 64835 2011-02-17 Kenneth Russell <kbr (a] google.com> 64836 64837 Reviewed by Chris Marrin. 64838 64839 Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values 64840 https://bugs.webkit.org/show_bug.cgi?id=52768 64841 64842 Removed incorrect clamping code from IntegralTypedArrayBase. Fixed 64843 code which casts from incoming double to the destination type. 64844 Changed the JSC bindings to use this code, rather than a copy of 64845 the casting code and a different constructor, in order to reuse 64846 the fix. 64847 64848 * bindings/js/JSArrayBufferViewHelper.h: 64849 (WebCore::constructArrayBufferView): 64850 * html/canvas/Int32Array.h: 64851 (WebCore::Int32Array::set): 64852 * html/canvas/Int8Array.h: 64853 (WebCore::Int8Array::set): 64854 * html/canvas/IntegralTypedArrayBase.h: 64855 (WebCore::IntegralTypedArrayBase::set): 64856 * html/canvas/Uint16Array.h: 64857 (WebCore::Uint16Array::set): 64858 * html/canvas/Uint32Array.h: 64859 (WebCore::Uint32Array::set): 64860 * html/canvas/Uint8Array.h: 64861 (WebCore::Uint8Array::set): 64862 64863 2011-02-17 Sam Weinig <sam (a] webkit.org> 64864 64865 Reviewed by Dan Bernstein. 64866 64867 Knob proportion not quite right during rubber-band. 64868 <rdar://problem/9015201> 64869 64870 Change knob proportion algorithm to treat overhang as making the view smaller, 64871 rather than document bigger. 64872 64873 * platform/mac/ScrollbarThemeMac.mm: 64874 (WebCore::ScrollbarThemeMac::paint): 64875 64876 2011-02-16 Luiz Agostini <luiz.agostini (a] openbossa.org> 64877 64878 Reviewed by Andreas Kling. 64879 64880 Summary: HTML5 <details> and <summary>: HTMLSummaryElement 64881 https://bugs.webkit.org/show_bug.cgi?id=54584 64882 64883 Adding class HTMLSummaryElement to build systems. This class will be used in 64884 the implementation of new HTML5 tag <summary>. 64885 64886 * CMakeLists.txt: 64887 * GNUmakefile.am: 64888 * WebCore.gypi: 64889 * WebCore.pro: 64890 * WebCore.vcproj/WebCore.vcproj: 64891 * WebCore.xcodeproj/project.pbxproj: 64892 * html/HTMLElementsAllInOne.cpp: 64893 * html/HTMLSummaryElement.cpp: Added. 64894 (WebCore::HTMLSummaryElement::create): 64895 (WebCore::HTMLSummaryElement::HTMLSummaryElement): 64896 * html/HTMLSummaryElement.h: Added. 64897 * html/HTMLTagNames.in: 64898 64899 2011-02-17 Jeremy Orlow <jorlow (a] chromium.org> 64900 64901 Reviewed by Nate Chapin. 64902 64903 Throwing in an IndexedDB error or success event should lead to the transaction aborting 64904 https://bugs.webkit.org/show_bug.cgi?id=54249 64905 64906 When an exception is thrown but not handled within an IDBRequests success/error event, 64907 we should abort the transaction. 64908 64909 Test: storage/indexeddb/exception-in-event-aborts.html 64910 64911 * bindings/js/JSEventListener.cpp: 64912 (WebCore::JSEventListener::handleEvent): 64913 * bindings/js/JSEventTarget.cpp: 64914 (WebCore::toJS): 64915 * bindings/v8/V8AbstractEventListener.cpp: 64916 (WebCore::V8AbstractEventListener::invokeEventHandler): 64917 * dom/EventTarget.cpp: 64918 (WebCore::EventTarget::uncaughtExceptionInEventHandler): 64919 * dom/EventTarget.h: 64920 * storage/IDBRequest.cpp: 64921 (WebCore::IDBRequest::uncaughtExceptionInEventHandler): 64922 * storage/IDBRequest.h: 64923 64924 2011-02-17 Sam Weinig <sam (a] webkit.org> 64925 64926 Reviewed by Maciej Stachowiak. 64927 64928 WebKit2: Support Dictionary popup 64929 <rdar://problem/7660670> 64930 64931 Add some necessary exports. 64932 64933 * WebCore.exp.in: 64934 64935 2011-02-17 W. James MacLean <wjmaclean (a] chromium.org> 64936 64937 Reviewed by James Robinson. 64938 64939 [chromium] Add command-line flag to enable composite to offscreen texture. 64940 https://bugs.webkit.org/show_bug.cgi?id=52311 64941 64942 Add plumbing to allow command-line switch to enable offscreen compositing. Function 64943 LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic 64944 normal renderer operation. 64945 64946 Existing functionality not changed; offscreen compositing will be tested via GPU test framework. 64947 64948 * platform/graphics/chromium/LayerRendererChromium.cpp: 64949 (WebCore::LayerRendererChromium::setRootLayer): 64950 (WebCore::LayerRendererChromium::setCompositeOffscreen): 64951 (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay): 64952 (WebCore::LayerRendererChromium::useRenderSurface): 64953 (WebCore::LayerRendererChromium::setScissorToRect): 64954 * platform/graphics/chromium/LayerRendererChromium.h: 64955 (WebCore::LayerRendererChromium::isCompositingOffscreen): 64956 64957 2011-02-17 Kevin Ollivier <kevino (a] theolliviers.com> 64958 64959 [wx] Build fixes after recent changes. 64960 64961 * dom/ScriptedAnimationController.h: 64962 * platform/graphics/wx/FontWx.cpp: 64963 (WebCore::Font::drawComplexText): 64964 * platform/graphics/wx/GraphicsContextWx.cpp: 64965 (WebCore::GraphicsContext::drawLineForText): 64966 (WebCore::GraphicsContext::drawLineForTextChecking): 64967 * platform/wx/WidgetWx.cpp: 64968 (WebCore::Widget::setFrameRect): 64969 64970 2011-02-16 Brian Weinstein <bweinstein (a] apple.com> 64971 64972 Reviewed by Brady Eidson. 64973 64974 WebKit2: Need a way to manage the WebCore Cache 64975 https://bugs.webkit.org/show_bug.cgi?id=54501 64976 64977 Add a way to get a set of all of the origins that have entries in the 64978 WebCore memory cache, and a method to remove all resources from the memory 64979 cache from a given security origin. 64980 64981 No change in behavior. 64982 64983 * WebCore.exp.in: Add functions that need to be exported. 64984 * loader/cache/MemoryCache.cpp: 64985 (WebCore::MemoryCache::removeResourcesWithOrigin): 64986 (WebCore::MemoryCache::getOriginsWithCache): 64987 * loader/cache/MemoryCache.h: 64988 64989 2011-02-16 David Hyatt <hyatt (a] apple.com> 64990 64991 Reviewed by Dan Bernstein. 64992 64993 https://bugs.webkit.org/show_bug.cgi?id=54244 64994 64995 Convert the line box tree to floating point and eliminate font rounding hacks. This patch removes all of the rounding 64996 hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats. 64997 64998 The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have 64999 been changed as well. 65000 65001 In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height). 65002 65003 Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting. 65004 65005 Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes 65006 still have a precise floating point position. 65007 65008 Justification will now allow subpixel positioning to occur as well. Platforms that don't support subpixel positioning should already 65009 be rounding justification spacing in their font code. 65010 65011 Many layout test results change on Mac, since rounding hacks were used there and are now gone. 65012 65013 * WebCore.exp.in: 65014 * html/canvas/CanvasRenderingContext2D.cpp: 65015 (WebCore::CanvasRenderingContext2D::drawTextInternal): 65016 * platform/chromium/FileChooserChromium.cpp: 65017 (WebCore::FileChooser::basenameForWidth): 65018 * platform/graphics/Font.cpp: 65019 (WebCore::Font::width): 65020 * platform/graphics/Font.h: 65021 (WebCore::Font::spaceWidth): 65022 (WebCore::Font::tabWidth): 65023 * platform/graphics/FontFastPath.cpp: 65024 (WebCore::Font::getGlyphsAndAdvancesForSimpleText): 65025 * platform/graphics/GraphicsContext.cpp: 65026 (WebCore::GraphicsContext::drawText): 65027 (WebCore::GraphicsContext::drawEmphasisMarks): 65028 (WebCore::GraphicsContext::drawBidiText): 65029 (WebCore::GraphicsContext::drawHighlightForText): 65030 * platform/graphics/GraphicsContext.h: 65031 * platform/graphics/SimpleFontData.cpp: 65032 (WebCore::SimpleFontData::SimpleFontData): 65033 (WebCore::SimpleFontData::platformGlyphInit): 65034 * platform/graphics/SimpleFontData.h: 65035 (WebCore::SimpleFontData::spaceWidth): 65036 * platform/graphics/StringTruncator.cpp: 65037 (WebCore::stringWidth): 65038 (WebCore::truncateString): 65039 (WebCore::StringTruncator::centerTruncate): 65040 (WebCore::StringTruncator::rightTruncate): 65041 (WebCore::StringTruncator::width): 65042 * platform/graphics/StringTruncator.h: 65043 * platform/graphics/TextRun.h: 65044 (WebCore::TextRun::TextRun): 65045 (WebCore::TextRun::xPos): 65046 (WebCore::TextRun::expansion): 65047 (WebCore::TextRun::directionalOverride): 65048 (WebCore::TextRun::disableSpacing): 65049 * platform/graphics/WidthIterator.cpp: 65050 (WebCore::WidthIterator::WidthIterator): 65051 (WebCore::WidthIterator::advance): 65052 * platform/graphics/WidthIterator.h: 65053 * platform/graphics/cairo/GraphicsContextCairo.cpp: 65054 (WebCore::GraphicsContext::drawLineForText): 65055 (WebCore::GraphicsContext::drawLineForTextChecking): 65056 * platform/graphics/cg/GraphicsContextCG.cpp: 65057 (WebCore::GraphicsContext::drawLineForText): 65058 * platform/graphics/mac/ComplexTextController.cpp: 65059 (WebCore::ComplexTextController::ComplexTextController): 65060 (WebCore::ComplexTextController::advance): 65061 (WebCore::ComplexTextController::adjustGlyphsAndAdvances): 65062 * platform/graphics/mac/ComplexTextController.h: 65063 * platform/graphics/mac/FontComplexTextMac.cpp: 65064 (WebCore::Font::getGlyphsAndAdvancesForComplexText): 65065 * platform/graphics/mac/GraphicsContextMac.mm: 65066 (WebCore::GraphicsContext::drawLineForTextChecking): 65067 * platform/graphics/qt/GraphicsContextQt.cpp: 65068 (WebCore::GraphicsContext::drawLineForText): 65069 (WebCore::GraphicsContext::drawLineForTextChecking): 65070 * platform/graphics/qt/SimpleFontDataQt.cpp: 65071 (WebCore::SimpleFontData::platformGlyphInit): 65072 * platform/graphics/skia/GraphicsContextSkia.cpp: 65073 (WebCore::GraphicsContext::drawLineForTextChecking): 65074 (WebCore::GraphicsContext::drawLineForText): 65075 * platform/graphics/win/GraphicsContextCGWin.cpp: 65076 (WebCore::GraphicsContext::drawLineForTextChecking): 65077 * platform/graphics/win/UniscribeController.cpp: 65078 (WebCore::UniscribeController::shapeAndPlaceItem): 65079 * platform/gtk/FileChooserGtk.cpp: 65080 (WebCore::FileChooser::basenameForWidth): 65081 * platform/mac/DragImageMac.mm: 65082 (WebCore::widthWithFont): 65083 (WebCore::drawAtPoint): 65084 * platform/mac/FileChooserMac.mm: 65085 (WebCore::FileChooser::basenameForWidth): 65086 * platform/win/DragImageWin.cpp: 65087 (WebCore::createDragImageForLink): 65088 * platform/win/FileChooserWin.cpp: 65089 (WebCore::FileChooser::basenameForWidth): 65090 * platform/win/PopupMenuWin.cpp: 65091 (WebCore::PopupMenuWin::calculatePositionAndSize): 65092 * platform/win/WebCoreTextRenderer.cpp: 65093 (WebCore::WebCoreTextFloatWidth): 65094 * rendering/HitTestResult.cpp: 65095 (WebCore::HitTestResult::addNodeToRectBasedTestResult): 65096 * rendering/HitTestResult.h: 65097 * rendering/InlineBox.cpp: 65098 (WebCore::InlineBox::adjustPosition): 65099 (WebCore::InlineBox::placeEllipsisBox): 65100 (WebCore::InlineBox::locationIncludingFlipping): 65101 (WebCore::InlineBox::flipForWritingMode): 65102 * rendering/InlineBox.h: 65103 (WebCore::InlineBox::InlineBox): 65104 (WebCore::InlineBox::adjustLineDirectionPosition): 65105 (WebCore::InlineBox::adjustBlockDirectionPosition): 65106 (WebCore::InlineBox::setX): 65107 (WebCore::InlineBox::x): 65108 (WebCore::InlineBox::setY): 65109 (WebCore::InlineBox::y): 65110 (WebCore::InlineBox::width): 65111 (WebCore::InlineBox::height): 65112 (WebCore::InlineBox::logicalLeft): 65113 (WebCore::InlineBox::logicalRight): 65114 (WebCore::InlineBox::setLogicalLeft): 65115 (WebCore::InlineBox::pixelSnappedLogicalLeft): 65116 (WebCore::InlineBox::pixelSnappedLogicalRight): 65117 (WebCore::InlineBox::setLogicalWidth): 65118 (WebCore::InlineBox::logicalWidth): 65119 (WebCore::InlineBox::verticalAlign): 65120 * rendering/InlineFlowBox.cpp: 65121 (WebCore::InlineFlowBox::roundedFrameRect): 65122 (WebCore::InlineFlowBox::adjustPosition): 65123 (WebCore::InlineFlowBox::placeBoxesInInlineDirection): 65124 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): 65125 (WebCore::verticalPositionForBox): 65126 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 65127 (WebCore::InlineFlowBox::placeBoxesInBlockDirection): 65128 (WebCore::InlineFlowBox::addBoxShadowVisualOverflow): 65129 (WebCore::InlineFlowBox::addTextBoxVisualOverflow): 65130 (WebCore::InlineFlowBox::computeOverflow): 65131 (WebCore::InlineFlowBox::setLayoutOverflow): 65132 (WebCore::InlineFlowBox::setVisualOverflow): 65133 (WebCore::InlineFlowBox::nodeAtPoint): 65134 (WebCore::InlineFlowBox::paintBoxDecorations): 65135 (WebCore::InlineFlowBox::paintMask): 65136 (WebCore::InlineFlowBox::placeEllipsisBox): 65137 * rendering/InlineFlowBox.h: 65138 (WebCore::InlineFlowBox::maxYLayoutOverflow): 65139 (WebCore::InlineFlowBox::maxXLayoutOverflow): 65140 (WebCore::InlineFlowBox::layoutOverflowRect): 65141 (WebCore::InlineFlowBox::maxYVisualOverflow): 65142 (WebCore::InlineFlowBox::maxXVisualOverflow): 65143 (WebCore::InlineFlowBox::visualOverflowRect): 65144 * rendering/InlineTextBox.cpp: 65145 (WebCore::InlineTextBox::placeEllipsisBox): 65146 (WebCore::InlineTextBox::nodeAtPoint): 65147 (WebCore::paintTextWithShadows): 65148 (WebCore::InlineTextBox::paint): 65149 (WebCore::InlineTextBox::paintSelection): 65150 (WebCore::InlineTextBox::paintCompositionBackground): 65151 (WebCore::InlineTextBox::paintDecoration): 65152 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 65153 (WebCore::InlineTextBox::paintTextMatchMarker): 65154 (WebCore::InlineTextBox::paintDocumentMarkers): 65155 (WebCore::InlineTextBox::paintCompositionUnderline): 65156 (WebCore::InlineTextBox::textPos): 65157 (WebCore::InlineTextBox::offsetForPosition): 65158 (WebCore::InlineTextBox::positionForOffset): 65159 * rendering/InlineTextBox.h: 65160 (WebCore::InlineTextBox::setExpansion): 65161 * rendering/RenderBR.h: 65162 (WebCore::RenderBR::width): 65163 * rendering/RenderBlock.cpp: 65164 (WebCore::stripTrailingSpace): 65165 (WebCore::updatePreferredWidth): 65166 (WebCore::RenderBlock::computeInlinePreferredLogicalWidths): 65167 (WebCore::RenderBlock::adjustForBorderFit): 65168 (WebCore::RenderBlock::addFocusRingRects): 65169 * rendering/RenderBlock.h: 65170 * rendering/RenderBlockLineLayout.cpp: 65171 (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): 65172 (WebCore::RenderBlock::fitBelowFloats): 65173 (WebCore::textWidth): 65174 (WebCore::tryHyphenating): 65175 (WebCore::RenderBlock::findNextLineBreak): 65176 * rendering/RenderBox.cpp: 65177 (WebCore::RenderBox::positionLineBox): 65178 (WebCore::RenderBox::flipForWritingMode): 65179 * rendering/RenderBox.h: 65180 * rendering/RenderCombineText.cpp: 65181 (WebCore::RenderCombineText::width): 65182 (WebCore::RenderCombineText::adjustTextOrigin): 65183 (WebCore::RenderCombineText::combineText): 65184 * rendering/RenderCombineText.h: 65185 (WebCore::RenderCombineText::combinedTextWidth): 65186 * rendering/RenderCounter.cpp: 65187 (WebCore::RenderCounter::computePreferredLogicalWidths): 65188 * rendering/RenderCounter.h: 65189 * rendering/RenderEmbeddedObject.cpp: 65190 (WebCore::RenderEmbeddedObject::getReplacementTextGeometry): 65191 * rendering/RenderFileUploadControl.cpp: 65192 (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): 65193 * rendering/RenderImage.cpp: 65194 * rendering/RenderInline.cpp: 65195 (WebCore::RenderInline::linesBoundingBox): 65196 (WebCore::RenderInline::linesVisualOverflowBoundingBox): 65197 (WebCore::RenderInline::addFocusRingRects): 65198 (WebCore::RenderInline::paintOutline): 65199 * rendering/RenderListBox.cpp: 65200 (WebCore::RenderListBox::updateFromElement): 65201 (WebCore::RenderListBox::paintItemForeground): 65202 * rendering/RenderMenuList.cpp: 65203 (WebCore::RenderMenuList::updateOptionsWidth): 65204 * rendering/RenderText.cpp: 65205 (WebCore::RenderText::localCaretRect): 65206 (WebCore::RenderText::widthFromCache): 65207 (WebCore::RenderText::trimmedPrefWidths): 65208 (WebCore::RenderText::minLogicalWidth): 65209 (WebCore::RenderText::maxLogicalWidth): 65210 (WebCore::RenderText::computePreferredLogicalWidths): 65211 (WebCore::RenderText::firstRunOrigin): 65212 (WebCore::RenderText::firstRunX): 65213 (WebCore::RenderText::firstRunY): 65214 (WebCore::RenderText::width): 65215 (WebCore::RenderText::linesBoundingBox): 65216 * rendering/RenderText.h: 65217 * rendering/RenderTextControl.cpp: 65218 (WebCore::RenderTextControl::getAvgCharWidth): 65219 (WebCore::RenderTextControl::paintPlaceholder): 65220 * rendering/RenderTreeAsText.cpp: 65221 (WebCore::writeTextRun): 65222 * rendering/RootInlineBox.cpp: 65223 (WebCore::RootInlineBox::placeEllipsis): 65224 (WebCore::RootInlineBox::placeEllipsisBox): 65225 (WebCore::RootInlineBox::adjustPosition): 65226 (WebCore::RootInlineBox::beforeAnnotationsAdjustment): 65227 (WebCore::RootInlineBox::paddedLayoutOverflowRect): 65228 * rendering/RootInlineBox.h: 65229 * rendering/VerticalPositionCache.h: 65230 * rendering/svg/SVGInlineTextBox.cpp: 65231 (WebCore::SVGInlineTextBox::offsetForPosition): 65232 (WebCore::SVGInlineTextBox::positionForOffset): 65233 (WebCore::SVGInlineTextBox::constructTextRun): 65234 * rendering/svg/SVGInlineTextBox.h: 65235 * rendering/svg/SVGRenderTreeAsText.cpp: 65236 (WebCore::writeRenderSVGTextBox): 65237 * rendering/svg/SVGTextMetrics.cpp: 65238 (WebCore::SVGTextMetrics::SVGTextMetrics): 65239 (WebCore::constructTextRun): 65240 * svg/SVGFont.cpp: 65241 (WebCore::floatWidthMissingGlyphCallback): 65242 (WebCore::Font::drawTextUsingSVGFont): 65243 65244 2011-02-17 Nikolas Zimmermann <nzimmermann (a] rim.com> 65245 65246 Reviewed by Dirk Schulze. 65247 65248 'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute 65249 https://bugs.webkit.org/show_bug.cgi?id=54672 65250 65251 Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute. 65252 Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg. 65253 65254 Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg 65255 65256 * platform/graphics/SimpleFontData.cpp: 65257 (WebCore::SimpleFontData::SimpleFontData): 65258 65259 2011-02-10 Luiz Agostini <luiz.agostini (a] openbossa.org> 65260 65261 Reviewed by Adam Roben. 65262 65263 HTML5 <details> and <summary>: localized text 65264 https://bugs.webkit.org/show_bug.cgi?id=54260 65265 65266 The method defaultDetailsSummaryText was added to LocalizationStrategy class and to 65267 platform/LocalizedStrings. It is used to provide the default label to be used by a 65268 <details> tag that has no <summary> child. 65269 65270 * platform/LocalizationStrategy.h: 65271 * platform/LocalizedStrings.cpp: 65272 (WebCore::fileButtonNoFileSelectedLabel): 65273 (WebCore::defaultDetailsSummaryText): 65274 * platform/LocalizedStrings.h: 65275 * platform/android/LocalizedStringsAndroid.cpp: 65276 (WebCore::defaultDetailsSummaryText): 65277 * platform/brew/LocalizedStringsBrew.cpp: 65278 (WebCore::defaultDetailsSummaryText): 65279 * platform/efl/LocalizedStringsEfl.cpp: 65280 (WebCore::defaultDetailsSummaryText): 65281 * platform/gtk/LocalizedStringsGtk.cpp: 65282 (WebCore::defaultDetailsSummaryText): 65283 * platform/haiku/LocalizedStringsHaiku.cpp: 65284 (WebCore::defaultDetailsSummaryText): 65285 * platform/wx/LocalizedStringsWx.cpp: 65286 (WebCore::defaultDetailsSummaryText): 65287 65288 2011-02-17 Kristian Amlie <kristian.amlie (a] nokia.com> 65289 65290 Reviewed by Laszlo Gombos. 65291 65292 Updated include paths for phonon. 65293 65294 [Qt] WebKit patches required to work with a modularized version of Qt 65295 https://bugs.webkit.org/show_bug.cgi?id=53916 65296 65297 Build fix. No tests. 65298 65299 * WebCore.pro: 65300 65301 2011-02-17 Hui Huang <hui.2.huang (a] nokia.com> 65302 65303 Reviewed by Laszlo Gombos. 65304 65305 The URL of HTML5 Video Element is percent encoded at websites such as youtube. 65306 It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes 65307 the HTTP GET request for the video to be rejected by the service provider. 65308 https://bugs.webkit.org/show_bug.cgi?id=53973. 65309 65310 The bug is fixed by constructing QUrl from the encoded URL. 65311 65312 New test function tst_QWebPage::loadHtml5Video() is added in 65313 Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp 65314 65315 * platform/graphics/qt/MediaPlayerPrivateQt.cpp: 65316 (WebCore::MediaPlayerPrivateQt::commitLoad): 65317 65318 2011-02-17 Andreas Kling <kling (a] webkit.org> 65319 65320 Reviewed by Antti Koivisto. 65321 65322 [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests 65323 https://bugs.webkit.org/show_bug.cgi?id=49216 65324 65325 CachedResourceRequest::didFail() will protect the CachedResourceLoader's 65326 document() while it runs, but if we're being called from the Document destructor, 65327 the protecting RefPtr<Document> will cause a double-delete instead. 65328 65329 * loader/cache/CachedResourceLoader.cpp: 65330 (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document 65331 pointer so CachedResourceRequest::didFail() won't try to protect it. 65332 (WebCore::CachedResourceLoader::frame): Add null-check for m_document. 65333 65334 2011-02-17 Andrey Adaikin <aandrey (a] google.com> 65335 65336 Reviewed by Pavel Feldman. 65337 65338 Web Inspector: [Text editor] Add updateHighlight method to the highlighter 65339 https://bugs.webkit.org/show_bug.cgi?id=54448 65340 65341 * inspector/front-end/SourceTokenizer.js: 65342 * inspector/front-end/TextEditorHighlighter.js: 65343 (WebInspector.TextEditorHighlighter.prototype.set mimeType): 65344 (WebInspector.TextEditorHighlighter.prototype.reset): 65345 (WebInspector.TextEditorHighlighter.prototype.updateHighlight): 65346 (WebInspector.TextEditorHighlighter.prototype._highlightInChunks): 65347 (WebInspector.TextEditorHighlighter.prototype._highlightLines): 65348 65349 2011-02-16 Pavel Podivilov <podivilov (a] chromium.org> 65350 65351 Reviewed by Yury Semikhatsky. 65352 65353 Web Inspector: show all inlined scripts from single document in the same source frame. 65354 https://bugs.webkit.org/show_bug.cgi?id=54544 65355 65356 Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24"). 65357 We should show such scripts in the same source frame "example.html" with <script></script> framing. 65358 65359 Test: inspector/debugger/debug-inlined-scripts.html 65360 65361 * inspector/front-end/ScriptsPanel.js: 65362 (WebInspector.ScriptsPanel.prototype._scriptSourceChanged): 65363 (WebInspector.ScriptsPanel.prototype._addScript): 65364 (WebInspector.ScriptsPanel.prototype._resourceForURL): 65365 (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished): 65366 (WebInspector.ScriptsPanel.prototype.addConsoleMessage): 65367 (WebInspector.ScriptsPanel.prototype.clearConsoleMessages): 65368 (WebInspector.ScriptsPanel.prototype.reset): 65369 (WebInspector.ScriptsPanel.prototype._sourceFrameForResource): 65370 (WebInspector.ScriptsPanel.prototype._sourceFrameForScript): 65371 (WebInspector.ScriptsPanel.prototype._recreateSourceFrame): 65372 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 65373 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare): 65374 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 65375 (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent): 65376 (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource): 65377 65378 2011-02-17 Nikolas Zimmermann <nzimmermann (a] rim.com> 65379 65380 Reviewed by Dirk Schulze. 65381 65382 svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows 65383 https://bugs.webkit.org/show_bug.cgi?id=44484 65384 65385 Pattern of pattern defined with objectBoundingBox does not render correctly 65386 https://bugs.webkit.org/show_bug.cgi?id=53463 65387 65388 Fix <pattern> + patternContentUnits="objectBoundingBox" support. 65389 We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y(). 65390 RenderSVGResourceMask/Clipper don't have this error. 65391 65392 Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space 65393 when drawing the pattern children. <mask> + <clipPath> don't have the problem. 65394 65395 Test: svg/custom/nested-pattern-boundingBoxModeContent.svg 65396 65397 * rendering/svg/RenderSVGResourcePattern.cpp: 65398 (WebCore::RenderSVGResourcePattern::buildTileImageTransform): 65399 (WebCore::RenderSVGResourcePattern::createTileImage): 65400 65401 2011-02-17 Csaba Osztrogonc <ossy (a] webkit.org> 65402 65403 Unreviewed. 65404 65405 [Qt][V8] Buildfix after r78752. 65406 65407 * CodeGenerators.pri: Add missing IDL files. 65408 65409 2011-02-17 Benjamin Kalman <kalman (a] chromium.org> 65410 65411 Reviewed by Ryosuke Niwa. 65412 65413 RTL lineboundary left/right is reversed when cursor is at start of RTL container 65414 https://bugs.webkit.org/show_bug.cgi?id=54534 65415 65416 Test: editing/selection/extend-left-right-by-lineboundary.html 65417 65418 Add missing cases for extending left/right by lineboundary. 65419 65420 * editing/SelectionController.cpp: 65421 (WebCore::SelectionController::modifyExtendingRight): 65422 (WebCore::SelectionController::modifyExtendingLeft): 65423 65424 2011-02-16 Philippe Normand <pnormand (a] igalia.com> 65425 65426 Reviewed by Martin Robinson. 65427 65428 [GTK] libsoup critical warnings 65429 https://bugs.webkit.org/show_bug.cgi?id=54557 65430 65431 Avoid pausing a soup message for already downloaded resources. 65432 65433 * platform/network/soup/ResourceHandleSoup.cpp: 65434 (WebCore::ResourceHandle::platformSetDefersLoading): 65435 65436 2011-02-16 Brian Ryner <bryner (a] chromium.org> 65437 65438 Reviewed by Darin Fisher. 65439 65440 Split the socket address field into separate IP address and port fields. 65441 This will make the field less error-prone to parse, for example when 65442 dealing with IPv6 literals. 65443 https://bugs.webkit.org/show_bug.cgi?id=54607 65444 65445 No new tests required. 65446 65447 * platform/network/chromium/ResourceResponse.cpp: 65448 (WebCore::ResourceResponse::doPlatformCopyData): 65449 (WebCore::ResourceResponse::doPlatformAdopt): 65450 * platform/network/chromium/ResourceResponse.h: 65451 (WebCore::ResourceResponse::ResourceResponse): 65452 (WebCore::ResourceResponse::remoteIPAddress): 65453 (WebCore::ResourceResponse::setRemoteIPAddress): 65454 (WebCore::ResourceResponse::remotePort): 65455 (WebCore::ResourceResponse::setRemotePort): 65456 65457 2011-02-16 Dominic Mazzoni <dmazzoni (a] google.com> 65458 65459 Reviewed by Chris Fleizach. 65460 65461 Add support for canvas fallback content. 65462 https://bugs.webkit.org/show_bug.cgi?id=50126 65463 65464 Test: accessibility/canvas-fallback-content.html 65465 65466 * accessibility/AccessibilityObject.h: 65467 * accessibility/AccessibilityRenderObject.cpp: 65468 (WebCore::AccessibilityRenderObject::determineAccessibilityRole): 65469 (WebCore::AccessibilityRenderObject::canHaveChildren): 65470 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 65471 (atkRole): 65472 * accessibility/mac/AccessibilityObjectWrapper.mm: 65473 * html/HTMLFormControlElement.cpp: 65474 (WebCore::HTMLFormControlElement::isFocusable): 65475 * rendering/RenderHTMLCanvas.cpp: 65476 (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout): 65477 (WebCore::RenderHTMLCanvas::layout): 65478 (WebCore::RenderHTMLCanvas::nodeAtPoint): 65479 * rendering/RenderHTMLCanvas.h: 65480 (WebCore::RenderHTMLCanvas::children): 65481 (WebCore::RenderHTMLCanvas::canHaveChildren): 65482 (WebCore::RenderHTMLCanvas::virtualChildren): 65483 * rendering/RenderObject.cpp: 65484 (WebCore::RenderObject::repaint): 65485 * rendering/RenderTreeAsText.cpp: 65486 (WebCore::write): 65487 65488 2011-02-16 Matthew Delaney <mdelaney (a] apple.com> 65489 65490 Reviewed by Simon Fraser. 65491 65492 Allow acceleratesDrawing for WebKit2 65493 https://bugs.webkit.org/show_bug.cgi?id=54511 65494 65495 Plumb through preference for accelerated drawing. 65496 65497 When accelerated drawing is enabled, set a flag on new GraphicsLayers. 65498 65499 Not testable via Layout Tests 65500 65501 * WebCore.exp.in: 65502 * page/Settings.cpp: 65503 (WebCore::Settings::Settings): 65504 (WebCore::Settings::setAcceleratedDrawingEnabled): 65505 * page/Settings.h: 65506 (WebCore::Settings::acceleratedDrawingEnabled): 65507 * rendering/RenderLayerCompositor.cpp: 65508 (WebCore::RenderLayerCompositor::updateBacking): 65509 65510 2011-02-16 Victoria Kirst <vrk (a] google.com> 65511 65512 Reviewed by Kenneth Russell. 65513 65514 [chromium] Fix green pixels at edge of certain GPU-accelerated videos 65515 https://bugs.webkit.org/show_bug.cgi?id=54559 65516 65517 Adds logic to properly resize the range of YUV textures to only 65518 select legitimate values. 65519 65520 * platform/graphics/chromium/VideoFrameChromium.h: 65521 * platform/graphics/chromium/VideoLayerChromium.cpp: 65522 (WebCore::VideoLayerChromium::SharedValues::SharedValues): 65523 (WebCore::VideoLayerChromium::allocateTexturesIfNeeded): 65524 (WebCore::VideoLayerChromium::drawYUV): 65525 * platform/graphics/chromium/VideoLayerChromium.h: 65526 (WebCore::VideoLayerChromium::SharedValues::yWidthScaleFactorLocation): 65527 (WebCore::VideoLayerChromium::SharedValues::uvWidthScaleFactorLocation): 65528 65529 2011-02-16 Bill Budge <bbudge (a] chromium.org> 65530 65531 Reviewed by David Levin. 65532 65533 Need didReceiveCachedMetadata, and finishTime for didFinishLoading exposed in ThreadableLoaderClient 65534 https://bugs.webkit.org/show_bug.cgi?id=54313 65535 65536 No tests needed, exposes no new functionality 65537 65538 * fileapi/FileReaderLoader.cpp: 65539 (WebCore::FileReaderLoader::didFinishLoading): 65540 * fileapi/FileReaderLoader.h: 65541 * loader/DocumentThreadableLoader.cpp: 65542 (WebCore::DocumentThreadableLoader::setDefersLoading): 65543 (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata): 65544 (WebCore::DocumentThreadableLoader::didFinishLoading): 65545 (WebCore::DocumentThreadableLoader::loadRequest): 65546 * loader/DocumentThreadableLoader.h: 65547 * loader/ThreadableLoaderClient.h: 65548 (WebCore::ThreadableLoaderClient::didReceiveData): 65549 (WebCore::ThreadableLoaderClient::didReceiveCachedMetadata): 65550 (WebCore::ThreadableLoaderClient::didFinishLoading): 65551 * loader/ThreadableLoaderClientWrapper.h: 65552 (WebCore::ThreadableLoaderClientWrapper::didReceiveData): 65553 (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata): 65554 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): 65555 * loader/WorkerThreadableLoader.cpp: 65556 (WebCore::workerContextDidReceiveCachedMetadata): 65557 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata): 65558 (WebCore::workerContextDidFinishLoading): 65559 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): 65560 * loader/WorkerThreadableLoader.h: 65561 * notifications/Notification.cpp: 65562 (WebCore::Notification::didFinishLoading): 65563 * notifications/Notification.h: 65564 * page/EventSource.cpp: 65565 (WebCore::EventSource::didFinishLoading): 65566 * page/EventSource.h: 65567 * workers/WorkerScriptLoader.cpp: 65568 (WebCore::WorkerScriptLoader::didFinishLoading): 65569 * workers/WorkerScriptLoader.h: 65570 * xml/XMLHttpRequest.cpp: 65571 (WebCore::XMLHttpRequest::didFinishLoading): 65572 * xml/XMLHttpRequest.h: 65573 65574 2011-02-16 Jeremy Orlow <jorlow (a] chromium.org> 65575 65576 Fix uninitialized memory error. 65577 65578 * storage/IDBDatabaseBackendImpl.cpp: 65579 (WebCore::IDBDatabaseBackendImpl::close): 65580 65581 2011-02-16 Adam Barth <abarth (a] webkit.org> 65582 65583 Reviewed by Eric Seidel. 65584 65585 Fix xssAuditor/form-action.html 65586 https://bugs.webkit.org/show_bug.cgi?id=54590 65587 65588 We should block form actions. Although this technically can't be used 65589 to run script, it's a pretty easy vector for stealing passwords. 65590 65591 * html/parser/XSSFilter.cpp: 65592 (WebCore::XSSFilter::filterTokenInitial): 65593 (WebCore::XSSFilter::filterFormToken): 65594 * html/parser/XSSFilter.h: 65595 65596 2011-02-16 Abhishek Arya <inferno (a] chromium.org> 65597 65598 Reviewed by James Robinson. 65599 65600 Remove the early bail added in r75823 since we can run into anonymous 65601 blocks when traversing the parents chain for clearing floats. 65602 https://bugs.webkit.org/show_bug.cgi?id=54601 65603 65604 removeFloatingOrPositionedChildFromBlockLists tries to find the topmost 65605 parent containing "this" block and then tries to remove it from its floats 65606 list and mark all descendants blocks for layout. I added a bailout condition 65607 in r75823 because we thought that if one of the parent render block does not 65608 contain "this" float, then it is safe to assume that none of the grand parents 65609 will have it. This is a wrong assumption since anonymous blocks do not have 65610 float objects and we need to go higher in the chain to find the top most parent 65611 containing this float. Instead of breaking out of the loop, it is ok to keep 65612 traversing the chain till we find that parent. Otherwise, we will leave deleted 65613 floats in the grand parents floats list. 65614 65615 Test: fast/block/float/floats-not-cleared-from-grand-parents.html 65616 65617 * rendering/RenderBox.cpp: 65618 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): 65619 65620 2011-02-16 Andreas Kling <kling (a] webkit.org> 65621 65622 Reviewed by Ryosuke Niwa. 65623 65624 Editing styles should not emit #RRGGBBAA colors 65625 https://bugs.webkit.org/show_bug.cgi?id=54540 65626 65627 * editing/ApplyStyleCommand.cpp: 65628 (WebCore::StyleChange::extractTextStyles): Use Color::serialized() 65629 instead of Color::nameForRenderTreeAsText(). 65630 65631 2011-02-16 Ryosuke Niwa <rniwa (a] webkit.org> 65632 65633 Reviewed by Kent Tamura. 65634 65635 Improve showTree of Range, Position, and VisiblePosition 65636 https://bugs.webkit.org/show_bug.cgi?id=54536 65637 65638 Enhanced showTree of Range, Position, and VisiblePosition. 65639 65640 * dom/Position.cpp: 65641 (WebCore::Position::showAnchorTypeAndOffset): Added; dumps "legacy" if the position 65642 is a legacy position and also dumps anchor type. 65643 (WebCore::Position::showTreeForThis): Calls showAnchorTypeAndOffset. 65644 * dom/Position.h: 65645 * dom/Range.cpp: 65646 (showTree): No longer calls deprecatedEditingOffset. 65647 * editing/VisiblePosition.cpp: 65648 (WebCore::VisiblePosition::debugPosition): No longer included in release build. 65649 Calls Position::showAnchorTypeAndOffset instead of manually calling deprecatedEditingOffset. 65650 * editing/VisiblePosition.h: 65651 * editing/VisibleSelection.cpp: 65652 (WebCore::VisibleSelection::debugPosition): Ditto. 65653 (WebCore::VisibleSelection::showTreeForThis): Ditto. 65654 * editing/VisibleSelection.h: 65655 * page/EventHandler.cpp: 65656 65657 2011-02-16 David Grogan <dgrogan (a] chromium.org> 65658 65659 Reviewed by Jeremy Orlow. 65660 65661 fix compile error introduced in 78752 65662 https://bugs.webkit.org/show_bug.cgi?id=54604 65663 65664 * storage/IDBRequest.h: 65665 65666 2011-02-16 Jeremy Orlow <jorlow (a] chromium.org> 65667 65668 Back out IndexedDB change thats no longer necessary 65669 https://bugs.webkit.org/show_bug.cgi?id=54603 65670 65671 Backing out 78645 as it turns out that it's not necessary. 65672 65673 * storage/IDBFactoryBackendImpl.cpp: 65674 (WebCore::IDBFactoryBackendImpl::open): 65675 * storage/IDBFactoryBackendImpl.h: 65676 * storage/IDBFactoryBackendInterface.h: 65677 65678 2011-02-16 Brian Salomon <bsalomon (a] google.com> 65679 65680 Reviewed by James Robinson. 65681 65682 Skia's gpu backed just needs the correct context bound before drawing. It will bind the correct FBO itself and doing so externally confuses it unless resetContext is called. 65683 65684 No new tests required. 65685 65686 * platform/graphics/skia/PlatformContextSkia.cpp: 65687 (WebCore::PlatformContextSkia::syncSoftwareCanvas): 65688 65689 2011-02-16 Mike Reed <reed (a] google.com> 65690 65691 Reviewed by Kenneth Russell. 65692 65693 Use non-asserting pack function for decoding images, since webgl may want 65694 a non-premultiplied version of the image. 65695 https://bugs.webkit.org/show_bug.cgi?id=54023 65696 65697 No new tests. 65698 fast/canvas/webgl/gl-teximage.html 65699 fast/canvas/webgl/tex-image-with-format-and-type.html 65700 fast/canvas/webgl/texture-transparent-pixels-initialized.html 65701 65702 * platform/image-decoders/ImageDecoder.h: 65703 (WebCore::ImageFrame::setRGBA): 65704 65705 2011-02-16 David Grogan <dgrogan (a] chromium.org> 65706 65707 Reviewed by Jeremy Orlow. 65708 65709 indexeddb: make setVersion fire blocked event if other connections are open 65710 https://bugs.webkit.org/show_bug.cgi?id=53728 65711 65712 Tests: storage/indexeddb/set_version_blocked.html 65713 storage/indexeddb/set_version_queue.html 65714 65715 * WebCore.gypi: 65716 * bindings/js/JSEventCustom.cpp: 65717 (WebCore::toJS): 65718 * bindings/v8/custom/V8EventCustom.cpp: 65719 (WebCore::toV8): 65720 * dom/Event.cpp: 65721 (WebCore::Event::isIDBVersionChangeEvent): 65722 * dom/Event.h: 65723 * dom/EventNames.h: 65724 * dom/EventTarget.cpp: 65725 (WebCore::EventTarget::toIDBVersionChangeRequest): 65726 * dom/EventTarget.h: 65727 * storage/IDBCallbacks.h: 65728 * storage/IDBDatabase.cpp: 65729 (WebCore::IDBDatabase::setVersion): 65730 (WebCore::IDBDatabase::close): 65731 * storage/IDBDatabase.h: 65732 * storage/IDBDatabase.idl: 65733 * storage/IDBDatabaseBackendImpl.cpp: 65734 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create): 65735 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::version): 65736 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::callbacks): 65737 (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall): 65738 (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl): 65739 (WebCore::IDBDatabaseBackendImpl::setVersion): 65740 (WebCore::IDBDatabaseBackendImpl::open): 65741 (WebCore::IDBDatabaseBackendImpl::close): 65742 * storage/IDBDatabaseBackendImpl.h: 65743 * storage/IDBDatabaseBackendInterface.h: 65744 * storage/IDBFactoryBackendImpl.cpp: 65745 (WebCore::IDBFactoryBackendImpl::open): 65746 * storage/IDBRequest.cpp: 65747 (WebCore::IDBRequest::onBlocked): 65748 (WebCore::IDBRequest::dispatchEvent): 65749 (WebCore::IDBRequest::source): 65750 * storage/IDBRequest.h: 65751 * storage/IDBVersionChangeEvent.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h. 65752 (WebCore::IDBVersionChangeEvent::create): 65753 (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent): 65754 (WebCore::IDBVersionChangeEvent::~IDBVersionChangeEvent): 65755 (WebCore::IDBVersionChangeEvent::version): 65756 * storage/IDBVersionChangeEvent.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h. 65757 (WebCore::IDBVersionChangeEvent::isIDBVersionChangeEvent): 65758 * storage/IDBVersionChangeEvent.idl: Added. 65759 * storage/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h. 65760 (WebCore::IDBVersionChangeRequest::create): 65761 (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest): 65762 (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest): 65763 (WebCore::IDBVersionChangeRequest::onBlocked): 65764 * storage/IDBVersionChangeRequest.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h. 65765 * storage/IDBVersionChangeRequest.idl: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h. 65766 65767 2011-02-16 Robin Cao <robin.cao (a] torchmobile.com.cn> 65768 65769 Reviewed by James Robinson. 65770 65771 PlatformContextSkia::applyAntiAliasedClipPaths does not work for paths which have evenOdd property 65772 https://bugs.webkit.org/show_bug.cgi?id=54336 65773 65774 We need to take fill type of paths into account when drawing them. 65775 65776 No new tests, covered by svg/W3C-SVG-1.1/masking-path-05-f.svg. 65777 65778 * platform/graphics/skia/PlatformContextSkia.cpp: 65779 (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths): 65780 65781 2011-02-16 Eric Seidel <eric (a] webkit.org> 65782 65783 Reviewed by Adam Barth. 65784 65785 REGRESSION (r61234): washingtonpost.com top bar looks wrong, doesn't animate 65786 https://bugs.webkit.org/show_bug.cgi?id=53717 65787 65788 Test: http/tests/local/absolute-url-strip-whitespace.html 65789 65790 This was theoretically tested already in fast/url, however the 65791 tests were disabled due to lack of any clean way to test absolute 65792 url parsing in JavaScript. I added a test which mimics the sites 65793 behavior using our local http server. There seems to be no other 65794 way to test this at the moment. 65795 65796 * platform/KURL.cpp: 65797 (WebCore::shouldTrimFromURL): 65798 - Any char 0-20 should be removed (matches google-url and other browsers). 65799 (WebCore::KURL::init): 65800 65801 2011-02-16 Abhishek Arya <inferno (a] chromium.org> 65802 65803 Reviewed by James Robinson. 65804 65805 Traverse the next sibling tree to find the text fragment for a first letter. 65806 https://bugs.webkit.org/show_bug.cgi?id=54568 65807 65808 We cannot assume that the next sibling to the first letter will a text fragment 65809 since there can be intermediatary Apple-style-span inline elements wrapping the 65810 text fragment. So, we traverse the next sibling tree to find it. 65811 Test: fast/css/first-letter-text-fragment-crash.html 65812 65813 * rendering/RenderBlock.cpp: 65814 (WebCore::RenderBlock::updateFirstLetter): 65815 65816 2011-02-16 Martin Robinson <mrobinson (a] igalia.com> 65817 65818 Reviewed by Xan Lopez. 65819 65820 [GTK] r78718 introduced some assertion failures in some HTTP tests 65821 https://bugs.webkit.org/show_bug.cgi?id=54592 65822 65823 No new tests. This fix is covered by tests that are currently failing. 65824 65825 * platform/network/soup/ResourceRequestSoup.cpp: 65826 (WebCore::ResourceRequest::updateFromSoupMessage): Instead of setting the existing 65827 headers and then selectively removing ones that do not exist in the updated soup 65828 message, just remove all headers from the map first. 65829 65830 2011-02-16 Jian Li <jianli (a] chromium.org> 65831 65832 Reviewed by Kenneth Russell. 65833 65834 [V8] DataView constructor can be applied as a regular method 65835 https://bugs.webkit.org/show_bug.cgi?id=54563 65836 65837 Tested by adding a new test case to fast/canvas/webgl/data-view-test.html. 65838 65839 * bindings/v8/custom/V8DataViewCustom.cpp: 65840 (WebCore::V8DataView::constructorCallback): 65841 65842 == Rolled over to ChangeLog-2011-02-16 == 65843